毕业生竞赛 电子设计 8X8点阵论文 说明书Word下载.docx
《毕业生竞赛 电子设计 8X8点阵论文 说明书Word下载.docx》由会员分享,可在线阅读,更多相关《毕业生竞赛 电子设计 8X8点阵论文 说明书Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
4.系统的软件设计7
4.1总体设计思路7
4.2主程序7
参考文献9
致谢词10
附录11
附录一元件清单11
附录二系统仿真图12
附录三程序13
1.前言
在微型计算机技术使用上,单片机主要用与工业测控,如家用电器,计算机外围设备,工业智能化仪表,机器人,生产过程的自动控制,农业,化工,军事,航空航天等领域等,都有着巨大的作用。
8*8点阵LED字符显示器系统在工业、各种比赛场合及日常生活应用中占有十分重要的地位,多年来,研究此项目的工程技术人员曾为简化电路、提高可靠性、降低成本,付出了很大的努力,做出不少成绩。
如今,美观、价廉、体积小、高可靠性8*8点阵LED字符显示器的出现,为这一领域的技术打开了新的天地。
LED字符显示器发发展到今天已经从模拟化、分立化迈进数字化、集成化LED系统。
它的最大优点在于采用AT89C52掉电工作方式构成高可靠、低功耗系统方法。
在单片机程序设计中,采用“模块化”思路,设计中大量硬件尽量用软件代替,从而简化了系统结构,减少电子元件虚焊,接触不良和漂移等引起的一些故障,而且使用方便,只须改变软件中几条伪指令即可。
另外,本系统还可以方便的设计监控、故障自诊断、故障自动复原程序,以提高系统的可靠性。
系统的抗干扰设计,提高了系统的抗干扰能力。
2.系统设计技术参数要求
设计并制作一个8*8点阵,选用合适的单片机芯片和显示模块来完成显示功能。
本设计的点阵显示主要由四个模块组成,其核心元件是一块单片机AT89C52。
系统主要通过单片机AT89C52对各个模块进行实时控制,在显示模块上能显示CYS和简单的数字。
3.系统设计
3.1系统设计总体框图
本设计的led点阵显示主要由四个模块组成,其核心元件是一块单片机AT89C52。
系统主要通过单片机AT89C52对各个模块进行实时控制,其中P2口用来接阵列式按键,此模块用于控制电路以便于实现所预期要实现的各个功能;
P0和P2口用来接led点阵显示器进行显示。
如图2-1所示的系统框图:
图1系统框图
如图1所示,系统的整个控制流程是:
由单片机AT89C52的内部程序定时控制Led使之显示出本论文所要实现的效果。
3.2各模块原理说明
3.2.1主控模块
采用AT89S52芯片:
基于前两种方案的比较,考虑到AT89S52,该芯片内部既有FlashROM,又与MCS-51兼容,而且ISP在线编程技术适用于AT89S52芯片,这样既降低了成本也无需反复插拔芯片,可避免损坏芯片;
而且他的性能稳定且内存达8KB。
3.2.2显示模块
点阵显示,是由八行八列的发光二极管集成在一块电路上组成,主要用来显示汉字,同时也能显示数字和少量图象,本设计主要显示字体较多,led点阵显示,AT89C52作为主控制系统来控制点阵的显示,采用阵列式按键控制本设计系统将要实现的全部功能。
如图2所示,假设显示心形“”
图2爱心点阵屏显示
0EDH,0DDH,95H,0D5H,01H,0D5H,0D5H,0DDH
因此,形成的列代码为 0EDH,0DDH,95H,0D5H,01H,0D5H,0D5H,0DDH;
只要把这些代码分别送到相应的列线上面,即可实现爱心的显示。
送显示代码过程如下所示
送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。
爱心图形“”代码建立如图3所示。
图3爱心点阵屏显示
其显示代码为0FFH,80H,0B6H,0B6H,0B6H,0B6H,80H,0FFH。
3.3系统总原理图说明
主控模块电路的设计电路如图4所示:
图4AT89C52单片机接线图
如图4所示,本次设计的led点阵显示采用一块AT89C52作为主控模块。
在单片机工作之前,我们必须给它一个电源(5V)和连接一些需要连接的地方。
比如第19引角要给它接上一个12MHz的晶振和两个30PF的电容。
第31引角要接上电源,第9引角要接上复位电路。
单片机的P0口、P1口、P2口、和P3口分别是做其他功能使用。
同时指出的是在使用P0口为通用I/O口接口时,连接点阵要加入74ls245进行驱动led点阵的显示。
3.4系统印刷电路板的制作图
因为本次设计所用到的电压不高最高的供电直流电源只有4.5~5伏,所以本设计直接用几个干电池无需再制作电源电路。
因此,在设计过程中带来了一定的便利。
4.系统的软件设计
4.1总体设计思路
软件设计的设计思路是:
主程序进行键盘扫描,判断采用何种方式进行显示,初始化状态为逐字显示,判断后进入相应额方式显示子程序。
设置相应的程序入口,反复调用显示子程序,并在显示过程中反复调用键盘扫描子程序进行延迟,并通过判断是否退出相应的方式显示子程序,进入主程序。
设计程序过程中能很好地提高按键响应速度。
4.2主程序
主程序先清除运行标志,并设置运行标志(标志为逐字显示),然后调用初始化程序,为后面程序要用到的数据调入,并清零一些用到的数据单元。
主程序流程图如图4-1所示:
TIMEQU30H
CNTAEQU31H
CNTBEQU32H
ORG0000H
LJMPSTART
;
ORG0BH;
//定时中断0中断向量地址
LJMPT0_Inter;
ORG30H
START:
MOVTIM,#00H
MOVCNTA,#00H
MOVCNTB,#00H
MOVTMOD,#01H
MOVTH0,#(65536-4000)/256
MOVTL0,#(65536-4000)MOD256
SETBTR0
;
开启T0中断
SETBET0;
允许T0中断
SETBEA;
开总中断
SJMP$;
原地踏步
*****************定时中断服务程序*******************
T0_Inter:
MOVDPTR,#TAB
MOVA,CNTA
MOVCA,@A+DPTR
MOVP2,A
MOVDPTR,#DIGIT
MOVA,CNTB
MOVB,#8
MULAB
ADDA,CNTA
MOVP1,A
INCCNTA
CJNEA,#8,NEXT
NEXT:
INCTIM
MOVA,TIM
CJNEA,#250,NEX
INCCNTB
CJNEA,#10,NEX
NEX:
RETI
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
DIGIT:
DB00H,66H,0FFH,0FFH,0FFH,7EH,3CH,18H;
aixin
DB94H,54H,0BEH,54H,3FH,54H,0B6H,0A2H;
hong
DB0FFH,0A9H,0F9H,7FH,0FEH,42H,7EH,7EH;
zhi
END
图5主程序流程图
参考文献
[1]全国大学生电子设计竞赛获奖作品选编[M].北京:
北京理工大学出版社,2005.
[2]雷思孝,冯育长.单片机系统设计及工程应用[M].西安:
西安电子科技大学出版社,2005.
[3]王宪,王颖.单片机远程通信接口的设计[J].电子与自动化,1999,28(5):
32-35.
[4]佘明辉,蔡明雄.数字电路与逻辑设计[M].呼和浩特:
内蒙古人民出版社,2007.09.
[5]王慧玲.电路基础[M].北京:
高等教育出版社,2004.09.
[6]韩全立,赵德申.微机控制技术及应用[M].北京:
机械工业出版社,2003.07.
[7]何立民.单片机高级教程[M].北京:
北京航空航天大学出版社(第1版),2001.06.
[8]肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002.04.
[9]温宗周.单片机原理及接口技术[M].北京:
中国电力出版社,2009.05.
[10]李广第.单片机基础[M].北京:
北京航空航天大学出版社(第1版),1999.03.
致谢词
首先感谢我的指导老师林寿光,他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;
他循循善诱的教导和不拘一格的思路给予我无尽的启迪。
本次毕业论文设计是在林寿光老师的亲切关怀和悉心的指导下完成的,他精益求精的工作作风,深深地感染和激励着我,从课题的选择到项目的最终完成,林寿光老师都始终给予我细心的指导和不懈的支持,在完成论文的这段时间以来,由于有林老师孜孜不倦的教诲及耐心的讲解和自己的努力,我才能完成好我所要设计的作品,在此特向林老师致以诚挚的谢意和崇高的敬意!
此外还要感谢所有的电子系的课任老师和帮助过我的的同学们。
在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模,导师们的高深精湛的造诣与严谨求实的治学精神,将永远激励着我。
这三年中还得到众多老师的关心支持和帮助。
在此,谨向老师们致以衷心的感谢和崇高的敬意!
!
如果说林老师在专业知识(工作和学习)上给予我极大的帮助和激励的话,那么在我的幕后默默的支持我,鼓励我的父母也是使我能准时且成功的完成这次毕业设计的全过程的不可缺少的一部分。
他们虽然不懂专业知识,无法帮我解决在电路设计和程序编程过程中所遇到的困难,但是他们在我做论文时不怕辛苦为我准备好了一切,使我能够无后顾之忧的去做论文。
我相信我父母的辛苦不会白费的,我成功了。
这不只是我一个人的成功,是我的老师,我的父母共同努力而取得的成就!
此外,我还要感谢在一起度过愉快的大学生活的全班同学,正是由于你们的帮助和支持,我才能克服一个又一个的困难和疑惑,直至本次毕业设计的顺利完成,在编写程序的过程中,我想特别感谢我的一位学长正因为有他的不怕厌倦的帮助和对我的一次又一次的鼓励我才能成功的完成本次的设计,在硬件调试时,我同时也感谢和我一起调试的协会同学,给予了我很大的帮助。
谢谢大家!
附录
附录一元件清单
序号
元器件名称
型号
个数
1
电阻
10k
1个
2
上拉电阻
1k
3
瓷介电容
30PF
2个
4
电解电容
10UF
5
晶振
12MHz
6
74ls138
—
7
单片机
AT89C52
8
点阵
8*8
9
开关按钮
10
电源
5v
附录二系统仿真图
附录三程序
TCOUNTEQU30H/伪指令
R_CNTEQU31H
NUMBEQU32H
ORG00H
LJMPSTART/跳到开始
ORG0BH/定时中断‘0’入口地址
LJMPINT_T0
MOVTCOUNT,#00H
MOVR_CNT,#00H
MOVNUMB,#00H
MOVTMOD,#01H/模式1
MOVTH0,#(65536-4000)/256/给高四位赋初值
MOVTL0,#(65536-4000)MOD256/给低四位赋初值
SETBTR0/开定时中断
MOVIE,#82H/开总中断
SJMP$
INT_T0:
MOVTH0,#(65536-4000)/256/
MOVTL0,#(65536-4000)MOD256
MOVDPTR,#TAB/送表
MOVA,R_CNT/
MOVCA,@A+DPTR/查表
MOVP2,A/送出显示
MOVDPTR,#NUB
MOVA,NUMB
MOVB,#8
MULAB/A*B
ADDA,R_CNT/R_CNT+A
MOVCA,@A+DPTR/
CPLA/A取反
MOVP0,A/扫描
INCR_CNT
MOVA,R_CNT
CJNEA,#8,NEXT/判断跳转
NEXT:
INCTCOUNT
MOVA,TCOUNT
CJNEA,#500,NEX/判断跳转
MOVTCOUNT,#00H
INCNUMB
CJNEA,#10,NEX
NEX:
RETI/中断子程序返回
TAB:
DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
NUB:
DB0EDH,0DDH,95H,0D5H,01H,0D5H,0D5H,0DDH/
DB0FEH,05H,73H,00H,73H,75H,0F6H,0FFH/
END