基于单片机单片机期末课程设计.docx
《基于单片机单片机期末课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机单片机期末课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于单片机单片机期末课程设计
目录
第1节引言……………………………………………………………………………3
1.1抢答器概述………………………………………………………………………3
1.2本设计任务和主要内容…………………………………………………………4
第2节系统主要硬件电路设计…………………………………………………………5
2.1单片机控制系统原理……………………………………………………………5
2.1.1芯片的选择………………………………………………………………5
2.1.2总体原理图………………………………………………………………6
2.1.3基本原理…………………………………………………………………6
2.2单片机主机系统电路……………………………………………………………7
2.2.1时钟频率…………………………………………………………………7
2.2.2复位………………………………………………………………………7
2.2.3晶振电路…………………………………………………………………8
2.2.4键盘扫描…………………………………………………………………9
2.2.5数码显示管的选择………………………………………………………10
第3节系统软件设计…………………………………………………………………12
3.1主程序…………………………………………………………………………123.2非法抢答程序…………………………………………………………………14
3.3倒计时程序……………………………………………………………………16
3.4显示程序………………………………………………………………………18
第4节结束语…………………………………………………………………………20
参考文献…………………………………………………………………………21
基于单片机的抢答器
第1节引言
单片机又称为微控制器MCU(MicroControllerUnit),它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机又称为嵌入式微控制器(EmbeddedMCU)。
目前,单片机作为微型计算机一个很重要的分支,应用广泛、发展迅速,特别是美国Intel公司生产的MCS-51系列单片机,由于体积小、重量轻、处理功能强、可靠性高、抗干扰性能强、对环境要求不高、开发较容易、具有很高的性价比等优点,在实时控制、自动测试、智能仪器仪表、计算机终端、遥测通讯、家用电器、机电一体化等方面取得了令人瞩目的成果。
随着生活水平的提高,人们越来越注重于各种休闲活动,在放松自己的同时又能提高各个方面的能力,而竞赛类的活动也深得大家的喜爱,各类的竞赛既娱乐了自己又对各种知识有了了解,是提高知识的一个很好的途径。
抢答器普遍使用于竞赛之中,但是在市场上很难买到经济又实惠的抢答器,特别是像经常开展竞赛的学校更加需要这样的抢答器,此次设计就是要设计一款实用且便宜的多路抢答器。
在设计中采用的是AT89C51作为主控制芯片,众所周知单片机在日常生活中许多智能控制上得到很好的使用,虽然单片机早已经不是一个新鲜的东西了,但它之所以还在被使用,这和它的性能高,价格低,开发周期短等特点是不无关系的。
1.1抢答器概述
抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
抢答器使用的范围很广,最广泛使用于电视台,商业机构及学校,它不但为竞赛增添了刺激性、娱乐性,而且在一定程度上丰富了人们的业余生活。
早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辨认出选手号码。
现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢按前或抢按后的计时、选手得分显示等功能。
传统的抢答器都是导线布线的,受现场环境的影响很大。
所以我们更加迫切的需要一种既操作简单方便,在很多场所都可以使用,而且给人视觉效果非常好的抢答器。
抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低,减少了兴致。
作为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
1.2本设计任务和主要内容
本文主要研究单片机控制的多功能多道抢答器,分别对设备的软、硬件各个部分进行研究。
主要内容如下:
⑴如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,调整范围为0s~99s,0s时再减1s会跳到99,99s时再加1s会变到0s。
⑵主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设15s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设10s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。
倒数时间到小于5s会每秒响一下提示音。
⑶如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。
⑷如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下"停止"键为止。
⑸P1.0为开始抢答,P1.7为停止,p1.1-p1.6为六路抢答输入数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。
P3.2抢答时间调整结,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。
第2节系统主要硬件电路设计
2.1单片机控制系统原理
2.1.1芯片的选择
在设计中我们使用的是AT89C51单片机,其引脚排列图如图2-1所示,它是一种低电压低功耗的高性能8位单片机,它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器(NURAM)技术,而且输出引脚和指令系统完全和MS-51单片机兼容。
其内部带有4KB的FLASHROM,无需外扩程序存储器,抢答器没有大量的运算和暂存数据,现有的128B篇内RAM已经能满足容量需求,故不需外扩片外RAM,系统配有8位8段数码显示管,管采用共阴数码管,作为时钟的显示输出。
图2-1AT89C51单片机引脚排列
AT89C51芯片特性:
⑴4k字节FLASHROM(可经受1000次的写入/擦除周期)
⑵128*8字节RAM
⑶布尔处理器
⑷全静态工作,0Hz~24MHz
⑸存储器寻址范围:
64K字节ROM和64K字节RAM
⑹电源控制模式:
时钟可停止和恢复,空闲模式,掉电模式
⑺两个工作频率范围
⑻时钟模式时为0到20MHz,12时钟模式时为0到33MHz
⑼LQFP,PLCC或DIP封装
⑽双数据指针
⑾3个加密位
⑿4个中断优先级
⒀6个中断源
⒁4个8位I/O口
⒂全双工增强型UART
⒃2个16位定时/计数器T0T1标准80C51和增加的T2捕获和比较
⒄可编程时钟输出
⒅掉电模式可通过外部中断唤醒
2.1.2总体原理图
P1.0为开始抢答,P1.7为停止,p1.1-p1.6为六路抢答输入数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。
P3.2抢答时间调整结,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。
如图2-2所示。
图2-2总体原理图
2.1.3基本原理
(1)采用独立式键盘,可实现6路抢答;
(2)可实行抢答和回答问题时间加1,减1的调整,调整范围为0S-99S的调整;
(3)有计时记忆功能,一次时间设置完,如果不需更改,复位后不需重新进行时间设定;
(4)可实现非正常抢答报警;
(5)其扫描显示基本原理为:
通过键盘扫描输出按键信息,再通过单片机将它转换成能在七段数码管上显示字型码;
(6)非常规报警为:
为主控制端未起动时对其他按键端进行监控;
(7)按键端的提示为:
当抢答完毕时,会在数码管上显示抢答者数字号码提示以表示抢答成功;
(8)其中倒计时功能基本原理为:
通过键盘设定时间,将显示时间数值逐一递减,直到零,完成设定时间的倒计时。
2.1单片机主机系统电路
2.2.1时钟频率
单片机必须在时钟的驱动下才能工作。
在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。
外部振荡源电路一般选用石英晶体振荡器,此电路在加电大约延迟10MS后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。
电路中两个电容C1,C2,作用有两个:
一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。
起大小是时钟信号频率的倒数,常用fosc表示。
如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12µs。
2.2.2复位
单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图2-3所示:
图2-3复位电路原理图
该复位电路采用上电自动复位和手动复位两种复位方式,要实现复位只需在51系列单片机的RESET引脚上加上5ms的高电平就可以了。
上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。
这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。
通常若采用12MHz的晶振时,复位元件参数为22μF的电解电容和10kΩ的电阻。
按钮复位电路是通过按下复位按钮时,电源对RESET端维持两个机器周期的高电平实现复位的。
值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。
软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
2.2.3晶振电路
MSC-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。
本设计中采用内部时钟方式。
单片机内部有一个反相放大器XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。
时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。
一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图2-4所示。
加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。
电容C1,C2的作用有两个:
一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。
图2-4晶振电路设计
2.2.4键盘扫描
在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘,如图2-5,图2-6所示。
图2-5独立键盘
图2-6矩阵键盘
它们各有自己的特点,其中独立键盘硬件电