基于AT89C51单片机的八路抢答器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于AT89C51单片机的八路抢答器
一、设计目的
通过基于AT89C51单片机实现八路抢答器的设计实验,要求学生回顾所学单片机原理,掌握利用软件进行程序设计并调试,将程序拷入单片机中控制电路实现八路抢答。同时锻炼动手能力,制作样板实现八路抢答器功能。 主要技术要求:
1、抢答器可同时供8名选手分别用8个按键S1-S8进行抢答
2、总开关和复位开关由主持人控制
3、抢答器具有显示和报警功能
二、元器件清单及简介
元器件型号
个数 单位共阳性LED 数码管及其底座 1 排阻 2 面包板 3 导线
若干
三、设计原理分析
3.1设计思路
1.课设根本任务是准确判断出抢答者的信号。本设计选在得到信号之后应立即将电路的输入封锁,使其他组的抢答信号无效,并同时蜂鸣器发出警报。同时还必须注意,抢答信号应该在主持人发出抢答命令之后才有效。当电路形成抢答信号之后,用数码管显示电路显示出抢答者的组别。
3.2 总原理图及流程图
复位
XTAL2
18
XTAL1
19
ALE 30EA
31
PSEN 29RST
9
P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.7
8
P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD
17
P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1
AT89C51
PROGRAM=qiangdaqi.HEX
2
34567891
LS1
SPEAKER
总开关
3-1总原理图
设计流程图
N
Y
N
N
Y
N
Y
3.3抢答电路
本电路的主要功能是实现八路抢答,本电路的主要器件是开关按钮,由8个开关按钮组成,可供最多8主选手抢答。按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘,所以本次设计采用的是独立式键盘。如图3-2所示。
3-2抢答电路
上图是抢答器选手的按键端,自上往下分别是1号至八号选手,在没有选手按键是P0口的值全为高电平,在抢答开始时,最快的选手按下一个键后P0口的一个输入端为低电平,其他端口的值不能再改变。
开始 是否开始抢答 哪一个选手首先抢显示选手的号码 是否复位 关电源 结束
3.4显示电路及控制电路
本电路的主要功能是利用数码管显示抢答的组别,对于开关按钮输入信号输出相应组别,分别编号为1到8号。本电路部分的主要器件是LED数码管。在单片机系统中,LED数码管的驱动方式主要有动态显示和静态显示两种类型,每种类型的驱动电路各部相同。
由于显示电路只运用了一个数码管故采用静态显示方式。
本电路部分是利用两个按键来控制抢答,对抢答器的开始和复位进行控制。如3-3所示。
图3-3
显示电路及控制电路的设计是采用8口输出做LED数码管的显示,另外再使用两个口作为控制位,一个是总的开关控制,另外一个是在抢答器工作以后,对抢答器的显示进行复位,如此可以进行下一次的比赛。
显示的输出是按照LED数码管的特性进行连接的,由于P2.0-P2.7分别是P2口的低位到高位,如此LED数码管自左往右一一对应P2口的低位到高位,查表可知显示1-8的阿拉伯数字对应的P2口的值。
输出数码管的设计是采用静态显示方式,如此往各个LED数码管所显示的段码一旦确定,则相应输出口的输出值也一样保持不变,直到传送下一个字符的段码为止,如此一来,静态显示的方式将无闪烁,亮度较高,软件控制比较容易。
四、设计中的问题及改进
在本次试验设计和制作的过程中,我们的团队先后遇到了各种困难,在我们细心的查阅相关资料和文献之后都一一克服,对此我们感到无比的激动。
在本次实验设计中我们收获了许多知识和经验,我们设计的八路抢答器虽然有部分的成功点,但也存在了许多的不足之处,具体的优点和不足一下一一介绍:
1.就电路而言,所言使用了相对较少的元器件,这样在实际的生产制造中降低了产品的成本,但是设计时使用了19个AT89C51的的端口,这样对芯片的端口是极大的浪费。
2.就输出的音响--蜂鸣器而言,设计使用的蜂鸣器是直接在单片机的P1口直接接上外部引脚,由于使用的蜂鸣器本生的内部结构有振荡电路,如此就不要再加振荡电路,又由于使用的是P1口作为输出,它在所有的输出口的电压最大,如此可以使蜂鸣器更加的响亮,但是在此设计上也存在不足,第一点是输出的音符过于单调。
3.在设计的过程中,源代码比较短小,占用的空间和对主机的内存使用较小,但是,源代码的编写过于占用单片机的使用时间,源代码是采用查询的方式进行工作,这样就降低了AT89C51的使用效率。
4.八路抢答器源代码的编写造成的误差也有待改善,在本次代码的编写中存在的误差为16uS,也就是说如果两个或者多个选手在抢答时,如果按键的时间等于或者小于16us的话对标号比较大的选手是不公平的,如此源代码还有待改善。
五、总结
开启时模拟仿真图:
开启时实物运行图:
选手抢答模拟仿真图
:
选手抢答实物运行图:
复位时模拟仿真图:
复位运行效果图: