单片机课程设计报告LED点阵显示.docx
- 文档编号:6068062
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:14
- 大小:224.11KB
单片机课程设计报告LED点阵显示.docx
《单片机课程设计报告LED点阵显示.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告LED点阵显示.docx(14页珍藏版)》请在冰豆网上搜索。
单片机课程设计报告LED点阵显示
电气工程学院
微机原理课程设计
设计题目:
LED点阵显示
学 号:
姓名:
同组人:
指导教师:
设计时间:
2014年3月20日~27日
设计地点:
电气学院实验中心
微机原理课程设计成绩评定表
姓名
学号
课程设计题目:
LED点阵显示
课程设计答辩或提问记录:
成绩评定依据:
课程设计预习报告及方案设计情况(20%):
课程设计考勤情况(5%):
电路焊接情况(15%)
课程设计调试情况(40%):
课程设计总结报告与答辩情况(20%):
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日
微机原理课程设计任务书
学生姓名:
指导教师:
一、课程设计题目:
LED点阵显示
二、课程设计要求
1.根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;
2.查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真;
3.完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果;
4.进实验室进行电路调试,边调试边修正方案;
5.撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。
三、进度安排
1.时间安排
序号
内容
学时安排(天)
1
方案论证和系统设计
1
2
完成电路仿真,写预习报告
1
3
电路调试
3
4
写设计总结报告与答辩
2
合计
7
设计调试地点:
电气楼410
2.执行要求
微机原理与接口技术课程成绩80分以上的同学可以自拟题目,其余的同学都是指定题目。
,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。
严禁抄袭,严禁两篇设计报告雷同。
第一章系统方案设计……………………………………………5
第二章仿真………………………………………………………7
第三章调试………………………………………………………11
第四章结论………………………………………………………13
第五章心得体会与建议…………………………………………13
参考文献……………………………………………………………14
附录:
元件清单……………………………………………………15
第一章系统方案设计
一、题目要求
本次课设的题目要求是:
应用51控制器加驱动(74LS245、UA2003或者74LS573),控制8×8的led点阵显示模块显示数字与文字,显示的内容分为稳定显示和动画显示两种。
显示的具体内容为:
稳定显示部分为汉字“上”,动画显示为汉字“北京交大”。
二、LED点阵原理
8×8点阵屏的内部电路原理图如下图所示,点阵有共阴和共阳两个类型,本次课程设计中实验室提供的是共阳极的点阵,下图给出了其内部电路原理及相应的管脚图。
LED点阵的显示方式是按显示编码的顺序,一行一行地显示。
对于共阳型的点阵来说,当某一点所在的行对应高电平“1”并且其所在的列对应低电平“0”的时候,这一点就会被点亮。
将每一行的显示时间进行一定的延时,由于人的视觉暂留现象,就会感觉到8行LED是在同时显示的。
若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。
三、单片机控制点阵的原理
利用51单片机来控制LED显示汉字,即考虑采用P0口和P2口分别输出行和列的控制信号,经过驱动电路来驱动二极管发光,从而显示不同字形。
同计算机一样,单片机控制点阵显示中的数据也是以“0”和“1”代码来表示的。
一般地,根据编码的不同,最终会显示出不同的字符。
对于8×8点阵来说,一个汉字需要64个点显示,一个字节对应8个点,所以一个汉字需要8个字节来存储。
不同的汉字对应着不同的代码,将这些代码放入单片机存储器中,通过逻辑控制,最终可将代码读出到硬件驱动电路上,显示出不同的汉字。
下面是本次课程设计要显示的“上”字和“北京交大”的字模代码。
DB01H,11H,11H,11H,0FFH,01H,01H,01H;上
DB0AFH,69H,28H,2CH,0EAH,29H,28H,28H;北
DB0B9H,05AH,18H,3CH,24H,3CH,0FFH,18H;京
DB0C3H,24H,18H,099H,66H,24H,0FFH,18H;交
DB81H,42H,24H,18H,18H,0FFH,18H,18H;大
系统方案设计框图
四、程序编写
通过汇编语言编程对单片机的控制口进行控制操作,整个程序的详细流程大致如下:
(1)PO,P2端口分别清零。
为了避免其它的数据影响端口,首先对屏幕进行清屏;
(2)输入延时时间,确保每一个字符都能够显示完毕;
(3)选中点阵的第一列进行扫描;
(4)列选址信号选通,行数据开始输送Table中的数据给P0、P2端口;
(5)读取下一列;
(6)判断是否显示完一个汉字,若是,则继续下一个汉字;否则,继续读取;
(7)当显示完一个汉字后,调用延时,字能够持续显示所设置的时间;
(8)判断是否已显示完4个汉字,若是,则跳出;否则,继续下一个汉字的读取。
第二章仿真
根据系统设计方案,利用Proteus软件进行电路仿真,电路图如下:
源程序如下:
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOV40H,#01H
MOV60H,#01H
START:
MOV30H,#00H
MOVDPTR,#TAB2;查表地址
MOVR1,#01H
MOVR4,#32;最后一个字码偏移量
DISPLAY1:
MOVR5,#5
MOVR3,#8;八列
DISPLAY2:
MOVR2,#00H
DISPLAY3:
MOVP2,#00H;清屏
MOVA,R2
MOVCA,@A+DPTR;查表
CPLA
MOVP0,A
INCR2;显示缓冲区地址加1
MOVA,R1
MOVP2,A;第一行送“1”,亮
LCALLDELAY
LCALLDELAY
LCALLDELAY
LCALLDELAY
LCALLDELAY;延时
RLA
MOVR1,A;左移行
DJNZR3,DISPLAY3;判断第一个字是否显示完
MOVR3,#8
DJNZR5,DISPLAY2
INCDPL
MOVA,#0FFH
MOVP2,A
MOVA,P1
JNBACC.0,SHANG;如果按键按下则跳转显示静态‘上’字
DJNZR4,DISPLAY1
LJMPSTART;如果没有按键按下且“北京交大”都显示完成
DELAY:
MOVR6,#0FFH
MOVR7,#0FFH
DJNZR7,$
DJNZR6,$
RET;延时子程序
SHANG:
MOV30H,#00H
MOVDPTR,#TAB1
MOVR1,#0FEH;列控制码
MOVR3,#8;8列
MOVR4,#100
MOVR5,#5
SHANG1:
MOVR3,#8
MOVR2,30H
SHANG2:
MOVP0,#0FFH;清屏
MOVA,R2
MOVCA,@A+DPTR;取当前列的显示字的一个字节
MOVP2,A
INCR2
MOVA,R1
MOVP0,A;列控制码
LCALLDELAY
LCALLDELAY
LCALLDELAY
LCALLDELAY
RLA;列控制码左移,显示下一列
MOVR1,A
DJNZR3,SHANG2;判断是否扫描完8列
MOVA,P2
CJNEA,#0FFH,SHANG3
LJMPSHANG4
SHANG3:
LJMPSHANG1
SHANG4:
LJMPMAIN
TAB1:
DB01H,11H,11H,11H,0FFH,01H,01H,01H;上
TAB2:
DB0AFH,69H,28H,2CH,0EAH,29H,28H,28H;北
DB0B9H,05AH,18H,3CH,24H,3CH,0FFH,18H;京
DB0C3H,24H,18H,099H,66H,24H,0FFH,18H;交
DB81H,42H,24H,18H,18H,0FFH,18H,18H;大
DB00H,00H,00H,00H,00H,00H,00H,00H;滚动最后的空屏段
END
第三章调试
从实验室领取到了电路板和各种所需器件后,便开始了实物的焊接。
首先按照老师的建议,对点阵进行测试,经测试二极管均能点亮,并且得知其管脚排列顺序如下:
实际点阵的管脚图
按照仿真电路图和点阵管脚图在电路板上进行布线焊接,完成实物如下:
正面图:
背面图:
经检查,排除了漏焊和虚焊的点之后,焊接全部完成。
接下来就是烧程序,经过再次确认仿真源程序无误后,把程序烧进了STC89C52中,插入电路板上的芯片座中,接通电源,观察结果。
第一次的结果是功能基本实现,但滚动的“北京交大”四个字是反的,镜像对称的字,经过分析思考,我们改变了读取字模的方向,重新编写了字形表,经过三次改变之后终于得到了正确方向的字。
前面方案设计中的就是最终正确的字形码。
最后功能都基本成功实现,但动态显示“北京交大”的时候字的亮度不够,并且亮度不同,比如“大”字的一横就比较暗,而其他部分比较亮,经过分析思考,得出以下几点:
(1)二极管的保护电阻采用的是330Ω,相对较大,限制了电流,使二极管的亮度较低;
(2)不是程序延时的问题,经过几次试验,改变延时会改变字的滚动速度,并且程序中设计的每个点延时时间长度相同,而实际问题是不同点的亮度不同;
(3)考虑是驱动的问题,因为电路中我们只在PO口接了排阻和74ls245驱动,而P2口并没有驱动,而是直接连接点阵管脚,而出现的问题也恰好是行较亮而列较暗。
综合以上分析,我们在P2口加上了排阻,观察到列的亮度整体有所提高,由于最初布线没有考虑在P2口加74ls245驱动,所以最终没能有空间给74ls245。
以下是我们改进后的系统结构框图:
第四章结论
本次课设我们利用STC89C52单片机芯片,设计了电路来通过P0口和P2口输出控制信号从而控制8×8LED点阵显示静态“上”字和滚动显示“北京交大”四个字,主程序滚动显示,当有按键按下时,跳转子程序显示静态的“上”字,功能基本成功实现,静态“上”字显示稳定清晰明显,但滚动显示的亮度不够,并且各点亮度有所差别,最终分析原因为列控制口未加排阻和74ls245驱动,经处理效果有所改善。
改进后的系统结构框图
第五章心得体会与建议
经过一个星期的单片机课程设计,我有了很大的收获。
首先,也是最大的收获,就是让我加深了对单片机的掌握和理解与应用。
修了单片机这门课,学习了理论知识,尽管也做了实验,但也仅仅是在实验箱上进行的。
如果没有这次课设,我不会知道什么叫点阵,什么叫烧芯片,怎么烧芯片,也不会知道单片机到底是怎样控制点阵,怎样应用在生活中的。
所以说这次课设真的让我收获很大。
并且我十分喜欢焊电路板,觉得通过自己的手把各种器件焊在板子上,思考怎样能最完美的布线,就像小朋友玩积木一样,最终拼出一件整齐干净美观的作品,看着就高兴,然而没有功能的板子就像不会眨眼睛的布娃娃,当我为她编入程序通上电源,她才有了灵魂,看到字形闪动的那一刻真是太有成就感了!
最后验收的时候我真的不舍得把她交给老师!
同时我又一次感受到了合作与交流的重要性,一个人思考可能要花上一星期的事,两个人一起讨论就快得多了。
我和我的同组人彭亮同学一起努力,从设计电路到仿真编程,再到焊板子,都合作的很愉快,尤其是在焊板子的时候我们配合的十分默契,轮流操作,有时候元件放不稳不好焊,就两人齐上阵,一个人用镊子扶住管脚,另一个人来焊接。
就这样最后可以说是成功完成了这次课程设计。
另外,我要感谢各位同学无私资助我焊锡。
最后十分感谢老师的指导和点拨,让我懂得了科研要善于思考,追求严谨,认真解决问题,才会有更多的收获,谢谢老师!
O(∩_∩)O
参考文献
[1]胡汉才,单片机原理及其接口技术(第3版),清华大学出版社
[2]王浩然,秦会斌,LED点阵屏显示单元的设计与驱动控制,电子器件,2010
[3]周诗虎,单片机控制LED点阵显示屏,科技信息,2008
[4]杨富强,朱利强,基于单片机的LED点阵动态显示系统,工业控制计算机,2013,26
[5]杨延宁,刘立军,张志勇,基于proteus的单片机汉字点阵显示电路设计,液晶与显示,2009
[6]胡建波,微机原理与接口技术实验——基于proteus仿真,机械工业出版社,2011
附录:
元器件清单
STC89C52————1个(配40脚芯片座1个)
74LS245————1个(配20脚芯片座1个)
8×8点阵————1个(20脚芯片座一个)
12.0MHz晶振————1个
电容15p————2个
电容472(4.7uF)————1个
电解电容100uF————1个
电阻330Ω(最终分析知应改为100Ω较好)————8个
按键——————2个
排阻——————2个
导线——————若干
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 报告 LED 点阵 显示