I/O口(1)I/O口(2)1/O口(3)I/O口(4)babababadp g.dpgdp gdp gO+5VIGND图5-74位LED静态显示的示意图11
11 图5-7 4位LED静态显示的示意图
【例5-6】单片机控制2只数码管,静态显示2个数字“27”。原理电路见图5-8。单片机用P0口与P1口,分别控制加到两个数码管DS0与DS1的段码,而共阴极数码管DSO与DS1的公共端(公共阴极端)直接接至地,因此数码管DS0与DS1始终处于导通状态。利用P0口与P1口带有的锁存功能,只需向单片机P0口与P1口分别写入相应的显示字符“2”和“7”的段码即可。由于一个数码管就占用一个1/0端口。如果数码管数目增多,则需增加I/O口,但软件编程要简单的多。12
【例5-6】单片机控制2只数码管,静态显示2个数字“27”。 原理电路见图5-8。 单片机用P0口与P1口,分别控制加到两个数码管DS0与DS1 的段码,而共阴极数码管DS0与DS1的公共端(公共阴极端)直接 接至地,因此数码管DS0与DS1始终处于导通状态。利用P0口与 P1口带有的锁存功能,只需向单片机P0口与P1口分别写入相应的 显示字符“2”和“7”的段码即可。 由于一个数码管就占用一个I/O端口。如果数码管数目增多, 则需增加I/O口,但软件编程要简单的多。 12
银GND8防06000000000000U1R1470R19XTALIOPOD222DS1DSOR2.470R1820XTAL236OP01R8R3470RPO51ACS470RPOB1A0BOP02P10O91PO.7IA7RSTR9R44Z0R410RAT89C51P11OP2.018OP03P2.1180R103AR5470R福47ORPSENOP04P12OP24/A12R6470RR11470RP2.5/A13P2.6/A14P13OOP05P2.7/A15R12R7470R47ORSEEPR5888P140P1.0P3.0/RXDOP06P3.1TXDR13P324m470RP3P15O22院R1441ORP16OP3.64P1.7P3.7RD图5-82位数码管静态显示的原理电路与仿真13
13 图5-8 2位数码管静态显示的原理电路与仿真
参考程序如下://包含8051单片机寄存器定义的头文件#include<reg5l.h>void main(void)(P0=0x5B;//将数字"2"的段码送P0口P1=0x07;//将数字"7"的段码送P1口while(1)//无限循环.-1优点:程序简单缺点:占用了太多I/0口14
参考程序如下: # i n c lude<r eg51.h > / /包含8051单片机寄存器定义的头文件 v o i d m a i n( void) { P 0 = 0 x5B ; / /将数字"2"的段码送P0口 P 1 = 0 x07 ; / /将数字"7"的段码送P1口 w h i l e(1 ) / /无限循环 ; } 优点:程序简单 缺点:占用了太多I/ O口 14