单片机抢答器课程设计Word.docx
《单片机抢答器课程设计Word.docx》由会员分享,可在线阅读,更多相关《单片机抢答器课程设计Word.docx(30页珍藏版)》请在冰豆网上搜索。
单片机抢答器课程设计Word
1设计课题任务、功能要求说明及总体方案介绍
1.1设计课题任务
(一)设计题目:
单片机抢答器课程设计
(二)设计任务:
通过理论知识的运用和实物制作相结合,写出抢答器汇编程序,做出抢答器实物,掌握和理解《单片机技术》书本中所学的理论知识和实验方法,掌握一些单片机应用系统的设计方法,掌握keil和proteus软件的使用方法,提高自己的思维能力、学习能力以及动手实践能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
1.2功能要求说明
设计一个具有特定功能的抢答器。
该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,数码管显示违规台号。
蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。
1.3设计总体方案介绍
设计中采用AT89S52芯片、LED显示器、蜂鸣器、LED灯、数码管和一些独立式按键构成一个简易六路抢答器。
设计中是采用单片机的内部定时器进行定时,原理框图如图1所示
图1抢答器原理框图
整个抢答器的工作原理是:
在正常的供电状态下显示“P.”,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则执行相应的键功能程序。
2抢答器的硬件系统的设计
2.1抢答器硬件系统各模块功能简要介绍
该抢答器主要由单片机最小系统、按键电路模块、LED显示电路模块、蜂鸣电路模块和LED指示灯电路模块组成。
各模块的功能如下:
(1)单片机最小系统
单片机最小系统包括AT89S52单片机如图2、晶振电路如图3所示、复位电路如图4所示。
只有当单片机有了这些电路才会工作。
电源电路给单片机供电,晶振电路给单片机提供计数时间,复位电路可以实现单片机的复位。
图2AT89S52单片机芯片
图3晶振电路
图4复位电路
(2)独立键盘电路模块
如图5所示运用独立键盘电路,设计一段公共接地,另一端通过上拉电阻接到P1口,当有按键按下,相应的口就会变成低电平,产生一个下降沿。
图5独立键盘电路
(3)LED显示电路模块
如图6所示采用两个四位一体共阳型数码管显示器进行显示。
由于位控线的驱动电流较大,因此在P2口线上接了8个PNP型三极管提高驱动能力;在单片机的P1口线和P2口线上接了16个470Ω的电阻,这些电阻起限流的作用。
将段控口a--dp接在P0.0--P0.7上,位控口接在P2口线上,实现对显示的控制。
LED显示电路模块主要用来指示第一抢答者,显示倒计时和违规的台号。
图6LED显示电路模块
(4)蜂鸣电路模块
如图7所示单片机P3.1口线上接上一个1KΩ电阻然后再通过一个PNP型三极管与蜂鸣器相连接组成蜂鸣器电路,接入PNP型三极管是为了增强蜂鸣器的驱动电流。
蜂鸣电路主要完成提示和违规报警功能。
图7蜂鸣电路模块
(5)LED指示灯电路模块
如图8所示单片机P3.2口线上经过一个470Ω的电阻与LED灯的阴极相连接,LED灯的阳极接正五伏电压。
470Ω的电阻起限流的作用。
LED指示灯电路模块主要用来指示用违规操作发生。
图8LED指示灯电路模块
(6)下载口电路模块
如图9所示下载口的1脚接P1.5口,2脚悬空,3脚接单片机的复位口,4脚接P1.6口,5脚接P1.7口,6脚接地,7、8、8、10脚接地。
图9下载口电路
2.2抢答器电路原理图、PCB图、元器件布局图
Proteus原理图、PCB顶层图、PCB底层图、元器件布局图分别见附录A附录B附录C以及附录D。
2.3抢答器元器件清单
元器件清单见附录E。
3抢答器软件系统的设计
3.1抢答器使用单片机资源的情况
该抢答器使用了单片机的定时器的功能,其中具体用到了单片机的定时器0和定时器1,并且让它们都以中断方式工作,没有用到外部中断。
寄存器用到了第0组,第1组,第2组。
在数据的显示时,采用查表的方法,因此需要将表格、数据存放在单片机的程序存储器上。
用到的LED显示器接到了单片机的P0口线上和P2口线上。
LED指示灯和蜂鸣器接在P3口线上。
3.2抢答器软件系统各模块功能简要介绍
该抢答器所用的软件模块有定时器模块、按键模块、LED显示模块。
(1)定时器模块
选择定时器0,设置定时器定时方式为方式1以中断方式工作,设置定时时间为50ms。
(2)按键模块
采用独立式键盘,共用七个按键对电路进行控制和操作,分别为S1、S2、S3、S4、S5、S6、S7来控制抢答器。
S1、S2、S3、S4、S5、S6代表选手;S7为答完键、S8为开始键、S9为复位键。
(3)数码管显示模块
抢答器上电显示“P.”,按开始键开始抢答,显示器显示倒计时30s,10s内若无人抢答报警一次,若30s内都无人抢答,报警并灯亮。
若没按下开始键为无效抢答则显示器显示违规台号并报警。
3.3抢答器软件系统程序流程框图
3.3.1主程序流程框图
主程序流程框图如图10所示。
图10主程序流程框图
3.3.2开始键程序流程框图
开始键程序流程框图如图11所示。
图11开始键程序流程框图
3.3.3抢答键程序流程框图
抢答键程序流程框图如图12所示。
图12开始键程序流程框图
3.3.4答完键程序流程框图
答完键程序流程框图如图13所示。
图13答完键程序流程框图
3.3.5复位键程序流程框图
复位键程序流程框图如图14所示。
图14答完键程序流程框图
3.4程序清单
见附录F。
4抢答器的设计结论、心得体会、教学建议
4.1抢答器的设计结论
4.1.1抢答器的设计结论
通过对单片机进行外接键盘和LED数码管的操作以及加上硬件电路和软件的结合,实现了抢答器P.显示以及抢答倒计时的显示,正常抢答时显示台号,抢答违规时显示违规台号、违规指示灯亮、蜂鸣器报警。
本课程设计直接在实物数码管板子上测试和修改,没有仿真。
该抢答器完成了设计任务,符合设计要求。
4.1.2使用说明
本设计的S2到S7为抢答键,S8为自定义复位键,S9为开始键,S1为系统复位键。
当开始键按下后才能进行抢答,抢答时间为30秒,抢答时,其他按键无效,答完后,答题人按下答完键,答题结束。
若10S内无人抢答,蜂鸣器发出警示音,若计时到仍无人抢答则违规指示灯亮,蜂鸣器报警。
若没有按下开始就抢答则违规,违规灯亮,显示违规者台号。
若倒计时时间到,还没按下答完键则违规,违规灯亮。
各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键来实现。
4.2抢答器课题心得体会及教学建议
临近期末考试,学了一个学期的单片机课了,虽然感觉要掌握的知识内容很复杂,而且需要完成的实验也比较多,但是真正觉得学到了不少东西。
通过这次抢答器课程设计,不仅加深了我对书本知识的认识,而且更加深一步地掌握了单片机的接口技术以及汇编语言的应用和功能。
在刚刚接触单片机汇编语言的时候,别说自己编相关的程序,就是要我看懂某个不太难的程序都感觉有点吃力,然在进行了一系列的知识学习、实验实践,特别是这次的抢答器课程设计以后,让我深刻的了解了单片机的汇编功能以及方法,不仅可以看懂许多的程序,而且也能编写一些不是太难的程序,也使得自己也不再像以前那样,总把汇编看成是一个老大难的问题。
当然在这其中,也出现了不少问题。
比如说在进行数码管的焊接时,因没去了解其不同引脚的排列顺序,导致数码管正反顺序焊反,从而使得显示数字也变法了。
这算是个自己不细心导致的,所以以后再做此类相关的课程设计或者实验的时候,许多细节方便一定得多注意些。
从这个学期开始到结束,凌云老师一直都兢兢业业的指导我们学好单片机这门课程,很感谢老师的这份责任心。
总体来说,
我觉得老师的教学还是挺好的,要说建议的话,可能还真说不上一两点什么。
结束语
将本设计的程序下载到单片机中,通过测试,基本上完成了任务书的要求,并且抢答的精确度也比较高,因为在调用键扫描函数的时候是在500ms函数中,基本上每50ms就会调用一次键扫描函数。
当然对于高精度的抢答比赛,本设计的精度还是不够的,还需要进一步的改进,甚至可以精度提高到微秒级。
还有就是抢答的人数有限,只有六个人,所以当有更多的人抢答时,应该把独立式键盘改接成行列式键盘。
而且制作工艺比较粗糙。
通过本次单片机课程设计,让我更加深刻的了解了AT89S52芯片在电气工程各方面的应用,掌握了keil软件和proteus软件的使用操作。
而且通过本次单片机课程设计,让我也意识到了自己的理论知识掌握的不够熟练,动手实践能力也有待加强,所以在以后的学习中,一定要努力学会掌握书本上的知识,锻炼自己在专业设计方面的动手能力。
致谢
在本次抢答器课程设计的过程中,得到了凌云老师的悉心指导和同学们的热情帮助,在这里特别要感谢老师和同学们。
虽然说我们是凌云老师教的第一届学生,老师在教学经验和方法上和其他一些有着丰富教学经验的老师相比,可能欠缺一点,但是真心觉得老师的教学很不错,特别是不像其他老师那样管得特别死板,很有活力。
也很注重和同学们的沟通和交流,是我们的良师益友哦。
参考文献
[1]马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计[M],北京:
北京航空航天大学出版社,2006
MaZhongmei,Jishunxin,ZhangKai,MaYan.MCUClanguageprogramdesign[M].beijing:
Beijingaerospaceuniversitypress,2006
[2]李广弟,朱月秀,冷祖祁.单片机基础[M].北京:
北京航空航天大学出版社,2007
LiGuangdi,ZhuYuexiu,LengZuqi.Microcontroller[M].Beijing:
Beijinguniversityofaeronauticsandpress,2007
[3]李光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版社,2004.9
LiGuangfei.Thiscoursedesignexampleguide[M].Beijing:
Beijinguniversityofaeronauticsandpress,2004.9
[4]邢增平.Protel99SE设计专家指导[M].北京:
中国铁道出版社,2004
XingZengping.Protel99SEdesignexpertguidance[M].Beijing:
Chinarailwaypublishinghouse,2004
附录Aproteus原理图
附录BPCB顶层图
附录CPCB底层图
附录D元器件布局图
附录E元器件清单
元器件名称
规格
数量
AT89S52
1
底座
40脚
3
晶振
12MHz
1
发光二极管
9
单排插
40脚
1
三极管
9012
9
蜂鸣器
1
小按键
9
下载口座子
十芯
1
六脚开关
1