基于51单片机抢答器设计Word文档格式.docx
《基于51单片机抢答器设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机抢答器设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
[3]胡汉才.单片机原理及其接口技术.第一版.清华大学出版社,~156
[4]楼然苗,李广飞.单片机课程设计指导.第二版.清华大学出版社,~87
[5]杨居义,马宁.单片机原理设计指导.第一版.清华大学出版社,~89
五、审核批准意见
教研室主任(签字)
电子信息科学与技术1301学生姓名:
毛文强指导教师(签名):
摘要
本次课程设计通过对8路智力竞赛抢答器的研究与分析,了解抢答器的工作原理,以AT89C51微处理器作为主要模块、数码管做为显示模块组成的用于表决选择的抢答器。
本文主要介绍AT89C51微处理器、数码管和蜂鸣器等电子元器件的相关功能及其应用。
合理选取AT89C51系列集成电路芯片通过划分功能模块完成抢答部分与显示部分的电路设计,结合实际应用与理论设计,使用蜂鸣器构成扩展电路,通过八个按键开关来摸拟八路选手的抢答,开始键按下,则进入到八个按键的扫描中。
通过数码管来显示抢答选手的号数,并由蜂鸣器发出抢答产生信号,利用Proteus电路模拟仿真软件,实现8路智力竞赛抢答器的模拟仿真,最终实现可控8路智力竞赛抢答器的设计。
关键词:
抢答器,集成芯片,AT89C51,Proteus
Abstract
Thecourseisdesignedby8quizResponderresearchandanalysistounderstandResponderworkswithAT89C51microprocessorasthemainmodule,LEDdisplaymoduleastheResponderforvotingchoice.ThispaperdescribesthecorrelationfunctionanditsapplicationAT89C51microprocessor,digitalcontrol,buzzer,andotherelectroniccomponents.ReasonableselectionAT89C51seriesiscompletedbydividingtheintegratedcircuitchipmodulesanswerpartofthecircuitdesignandthedisplaysection,combinedwiththepracticalapplicationoftheoryanddesign,constituteabuzzerexpandingcircuit,througheightkeyswitchtoanalogeightplayersanswer,startkeyispressed,theprocessproceedstothescanineightbuttons.Throughdigitalnumbertoshowthenumberofplayersanswer,theanswerissuedbythebuzzersignalgeneratedusingProteuscircuitsimulationsoftware,simulation8quizResponder,andultimatelycontrollable8quizResponderdesign.
KeyWords:
Responder,Integratedchip,AT89C51,Proteus
1绪论
课设背景
随着各种知识竞赛电视节目的不断发展,越来越多的竞赛抢答器排上了用场,抢答器不仅体现选手之间的公平抢答,而且能增加节目现场的紧张、活跃气氛。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要有一个系统来完成这个任务。
这次设计就是用AT89C51微处理器和其他元器件设计一个八路抢答器。
数字抢答器由主体电路与扩展电路组成,优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;
用控制电路和主持人开关启动电路,以上两部分组成主体电路。
通过蜂鸣器实现在选手抢答开始或抢答成功时响铃提示功能,构成扩展电路。
本次课程设计的设计目的归纳为:
1.抢答器可同时供8名选手或8个代表队比赛,分别用8个按钮就
表示;
2.为节目主持人设置一个控制开关,用来控制系统的清零和抢答的开始;
3.抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按下抢答按钮,编号立即锁存,并在LED七段数码管上显示出选手的编号、蜂鸣器给出音响提示,同时要封锁输入电路,禁止其他选手抢答。
优先抢答选手的编号保持到主持人将系统清零为止。
Proteus仿真简介
Proteus软件是英国LabCenterElectronics公司出版的。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前比较好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(),从布图、代码调试到与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种。
在PROTEUS绘制好原理图后,调入已编译好的文件:
*.HEX可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS不仅可将许多功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的、仪表,因而也提供了培养学生实践精神、创造精神的平台。
随着科技的发展,“”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中Proteus也能茯得愈来愈广泛的应用。
使用Proteus软件进行单片机设计,是和相结合的综合运用,有利于培养学生的电路设计能力及的操作能力。
2设计方案
硬件设计方案
抢答器由基本电路和扩展电路两部分组成。
基本电路完成基本的抢答功能,即抢答开始后,当选手按下抢答键,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成抢答开始和抢答成功时有蜂鸣器响起提示。
根据课程设计要求可以大概构思出硬件电路图:
数码管与单片机的P0口的低七位相连接;
口与蜂鸣器相连接;
P1口接八个按键;
P2口接八个LED灯分别显示八位选手抢答的指示信号。
用以AT89C52为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。
用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低。
软件设计方案
(1)中断的开通与关断设计
为达到在主持人未按下按键前抢答无效应该设置外部中断为开中断,外部中断0为关中断。
当开始抢答信号发出后,开外部中断0以接收选手抢答中断信号。
选手抢答后,开外部中断1从而使主持人再次按下按键后可以开始下一次抢答。
(2)数码管的显示
方案一:
采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,每段LED都对应一个单片机口线。
方案二:
采用动态显示,对于多位数码管显示时,每一位数码管轮流显示,当显示间隔时间较短时人眼就分辨不出是动态显示,而是每一位都是一直都在显示。
比较二者,静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED数码管需要独占8条输出线。
随着显示器位数的增加,需要的I/O口线也将增加。
动态显示器的优点是节省硬件资源,成本较低,但是要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。
通过以上分析,结合本课题只提供一位数码管,所以采用方案一。
3)抢答信号指示灯
对于这一位LED灯的闪烁可以通过软件程序的编写,交替送出电平高低控制其闪烁。
3硬件电路设计
微处理器AT89C51简介
AT89C51是一种带4KFLASH(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位,俗称。
AT89C2051是一种带2K字节闪存可编程可擦除的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。
AT89C51为很多提供了一种灵活性高且价廉的方案。
外形及排列如图3-1所示。
图3-1AT89C51逻辑符号
管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为输入。
P0能够用于外部程序数据,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部或16位地址存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据进行读写时,P2口输出其的内容。
P2口在FLASH编程和校验时接收高八位地址信号和。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
RXD(串行输入口)
TXD(串行输出口)
/INT0(外部中断0)
/INT1(外部中断1)
T0(计时器0外部输入)
T1(计时器1外部输入)
/WR(写选通)
/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个的高电平时间。
ALE/PROG:
当访问外部存储器时,允许的用于锁存地址的低位字节。
在FLASH编程期间,此用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果在外部执行状态ALE禁止,置位无效。
/PSEN:
外部的选通信号。
在由外部程序存储器取指期间,每个两次/PSEN有效。
但在访问存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
振荡和陶瓷振荡均可采用。
如采用外部驱动器件,XTAL2应不接。
有余输入至内部要通过一个二分频,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
模块电路原理分析
抢答器的电路框图
如图3-2所示为电路框图。
其工作原理为:
接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;
主持人将开关置,“开始”状态,宣布“开始”抢答器工作。
定时器倒计时,扬声器给出声响提示。
选手在定时时间内抢答时,抢答器完成:
优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次操作"
开始、停止"
状态开关。
图3-4抢答器框图
时序控制电路
控制电路是抢答器设计的关键,它要完成以下功能:
a.主持人将控制开关拨到"
开始"
位置时,扬声器发声,抢答电路进人正常抢答工作状态;
b.当参赛选手按动抢答键时,扬声器发声,抢答电路停止工作。
时钟电路
外部震荡电路单片机必须在AT49C51的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如图3-5所示。
图3-5外部震荡电路
扩展电路
数码管的设计:
图3-6中数码管采用的是1位七段共阳数码管,其中a-g段分别接到单片机的-口,由单片机输出的P1口数据来决定段码值。
图3-6数码管显示电路
蜂鸣器的发声主要用于对有抢答时的报警信号,以提示主持人。
蜂鸣器的发声由三极管放大电压、电流来驱动,其中三极管的基集接单片机的口,以提供导通基集电流,从而经放大后达到蜂鸣器的发声电压、电流。
图3-7报警电路
4软件方案设计
程序设计
抢答器的程序初始化主要完成中断初始化,数码管显示初始化。
中断初始化主要是对主持人按键中断信号和抢答中断信号的初始化,首先设置为主持人中断优先,抢答中断其后,即只有主持人按下按键后才允许选手抢答。
而对于数码管的初始化显示在本课题中是使数码管全灭。
初始化程序如下:
MOV
A,#7FH
;
初始化
P0,A
SETB
EA
;
CPU开中断
EX1
开外部中断1
IT1
外部中断1设为电平触发方式CLR
EX0
关外部中断0
程序主要是用来处理主持人按键发出的抢答信号的显示和选手抢答按键的允许:
在主持人按下按键后,使数码管显示0以示意选手可以开始抢答,同时开外部中断0,即允许选手抢答中断。
同时,数码管显示0就说明主持人已经按下按键,所以在这里没有调用键盘消抖延时程序。
处理程序和流程图如下:
开外部中断0
IT0
外部中断0设为电平触发方式MOV
A,#40H
主持人按键显示段码送到P0显示RETI
中断返回
总程序如下:
ORG000
JMPBEGIN
TABLE:
;
共阴极数码管显示代码表
DB3FH,06H,5BH,4FH,66H;
01234
DB6DH,7DH,07H,7FH;
46789
DELAY:
MOVR5,#20;
延时20×
20ms子程序
LOOP4:
MOVR6,#50
LOOP5:
MOVR7,#100
DJNZR7,$
DJNZ6,LOOP5
DJNZR5,LOOP4
RET
BEGIN:
MOVP2,#0FFH;
P2口置高电平,准备接收信号
MOVR4,#0;
"
R4"
的位标志值清零。
MOVA,R4;
位标志值送A寄存
AGAIN:
MOVDPTR,#TABLE;
共阴极数码管代码表首址送
MOVCA,@A+DPTR;
取出显示"
0"
的代码送P口显示
MOVP1,A
LOOP1:
MOVA,P3;
接收P3口的抢答信号。
CPLA;
抢答信号求反
JZLOOP1;
如果没有抢答信号再返回LOOP1
LOOP2:
RRCA;
有抢答信号则逐次移动判断是那一位抢答
INCR4;
每移一次位,R4位标志值加1
JNCLOOP2如果没有遇到抢答信号返回LOOP1继续移位
MOVA,R4;
遇到抢答信号把R4位标志的只送A
MOVCA,@A+DPTR;
找到相应位的显示代码
MOVP1,A;
送P1口显示
LOOP3:
JNB,BEGIN
;
若主持人按了复位信号健则转向程序复位
CPL
若没按复位信号键,则通过给出高低信号驱动蜂鸣器
LCALLDELAY;
调用延时程序
SJMPLOOP3;
口反复间隔秒变化,驱动蜂鸣器
总电路仿真测试
电路仿真模拟图如图4-1所示,当主持人开关置于“清零”位置时,选手按下抢答键不会有任何作用,只有当主持人宣布抢答开始,同时将主持人开关拨到“开始”位置时,选手方可开始抢答,假设7号选手抢答成功,则数码管上显示“7”,同时蜂鸣器响起提示已有选手抢答成功。
由于X3的锁存效果,选手抢答成功之后即使有其他选手按下抢答键,仍不会改变抢答结果。
图4-1抢答器电路仿真模拟图
5.心得体会
通过这次单片机原理课设,培养了我分析问题、解决问题的能力,不仅仅要搞懂理论知识,更是要学会将理论应用于实践。
由于此次实验课题是两人共同完成的课题,更培养了团队合作的能力。
这次课程设计就是考验我们的理论知识学得扎不扎实,能不能将理论与实践很好的结合起来。
由于平时自己的基础知识掌握的并不够好,一开始对要做的电路没有一个深刻的认识,但通过上网找资料,去看图书馆的书籍,以及和同组的成员一起讨论,终于把设计的电路图画好,并把原理弄懂了。
因为对于抢答器电路,不仅涉及了微处理器和各种芯片的选择,还涉及了支电路的设计。
需要自己认真学习查找各个芯片的功能,才能完成实验。
后来我通过问我们班的同学以及参考网上的资料后画出了电路图,实现了相应功能。
通过本次单片机原理的课程设计,使我懂得了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能达到目的。
另外,细心也是极其重要的,做这个设计不能有一点闪失,必须一步到位,不然就会花费相当长的时间去检查错误,这次设计提高了我的实际动手能力和独立思考的能力。
在设计的过程中遇到的问题,可以说是困难重重,总会碰到这样那样的问题,同时在设计过程中发现自己的不足之处,对以前所学过的知识理解还不够深刻,掌握的不够牢固。
回顾这次单片机原理课程设计,感受还是蛮多的。
从理论到实践,在整个课程设计过程中,虽然说是相当的不容易,可是学到了很多东西,不仅学到了书本上有的,更学到了书本上没有的。
看到相应功能的实现,那一刻,心中是无比的激动,因为里边凝聚了太多了努力与汗水。
发现问题,解决问题,认识到自己的不足,温故而知新,通过尝试,不断提高自己的能力。
非常感谢我的搭档、指导老师以及给予我帮助的每一个人。
参考文献