《课程设计论文数字智能抢答器的设计.doc》由会员分享,可在线阅读,更多相关《课程设计论文数字智能抢答器的设计.doc(22页珍藏版)》请在三一办公上搜索。
1、数字智能抢答器的设计张陈玉摘 要 本设计利用标准硬件描述语言-汇编语言,并结合单片机进行数字智能抢答器系统的设计。系统由时钟电路、复位电路、抢答电路、动态显示电路、主此人控制电路、报警电路六部分组成。可以准确将在规定时间内,正确抢答的选手锁存并禁止其他选手抢答,同时将其面前的LED灯点亮,并显示出该选手的号数、分数,若有违规抢答或无人抢答的情况,则会进行报警提示。除此之外,该系统还可对抢答时间,回答时间,选手分数进行调整,具有较强的扩展特性,便于实际推广。关键词 STC89C52 抢答电路 LED电路 控制电路 报警电路1 序言当今的社会竞争日益激烈,选拔人才,评优选胜,知识竞赛之类的活动愈加
2、频繁,且智力竞赛是一种活泼生动的教育方式,通过必达和抢答的方式能引起参赛者和观众的很大兴趣,并能使人们在答题过程中,锻炼自己的反应能力。抢答器作为一种电子产品已广泛应用于各种知识竞赛,为竞赛增添了娱乐性、趣味性。随着电子技术的飞速发展,抢答器也越来越数字化和智能化,市场上各种形式的抢答器,大部分应用于比较大型的场合,且其价格昂贵,在公司、社区、学校等举行的小型竞赛时,不适合使用。这就需要一款携带方便,性能高,且经济实用的抢答器,满足小型比赛的需求。进入21世纪以来,各种高性能单片机芯片市场异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高,因其功率低,超高型,低成本
3、,功能完整,在国内越来越受到用户的重视和广泛使用。因此本设计以单片机作为系统的控制核心,利用标准的硬件描述语言-汇编语言编写程序,以PROTUES环境为仿真平台,进行设计实现了一款满足中、小型比赛的数字智能抢答器。该系统减少了器件的数量和体积,降低了功耗,完善了抢答器功能,提高了设计的可靠性和可扩展性。2 方案论证及电路设计2.1 方案论证方案一 :数字智能抢答器的设计可以利用硬件电子元器件实现,系统各部分采用中小规模集成数字电路,用定时器产生脉冲信号作为计时,完成抢答器在规定时间内抢答,用机械开关按钮作为控制开关,完成抢答器输入信号的触发,用译码器和数码管作为系统的显示单元,该方案的特点是:
4、中小规模集成电路应用技术成熟,性能可靠,不用编写程序,就能实现抢答器的基本功能,但是电路涉及到外围元器件多,结构复杂,制作过程、工序比较繁琐,调试困难,给实际操作带来不便1。其总体设计方案框图如图2-1。抢答开关优先编码电路锁存器译码电路主持人控制开关控制电路报警电路秒脉冲产生电路定时电路译码电路显示电路路 图2-1 总体设计方案框图方案二:数字智能抢答器的设计可以采用MCS-51系列单片机STC89C52作为控制核心,完成运算控制、信号识别以及显示的功能。由于人按下键盘的时间一般为十分之几秒到几秒,判断按键是否有效的程序的时间一般为5到10ms,可以利用依次查询键盘的方法扫描选手的按键,即使
5、按键时间相差几十微秒也能分辨出来,进而进行相应的数字处理。该方案的特点是单片机技术较成熟,通过编写程序可以显示出时间倒计时、选手号数、分数,直观效果好,精度高,并能够对违规抢答或无人抢答、回答进行报警提示和抢答、回答时间、选手分数进行调整。外围电路只需要简单的元器件,便于制作。此外该系统具有灵活的可编程特性,能方便地对系统进行功能的扩展和更改。单片机系统设计方案框图如图2-2。报警电路选手键盘1-5主持人控制电路5V直流稳压源显示电路MCS-51单片机控制核心 图2-2 单片机系统设计方案框图方案论证:方案一是全数字电路,可以利用74LS148优先编码器作为抢答器核心,采用555定时器作为秒脉
6、冲产生电路,利用74LS192等计数器作为计数,以供数码管显示,所构成的电路复杂,控制繁琐,实现的功能也较单一。同时抢答按键也受到了优先编码器输入端口的控制,若使用74LS148,输入最多是路。方案二:以单片机作为控制核心,只需在端口连接上拉电阻,就可完成驱动LED的功能,串接按键可以由选手自己控制抢答机会。利用单片机程序判断选手按键是否有效,但选手违规抢答,利用简单程序显示选手序号,启动蜂鸣器并不间断,告诉主持人有人违规操作,抢答无效。选手按正常的操作抢答,软件倒记时,实现倒记时显示时间,到5秒相应时间提醒选手时间快到了,要及时作答并启动蜂鸣器。如果有选手在规定的时间内完成问题,主持人通过按
7、键复位,即可开始新的问题作答。利用单片机的中断系统可在任意时刻,设置抢答、回答时间,结束设置后,系统可按新设置的值进行倒计时,同时任意时刻也可以根据选手的答题情况,对任一组选手进行分数的调整,不仅能实现抢答,还可以进行计分,实用性强。程序不需要扩展存储空间,选手按键即跳入相应的子程序。通过单片机实现功能可以更人性化,电路结构简单,外围扩展的电路不是很多,编程灵活,调试方便,只需单电源供电更方便,容易实现,性价比较高。所以选用单片机加一定的外围设备实现本次设计。22.2 电路设计本设计硬件部分主要由STC89C52的单片机芯片、时钟电路,复位电路、抢答电路、主持人控制电路、显示电路和报警电路七部
8、分组成。将软件部分设计好的总程序,进行编译,将生成的HEX文件,通过RS232串口下载到目标芯片STC89C52。其总体电路设计见附录。3 系统硬件设计 3.1 STC89C52芯片STC89C52单片机是一种低功耗、高性能CMOS 8位微控制器,具有 8K 系统可编程 Flash 存储器,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常是控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双
9、工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。38 位微控制器8K字节在系统可编程Flash。STC89C52引脚图3-1如图所示。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻
10、。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1 口是一个具有内部上拉电阻的8位双向I/O口,P1 输出缓冲器能驱动4个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能:P1.0 T2(定时器/计数器T2的外部计数输
11、入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2口:P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2 输出缓冲器能驱动4个TTL逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。
12、在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3 口是一个具有内部上拉电阻的8位双向I/O 口,P3输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为STC89C52特殊功能(第二功能)使用: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO
13、(定时/计数器0) 图 3-1 STC89C52引脚图 P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通) RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存的低8位字节。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,
14、欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。43.2 时钟电路 单片机必须在时钟的驱动下才能工作,时钟频率直接影响单片机的速度,时钟电路的质量直接影响单片机系统 的稳定性。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种方式为外部时钟方式。本设计采用的是内部时钟方式。只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元。本设计采用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶
15、振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。5单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。本设计的时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12s。时钟电路图如图3-2。 图3-2 时钟电路 图 3-3 复位电路3.3 复位电路单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态。6在设计当中使用到了硬件复位的功能,由上面
16、的硬件复位后,各寄存器及存储器的值都恢复到了初始值。复位电路图如图3-3。3.4抢答电路抢答器的抢答电路部分是由5个独立式键盘和5个红色LED灯构成,通过键盘扫描查询程序,锁存首先抢答选手或违规抢答选手的号数,并禁止其他选手抢答,同时将其前面的灯点亮,这样设计可以使人们直观看出选手抢答情况。抢答电路图如图3-4所示。键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段,其实质上是一组按键开关的集合。键盘开关利用了机械触点的合、断作用。一个电压信号通过键盘开关机械触点的断开、闭合,其行线电压输出波形如图3-5所示。行线列线+5Vt0t1t3t2t4 图3-4
17、抢答电路 图3-5 键盘开光波形 图中t1和t3分别为键的闭合和断开过程中的抖动期(呈现一串负脉冲),抖动时间长短和开关的机械特性有关,一般为5-10ms,t2为稳定的闭合期,其时间由按键动作所确定,一般为十分之几秒到几秒,t0,t4为断开期。由于人按下键盘的时间一般大于十分之几秒到几秒,判断一次按键是否有效的程序的时间一般为5到10ms,利用依次查询键盘的方法扫描选手的按键,可以准确判断出最先按下键盘的选手。键的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开,低电平表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一
18、次按键有效,必须消除抖动期t1和t4的影响。按键抖动常用软件来消除,其基本思想是:在第一次检测到有按键按下时,该键所对应行线为低电平,执行一段延时,确认该行线电平是否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。采取以上措施,躲开了两个抖动期t1和t3,从而消除了按键抖动的影响。本设计采用的是软件去除键盘抖动。2在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。它们各有自己的特点,独立键盘硬件电路简单,且在程序设计上不复杂,应用于对硬件电路要求不高的简单电路中;矩阵键盘在
19、硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。综合考虑,本设计采用的是独立键盘。LED工作原理:发光二极管是二极管的一种,发光颜色决定于所用材料,目前有红、绿、黄、橙等色,当外加的正向电压使得 正向电流足够大时才发光,它的开启电压比普通二极管的大,红色的在1.6V1.8V之间,正向电流愈大,发光愈强。经过计算使用1千欧的电阻就能使其正常发光。使用时应特别注意不要超过最大功耗、最大正向电流和反向击穿电压灯极限参数。发光二极管因其驱动电压低、功耗小、寿命长、可靠性高等优点广泛应用于显示电路之中。83.5 动态显示电路抢答器动
20、态显示电路是由一个4位一体共阴极的数码管,段选处依次配有相应的1千欧的上拉电阻和电源构成的。从左边数第一、二位数码管显示抢答或回答时间倒计时,第三、四位数码管依次显示抢答成功或违规抢答选手的号数和分数。这样设计可以使选手更清晰看出剩余时间和自己分数,以便把握答题机会。显示电路图如图3-6。4位一体的数码管有4个LED显示块拼接而成,有4位位选线和8根段码线。段码线控制显示字符的字型,而位选线为各个LED显示块中各段的公共端,它控制该LED显示块的亮或灭。LED显示器有静态和动态显示两种显示方式。本设计采用的动态显示方式。动态显示电路的工作原理为:在某一时刻,只让某一位的位选线处于选通状态,而其
21、他各位的位选线处于关闭状态,同时,段码线上输出相应位要显示的字符段码。这样。在同一时刻,4位LED中只有选通的那1位显示出字符,而其他三位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,在段码线上输出将要显示的字符段码,则同一时刻,只有选通位显示出相应的字符,而其他各位是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同的时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余晖和人眼的视觉 暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。LED不同位显示的时间间隔应根
22、据实际情况而定。发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清;但也不能太长,因为受限于临界闪烁频率,而且此时间越长,占有CPU时间越多。另外。显示位数增多,也将占用大量的CPU时间,因此动态显示是以牺牲CPU时间来换取器件的减少。本设计采用的是共阴极LED在使用时应该考虑单片机输出的高电平是否能驱动数码管,为保证有足够的电压驱动,设计时在每一位的段码线上使用了上拉电阻,提高高电平的伏值,从而能正常显示。1使用动态显示的方法,可以简化电路,减少I/O使用,节省资源,适用于显示位数较多的情况。 图3-6 显示电路3.6主持人控制电路抢答器的控制电路是由主持人控制,做到
23、比赛的公平、公正。它是由5个独立式键盘构成,其中“开始”和“结束”按键是通过键盘扫描程序,查询按键是否有效。“抢答”“回答”“分数”这3个按键是利用单片机的两个外部中断进行时间和分数的调整,这样设计有利于可以在任意时刻调整时间和选手分数。控制电路图如图3-7所示。控制电路的工作原理:“开始”和“结束”两个按键的工作原理如抢答电路中的键盘工作原理,控制系统的开始和结束。“抢答”“回答”“分数”这3个按键,利用单片机自身带有的外部中断,可及时处理相应的中断请求。MCS-51单片机内的中断系统主要用于实时测控,及要求单片机能及时地响应和处理单片机外部或内部事件所提出的中断请求。其中断系统有5个中断请
24、求源,具有2个中断优先级,可实现2级中断服务程序嵌套。用户可以使用中断指令“CLR EA”来屏蔽所有中断请求,也可以用开中断指令“SETB EA”来允许CPU接受中断请求,每一个中断源可以用软件独立地控制为允许中断或关中断状态;每一个中断源的中断优先级别均可用 软件来设置。一个中断源的中断请求被响应,需满足以下必要条件:(1)CPU开中断,即中断总允许位EA=1(2)该中断源发出中断请求,即该中断源对应的中断请求标志位为1(3)该中断源的中断允许位=1,即该中断源没有屏蔽(4)无同级或更高级中断正在被服务。中断响应就是CPU对中断源提出的中断请求的接受。当CPU查询到有效的中断请求,并满足上述
25、条件时,紧接着就进行中断响应。 图 3-7 抢答电路 图 3-8 报警电路 3.7报警电路抢答器的报警电路是系统对违规抢答或无人抢答情况的声音提醒,更具人性化。根据单片机输出高电平的范围和蜂鸣器驱动电流的大小,报警电路设计如图3-8。声音的频谱范围约在几十到几千赫兹,利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。104 系统软件设计4.1 软件设计总述汇编语言是一种标准化的硬件描述语言。可以通过它编写子程序代码,然后用P
26、ROTEUS仿真验证其功能,最后下载到单片机中来实现一个设计。由于汇编语言的符号指令与机器代码一一对应,执行的时间比高级语言快,占用的存取空间和机器语言差不多,对于一些小型的系统设计用汇编语言就可以完成,所以本设计采用汇编语言编写程序。在单片机的应用程序设计中,广泛使用的是结构化的程序设计方法。采用结构化方法设计的程序,具有程序结构清晰、可读性好、调试方便、可靠性高等优点。系统设计包含四个子程序模块:显示模块,正确抢答模块,违规抢答模块、控制模块即调整时间、分数及开始、结束模块,报警模块。各个模块的程序设计将在软件设计部分详细介绍。软件设计的框图如图4-1所示。本设计中包括了以下六个主要的程序
27、:主程序;抢答时间调整程序;回答时间调整程序;分数调整程序;显示及发声程序。开始控制模块正确抢答模块显示模块调整分数模块调整回答时间模块调整抢答时间模块违规抢答模块结束控制模块系统初始化图4-1 软件设计框图4.2 主程序设计主程序是系统未响应中断时,对系统进行实时监控,实现最先抢答选手的锁存并禁止其他选手抢答,对正确抢答和违规抢答选手分别作出处理,通过调用子程序和响应中断程序完成系统的报警、实时显示和时间、分数的调整。其流程图如图4-2所示:(1)正确抢答处理过程 正确抢答处理部分主要是给显示缓冲单元重新赋值,使其显示回答时间倒计时和成功抢答选手的号数和分数,并将该选手面前的灯点亮,程序流程
28、图如图4-3所示:(2)违规抢答处理 违规抢答处理部分,主要是开启抢答器的报警功能,提示有人违规抢答,并给显示缓冲单元重新赋值,使其不显示时间倒计时,只显示抢答选手的号数和分数,同时将该选手面前的灯点亮,程序流程图如图4-4所示:(3)时间倒计时处理时间倒计时部分,是时间正确显示的核心部分,只有处理得当才能进行正确的时间倒计时。根据正确抢答的处理结果,实现抢答、回答时间的正确倒计时,且在时间小于5s时,调用发声程序,对选手进行提醒,其流程图如图4-5所示:NNYYN系统初始化 “开始” 按下?N规定抢答时间内选手按键按下?按下NY违规抢答处理报警提示5s正确抢答处理报警提示进入回答倒计时“结束
29、” 按下?规定回答时间内选手答完题?报警提示5sY选手键按下?Y 图4-2 主程序流程图显示缓存单元重新赋值点亮抢答选手面前的灯延时10ms回答时间赋值给倒计时程序进入倒计时处理调用发声程序显示单元重新赋值N“结束”键按下?Y跳转到程序进行下一轮抢答图4-3 正确抢答流程图 图4-4 违规抢答流程图程序入口点亮第一位数码管延时10ms点亮第二位数码管点亮第三位数码管点亮第四位数码管延时10ms延时10ms延时10ms程序出口关中断现场保护中断处理开中断关中断现场恢复开中断中断返回 图4-6 显示程序流程图 图 4-7中断服务程序基本流程图定时器T1重新赋值显示缓存单元重新赋值调用显示程序YN时
30、间到5s?Y0.5s到了?1s到了?YN关闭蜂鸣器N1s到了?时间减一Y启动蜂鸣器时间减一Y“结束”?NN是抢答倒计时?YN有选手抢答?Y正确抢答处理跳出倒计时图4-5时间倒计时程序流程图4.3 显示程序设计显示程序,作为一个子程序可以被调用,在调用之前应先将显示缓冲单元重新赋值,程序设计时可以利用循环程序判断是否显示完毕,也可以顺序执行程序,依次点亮数码管,因为本设计采用的是P2.0-P2.3作为位选口,P2.4-P2.7口都要使用,为了不引起干扰,不采用循环位选位置的设计方法,而是顺序执行,直至四个数码管全都里亮后,退出子程序。其流程图如图4-6所示。4.4外部中断程序设计 中断系统虽硬件
31、系统,但必须由相应软件配合才能正确使用。首先允许相应的请求源中断,可以分配所使用的中断源的优先级,若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是跳沿触发方式,编写中断服务程序,处理中断请求。采用中断时的主程序结构如下: ORG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT ORG MAIN:主程序 INT:中断服务程序具体中断请求源的关于开,可通过CLR或SETB指令清0或置1中断允许寄存器IE中的有关位来实现,中断服务程序的最后一条指令必须是返回指令RETI,RETI指令是中断服务程序结束的标志。CPU执行完这条指令后,把响应中
32、断时所 置1的优先级状态触发器清0,然后从堆栈中弹出栈顶上的2B的断点地址送到程序计数器PC,弹出的第一个字节送入PCH,弹出的第二字节送入PCL,CPU从断点处重新执行被中断的主程序。11中断服务程序基本流程如图4-7。4.4.1 外部中断0程序设计外部中断0程序,利用一个外部中断,实现了两个时间的调整,单独利用查询程序并不能实现时间的切换,且显示不稳定,需在程序中加入了抢答和回答时间调整的判别程序,从而系统实现了两个时间的切换,而且能够正常显示。为了节省端口资源,对时间、分数的加减调整是通过这两个外部中断口进行的,此时必须首先关掉外部中断,将这两个口作为普通的I/O口使用,在中断服务程序结
33、束之前要进行开中断,保证下一次调整能够继续使用。未避免一次按键出现连加、减几分的情况,程序中对按键查询时采用较长的延时。程序流程如图4-8所示。4.4.2 外部中断1程序设计外部中断1中断服务程序主要是进行各选手分数的调整,此程序执行时必须执行关掉外部中断的操作,因为对分数进行的加一和减一的操作是通过键盘扫描程序,对P3.2和P3.3口进行检测若有低电平出现,则执行加减指令,与中断请求冲突,所以必须在程序开始时进行关中断操作,待加减操作完后,开启中断,最后退出中断处理程序,回到主程序。未避免一次按键出现连加、减几分的情况,程序中对按键查询时采用较长的延时。程序流程如图4-9所示。4.5 定时器
34、中断程序设计STC89C52单片机内有两个可编程的定时器/计数器,具有定时器和计数器两种工作模式,可以对外部脉冲计数,也产生精确的定时时间。STC89C52定时器/计数器具有4种工作方式(方式0、方式1、方式2、方式3),其控制字均在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编程,用户可方便地选择定时器/计数器2种工作模式和4种工作方式。特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。TMOD、TCON这两个寄存器的内容有软件设置。单片机复位时,两个寄存器的所有位都被清03
35、。单片机的本设计利用两个定时器/计数器的定时器工作模式,完成时间倒计时。其中T0、T1分别完成发声程序,时间倒计时程序的所需要的定时时间。其中断服务程序流程图分别如图4-10和4-11所示。中断程序入口定时器T0赋初值发声?取反P2.4程序出口中断程序入口定时器T1赋初值中断次数指针加一程序出口图4-10 定时器T0程序流程图 图4-11定时器T1程序流程图 中断程序入口关掉外部中断YN是抢答?将回答时间赋值时间单元将抢答时间赋值时间单元加一YY加一N执行加一处理程序NN减一减一NYY执行减一处理程序执行减一处理程序N结束?Y开中断中断程序出口图4-8外部中断0程序流程图NYYY减一?N调整?
36、重新赋值显示缓冲单元,关中断中断程序入口加一?开中断结束?N执行减一Y执行加一返回主程序N 图4-9 外部中断1程序流程图5 结论 本系统以单片机STC89C52作为控制核心,成功的实现了如下功能:(1)有主持人一人控制系统的“开始”“结束”,体现比赛的公平、公正。(2)抢答、回答过程中都有时间、选手号数、分数显示,提醒选手把握答题机会。(3)对违规抢答选手会有报警提醒,以便做出正确的处理。(4)可根据题目难度和选手答题情况,调整抢答 、回答时间以及各位选手的分数。设计结果完全符合设计要求,实际运行效果良好,并可进行进一步的扩展。系统在运行时有极小误差,其原因是晶体振荡的特点所决定的,同时与芯
37、片的内部结构、程序执行时间有关。解决这些误差的方法是提高石英晶体振荡器的稳定性及使用精度较高的电容等。参考文献1 张毅刚. 单片机原理及应用M. 北京. 高等教育出版社,2003.2 何立民. MCS-51系列单片机应用系统设计M.北京:北京航空航天大学出版社,20013 李全利. 单片机原理及接口技术M.北京:高等教育出版社,20044 蔡美琴. MCS-51系列单片机系统及其应用M.北京:高等教育出版社,20025 李光飞. 单片机课程设计实例指导M.北京: 北京航天航空大学出版社,20046 李朝青. 单片机原理及接口技术(第3版)M.北京航空航天大学出版社,20027 侯建军. 数字电
38、子技术基础(第二版)M.北京:高等教育出版社,20048 阎石. 数字电子技术基础(第四版)M.北京:高等教育出版社,2000 9 A.S.K Kasalkin. Electrical EngineeringM. Mir Publishers Moscow,2004:27027510 Laboratory at the NASA Langley Research Center. The Data Acquisition and Control Systems of the Jet NoiseM. 1998 11 John Markus. Moderm Electronic Circuits R
39、eference Manual McGrawHill.IncJ.1982. (28):15-17 致 谢我的毕业论文撰写工作自始至终都是在杨俊锋老师全面、具体的指导下进行的。在完成课题的过程中,我查阅了大量的资料,激发了我对电子专业的热爱,同时也深深地意识到自己知识上的薄弱,我以后会更加努力认真地学习专业知识,争取更多更好的设计。另外我要感谢我的指导老师杨俊锋老师,他在毕业设计的思路上给予我极大的帮助,在论文的修改上给予我莫大的关怀。我还要感谢为我提供良好的实验环境和学习环境的杨俊锋老师及班中的各位同学,是他们在我遇到困难的时候给了我帮助,没有他们的帮助,我不可能圆满的完成这次设计任务,完成这
40、次毕业论文。最后,我衷心的感谢培育我的校园,和教育我的各位老师,祝大家身体健康,万事如意!附 录:Design of The Digtal And Intelligent Responder SystemZhang Chenyu Directed by Yang Junfeng lecturerAbstract This design uses standard hardware description language - assembly language, combined with the digital single chip ,to design a intelligent res
41、ponder system.The system consists of clock circuit, reset circuit, answer circuit, dynamic display circuit, the main control circuit of this person, the alarm circuit .It can accurately save and display the correct player against other players in the same time, the LED lights to light up in front, a
42、nd shows numbers, scores of the players,within the specified time, if non-compliance or no answer in the situation,it will alarm. In addition, the system also can adjust the time,the scores of player ,and the number of the player.The systerm can be widely used .Keywords STC89C52 Responder Circuit LED Control Circuit Alarm Circuit22