1616LED点阵滚动显示屏.docx
《1616LED点阵滚动显示屏.docx》由会员分享,可在线阅读,更多相关《1616LED点阵滚动显示屏.docx(23页珍藏版)》请在冰豆网上搜索。
1616LED点阵滚动显示屏
16×16LED点阵滚动显示屏
一、硬件原理图
二、汇编程序:
;多字移动
;一个字占32个字节,1K可以存放1K=1024字节/32=32个字,C51=4K=128个字,C52=8K=256个字。
;但程序占用160个字节(相当于5个字的空间),最终可以显示的字为C51=123个字,C52=251个字。
;超过后单片机将存储不下。
ORG000H
JMPMIAN
ORG030H
MIAN:
MOVP3,#00;关闭端口
MOVP1,#0FFH
MOVP0,#00
MOVP2,#00
CALLDELAY;延时1ms
MOVR5,#2;移动列的数量(列数乘2)
MOVA,#151;显示几个字
MOVB,#32;一个字=32个码
MULAB
MOV22H,A;存放1~8个字的数量
MOV23H,B;存放8的倍数个字的数量
;如50个字:
50×32=1600=0640H,则DPH处为06H=6,DPL处为40H=64
;简单算法:
50÷8=6余2,6为DPH处数,余的2×32=64为DPL数
MOVDPTR,#TABLE1;赋查表初址
MOVR0,DPL;保存DPTR初值,R0、R1记录取码进度
MOVR1,DPH
MOV20H,DPL;20H、21H保持DPTR初值不变
MOV21H,DPH
LOOP:
MOVR7,#5;每屏停留时间
L1:
MOVR6,#16;每屏16个码
MOVR4,#00;扫描指针清零
MOVDPL,R0;取码指针存入DPL
MOVDPH,R1
L16:
MOVA,R4;扫描指针存入A
MOVP1,A;扫描输出
INCR4;扫描指针加1
CLRA;A清零
MOVCA,@A+DPTR;查表送A
MOVP0,A;送P0口显示
INCDPTR;取码指针加1
CLRA;A清零
MOVCA,@A+DPTR;查表送A
MOVP2,A;送P2口显示
INCDPTR;取码指针加1
CALLDELAY;扫描延时1ms
MOVP0,#00;清除屏幕
MOVP2,#00
DJNZR6,L16;1屏是否完成?
DJNZR7,L1;每屏停留时间是否到了?
;MOVR0,DPL;如字不需移动,用该指令
;MOVR1,DPH
MOVA,R0;如字需移动,用该指令
ADDA,R5;如大于256,C=1
MOVR0,A
JNCDP
INCR1
DP:
MOVA,20H;DPL初值
ADDA,22H;如大于256,C=1。
因DPL初值在90H以上,显示4个字后DPH将加1,导致判断失误
MOVA,DPH
SUBBA,21H;已显示字的数量(乘8)
CJNEA,23H,LOOP;DPH中的字是否完成?
CLRC
MOVA,DPL
SUBBA,20H;已显示字的数量
CJNEA,22H,LOOP;DPL中的字是否完成?
JMPMIAN
DELAY:
MOVR2,#2;延时1ms
D1:
MOVR3,#248
DJNZR3,$
DJNZR2,D1
RET
TABLE1:
;至拾字时为100个字,共150个字,用于测试。
;(a3b1H)(1)(8001)
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,10H,02H,20H,02H,7fH,0feH
DB00H,02H,00H,02H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b2H)(2)(8002)
DB00H,00H,00H,00H,00H,00H,18H,1eH
DB20H,22H,40H,42H,40H,82H,40H,82H
DB41H,02H,41H,02H,21H,02H,1eH,0eH
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b3H)(3)(8003)
DB00H,00H,00H,00H,00H,00H,30H,0cH
DB40H,02H,40H,02H,40H,02H,41H,02H
DB41H,02H,42H,82H,44H,44H,38H,38H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b4H)(4)(8004)
DB00H,00H,00H,00H,00H,30H,00H,50H
DB01H,90H,06H,10H,38H,12H,40H,12H
DB7fH,0feH,00H,12H,00H,12H,00H,10H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b5H)(5)(8005)
DB00H,00H,00H,00H,00H,00H,7fH,8cH
DB41H,02H,42H,02H,42H,02H,42H,02H
DB42H,02H,42H,02H,41H,04H,40H,0f8H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b6H)(6)(8006)
DB00H,00H,00H,00H,00H,00H,1fH,0f8H
DB20H,84H,41H,02H,41H,02H,41H,02H
DB41H,02H,41H,02H,20H,84H,18H,78H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b7H)(7)(8007)
DB00H,00H,00H,00H,00H,00H,70H,00H
DB40H,00H,40H,00H,40H,0eH,40H,70H
DB41H,80H,42H,00H,4cH,00H,70H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b8H)(8)(8008)
DB00H,00H,00H,00H,00H,00H,1cH,78H
DB22H,84H,41H,02H,41H,02H,41H,02H
DB41H,02H,41H,02H,22H,84H,1cH,78H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b9H)(9)(8009)
DB00H,00H,00H,00H,00H,00H,1eH,18H
DB21H,04H,40H,82H,40H,82H,40H,82H
DB40H,82H,40H,82H,21H,04H,1fH,0f8H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a3b0H)(0)(8000)
DB00H,00H,00H,00H,00H,00H,1fH,0f8H
DB20H,04H,40H,02H,40H,02H,40H,02H
DB40H,02H,40H,02H,20H,04H,1fH,0f8H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a878H)(▁)(800a)
DB00H,03H,00H,03H,00H,03H,00H,03H
DB00H,03H,00H,03H,00H,03H,00H,03H
DB00H,03H,00H,03H,00H,03H,00H,03H
DB00H,03H,00H,03H,00H,03H,00H,03H
;(a879H)(▂)(800b)
DB00H,0fH,00H,0fH,00H,0fH,00H,0fH
DB00H,0fH,00H,0fH,00H,0fH,00H,0fH
DB00H,0fH,00H,0fH,00H,0fH,00H,0fH
DB00H,0fH,00H,0fH,00H,0fH,00H,0fH
;(a87aH)(▃)(800c)
DB00H,3fH,00H,3fH,00H,3fH,00H,3fH
DB00H,3fH,00H,3fH,00H,3fH,00H,3fH
DB00H,3fH,00H,3fH,00H,3fH,00H,3fH
DB00H,3fH,00H,3fH,00H,3fH,00H,3fH
;(a87bH)(▄)(800d)
DB00H,0ffH,00H,0ffH,00H,0ffH,00H,0ffH
DB00H,0ffH,00H,0ffH,00H,0ffH,00H,0ffH
DB00H,0ffH,00H,0ffH,00H,0ffH,00H,0ffH
DB00H,0ffH,00H,0ffH,00H,0ffH,00H,0ffH
;(a87cH)(▅)(800e)
DB03H,0ffH,03H,0ffH,03H,0ffH,03H,0ffH
DB03H,0ffH,03H,0ffH,03H,0ffH,03H,0ffH
DB03H,0ffH,03H,0ffH,03H,0ffH,03H,0ffH
DB03H,0ffH,03H,0ffH,03H,0ffH,03H,0ffH
;(a87dH)(▆)(800f)
DB0fH,0ffH,0fH,0ffH,0fH,0ffH,0fH,0ffH
DB0fH,0ffH,0fH,0ffH,0fH,0ffH,0fH,0ffH
DB0fH,0ffH,0fH,0ffH,0fH,0ffH,0fH,0ffH
DB0fH,0ffH,0fH,0ffH,0fH,0ffH,0fH,0ffH
;(a87eH)(▇)(8010)
DB3fH,0ffH,3fH,0ffH,3fH,0ffH,3fH,0ffH
DB3fH,0ffH,3fH,0ffH,3fH,0ffH,3fH,0ffH
DB3fH,0ffH,3fH,0ffH,3fH,0ffH,3fH,0ffH
DB3fH,0ffH,3fH,0ffH,3fH,0ffH,3fH,0ffH
;(a880H)(█)(8011)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
;(a881H)(▉)(8012)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,00H,00H,00H,00H
;(a882H)(▊)(8013)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a883H)(▋)(8014)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a884H)(▌)(8015)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a885H)(▍)(8016)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB0ffH,0ffH,0ffH,0ffH,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a886H)(▎)(8017)
DB0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a887H)(▏)(8018)
DB0ffH,0ffH,0ffH,0ffH,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a888H)(▓)(8019)
DB00H,00H,00H,00H,7fH,0feH,55H,56H
DB6aH,0aaH,55H,56H,6aH,0aaH,55H,56H
DB6aH,0aaH,55H,56H,6aH,0aaH,55H,56H
DB6aH,0aaH,7fH,0feH,00H,00H,00H,00H
;(a88dH)(◢)(801a)
DB00H,00H,00H,00H,00H,00H,00H,08H
DB00H,18H,00H,38H,00H,78H,00H,0f8H
DB01H,0f8H,03H,0f8H,07H,0f8H,0fH,0f8H
DB1fH,0f8H,00H,00H,00H,00H,00H,00H
;(a88fH)(◤)(801b)
DB00H,00H,00H,00H,00H,00H,1fH,0fcH
DB1fH,0f8H,1fH,0f0H,1fH,0e0H,1fH,0c0H
DB1fH,80H,1fH,00H,1eH,00H,1cH,00H
DB18H,00H,10H,00H,00H,00H,00H,00H
;(a890H)(◥)(801c)
DB00H,00H,00H,00H,00H,00H,10H,00H
DB18H,00H,1cH,00H,1eH,00H,1fH,00H
DB1fH,80H,1fH,0c0H,1fH,0e0H,1fH,0f0H
DB1fH,0f8H,00H,00H,00H,00H,00H,00H
;(a88eH)(◣)(801d)
DB00H,00H,00H,00H,7fH,0f0H,3fH,0f0H
DB1fH,0f0H,0fH,0f0H,07H,0f0H,03H,0f0H
DB01H,0f0H,00H,0f0H,00H,70H,00H,30H
DB00H,10H,00H,00H,00H,00H,00H,00H
;(a1f8H)(▲)(801e)
DB00H,04H,00H,1cH,00H,7cH,01H,0fcH
DB07H,0fcH,1fH,0fcH,3fH,0fcH,7fH,0fcH
DB3fH,0fcH,1fH,0fcH,07H,0fcH,01H,0fcH
DB00H,7cH,00H,1cH,00H,04H,00H,00H
;(a1f7H)(△)(801f)
DB00H,04H,00H,1cH,00H,64H,01H,84H
DB06H,04H,18H,04H,20H,04H,40H,04H
DB20H,04H,18H,04H,06H,04H,01H,84H
DB00H,64H,00H,1cH,00H,04H,00H,00H
;(a88bH)(▼)(8020)
DB00H,00H,20H,00H,30H,00H,38H,00H
DB3cH,00H,3fH,00H,3fH,0c0H,3fH,0e0H
DB3fH,0c0H,3fH,80H,3eH,00H,3cH,00H
DB30H,00H,20H,00H,00H,00H,00H,00H
;(a88cH)(▽)(8021)
DB00H,00H,20H,00H,30H,00H,28H,00H
DB24H,00H,23H,00H,20H,0c0H,20H,20H
DB20H,0c0H,21H,00H,26H,00H,28H,00H
DB30H,00H,20H,00H,00H,00H,00H,00H
;(a1f4H)(◆)(8022)
DB01H,00H,03H,80H,07H,0c0H,0fH,0e0H
DB1fH,0f0H,3fH,0f8H,7fH,0fcH,0ffH,0feH
DB7fH,0fcH,3fH,0f8H,1fH,0f0H,0fH,0e0H
DB07H,0c0H,03H,80H,01H,00H,00H,00H
;(a1f3H)(◇)(8023)
DB01H,00H,02H,80H,04H,40H,08H,20H
DB10H,10H,20H,08H,40H,04H,80H,02H
DB40H,04H,20H,08H,10H,10H,08H,20H
DB04H,40H,02H,80H,01H,00H,00H,00H
;(a1f0H)(○)(8024)
DB00H,00H,07H,0c0H,18H,30H,20H,08H
DB20H,08H,40H,04H,40H,04H,40H,04H
DB40H,04H,40H,04H,20H,08H,20H,08H
DB18H,30H,07H,0c0H,00H,00H,00H,00H
;(a1f1H)(●)(8025)
DB00H,00H,07H,0c0H,1fH,0f0H,3fH,0f8H
DB3fH,0f8H,7fH,0fcH,7fH,0fcH,7fH,0fcH
DB7fH,0fcH,7fH,0fcH,3fH,0f8H,3fH,0f8H
DB1fH,0f0H,07H,0c0H,00H,00H,00H,00H
;(a1efH)(★)(8026)
DB02H,00H,02H,00H,03H,02H,03H,9cH
DB03H,0fcH,07H,0f8H,3fH,0f8H,0ffH,0f0H
DB3fH,0f8H,07H,0f8H,03H,0fcH,03H,9cH
DB03H,02H,02H,00H,02H,00H,00H,00H
;(a1eeH)(☆)(8027)
DB02H,00H,03H,00H,02H,82H,02H,9cH
DB02H,64H,06H,08H,38H,08H,0c0H,10H
DB38H,10H,06H,08H,02H,64H,02H,9cH
DB02H,82H,03H,00H,02H,00H,00H,00H
;(a1faH)(→)(8028)
DB01H,00H,01H,00H,01H,00H,01H,00H
DB01H,00H,01H,00H,01H,00H,01H,00H
DB01H,00H,01H,00H,07H,0c0H,03H,80H
DB03H,80H,01H,00H,01H,00H,00H,00H
;(a84bH)(↘)(8029)
DB00H,00H,00H,00H,20H,00H,10H,00H
DB08H,00H,04H,00H,02H,00H,01H,00H
DB00H,80H,00H,44H,00H,24H,00H,14H
DB00H,0cH,00H,7cH,00H,00H,00H,00H
;(a1fdH)(↓)(802a)
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,10H,00H,1cH,0ffH,0ffH
DB00H,1cH,00H,10H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
;(a84cH)(↙)(802b)
DB00H,00H,00H,00H,00H,0fcH,00H,0cH
DB00H,14H,00H,24H,00H,44H,00H,80H
DB01H,00H,02H,00H,04H,00H,08H,00H
DB10H,00H,20H,00H,00H,00H,00H,00H
;(a1fbH)(←)(802c)
DB01H,00H,01H,00H,03H,8