《单片机课程设计报告LED点阵显示》.docx
《《单片机课程设计报告LED点阵显示》.docx》由会员分享,可在线阅读,更多相关《《单片机课程设计报告LED点阵显示》.docx(11页珍藏版)》请在冰点文库上搜索。
《单片机课程设计报告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控制器加驱动(74LS245UA2003或者74LS573,控制8X8的led点阵显示模块显示数字与文字,显示的内容分为稳定显示和动画显示两种。
显示的具体内容为:
稳定显示部分为汉字“上”,动画显
示为汉字“北京交大”。
、LED点阵原理
8X8点阵屏的内部电路原理图如下图所示,点阵有共阴和共阳两个类型,本次课程设计中实验室提供的是共阳极的点阵,下图给出了其内部电路原理及相应的管脚图。
列I列2列3列4列5列6列7列8
LED点阵的显示方式是按显示编码的顺序,一行一行地显示。
对丁共阳型的
点阵来说,当某一点所在的行对应高电平“1”并且其所在的列对应低电平“0”
的时候,这一点就会被点亮。
将每一行的显示时间进行一定的延时,由丁人的视
觉暂留现象,就会感觉到8行LED是在同时显示的。
若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。
三、单片机控制点阵的原理
利用51单片机来控制LED显示汉字,即考虑采用P0口和P2口分别输出行和列的控制信号,经过驱动电路来驱动二极管发光,从而显示不同字形。
同计算机一样,单片机控制点阵显示中的数据也是以“0”和“1”代码来表示的。
一般地,根据编码的不同,最终会显示出不同的字符。
对丁8X8点阵来说,一个汉字需要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=>
系统方案设计框图
四、程序编写
通过汇编语言编程对单片机的控制口进行控制操作,整个程序的详细流程大
致如下:
(1)PQP2端口分别活零。
为了避免其它的数据影响端口,首先对屏帚进行活
屏;
(2)输入延时时间,确保每一个字符都能够显示完毕;
(3)选中点阵的第一列进行扫描;
(4)列选址信号选通,行数据开始输送Table中的数据给PDP2端口;
(5)读取下一列;
(6)判断是否显示完一个汉字,若是,则继续下一个汉字;否则,继续读取;
(7)当显示完一个汉字后,调用延时,字能够持续显示所设置的时间;
(8)判断是否已显示完4个汉字,若是,则跳出;否则,继续下一个汉字的读取。
第二章仿真
根据系统设计方案,利用Proteus软件进行电路仿真,电路图如下:
iTaU
■ir
in>
PDORIEF&IWIFEU-lis:
rbH山心4FriMK
FD^D?
PJIhl■AID町311927
■134911AI2
■mg叩二卜二,■.Lt?
JhTO
源程序如下:
ORG0000H
LJMP
MAIN
ORG
0030H
MAIN:
MOV
40H,#01H
MOV
60H,#01H
START:
MOV
30H,#00H
MOV
DPTR,#TAB2
;查表地址
MOV
R1,#01H
MOV
R4,#32
;最后一个字码偏移量
DISPLAY1:
MOV
R5,#5
MOV
R3,#8
;八列
DISPLAY2:
MOV
R2,#00H
DISPLAYS:
MOV
P2,#00H
;活屏
MOV
A,R2
MOVC
A,@A+DPTR
;查表
CPLA
MOV
P0,A
INCR2
;显示缓冲区地址加1
MOV
A,R1
MOV
P2,A
;第一行送“1;'亮
LCALL
DELAY
LCALL
DELAY
LCALL
DELAY
LCALL
DELAY
LCALL
DELAY
;延时
RLA
MOV
R1,A
;左移行
DJNZR3,DISPLAY3
MOVR3,#8
DJNZR5,DISPLAY2
INCDPL
MOVA,#0FFH
MOVP2,A
MOVA,P1
JNBACC.0,SHANG
DJNZR4,DISPLAY1
LJMPSTART
;判断第一个字是否显示完
;如果按键按下则跳转显示静态上'字
;如果没有按键按下且北后大”都显示完成
DELAY:
MOV
MOV
DJNZ
DJNZ
RET
R6,#0FFH
R7,#0FFH
R7,$
R6,$
;延时子程序
SHANG:
MOV
MOV
MOV
MOV
MOV
MOV
SHANG1:
MOV
MOV
SHANG2:
MOV
MOV
MOVC
MOV
30H,#00H
DPTR,#TAB1
R1,#0FEH
R3,#8
R4,#100
R5,#5
R3,#8
R2,30H
P0,#0FFH
A,R2
;A,@A+DPTR
P2,A
汐0控制码
;8列
;活屏
;取当前列的显小字的一个字为
INCR2
MOV
A,R1
MOV
P0,A
汐0控制码
LCALL
DELAY
LCALL
DELAY
LCALL
DELAY
LCALL
DELAY
RL
A
;列控制码左移,显示下一列
MOV
R1,A
DJNZ
R3,SHANG2
;判断是否扫描完8歹0
MOV
A,P2
CJNE
A,#0FFH,SHANG3
LJMP
SHANG4
SHANG3:
LJMP
SHANG1
SHANG4:
LJMP
MAIN
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
第三章调试
从实验室领取到了电路板和各种所需器件后,便开始了实物的焊接。
首先按照老师的建议,对点阵进行测试,经测试二极管均能点亮,并且得知其管脚排列顺序如下:
R5
(标有型号)
C8
R7
C7
C2
R2
C3
C1
R8
R4
C5
C6
R6
C4
R3
(标有1)
R1
按照仿真电路图和点阵管脚图在电路板上进行布线焊接,完成实物如下:
正面图:
7
,■t
TL-_T*»*T*CA\YT*--
mW/VQSG4tfrf
<.…I
■.**>5JMLH>23
h+*5HJh55
!
4
m,■i小机,5心]__dCQQl
pi.H
.i^ikfiCJO'fQQOI
F.L,■♦•K
背面图:
经检查,排除了漏焊和虚焊的点之后,焊接全部完成。
接下来就是烧程序,经过再次确认仿真源程序无误后,把程序烧进了
STC89C52中,插入电路板上的芯片座中,接通电源,观察结果。
第一次的结果是功能基本实现,但滚动的“北京交大”四个字是反的,镜像对称的字,经过分析思考,我们改变了读取字模的方向,重新编写了字形表,经过三次改变之后终于得到了正确方向的字。
前面方案设计中的就是最终正确的字形码0
最后功能都基本成功实现,但动态显示“北京交大”的时候字的亮度不够,并且亮度不同,比如“大”字的一横就比较暗,而其他部分比较亮,经过分析思考,得出以下几点:
(1)二极管的保护电阻采用的是330Q,相对较大,限制了电流,使二极管的亮度较低;
(2)不是程序延时的问题,经过几次试验,改变延时会改变字的滚动速度,并且程序中设计的每个点延时时间长度相同,而实际问题是不同点的亮度不同;
(3)考虑是驱动的问题,因为电路中我们只在P0口接了排阻和74ls245驱动,而P2口并没有驱动,而是直接连接点阵管脚,而出现的问题也恰好是行较亮而
列较暗。
综合以上分析,我们在P2口加上了排阻,观察到列的亮度整体有所提高,
由丁最初布线没有考虑在P2口加741S245驱动,所以最终没能有空间给
741S245。
以下是我们改进后的系统结构框图:
第四章结论
本次课设我们利用STC89C5穿片机芯片,设计了电路来通过P0口和P2口输出控制信号从而控制8X8LED点阵显示静态“上”字和滚动显示“北京交大”四个字,主程序滚动显示,当有按键按下时,跳转子程序显示静态的“上”字,功能基本成功实现,静态“上”字显示稳定活晰明显,但滚动显示的亮度不够,并且各点亮度有所差别,最终分析原因为列控制口未加排阻和741S245驱动,经处理效果有所改善。
晶振电路
复位电路
第五章心得体会与建议
经过一个星期的单片机课程设计,我有了很大的收获。
首先,也是最大的
收获,就是让我加深了对单片机的掌握和理解与应用。
修了单片机这门课,学习
了理论知识,尽管也做了实验,但也仅仅是在实验箱上进行的。
如果没有这次课设,我不会知道什么叫点阵,什么叫烧芯片,怎么烧芯片,也不会知道单片机到底是怎样控制点阵,怎样应用在生活中的。
所以说这次课设真的让我收获很大。
并且我十分喜欢焊电路板,觉得通过自己的手把各种器件焊在板子上,思考怎样能最完美的布线,就像小朋友玩积木一样,最终拼出一件整齐十净美观的作品,看着就高兴,然而没有功能的板子就像不会眨眼睛的布娃娃,当我为她编入程序通上电源,她才有了灵魂,看到字形闪动的那一刻真是太有成就感了!
最后验收的时候我真的不舍得把她交给老师!
同时我乂一次感受到了合作与交流的重要性,一个人思考可能要花上一星期的事,两个人一起讨论就快得多了。
我和我的同组人彭亮同学一起努力,从设计电路到仿真编程,再到焊板子,都合作的很愉快,尤其是在焊板子的时候我们配合的十分默契,轮流操作,有时候元件放不稳不好焊,就两人齐上阵,一个人用镶子扶住管脚,另一个人来焊接。
就这样最后可以说是成功完成了这次课程设计。
另外,我要感谢各位同学无私资助我焊锡。
最后十分感谢老师的指导和点拨,让我懂得了科研要善于思考,追求严谨,认真解决问题,才会有更多的收获,谢谢老师!
o(n_n)o
参考文献
[1]胡汉才,单片机原理及其接口技术(第3版),活华大学出版社
[2]王浩然,秦会斌,LE如阵屏显示单元的设计与驱动控制,电子器件,2010
[3]周诗虎,单片机控制LE如阵显示屏,科技彳息,2008
[4]杨富强,朱利强,基于单片机的LE以(阵动态显示系统,工业控制计算机,
2013,26
[5]杨延宁,刘立军,张志勇,基于proteus的单片机汉字点阵显示电路设计,
液晶与显示,2009
[6]胡建波,微机原理与接口技术实验基于proteus仿真,机械工业出版
社,2011
附录:
元器件清单
STC89C521个(配40脚芯片座1个)
74LS241个(配20脚芯片座1个)
8X8点阵1个(20脚芯片座一个)
12.0MHz晶振1个
电容15p2个
电容472(4.7uF)1个
电解电容100uF1个
电阻330Q(最终分析知应改为100Q较好)8个
按键2个
排阻2个