单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,我们从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。 LED的发光原理,稍有电子技术基础的人士都很清楚,我们不想作过多的介绍,7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。 |
· 程序清单: 01START: ORG 0100H ;程序起始地址 02 MAIN: MOV R0,#00H ;从“0”开始显示 03 MOV DPtr,#TABLE ;表格地址送数据指针 04 DISP: MOV A,R0 ;送显示 05 MOVC A,@A+ADPtr ;指向表格地址 06 MOVP1,A ;数据送LED 07 ACALLDELAY ;延时 08 INCR0 ;指向下一个字符 09 CJNER0,#0AH,DISP ;未显示完,继续 10 AJMPMAIN ;下一个循环 11DELAY: MOVR1,#0FFH ;延时子程序,延时时间赋值 12LOOP0: MOVR2,#0FFH 13LOOP1: DJNZR2,LOOP1 14 DJNZR1,LOOP0 15 RET;子程序返回 16TABLE: DB0C0H;字型码表 17 DB0F9H 18 DB0A4H 19 DB0B0H 20 DB99H 21 DB92H 22 DB82H 23 DB0F8H 24 DB80H 25 DB90H 26 END;程序结束 |
欢迎光临 DIY编程器网 (http://diybcq.com/) | Powered by Discuz! X3.2 |