资源描述:
《021、 拉幕式数码显示技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、21.拉幕式数码显示技术1.实验任务用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位数码管上从右向左循环显示“12345678”。能够比较平滑地看到拉幕的效果。2.电路原理图图4.21.13.系统板上硬件连线(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7用8芯排线连接到“动态数码显示”区域中的a-h端口上;(
2、2.把“三八译码模块”区域中的Y0-Y7用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3.把“单片机系统”区域中的P1.0-P1.2端口用3根导线连接到“三八译码模块”区域中的A、B、C“端口上;4.程序设计方法(1.动态数码显示技术;如何进行动态扫描,由于一次只能让一个数码管显示,因此,要显示8位的数据,必须经过让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,我必须每隔1ms,就得刷新一个数码管。而这刷新时间我们采用单片机的定时/计数器T0来控制,每定时1
3、ms对数码管刷新一次,T0采用方式2。(2.在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。5.程序框图主程序框图中断服务程序框图 图4.21.26.汇编源程序DISPBUFEQU30HDISPCNTEQU38HDISPBITEQU39HT1CNTAEQU3AHT1CNTBEQU3BHCNTEQU3CHORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVDISPCNT,#8MOVA,#10MOVR1,#DISPBUFLP:MOV@R1,AINCR1DJNZ
4、DISPCNT,LPMOVDISPBIT,#00HMOVT1CNTA,#00HMOVT1CNTB,#00HMOVCNT,#00HMOVTMOD,#01HMOVTH0,#(65536-1000)/256MOVTL0,#(65536-1000)MOD256SETBTR0SETBET0SETBEASJMP$INT_T0:MOVTH0,#(65536-1000)/256MOVTL0,#(65536-1000)MOD256MOVA,DISPBITADDA,#DISPBUFMOVR0,AMOVA,@R0MOVDPTR,#TABLEMOVC
5、A,@A+DPTRMOVP0,AMOVA,P1ANLA,#0F8HADDA,DISPBITMOVP1,AINCDISPBITMOVA,DISPBITCJNEA,#08H,NEXTMOVDISPBIT,#00HNEXT:INCT1CNTAMOVA,T1CNTACJNEA,#50,LL1MOVT1CNTA,#00HINCT1CNTBMOVA,T1CNTBCJNEA,#8,LL1MOVT1CNTB,#00HINCCNTMOVA,CNTCJNEA,#9,LLXMOVCNT,#00HMOVA,CNTLLX:CJNEA,#01H,NEX1
6、MOV30H,#8LL1:LJMPDONENEX1:CJNEA,#02H,NEX2MOV31H,#8MOV30H,#8LJMPDONENEX2:CJNEA,#03H,NEX3MOV32H,#8MOV31H,#8MOV30H,#8LJMPDONENEX3:CJNEA,#04H,NEX4MOV33H,#8MOV32H,#8MOV31H,#8MOV30H,#8LJMPDONENEX4:CJNEA,#05H,NEX5MOV34H,#8MOV33H,#8MOV32H,#8MOV31H,#8MOV30H,#8LJMPDONENEX5:CJ
7、NEA,#06H,NEX6MOV35H,#8MOV34H,#8MOV33H,#8MOV32H,#8MOV31H,#8MOV30H,#8LJMPDONENEX6:CJNEA,#07H,NEX7MOV36H,#8MOV35H,#8MOV34H,#8MOV33H,#8MOV32H,#8MOV31H,#8MOV30H,#8LJMPDONENEX7:CJNEA,#08H,NEX8MOV37H,#8MOV36H,#8MOV35H,#8MOV34H,#8MOV33H,#8MOV32H,#8MOV31H,#8MOV30H,#8LJMPDONE
8、NEX8:CJNEA,#00H,DONEMOV37H,#10MOV36H,#10MOV35H,#10MOV34H,#10MOV33H,#10MOV32H,#10MOV31H,#10MOV30H,#10LL:LJMPDONEDONE:RETITABLE:DB3FH,06H,5B