基于PROTUTE 24汉字点阵实验报告.docx
《基于PROTUTE 24汉字点阵实验报告.docx》由会员分享,可在线阅读,更多相关《基于PROTUTE 24汉字点阵实验报告.docx(16页珍藏版)》请在冰点文库上搜索。
基于PROTUTE24汉字点阵实验报告
PROTUSE仿真设计实验报告
专业________电子信息工程_________________
年级________________________________
姓名______________________________
学号___________________________
指导老师_________________________
一、实验名称:
基于单片机的24*24点阵LED汉字显示器。
二、设计目的:
作为理工科的学生应该在学习与动手实践中提高自己的专业技能知识,通过课程设计使我进一步熟悉了单片机的内部结构和工作原理,掌握了单片机应用系统设计的基本方法和步骤;通过利用AT89C51单片机,理解单片机在自动化装置中的作用以及掌握单片机的编程调试方法;通过设计一个简单的实际应用输入控制及显示系统,掌握protues仿真软件的使用。
为以后的发展而做铺垫,通过课程设计提高自己的动手能力,加深理解汉字在LED上的显示原理,以及各种不同的方法,增加对电子仿真的兴趣。
三、设计电路
1、功能
(1)可显示汉字、英文和符号。
(2)分幅静止显示功能。
(3)移动循环显示功能,上移依次显示字符为“福州大学阳光学院”
2、从PROTUSE库中选取原件
AT89C51:
单片机
74HC595:
带锁存的传入并出移位寄存器
74LS138:
3-8译码器
MATRIX-8*8-GREEN:
8*8LED点阵显示块
3、在ISIS编辑区中的设计电路
①点阵LED显示屏硬件电路设计
显示屏
行控制
单片机控制电路
列控制
控制系统框图
点阵LED显示屏硬件电路控制系统框图如图所示,控制电路分为单片机控制电路,行控制和列控制,显示电路三个部分,本系统由AT89C51作为控制单元,列控制选用3线-8线译码器74HC138行数据传输选用8位串行输入并行输出寄存器74HC595。
显示屏用9块8*8点阵显示模块组合成24*24点阵显示屏。
上图为单片机的I/O口连接电路P1口作为连接74HC138的片选使能和译码数据端,P0作为连接74HC595的时钟端,数据端,清零端和使能端的分配,按键用P2口的P2.0P2.1P2.2分别实现点阵屏停止移动,开关显示和速度的加减功能。
②列控制电路和行数据传输电路
列控制电路采用3片74HC138级联组成,如图(a)示。
每个输出端接470
的电阻器限流作用,然后P1口相连接,E1E2E3为片使能端,当E1和E3为低电平是第一片译码器使能控制列。
行数据传输电路采用3片74HC595串联,如图(b)数据在SH-CP的上升沿输入,在ST-CP的上升沿进入到存储寄存器中去。
移位寄存器有一个串行移位输入和一个串行输出,和一个异步的低电平复位,74HC595的8位数据储存寄存器,具备三态的总线输出当使能OE时,储存寄存器的数据输出到总线,在移位过程中储存寄存器输出端数据可以保留不变,数码管没有闪烁感,595还有输出端使能、禁止控制端,可使输出为高阻态。
③显示屏电路
由于PROTUSE中没有24*24点阵显示屏,所以采用9块8*8点阵屏组合成24*24点阵,此点阵按共阴式组合,控制列选端低电平有效,r0~r23为行数据端,a2~h为列控制端。
④点阵LED显示软件设计
程序主要由主程序与清零、查表、送数、循环扫描、延时几个部分组成。
主程序和帧扫描子程序流程图如图5示。
主程序中使用DPTR地址寄存器作为地址取码指针通过查表将数据送至行线作为控制信号,通过138连接的列线作为扫描控制开关。
当DPTR为表首地址时,在子程序的循环中R2从0加到3,取出显示一列字符的全部字节并与列扫描配合逐列显示,完成一帧扫描的全部操作。
本程序将数据表的最前一屏0数据,开始以黑屏显示完成全部的扫描显示,对同一帧的反复扫描次数R5的设定,决定了显示移动速度
四、程序设计和装载
1、程序设计
;**;****************************************************
;24*24点阵上移程序
;学校福州大学阳光学院
;专业
;班级
;学号
;姓名
;
;*****************寄存器定义********************
ORG0H
LJMPSTART
ORG0BH
LJMPINTT0
;*************初始化程序***************************
START:
MOV20H,#00H
MOVA,#0FFH
MOVR7,#0
MOVP1,A
MOVP2,A
MOVP3,A
MOVP0,A
CLRP1.6
MOVTMOD,#01H
MOVTH0,#0FEH
MOVTL0,#18H
MOVSCON,#0
MOVIE,#82H
MOVSP,#70H;
MOVR0,#0
;*************主程序********************************
MAIN:
MOVDPTR,#TAB
LCALLMOVDISP
LJMPMAIN
;*************汉字移动子程序**********************
MOVDISP:
MOVB,#00H
DISLOOP:
MOVR3,#07H
DISMOV:
JNB02H,AAA
DECDPH
CLR02
AAA:
MOVR2,#0
MOVR1,B
SETBTR0
WAITMOV:
JBC01H,DISMOV1
AJMPWAITMOV
DISMOV1:
DJNZR3,DISMOV
JNB02H,BBB
DECDPH
CLR02
;----------------------每显示一屏(重复扫描一帧7次)偏移1行(3个字节)---------------------------
BBB:
incb
MOVA,B
CJNEA,#0,CC0
INCDPH
INCR7
CC0:
INCB
MOVA,B
CJNEA,#0,CC1
INCDPH
INCR7
CC1:
INCB
MOVA,B
CJNEA,#0,CCC
INCDPH
INCR7
CCC:
MOVA,R1
MOVOUT:
CJNER7,#3,DISLOOP
MOVA,B
CJNEA,#24,DISLOOP1
LJMPDISLOOP
DISLOOP1:
JCDISLOOP
CJNEA,#168,DISLOOP2
DISLOOP2:
JCDISLOOP
CJNEA,#240,DISLOOP
MOVR7,#0
RET
;*************中断子程序(中断1次扫描1行,扫描一帧(24行)须中断25次额外一次中断判断是否结束并关定时器,)**********************
INTT0:
INCR0
PUSHACC
MOVTH0,#0FFH
MOVTL0,#10H
JBC00H,GOEND
;----------------------发送一行(3个字节)--------------------------
MOVA,R1
MOVCA,@A+DPTR
MOVSBUF,A
WAIT:
JBCTI,GO
AJMPWAIT
GO:
INCR1
CJNER1,#0,AA
INCDPH
SETB02H
AA:
MOVA,R1
MOVCA,@A+DPTR
MOVSBUF,A
WAIT1:
JBCTI,GO1
AJMPWAIT1
GO1:
INCR1
CJNER1,#0,BB
INCDPH
SETB02H
BB:
MOVA,R1
MOVCA,@A+DPTR
MOVSBUF,A
WAIT2:
JBCTI,GO2
AJMPWAIT2
GO2:
CLRP1.3
CLRP1.4
CLRP1.5
NOP
SETBP1.6
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLRP1.6
MOVA,R2
ANLA,#7H
ANLP1,#0F8H
ORLP1,A
P122:
INCR2
CJNER2,#8,PAN1
LJMPPAN1A
PAN1:
JCPAN1A
CJNER2,#10H,PAN2
LJMPPAN1B
PAN2:
JCPAN1B
CJNER2,#018H,PAN3
LJMPPAN1C
PAN3:
JCPAN1C
PAN1A:
SETBP1.3
AJMPPANT
PAN1B:
SETBP1.4
AJMPPANT
PAN1C:
SETBP1.5
PANT:
INCR1;
CJNER1,#0,CC
INCDPH
SETB02H
CC:
MOVA,R2
GO3:
CJNER2,#24,GO4
SETB00H
GO4:
POPACC
RETI
GOEND:
CLRTR0
SETB01H
POPACC
RETI
;*************显示表*********************************
TAB:
;24X24点阵汉字表:
福州大学阳光学院
DB000H,000H,000H,000H,000H,000H,000H,000H;"",
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB000H,000H,000H,000H,000H,000H,000H,000H
DB004H,000H,018H,003H,00FH,0F8H,003H,03EH;福
DB000H,001H,000H,020H,000H,009H,0F0H,000H
DB0CFH,020H,007H,0C8H,020H,03DH,088H,060H
DB001H,00FH,0E0H,003H,00CH,000H,007H,020H
DB008H,007H,0E3H,0F8H,00AH,07FH,018H,012H
DB031H,008H,022H,031H,018H,042H,013H,0F8H
DB003H,01FH,018H,003H,011H,018H,003H,011H
DB018H,003H,011H,0F0H,003H,01FH,090H,003H
DB030H,010H,003H,010H,000H,000H,000H,000H
DB000H,000H,020H,001H,000H,030H,001H,080H;州
DB010H,001H,08CH,010H,001H,08CH,010H,001H
DB08CH,010H,001H,08CH,010H,005H,00CH,010H
DB005H,00FH,030H,005H,06DH,0B0H,00DH,03CH
DB0F0H,009H,03CH,0F0H,009H,01CH,0B0H,019H
DB00CH,010H,019H,00CH,010H,001H,004H,010H
DB003H,00CH,010H,003H,00CH,010H,002H,00CH
DB010H,006H,00CH,010H,004H,00CH,010H,008H
DB000H,010H,010H,000H,030H,020H,000H,010H
DB000H,010H,000H,000H,018H,000H,000H,018H;大
DB000H,000H,018H,000H,000H,018H,000H,000H
DB018H,000H,000H,018H,000H,000H,018H,000H
DB000H,01BH,0F8H,00FH,0FFH,080H,00FH,018H
DB000H,000H,038H,000H,000H,024H,000H,000H
DB024H,000H,000H,062H,000H,000H,042H,000H
DB000H,0C1H,000H,000H,081H,080H,001H,080H
DB080H,003H,000H,0C0H,006H,000H,060H,00CH
DB000H,07EH,010H,000H,000H,000H,000H,000H
DB000H,020H,080H,000H,010H,0C0H,002H,010H;学
DB080H,001H,019H,080H,001H,099H,000H,000H
DB08BH,000H,000H,082H,008H,008H,007H,0FCH
DB00FH,0FEH,018H,01CH,000H,010H,010H,003H
DB0A0H,031H,0FFH,000H,011H,086H,000H,000H
DB004H,000H,000H,018H,008H,000H,01FH,0FCH
DB00FH,0FFH,000H,01EH,008H,000H,000H,008H
DB000H,000H,008H,000H,000H,008H,000H,000H
DB008H,000H,000H,078H,000H,000H,038H,000H
DB000H,000H,000H,008H,000H,000H,009H,0D0H;阳
DB000H,00FH,0D0H,030H,008H,09FH,0F0H,009H
DB09EH,030H,009H,018H,030H,009H,018H,030H
DB009H,018H,030H,009H,098H,030H,008H,098H
DB0A0H,008H,0DFH,0A0H,008H,0D8H,020H,008H
DB0D8H,020H,00BH,0D8H,020H,009H,098H,020H
DB008H,098H,020H,008H,018H,020H,008H,01FH
DB0E0H,008H,01EH,060H,018H,018H,020H,018H
DB008H,000H,008H,000H,000H,000H,000H,000H
DB000H,010H,000H,000H,018H,000H,000H,018H;光
DB000H,000H,008H,040H,002H,018H,060H,001H
DB018H,0C0H,001H,098H,080H,000H,0D9H,080H
DB000H,099H,000H,000H,00AH,000H,000H,019H
DB0FCH,01FH,0FFH,0C0H,01EH,04CH,000H,000H
DB064H,000H,000H,044H,000H,000H,044H,000H
DB000H,0C4H,000H,000H,084H,000H,001H,084H
DB000H,001H,004H,008H,003H,004H,00CH,006H
DB004H,00CH,00CH,006H,00CH,018H,003H,0FCH
DB000H,020H,080H,000H,010H,0C0H,002H,010H;学
DB080H,001H,019H,080H,001H,099H,000H,000H
DB08BH,000H,000H,082H,008H,008H,007H,0FCH
DB00FH,0FEH,018H,01CH,000H,010H,010H,003H
DB0A0H,031H,0FFH,000H,011H,086H,000H,000H
DB004H,000H,000H,018H,008H,000H,01FH,0FCH
DB00FH,0FFH,000H,01EH,008H,000H,000H,008H
DB000H,000H,008H,000H,000H,008H,000H,000H
DB008H,000H,000H,078H,000H,000H,038H,000H
DB000H,006H,000H,000H,002H,000H,011H,003H;院
DB000H,01FH,082H,010H,019H,041H,0F8H,01BH
DB07FH,030H,01AH,040H,020H,01AH,0C0H,020H
DB01AH,04FH,0C0H,019H,01CH,000H,019H,000H
DB000H,019H,003H,0F8H,019H,0FFH,000H,01DH
DB00BH,000H,01BH,00BH,000H,01AH,01BH,000H
DB018H,01BH,000H,018H,013H,008H,018H,033H
DB008H,018H,021H,008H,010H,041H,008H,010H
END
2、程序装载
(1)加载、编译源程序
将源程序通过菜单“Source-Add/RemovesourceFiles……”加载(格式为*.ASM).
(2)源程序编译
通过菜单“Source-BuildAdd”编译码器程序、生成目标代码文件(格式为*.HEX).若编译失败,可对程序进行修改调试直至编译成功。
加载代码文件
打开元件单片机属性窗口,在ProgramFile”烂中输入目标代码文件(格式为*,HEX)。
在“ClockFrequency”栏中输入晶振频率12MHZ.
五、实验结果:
运行实验仿真,LED灯显示“福州大学阳光学院”字样。
六、实验总结:
当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、交通、商业、广告宣传、邮电电信、国防军事等许多领域中得到了广泛应用。
因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。
目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。
随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。
LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。
该项目广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术.
在本次设计的过程中,对PROTUSE这个软件有了更进一步的了解和认识,熟悉了PROTUSE仿真软件的仿真操作,同时也掌握了一些汇编程序的编写,为后续的学习打下了一个坚实的基础,以上是我从本实验得到的一些认识。