Proteus—40个单片机初学程序-21.拉幕式数码显示技术.docVIP

  • 8
  • 0
  • 约5.98千字
  • 约 7页
  • 2018-05-30 发布于广东
  • 举报

Proteus—40个单片机初学程序-21.拉幕式数码显示技术.doc

第四章 实验及实践课题(21) 拉幕式数码显示技术 用AT89S51单片机的P0.0/AD0-P0.7/AD7端口接数码管的a-h端,8位数码管的S1-S8通过74LS138译码器的Y0-Y7来控制选通每个数码管的位选端。AT89S51单片机的P1.0-P1.2控制74LS138的A,B,C端子。在8位数码管上从右向左循环显示。能够比较平滑地看到拉幕的效果。 2. 电路原理图 图4.21.1 3. 系统板上硬件连线 (1.?????? 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7用8芯排线连接到“动态数码显示”区域中的a-h端口上; (2.?????? 把“三八译码模块”区域中的Y0-Y7用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; (3.?????? 把“单片机系统”区域中的P1.0-P1.2端口用3根导线连接到“三八译码模块”区域中的A、B、C“端口上; 4. (1.?????? 动态数码显示技术;如何进行动态扫描,由于一次只能让一个数码管显示,因此,要显示8位的数据,必须经过让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,必须每隔1ms,就得刷新一个数码管。而这刷新时间我们采用单片机的定时/计数器T0来控制,每定时1ms对数码管刷新一次,T0采用方式2。 (2.?????? 在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。 5. 中断服务程序 ? 6. DISPBUF EQU 30H DISPCNT EQU 38H DISPBIT EQU 39H T1CNTA EQU 3AH T1CNTB EQU 3BH CNT EQU 3CH ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV DISPCNT,#8 MOV R1,#DISPBUF ;直接寻址单元送寄存器 LP: MOV A,#10 ;改:从在MOV R1,#DISPBUF上面调到其下面 MOV @R1,A ;@R1为内部RAM单元 INC R1 DJNZ DISPCNT,LP ;DISPCNT减1不为零转移 DISPBUF 10 10 10 10 10 10 10 10 30H 30H 31H 32H 33H 34H 35H 36H 37H DISPCNT 8 7 6 5 4 3 2 1 MOV DISPBIT,#00H MOV T1CNTA,#00H MOV T1CNTB,#00H MOV CNT,#00H MOV TMOD,#01H MOV TH0,#(65536-1000) / 256 MOV TL0,#(65536-1000) MOD 256 SETB TR0 SETB ET0 SETB EA SJMP $ INT_T0: MOV TH0,#(65536-1000) / 256 MOV TL0,#(65536-1000) MOD 256 MOV A, #0FFH ;关闭所有显示(见 问题.txt ) MOV P1,A MOV A,DISPBIT ADD A,#DISPBUF MOV R0,A MOV A,@R0

文档评论(0)

1亿VIP精品文档

相关文档