LED点阵显示程序设计.docx

上传人:b****6 文档编号:5769275 上传时间:2023-01-01 格式:DOCX 页数:7 大小:16.67KB
下载 相关 举报
LED点阵显示程序设计.docx_第1页
第1页 / 共7页
LED点阵显示程序设计.docx_第2页
第2页 / 共7页
LED点阵显示程序设计.docx_第3页
第3页 / 共7页
LED点阵显示程序设计.docx_第4页
第4页 / 共7页
LED点阵显示程序设计.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

LED点阵显示程序设计.docx

《LED点阵显示程序设计.docx》由会员分享,可在线阅读,更多相关《LED点阵显示程序设计.docx(7页珍藏版)》请在冰豆网上搜索。

LED点阵显示程序设计.docx

LED点阵显示程序设计

《单片机实训报告》

LED点阵显示程序设计

 

系别:

航空电子工系专业:

应用电子

班级:

210341姓名:

焦德龙

指导老师:

邱寄帆老师、陈伟老师日期:

2012年6月8日

 

目录

 

一、设计要求

二、设计目的

三、方案确定

四、编程

五、调试

六、程序

七、总结

 

一、设计要求

编制程序,设计字库,在LED点阵显示器上循环显示“成都航空职业技术学院”。

二、设计目的

1.掌握单片机与LED点阵显示器接口设计和编程方法;

2.掌握用LED点阵显示器显示汉字或图形的方法。

三、方案确定

LED点阵显示程序设计,利用程序来控制LED点阵实现循环,采用16X16来实现“成都航空职业技术学院”十个字的循环。

四、程序

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVDPTR,#8003H

MOVA,#80H

MOVX@DPTR,A;写控制字

LCALLGUANBI;关显示

MOV00H,#00H

MOVR6,#01H;DPTR的低8位

MOVR7,#80H;DPTR的高8位

LOOP0:

MOVR0,#00H;取TAB数

LOOP1:

LCALLLED1;采用堆栈将数据保存起来,运行另一段程序

INCR0

INCR0

CJNER0,#080H,LOOP1

LOOP2:

MOVR0,#00H

LOOP3:

LCALLLED5

INCR0

INCR0

CJNER0,#0E0H,LOOP3

SJMPLOOP0

DISPW1:

PUSH00H;02H,保护8002H的低八位

MOVR1,#80H;扫描

CLRC

DISP2:

MOVA,R0;取TAB1数

MOVDPTR,#TAB1

MOVCA,@A+DPTR

MOVDPTR,#8000H

MOVX@DPTR,A

INCR0;

MOVA,R0

MOVDPTR,#TAB1

MOVCA,@A+DPTR

MOVDPTR,#8002H

MOVX@DPTR,A

MOVDPL,R6

MOVDPH,R7

MOVA,R1

CPLA

MOVX@DPTR,A

MOVR3,#80H

DJNZR3,$

LCALLGUANBI

INCR0

MOVA,R1

RRCA

MOVR1,A

JNCDISP2;当加到16产生进位(1行显示完毕)

JB00H,EXIT1

SETB00H

CLRC

MOVR1,#80H

MOVR6,#00H

MOVR7,#0A0H

AJMPDISP2

EXIT1:

MOVR6,#01H

MOVR7,#80H

CLR00H

POP00H

RET

;==================================================

LED1:

MOVR2,#04H;滚动显示扫描16次,返回

LEDY:

PUSH02H;(02H,保护8002H的低八位)

LED2:

PUSH02H

LED3:

PUSH02H

LED4:

DJNZR2,LED4

LCALLDISPW

POP02H

DJNZR2,LED3

POP02H

DJNZR2,LED2

POP02H

DJNZR2,LEDY

RET

;---------------------------------------

LED5:

MOVR2,#04H;滚动显示扫描16次,返回

LEDY1:

PUSH02H;(02H,保护8002H的低八位)

LED6:

PUSH02H

LED7:

PUSH02H

LED8:

DJNZR2,LED8

LCALLDISPW1

POP02H

DJNZR2,LED7

POP02H

DJNZR2,LED6

POP02H

DJNZR2,LEDY1

RET

;==================================================

DISPW:

PUSH00H;(00H,保护8000H的低八位)

MOVR1,#80H;显示一个字

CLRC

DISP1:

MOVA,R0;BH1

MOVDPTR,#TAB;DPTR的低8位

MOVCA,@A+DPTR

MOVDPTR,#8000H

MOVX@DPTR,A

INCR0;BH2

MOVA,R0

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#8002H

MOVX@DPTR,A

MOVDPL,R6;8001H端口地址

MOVDPH,R7

MOVA,R1;L0----L7,依次扫描

CPLA

MOVX@DPTR,A

MOVR3,#80H

DJNZR3,$

LCALLGUANBI

INCR0

MOVA,R1

RRCA

MOVR1,A

JNCDISP1;当加到16产生进位(1行显示完毕)

JB00H,EXIT

SETB00H

CLRC

MOVR1,#80H

MOVR6,#00H

MOVR7,#0A0H

AJMPDISP1

EXIT:

MOVR6,#01H

MOVR7,#80H

CLR00H

POP00H;弹出堆栈,执行下一段字节显示

RET

;==================================================

GUANBI:

MOVDPTR,#8001H;关显示子程序

MOVA,#0FFH

MOVX@DPTR,A

MOVDPTR,#0A000H

MOVX@DPTR,A

RET

TAB:

DB00H,01H,00H,05H,00H,09H,0FCH,3FH,04H,01H,04H,01H,04H,21H,7CH,22H

DB44H,12H,44H,12H,44H,0CH,54H,04H,24H,46H,02H,49H,81H,50H,00H,60H;成

DB08H,00H,48H,3EH,0FEH,22H,48H,22H,28H,12H,0FFH,12H,10H,0AH,48H,12H

DB0FEH,22H,46H,42H,45H,42H,7EH,46H,44H,2AH,44H,12H,7EH,02H,44H,02H;都

DB10H,02H,08H,0CH,7CH,28H,0C4H,7FH,4CH,00H,54H,10H,44H,3EH,7FH,12H

DB44H,12H,4CH,12H,54H,12H,44H,12H,44H,52H,44H,52H,52H,61H,0A1H,00H;航

DB40H,00H,80H,00H,0FEH,7FH,02H,40H,21H,22H,30H,0CH,08H,18H,04H,10H

DB00H,00H,0FCH,1FH,80H,00H,80H,00H,80H,00H,80H,20H,0FFH,7FH,00H,00H;空

TAB1:

DB20H,00H,7FH,20H,24H,7FH,24H,21H,3CH,21H,24H,21H,24H,21H,3CH,21H

DB24H,3FH,24H,21H,0E4H,12H,3FH,12H,22H,21H,20H,61H,0A0H,40H,20H,00H;职

DB20H,02H,20H,02H,20H,02H,20H,02H,22H,22H,24H,22H,24H,12H,28H,12H

DB28H,0AH,28H,0AH,28H,06H,20H,02H,20H,02H,20H,22H,0FFH,7FH,00H,00H;业

DB08H,02H,08H,02H,08H,12H,0C8H,3FH,3FH,02H,08H,02H,08H,02H,0C8H,1FH

DB58H,10H,8CH,08H,8BH,08H,08H,05H,08H,02H,08H,0DH,8AH,70H,64H,20H;技

DB80H,00H,80H,02H,80H,0CH,80H,08H,80H,20H,0FFH,7FH,80H,00H,0C0H,01H

DB0A0H,02H,90H,04H,88H,08H,84H,70H,83H,20H,80H,00H,80H,00H,80H,00H;术

DB44H,10H,88H,10H,88H,08H,00H,04H,0FEH,7FH,02H,04H,01H,20H,0F8H,07H

DB00H,02H,08H,21H,0FFH,7FH,80H,00H,80H,00H,80H,00H,0A0H,00H,40H,00H;学

DB00H,01H,1EH,02H,0F2H,7FH,2AH,40H,1AH,28H,0C6H,1FH,0AH,00H,12H,10H

DB0F2H,3FH,12H,05H,16H,05H,0AH,05H,82H,44H,82H,44H,42H,78H,32H,00H;院

DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H

END

五、调试

每个人做的程序,不可能一开始就达到很完美的样子,它必须经过我们对它进行调试才能使它变得更完美。

一开始我们的程序出来有一个很怪的现象,那就是它显出来的字左右是反的,看起真的好别扭,不过,这都是因为编码的愿因,经过我们重新编码后,显示出来的字回到了以前的状态,成功的并且正确的显示出“成都航空职业技术学院”十个字。

六、总结

本周我们继续单片机实训周,通过这次实训,让我对单片机编程有了的认识更加深刻,在这周的实训中,我们的项目是做一个LED点阵显示程序设计,在这次实训中呢,我们这组也遇到了很多麻烦,伤透了脑筋,主要是用字的左右结构出错了,到你想加就加,想减就,面对这个,我们的确想了很久,最后,在大家的一起努力下,我们一起解决了分问题,这也为我们成功的完成了这次实训打下了基础,不过我们做得不够完美,还有一些小问题没解决,比如说字的排版不是很好,这一点我们没做好,还有需要完善的地方,我们应该更加努力。

毕竟实践总会让人对事物的理解会更加的快而且也会增加更多的兴趣,对学习有很大的帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1