单片机课程设计报告1616LED显示屏.docx
《单片机课程设计报告1616LED显示屏.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告1616LED显示屏.docx(11页珍藏版)》请在冰豆网上搜索。
单片机课程设计报告1616LED显示屏
《单片机原理与应用》
课程设计报告
题目:
16×16点阵LED显示的设计
专业:
计算机科学与技术
班级:
学号:
姓名:
天津理工大学
计算机工程系
2011年6月23日
16×16点阵LED显示的设计
摘要
本论文主要介绍的是16×16点阵LED显示系统.硬件部分主要使用Dais-PG系列嵌入式MCS-51教学实验平台中的可编程并行接口芯片8255,可编程并行接口芯片8255,16×16点阵LED,8位开关等连接组成点阵LED显示控制系统的基本电路.软件部分采用了汇编语言编写程序代码,通过判断,跳转,循环等基本技术实现LED显示点阵汉字,汉字的滚动显示;并用8位开关结合8255,实现汉字滚动显示速度和方向的控制等.该系统显示直观,工作稳定,操作简单,与商用LED显示具有类似的显示和滚动原理,具备较强的实用价值.
关键词:
点阵LED显示,16×16LED,Dais-PG系列嵌入式MCS-5,8255
1绪论
1.1设计背景
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
它的优点:
亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
1.2设计任务与要求
(1)设计目的
1.熟悉单片机控制系统,并了解系统设计的一般规律。
2.掌握锁存器、译码器的结构和应用。
3.熟悉汉字显示的实现方法。
(2)设计任务及要求
设计一个16×16点阵LED显示系统。
要求显示6个汉字,可以实现汉字滚动显示,显示方式有:
卷帘出效果文字显示,停留几秒钟,接着向上滚动显示,停留几秒后,再左进右出、下进上出、逐字显示等,最后以卷帘入效果隐去文字。
显示效果可以根据需要进行设置,系统程序会不断地循环执行显示效果。
显示屏各点亮度均匀、充足,显示文字稳定、清晰,可用静止、移入移出等多种显示方式显示文字。
2总体设计方案
2.1系统整体方案框图
图1整体方案框图
2.2程序流程图
程序主要由开始、初始化、主程序、子程序、字库组成(源程序详见附录)。
其中主程序和子程序的流程图为:
图2主程序流程图
图3显示程序流程图
图4循环扫描显示子程序流程图
3硬件电路设计
3.1电路原理
图5扩展锁存器控制方式原理图
图6CPUI/O口控制方式原理图
3.2相关元器件的介绍
1、8255
Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。
可由程序来改变其功能,通用性强、使用灵活。
通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。
其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。
可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。
2、138译码器
译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。
发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。
3、373锁存器
74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。
当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。
工作原理:
74LS373的输出端O0—O7可直接与总线相连。
当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端LE为高电平时,O随数据D而变。
当LE为低电平时,O被锁存在已建立的数据电平。
4系统仿真与测试
4.1Protues的基本操作方法
元件选用:
打开元件库栏,移动鼠标到需要的元件图形上,按下左键,将元件符号拖拽到工作区。
4.2仿真步骤
(1)根据自己所画好的电路图,在protues元器件库选择相应的元器件。
(2)用导线将元器件按图连接好。
4.3仿真结果及分析
总体电路的仿真结果如图7所示。
图7电路总体仿真图
5硬件、软件调试
5.1硬件、软件调试步骤
1.通过字模提取器,提取所需显示字字模(第十组点阵显示)。
2.通过第一次装载运行结果显示,循环显示实验结果。
修改:
改变实验程序,使显示字从上下左右循环显示显示字。
3.通过第一次装载运行结果显示,每个方向运行3次,左右方向运行均正常,上下方向运行显示字出现紊乱。
修改:
通过字模提取器更改显示字方向。
5.2调试注意事项
(1)测试之前要熟悉各种仪器的使用方法,并仔细加以检查,避免由于仪器使用不当或出现故障而作出错误判断。
(2)测试仪器和被测电路应具有良好的共地,只有使仪器和电路之间建立一个公共地参考点,测试的结果才是准确的。
6收获与体会
通过本次16×16点阵LED显示的设计,理论知识学习和实际设计的结合锻炼了我的综合运用所学的专业基础知识解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富。
为后继的学习奠定的基础。
参考文献
[1]楼然苗.单片机课程设计指导.第三版.北京:
京航空航天大学出版社,2007年
[2]周润景,袁伟亭,景晓松.Proteus在MCS-51&ARM7系统中的应用百例.北京:
电子工业出版社,2006年
[3]胡汉才.单片机原理及其接口技术.第二版.北京:
清华大学出版社,2004年
附录
1、源程序
PAEQU0040H;行代码1
PBEQU0042H;行代码2
PCTLEQU0046H;行8255控制口地址
XPAEQU0048H;列扫描1
XPBEQU004AH;列扫描2
XPCTLEQU004EH;列8255控制口地址
DATASEGMENTAT0
ORG2DB0H
FLDB?
;选择列扫描
R0DW?
;数据地址偏移量
R6DW?
;扫描存储单元
R1DB?
;列扫描通道选择
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
ORG2DC0H
START:
MOVDX,XPCTL
MOVAL,80H
OUTDX,AL;选择8255个端口工作方式
MOVDX,PCTL
OUTDX,AL
CALLOFFLED
MOVAL,00H;数据初始化
MOVFL,AL
MOVR6,0048H
X0:
MOVR0,0000H
X1:
CALLDEL1
INCR0
INCR0;R0+2
CMPR0,00E0H;304
JNZX1
JMPX0
DISPW:
PUSHR0;LED点阵显示
MOVR1,01H
DISP1:
MOVAX,R0
MOVBX,OFFSETTAB
ADDBX,AX
MOVAL,CS:
[BX]
MOVDX,PB
OUTDX,AL;行代码1输入
INCR0
MOVAX,R0
MOVBX,OFFSETTAB
ADDBX,AX
MOVAL,CS:
[BX]
MOVDX,PA
OUTDX,AL;行代码2输入
MOVDX,R6
MOVAL,R1
NOTAL
OUTDX,AL;列扫描
MOVCX,0010H;循环128次
LOOP$
CALLOFFLED
INCR0
RCLR1,1;扫描信号左移8次
JNCDISP1
CMPFL,00H
JNZEXIT
INCFL
CLC;标志位CF清零
MOVR1,01H
MOVR6,004AH;切换到列扫描2
JMPDISP1
EXIT:
MOVR6,0048H;切换到列扫描1
MOVFL,00H
POPR0
RET
OFFLED:
MOVDX,XPA;灭灯
MOVAL,0FFH
OUTDX,AL
MOVDX,XPB
OUTDX,AL
RET
DEL1:
MOVCX,0020H;计数32次
CON1:
PUSHCX
CALLDISPW
POPCX
LOOPCON1
RET
TAB:
DB00H,00H,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,00H
DB10H,10H,08H,20H,04H,48H,3FH,FCH,21H,08H,21H,08H,3FH,F8H,21H,08H,
21H,08H,3FH,F8H,21H,00H,01H,04H,FFH,FEH,01H,00H,01H,00H,01H,00H;单
DB00H,80H,20H,80H,20H,80H,20H,80H,20H,84H,3FH,FEH,20H,00H,20H,00H,
3FH,C0H,20H,40H,20H,40H,20H,40H,20H,40H,20H,40H,40H,40H,80H,40H;片
DB10H,00H,10H,10H,11H,F8H,11H,10H,FDH,10H,11H,10H,31H,10H,39H,10H,
55H,10H,51H,10H,91H,10H,11H,10H,11H,12H,12H,12H,14H,0EH,18H,00H;机
DB00H,08H,43H,FCH,22H,48H,22H,48H,03H,F8H,02H,48H,E2H,48H,23H,F8H,
20H,40H,2FH,FEH,20H,E0H,29H,50H,32H,48H,24H,4EH,08H,44H,00H,40H;课
DB08H,04H,1DH,FEH,F1H,04H,11H,04H,11H,04H,FFH,04H,11H,FCH,38H,00H,
37H,FEH,54H,20H,50H,28H,91H,FCH,10H,20H,10H,24H,17H,FEH,10H,00H;程
DB01H,F0H,21H,10H,11H,10H,11H,10H,01H,10H,02H,0EH,F4H,00H,13H,F8H,
11H,08H,11H,10H,10H,90H,10H,A0H,14H,40H,18H,B0H,13H,0EH,0CH,04H;设
DB00H,40H,20H,40H,10H,40H,10H,40H,00H,40H,00H,44H,F7H,FEH,10H,40H,
10H,40H,10H,40H,10H,40H,12H,40H,14H,40H,18H,40H,10H,40H,00H,40H;计
DB00H,00H,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,00H
CODEENDS
ENDSTART