毕业论文-基于AT89S52单片机的抢答器设计09430.doc

上传人:韩长文 文档编号:3942547 上传时间:2019-10-10 格式:DOC 页数:54 大小:5.77MB
返回 下载 相关 举报
毕业论文-基于AT89S52单片机的抢答器设计09430.doc_第1页
第1页 / 共54页
毕业论文-基于AT89S52单片机的抢答器设计09430.doc_第2页
第2页 / 共54页
毕业论文-基于AT89S52单片机的抢答器设计09430.doc_第3页
第3页 / 共54页
毕业论文-基于AT89S52单片机的抢答器设计09430.doc_第4页
第4页 / 共54页
毕业论文-基于AT89S52单片机的抢答器设计09430.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《毕业论文-基于AT89S52单片机的抢答器设计09430.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于AT89S52单片机的抢答器设计09430.doc(54页珍藏版)》请在三一文库上搜索。

1、xx大学本科毕业设计(论文)分类号 TP399 单位代码 11395 密 级 学 号 0905270111学生毕业设计(论文)题 目基于AT89S52单片机的抢答器设计作 者院 (系)专 业测控技术与仪器指导教师答辩日期2013 年 6 月 1 日摘 要基于AT89S52单片机的抢答器是一款电路简单,成本较低,操作方便,灵敏可靠的抢答器。本文以单片机技术为核心,制定出了一套以软、硬件相结合的方式完成这种抢答器设计的方案。在硬件方面,单片机控制芯片选取了美国爱特梅尔(Atmel)公司的AT89S52单片机,本次设计还用到LED数码管显示器、电源电路、晶振电路、复位电路、蜂鸣器电路及其驱动电路;在

2、软件方面,此设计主要对输入数据存储,对数据运算进行算法的编程,最后采用汇编语言对控制源程序进行编译,使计算的结果准确无误的显示在数码管上。此款抢答器的完成可以实现以低功耗、体积小和廉价为特点的价值,能让各种文娱活动,特别是竞赛栏目增添色彩,为以后人们更进一步设计更好的此类产品做了铺垫。关键词:AT89S52;抢答器;LED;汇编语言xx大学本科毕业设计(论文)The Design of Responder Rased on AT89S52 MicrocontrollerABSTRACTResponder based on AT89S52 single-chip microcomputer is

3、 a product of simple circuit,low cost,convenient operation,reliability and sensitivity.This paper based on the single-chip microcomputer as the core technology developes a set of way of software combined with hardware to finish the responder design scheme.In the aspect of hardware,microcontroller co

4、ntrol chip selects the United States of America Atmel corporations AT89S52 MCU.This design also uses the LED digital tube display, power supply circuit, crystal circuit, reset circuit, a buzzer circuit and driving circuit;In the aspect of software,this design is mainly on the input data storage, alg

5、orithm programming of data operation and finally uses the assembly language to compile control program.So the calculation results accurately display in digital display tube.The completion of this section responder can realize the value with low power consumption, small volume and cheap, allowing a v

6、ariety of recreational activities, especially the contest section to add color.It has paved the way for the further design better such products.Key words:AT89S52; Responder; LED; Assembly language目 录摘 要IABSTRACTII1 绪 论11.1 基于AT89S52单片机的抢答器的介绍11.2 国内外发展状况11.3 本设计所要实现的目标11.4 课题设计的意义22 主要器件介绍32.1 主控芯片(

7、微处理器)的选择32.1.1 AT89S52单片机性能简介32.1.2 AT89S52单片机引脚功能说明42.2 显示器的选择72.2.1 七段数码管性能简介72.2.2 七段数码管驱动方式82.2.3 七段数码管引脚功能说明82.3 显示器的驱动芯片的选择103 系统硬件构成113.1 设计原理113.2 外围电路123.2.1 电源电路123.2.2 晶振电路133.2.3 复位电路133.2.4 蜂鸣器电路及驱动电路153.2.5 数码管显示电路及相应的驱动电路163.2.6 选手按键电路174 系统软件设计195 软件调试及仿真215.1 软件编译215.1.1 工程的创建215.1.

8、2 AT89S52单片机的选择215.1.3 程序的编译225.2 系统仿真测试256 结 论31参考文献33致 谢35附录A37附录B39xx大学本科毕业设计(论文)1 绪 论1.1 基于AT89S52单片机的抢答器的介绍抢答器是政府机关、金融单位、广播电视系统或党委、工会、团委、企事业单位等部门举办竞赛问答、各种知识测试、娱乐活动中一种常用的必备理想的设备。它是一个能准确、公正、直观地判断出抢答者的机器。通过一些方式如数码管显示抢答成功者的信息,或者通过声音来判断成功抢答的选手7。早期的抢答器只由几个三极管可控硅、发光管等组成,能通过发光管的指示辨认出选手9。现在大多数抢答器均使用单片机和

9、数字集成电路,并增加了许多新的功能,如选手号码显示、抢按器或抢按后的计时、选手得分显示等功能。 1.2 国内外发展状况在全球,抢答器发展很迅速,主要运用于各种竞赛。我国国内抢答器的发展比较好,开发抢答器的大中小型公司也较多,例如:上海步频电子科技有限公司、济南恒大视讯公司、北京中视红绿蓝科技有限公司及郑州卓豫公司等等。在国内,上海步频电子科技有限公司在抢答器开发方面较优秀,常见的有便携式小型电子抢答器、中高档电子抢答器和高端电脑抢答器等等。国外主要是美国、日本占优势,因为它们设计的产品的精度高、灵敏度高、质量优等特点在全球市场中占比例大。而我国的品牌以其成本低、售后保障好在国际市场上占有一席之

10、地。1.3 本设计所要实现的目标本设计的目标是设计一个基于AT89S52单片机的智力竞赛抢答器,能够同时供8名选手或8个代表队参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮,而且给节目主持人一个控制开关,以此来控制系统的清零和抢答的开始。设计的抢答器具有数据锁存功能、显示功能和声音提示功能。抢答开始后,若有选手按动抢答按钮,编号立刻锁存,并在LED数码管上显示选手的编号,同时灯亮且伴随声音提示。此外,要封锁输入电路,禁止其他选手抢答,最先抢答选手的编号一直保持到主持人将系统清零3。1.4 课题设计的意义二十一世纪已是一个经济迅速发展的时期。随着人们经济水平的不断提高,人们在物质文

11、明得到满足的同时,更加注重精神文明的追求,各种各样的文体活动(例如,中央电视台的各种大学生竞赛栏目)不断涌现,提高节目的过程质量日益重要。而抢答器在其中扮演着特殊且重要的角色,那么一款电路简单,成本较低,操作方便,灵敏可靠的抢答器便具有实际的使用价值。现在市场上的抢答器大都是基于单片机的产品,因为单片机自身的一些特点:体积小,程序编写简单,功能强大等。特别是单片机的低功耗特点,使它成为抢答器设计的最优选择的参照。抢答器与单片机的结合,使再次设计一款新式、廉价、电路简单、灵敏度好、操作简便的小型抢答器成为可能。通过本次设计,我们不仅可以学到许多知识、方法、技能,而且丰富了我们的日常生活,给娱乐界

12、又增添了一丝丝美妙的色彩,为以后人们更进一步设计更好的产品做了铺垫,为我们大学生实现自己的人生价值做出了重要的贡献。 2 主要器件介绍2.1 主控芯片(微处理器)的选择本次设计选用的微处理器是兼容标准MCS-51指令的美国爱特梅尔(Atmel)公司生产的AT89S52单片机8。如图2-1所示。 图2-1 AT89S52单片机2.1.1 AT89S52单片机性能简介AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度、非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适

13、于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用15。主要性能:1、与MCS-51单片机产品兼容。2、8K字节在系统可编程Flash存储器。3、1000次擦写周期。4、全静态操作:0Hz-33MHz。5、三级加密程序存储器。6、32个可编程I/O口线。7、三个16位定时器/计数器。8、六个中断源。9、全双工UART串行通道。10、低功耗空闲和掉电模式。11、掉电后中断可唤醒。12、看门狗定时器。13、双数据指针。2.1.2 AT89S52单片机引脚功能说明AT89S52的引脚如图2-2中(a)、(b)图所示。 (a

14、) DIP封装(b) PLCC封装图2-2 AT89S52引脚图各引脚功能说明:AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度、非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案11。AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器

15、,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验

16、时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流6。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。在Flash编程和校验时,P1口接收低8位地址字节。P1口的第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出。 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信

17、号和方向控制)。P1.5 MOSI(在系统编程用)。 P1.6 MISO(在系统编程用)。 P1.7 SCK(在系统编程用)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在fl

18、ash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在Flash编程和校验时,P3口也接收一些控制信号。P3口的第二功能:P3.0 RXD(串行输入口)。P3.1 TXD(串行输出口)。P3.2 INTO(外中断0)。 P3.3 INT1(外中断1)。P3.4 TO(定时/计数器0)。P3.5

19、T1(定时/计数器1)。P3.6 WR(外部数据存储器写选通)。P3.7 RD(外部数据存储器读选通)。此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号13。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位4。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必

20、要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/Vpp:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位

21、时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。中断源:AT89S52有6个中断源。两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断10。2.2 显示器的选择本次设计选用的信息显示器是七段数码管,如图2-3所示。 图2-3 七段数码管2.2.1 七段数码管性能简介七段数码管的一种是半导体发光器,其基本单元是发光二极管5

22、。它是一种价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而能够显示时间、日期、温度等所有可用数字表示的参数的器件。在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。使用注意事项:需要使其具有恒定的工作电流。采用恒流驱动电路后可防止短时间的电流过载可能对发光管造成永久性损坏,以此避免电流故障所引起的七段数码管的大面积损坏。超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。2.2.2 七段数码管驱动方式直流驱动:指每个数码管的每一个段码都由一个单片机

23、的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。优点是编程简单,显示亮度高,缺点是占用I/O端口多。动态显示驱动:将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮14。2.2

24、.3 七段数码管引脚功能说明 七段LED有共阴极与共阳极两种2。在图2-4的(a)图中,公共阴极接地,当阳极上的信息为“1”时,段就点亮;信息为“0”时,段就不亮。在图2-4的(b)图中,公共阳极接到+5V,当阴极上的信息为“1”时,段就不亮;信息为“0”时,段就点亮。图中R是限流电阻。图2-4的(c)图表示七段LED内段的排列。(a) 共阴极(b) 共阳极(c) 七段LED内段的排列图2-4 七段数码管引脚图共阴极和共阳极数码管0-9这十个数字的段码表,见下表2-1所示。表2-1 段码表数字0123456789共阴0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6

25、f共阳0xc00xf90xa40xb00x990x920x820xf80x800x902.3 显示器的驱动芯片的选择74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据12。74LS245还具有双向三态功能,既可以输出数据,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输(接收);DIR=“1”,信号由A向B传输(发送);当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态

26、控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245的输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1D1),其它时间处于输出(P0.1D1),如图2-5所示1。图2-5 74LS2453 系统硬件构成3.1 设计原理根据系统总体的设计方案,设计出基于AT89S52单片机的抢答器电路原理图见附录A。工作原理为:电源电路为单片机以及其他模块提供标准+5V电源。晶振模块为单片机提供时钟标准,使系统各部分能协调工作。复位电路模块为单片机系统提供复位功能。单片机作为主控制器,根据输入信号对系统

27、进行相应的控制。选手按下相应的按键,蜂鸣器发出提示音,直到按键释放,数码管显示最先按下按键的选手的编号。选手回答完毕,主持人按下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答。基于AT89S52单片机的抢答器由控制核心AT89S52单片机、复位电路、电源电路、选手按键、主持人按键、声音提示和数码管显示等部分组成,其硬件设计总体结构框图如图3-1所示,元件清单如表3-1所示。 复位电路选手按键AT89S52单片机主持人按键声音提示数码显示电源电路 图3-1 抢答器设计硬件系统框图 表3-1 抢答器元件清单元件名单型号数量/个用途元件名称型号数量/个用途单片机AT89S521控制核心按

28、键8选手输入晶振12MHz1晶振电路按键1主持人输入电容30pF2三极管9015-1蜂鸣器及其驱动电路电解电容10F/10V1复位电路蜂鸣器1按键1电阻10k1电阻10k1数码管1位共阴1显示电路电源5V/0.5A1电源电路集成块74LS2451驱动3.2 外围电路本系统选用单片机AT89S52作为核心控制器件,结合电源电路、晶振电路、复位电路、声音提示与数码显示电路、选手按键与主持人按键电路等外围辅助电路,可以实现基本的抢答器功能,其总电路图见附录A。3.2.1 电源电路本次设计的电源电路为+5V稳压电源,其电路如图3-2所示。图3-2 +5V稳压电源稳压电源电路即利用晶体管作为调整元件和负

29、载串联,调整元件看做是可变电阻,从输出电压中提取全部或部分电压调节调整管所呈现的电阻来维持输出电压基本不变。它的输出电压可以随意连续调节,输出电流也可达到很大,稳压精度较高。稳压电源电路主要由变压器、三端集成稳压器7805、整流电路、滤波电路组成。变压器是利用电磁感应原理进行变换交流电压、阻抗和电流的器件;三端稳压器可靠性高、精度高、电路实现简单且价格低廉,可以实现可靠的直流稳压电源;整流电路采用全桥式整流桥,即利用四个二极管两两并联后接入输出电压;电容滤波电路即在输出端并联一个电容器。3.2.2 晶振电路单片机是一种时序电路,必须提供脉冲才能正常工作。MCS-52系列单片机内部都有一个时钟振

30、荡电路,只需外接晶振源,就可以产生一定频率的时钟信号送到单片机的内部各个单元,决定单片机的工作速度。XTAL1和XTAL2脚分别构成单片机片内振荡电路的反相放大器的输入端和输出端,外接石英晶体X1和振荡电容C1、C2构成并联谐振电路。晶振是石英振荡器的简称,英文名为Crystal,是利用石英晶体(SiO2晶体)的压电效应制成的一种谐振器件。两个振荡电容C1、C2是分别接在晶振的两个脚和对地的电容,本设计分别选用12.0MHz的标准石英晶振和两个30pF的电容。晶振电路如图3-3所示。图3-3 晶振电路图3.2.3 复位电路89系列单片机的复位信号是从RST引脚输入到芯片内的触发器中的,当系统处

31、于正常工作状态且振荡器稳定时,如果RST脚上有一个高电平并维持两个机器周期以上,CPU就可响应并且将系统复位。复位操作一般有上电自动复位和按键手动复位两种方式。上电自动复位是在加电瞬间电容通过充电来实现的,电路如图3-4中的(a)图所示。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,其电路如图3-4中的(b)图所示。(a) 上电自动复位电路图 (b) 手动复位电路图图3-4 复位电路3.2.4 蜂鸣器电路及驱动电路 蜂鸣

32、器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。驱动电路:由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。蜂鸣器驱动电路一般都包含以下几个部分:一个

33、三极管、一个蜂鸣器、一个续流二极管和一个电源滤波电容,如图3-5所示。1、蜂鸣器发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。这些都可以根据需要来选择。2、续流二极管蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。3、滤波电容滤波电容C1的作用是滤波,滤除蜂鸣器电流对其它部分的影响,也可改善电源的交流阻抗,如果可能,最好是再并联一个220F的电解电容。4、

34、三极管三极管Q1起开关作用,其基极的低电平使三极管饱和导通,使蜂鸣器发声,而基极高电平则使三极管关闭,蜂鸣器停止发声。图3-5 蜂鸣器电路及驱动电路3.2.5 数码管显示电路及相应的驱动电路 数码管显示电路采用AT89S52单片机控制,通过芯片74LS245驱动进行显示。本次设计采用的是共阴极七段数码管。在图3-6的(a)图中,公共阴极接地,当阳极上的信息为“1”时,段就点亮;信息为“0”时,段就不亮。图3-6的(b)图是本次设计的显示电路。驱动电路连接如下图3-6的(b)图所示。74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。(a

35、) 共阴管内部引脚图(b) 驱动电路图3-6 显示电路及其驱动电路3.2.6 选手按键电路 本次设计的智力竞赛抢答器需要满足8名选手或8个代表队参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮。由选手按键情况,将结果信息通过AT89S52的P3口送到主控制器中,让数码管显示信息。当选手不按键时,相应的位为高电平,按下键位时,相应的位被触发为低电平。选手按键电路如图3-7所示。图3-7 选手按键电路4 系统软件设计本次系统软件设计,主要对输入数据存储,数据运算进行算法的编程,最后采用汇编语言对控制源程序进行编译,使计算的结果准确无误的显示在显示器LED数码管上。具体实现的效果是:上电

36、复位后数码管清零,P2.0置高电平,蜂鸣器不发声。循环扫描P3口,看是否有按键按下,如果有按键按下,则转入判断是哪个选手按下按键,并在数码管上显示选手的号码;P2.0置低电平,蜂鸣器发声,主持人按键按下,系统重新进入主程序继续进行下一轮抢答。初始化按键子程序显示子程序报警子程序开始软件设计部分主要分为程序流程图部分和软件程序部分,其中程序流程图部分如图4-1中的(a)、(b)、(c)、(d)图所示,软件程序部分见附录B。开始初始化有选手按键?主持人按键?结束NNYY(a) 主程序流程图 (b) 按键子程序流程图开始P2.0=1有选手按键?P2.0=0蜂鸣器发音结束YN开始初始化有选手按键?显示

37、选手号码结束NY(c) 报警子程序流程图 (d) 显示子程序流程图 图4-1 程序流程图5 软件调试及仿真软件调试主要用Keil C51软件。Keil C51软件是目前流行的51系列单片机开发软件,由德国Keil公司推出。这个调试软件是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。软件仿真工具采用英国Labcenter Electronics公司研发的多功能EDA软件Proteus,其中的Proteus ISIS是一款操作简单便捷的电子系统原理设计和仿真平台软件,它运行于Windows操作系统,可以仿

38、真和分析各种模拟器和集成电路。5.1 软件编译5.1.1 工程的创建双击桌面上的“Keil uVsion2”快捷图标,鼠标点击“Project”,新建工程,如图5-1。图5-1 新建工程窗口5.1.2 AT89S52单片机的选择本次设计选用的是单片机AT89S52,找到AT89S52后,点击它,然后确定,如图5-2。图5-2 单片机型号窗口5.1.3 程序的编译为工程新建一个文件,写入汇编程序,如图5-3。图5-3 写程序图当出现以下画面时,说明目标文件“基于AT89S52单片机的抢答器设计.HEX”已经生成了,如图5-4。图5-4 HEX文件生成图Keil软件的调试:成功编译/汇编、连接后,

39、选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU,以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的

40、、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints等),如图5-5所示。图5-5 调试图5.2 系统仿真测试将编译生成的“基于AT89S52单片机的抢答器设计.hex”文件写入单片机AT89S52进行仿真测试,仿真测试电路图如图5-6所示。图5-6 仿真测试图具体仿真测试实现的结果如图5-7中的(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)、(j)图所示。 (a) 选手抢答前的状态(b) 一号选手抢答到的状态 (c) 二号选手抢答到的状态(d) 三号选手抢答到的

41、状态(e) 四号选手抢答到的状态(f) 五号选手抢答到的状态 (g) 六号选手抢答到的状态(h) 七号选手抢答到的状态(i) 八号选手抢答到的状态(j) 主持人按键清零图5-7 具体仿真测试图6 结 论本设计基于单片机技术,利用美国爱特梅尔(Atmel)公司的AT89S52单片机作为主控芯片,74LS245作为数码管驱动模块和七段数码管作为显示器,结合电源电路、晶振振荡电路、复位电路等外围辅助电路,并采用汇编语言对程序进行编译。通过硬件和软件相结合的方式完成了抢答器的设计,从而实现了选手按下相应的按键,蜂鸣器发出提示音,直到按键释放,数码管显示最先按下按键选手的编号,选手回答完毕,主持人按下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答的功能。此次设计的抢答器,电路简单、成本较低、操作方便、灵敏可靠、具有较高的推广价值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1