基于单片机实现的抢答器设计毕业设计.docx
- 文档编号:1831357
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:17
- 大小:445KB
基于单片机实现的抢答器设计毕业设计.docx
《基于单片机实现的抢答器设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机实现的抢答器设计毕业设计.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机实现的抢答器设计毕业设计
1.设计背景……………………………………………………………01
1.1专业背景………………………………………………………01
1.2课题提出………………………………………………………01
2.设计方案……………………………………………………………01
2.1硬件设计方案…………………………………………………01
2.2软件设计方案…………………………………………………02
3.方案实施……………………………………………………………03
3.1硬件方案实施…………………………………………………03
3.2软件方案实施…………………………………………………06
4.结果与结论…………………………………………………………10
4.1总体设计过程分析……………………………………………10
4.2总体结论………………………………………………………10
5.收获与致谢…………………………………………………………10
6.参考文献……………………………………………………………11
7.附件…………………………………………………………………12
7.1元器件清单……………………………………………………12
7.2硬件原理图……………………………………………………13
7.3程序清单………………………………………………………13
7.4硬件实物图…………………………………………………18
1.设计背景
1.1专业背景
随着现代电子电路的快速发展,以及电子行业对现有电子工程技术的不断需求,特别是对实际操作实践的电子人才的需求越来越多,所以加强学生动手能力﹑重视实践应该是电子发展需求的必然趋向。
实践动手能力的培养是一种综合能力,这种能力当然是在一定难度的前提下完成的,通过一定数量的实践才能逐步形成的。
因此在培养实践能力的同时,要通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。
近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。
单片机应用技术已成为一项新的工程应用技术。
本次实习设计的题目为基于单片机的抢答器。
1.2课题提出
抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。
普通抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。
这个学期我们开设了单片机课程,为了进一步巩固我们的相关知识,老师精心组织了这次课程设计。
我们设计了以单片机为核心的新型的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管显示电路实现了其它功能。
通过这次抢答器设计,是我们进一步掌握相关专业知识的综合应用,提高我们的实际设计能力和动手能力。
2.设计方案
2.1硬件设计方案
根据课程设计要求可以大概构思出硬件电路图:
数码管与单片机的P0口的低七位相连接;P0.7口与蜂鸣器相连接;P1口接八个按键;P2口接八个LED灯分别显示八位选手抢答的指示信号。
1)主控部分的方案设计
用以AT89C52为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。
用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低。
2)优先级的设定
对于八位选手的优先级的设置有两种方案。
方案一:
利用一片74LS09芯片分别把P1口的八个抢答信号个一组相与之后接到单片机的除主持人外的其他的中断,并有软件的编写来控制八个抢答信号的优先级。
方案二:
利用两片74LS09先把八个抢答信号各一组相与后,再把相与后的信号个一组再次相与,最后把相与的结果的一个信号接到单片机的外部中断0上,当有抢答信号时,通过软件编写查询各个选手顺序可以设置八个抢答的优先级。
显然,方案一虽然少用了一片74LS09芯片但它需要四个中断,甚是麻烦。
而方案二只需要设置两个中断的开通与关断以及内部查询顺序就可以设置八个抢答信号的优先级。
因此选择方案二。
2.2软件设计方案
1)中断的开通与关断设计
为达到在主持人未按下按键前抢答无效应该设置外部中断为开中断,外部中断0为关中断。
当开始抢答信号发出后,开外部中断0以接收选手抢答中断信号。
选手抢答后,开外部中断1从而使主持人再次按下按键后可以开始下一次抢答。
2)数码管的显示
方案一:
采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,每段LED都对应一个单片机口线。
方案二:
采用动态显示,对于多位数码管显示时,每一位数码管轮流显示,当显示间隔时间较短时人眼就分辨不出是动态显示,而是每一位都是一直都在显示。
比较二者,静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED数码管需要独占8条输出线。
随着显示器位数的增加,需要的I/O口线也将增加。
动态显示器的优点是节省硬件资源,成本较低,但是要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。
通过以上分析,结合本课题只提供一位数码管,所以采用方案一。
3)抢答信号指示灯
对于这一位LED灯的闪烁可以通过软件程序的编写,交替送出电平高低控制其闪烁。
3.方案实施
3.1硬件方案实施
1)硬件电路框图
本系统采用AT89S52单片机作为控制核心,对按键开关送来的信号进行分析处理,最终控制数码管显示相应的数值。
本系统主要的单元电路有单片机主控电路、键盘控制电路、LED显示电路模块等。
系统硬件框图如下图图2所示。
图1.系统硬件框
2)AT89S52电路
AT89S52为ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。
AT89S52主要功能列举如下:
1、拥有灵巧的8位CPU和在系统可编程Flash
2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)
3、内部程序存储器(ROM)为8KB
4、内部数据存储器(RAM)为256字节
5、32个可编程I/O口线
6、8个中断向量源
7、三个16位定时器/计数器
8、三级加密程序存储器
9、全双工UART串行通道
图2.单片机电路图
2)时钟电路
单片机必须在时钟电路的驱动下才能工作。
在单片机内部有一个时钟振荡电路,只需要外接一个振荡源,就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,其振荡频率主要由石英晶体的频率决定。
两个电容的作用是帮助振荡器起振,并对振荡器的频率进行微调。
电路如图3所示
图3.时钟电路图
4)复位电路
外部中断和内部中断并存,单片机有硬件复位端,输入一定周期的高电平即可实现复位。
复位后单片机的各个状态都恢复到了初始状态。
电路如图4所示:
图4.复位电路图
5)数码管的设计:
图中数码管采用的是1位七段共阳数码管,其中a~f段分别接到单片机的P0.0~P0.6口,由单片机输出的P0口数据来决定段码值,还有八个300欧姆的电阻,连接在P0口上,用作P0口的上拉电阻。
6)电源电路
电源电路由桥堆2w10和7805构成。
电源电路主要用用于为整个系统提供电源。
我们日常用电都是220V的交流电,所以在设计电源时要先把交流电整成直流,然后再经过稳压管输出整个系统所需的稳定的直流电压。
整流主要采用2W10桥堆和电容滤波以得到基本稳定的输出电压。
稳压部分是采用常用的稳压管W7805得到稳定的输出正5V电压。
如图5所示:
图5.电源电路图
7)LED和数码管显示
LED显示主要是给发光二极管送一恒定的电流,这种方法需要有寄存器、译码器、驱动电路灯逻辑部件。
而单片机的P0口每一位可以驱动八个TTL型LS型负载,所以可以采用直接由P0口驱动数码管,P2对应每一口接一个发光二极管。
由于采用的是阳极接5V电源的接法,所以需要限流电阻与发光二极管串联。
发光二极管允许通过的电流是3mA至10mA左右,为了使发光二极管亮度高点,所以,选择了串联300欧电阻。
8)蜂鸣器
蜂鸣器的发声主要用于对有抢答时的报警信号,以提示主持人。
蜂鸣器的发声由三极管放大电压、电流来驱动,其中三极管的基集接单片机的P0.7口,以提供导通基集电流,从而经放大后达到蜂鸣器的发声电压、电流。
其电路图如6所示:
图6.蜂鸣器电路
3.2软件方案实施
1)抢答器流程图
流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。
总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。
为便于识别,绘制流程图的习惯做法是:
方框表示:
要执行的处理;平行四边形表示:
输入;不规则图形代表输出;菱形表示:
判断。
对整个系统的功能分析知,汇编语言程序分为三大部分:
主持人未按允许抢答时没有响应,主持人按键为外部中断1,之后有抢答信号为外部中断0。
得到系统的流程图如下图。
图7.主程序流程图
2)主要程序分析
我们组所采用的编程语言是单片机汇编语言,汇编语言的特点是程序的各个部分除了必要的信息交流外彼此之间相互独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
汇编语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
它的语法比较灵活,允许程序编写者有较大的自由度。
本次设计的主程序中包括主持人按键处理程序,主选手抢答处理程序,一号选手抢答处理程序,LED灯闪烁程序,键盘消抖延时程序以及蜂鸣器发声时间和LED闪烁间隔时间程序。
3)按键扫描程序流程图
图8.外部中断0处理程序
4.结果与结论
4.1总体设计过程分析
总结以下要点:
在设计程序之前,设计者必学对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。
4.2总体结论
经过近十天的努力,在老师帮助下,我们这一组较好的完成了设计任务,通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。
我在图书馆及网络上查阅了大量的资料,同时也认识到了团队合作的重要作用。
此次的抢答器的设计,让我重新认识了以前所学习的专业知识,我觉得此次设计让我更加巩固了所学的知识并在设计的过程中学会了与时俱进,克服了工作的枯燥感,让我受益匪浅。
在学习单片机这门课程的时候,我们应该好好的记笔记,课下好好的做练习题才能把汇编语言程序设计灵活的运用到单片机的应用上,在单片机这门课程的学习上,我们还应该知道一种常用的仿真软件proteus软件,可以让你我们更为清晰的掌握C89C52单片机的实际应用上的设计。
在今后的学习过程中,应该多看一些专业方面的书籍,以丰富自己的知识。
由于知识水平的局限和动手能力不足
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 实现 抢答 设计 毕业设计