基于单片机应用的多路无线抢答器的设计
2012-10-23孙军辉
孙军辉
德州职业技术学院 山东德州 253034
基于单片机应用的多路无线抢答器的设计
孙军辉
德州职业技术学院 山东德州 253034
鉴于传统电路设计的抢答器电路复杂、成本高、稳定性差等缺点设计基于单片机应用的无线抢答器,采用了硬件和软件相结合的设计思想,应用程序设计提升了抢答器的性能,无线模块由三极管控制,使其动作迅速、运行可靠。基于单片机的无线抢答器克服了传统抢答器的不足,又能较好实现其功能。
单片机;无线抢答;硬件电路;系统程序
Abstract: Because of complex circuit, high cost, poor stability of responder that was designed by traditional circuit, the wireless responder is designed by single chip microcomputer, uses design concept of the combination of hardware and software, promotes the performance of responder which uses program design. Wireless module that is controlled by triodes acts quickly and operates reliably. Wireless responder which is designed by single chip microcomputer overcomes the inadequacy of traditional responder and is better able to realize its function.
Key words: single chip microcomputer; wireless responder; hardware circuit; system program
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等“智能型”工业产品。在知识竞赛抢答中,简单电路设计的抢答器,只靠人的能力很难判断出哪一组先抢答,且故障率高、体积大应用不方便。利用单片机编程设计抢答器,能轻松地分辨出抢答的次序,且具有体积小、故障率低的优点。
1 单片机的选择及无线抢答器的设计
1.1 单片机的选择
单片机选用的是STC89C52,它是一种低功效、高性能CMOS8位微控制器,具有8k在系统可编程Flash存储器。
1.2 无线抢答器的设计思路
采用STC89C52单片机作为整个控制核心。控制系统的4个模块为:显示模块、控制模块、声音模块、无线抢答模块。按键通过开关电路输入各路的抢答信号,经单片机处理, 输出控制信号,在数码管上显示答题组,从而实现整个抢答过程。
1.3 无线抢答器的设计
模块部分主要分为STC89C52芯片、独立式键盘、LED数码管显示、无线接收以及信号的放大部分。
(1)独立式键盘:利用8个常开按钮开关和无线模块组成抢答器的输入电路。S1~S8为自复式常开按钮开关,分别作为8位抢答按钮,锁存器的输入端为低电平。
(2)LED数码管显示:译码器的逻辑功能是将每一个输入的二进制代码译成对应的输出高、低电平信号。数码管可以用TTL或CMOS集成电路直接驱动。
(3)无线接收以及信号的放大:单片机将很多任务交给了软件程序去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。由于单片机本身不具有软件编译测试的功能,需要借助其他软件编译,将编译好的程序“烧”入单片机内。
2 硬件电路设计
(1)总体设计:单片机最小系统、显示放大电路、无线接收及改进模块、声光报警、按键控制。
(2)外部振荡电路:一般选用石英晶体振荡器。此电路在加电延迟10 ms后起振振荡器,其振荡频率由石英晶振的频率决定。
(3)复位电路的设计:单片机的第9脚RST为硬件复位端,只要将该端持续2个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始状态,可使用硬件复位和软件复位两种方式。
开关组成了抢答按键,在程序中要消除按键过程中产生的“毛刺”现象,采取最常用的方法,即延时法,只要按键的时间大于“毛刺”脉冲持续时间(约为几毫秒)即可消除“毛刺”。
3 系统软件设计
3.1 抢答器设计流程图
流程图中文本框表示各种操作的类型(如图1~图3所示),文本框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结构为顺序结构,分支结构(又称选择结构),循环结构。
图1 抢答器主程序流程图
图2 抢答器定时器中断流程图
图3 中断程序图
3.2 主程序
抢答器采用C程序设计,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户,这些函数可方便调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。设计的主程序中包括时钟设计程序、定时器中断子程序、LED显示程序以及按键控制子程序。
3.3 中断
中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一个程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。
有5种中断源:外部中断0、外部中断1、定时器中断0、定时器中断1、串行中断。对它们的描述见表1。
表1 5种中断源的表示
3.3.1 中断所用到的寄存器
(1)定时器/计数器控制寄存器TCON:TCON的作用是控制定时器的启动与停止,标志定时器的溢出和中断情况。
(2)中断允许控制寄存器IE:对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,既可以按字节寻址,也可以按位寻址。当单片机复位时,IE被清零。
(3)串行控制寄存器SCON:定时/计数器的控制方法,在启动定时/计数器工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器中,这个过程称为定时/计数的初始化。定时/计数器的初始化通过定时/计数器的方式,由寄存器TMOD和控制寄存器TCON来完成。
①定时/计数器方式寄存器TMOD(见表2)。
表2 选择定时方式表
②中断程序的编写步骤:根据要求设置IE(中断允许寄存器)的对应位EA(EA—总中断允许位:EA=1,开放所有的中断;EA=0,禁止所有的中断),某个中断源还有相应的中断允许位。
(4)INT0,INT1设定触发方式IT0(外部中断触发方式控制位)当其为0时:低电平触发;当其为1时:下降沿触发。
(5)返回值是Void中断函数名(interrupt)。
3.3.2 为什么采用中断控制方式:CPU与外部设备的数据传送方式
(1)无条件传送方式:CPU总认为外设处于准备好的状态,外设比较简单。
(2)程序查询传送方式:外设有一个状态(状态存储在寄存器内)。
缺点:CPU工作效率低,CPU处于等待的状态,为解决此缺点便出现了第三种传送方式。
(3)中断传送方式:中断是指由于某种随机事件的发生,计算机暂停现行的程序,转去执行另一程序以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。
优点:
①实现分时操作:CPU分为多个I/O设备服务,提高计算机的利用率(提前安排好的函数而中断不同)。
②实时响应:CPU能够及时处理应用系统的随机事件,系统的实时性大大增强。
③可靠性高:CPU具有处理设备故障及断电等突发性事件的能力,从而提高系统的可靠性。
(4)定时器的初始化:
①确定工作方式—对TMOD赋值;
②设置初始值—直接将初值写入THO,TLO;
③开启定时器的中断—{ETO=1 EA=1};
④启动定时器—将TR0或TRI置“1”。
[1] 李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.
[2] 张文灼.单片机应用技术[M].北京:机械工业出版社,2009.
[3] 胡伟.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2003.
[4] 冯育长.单片机系统设计与实例指导[M].西安:西安电子科技大学出版社,2007.
[5] 郭培源.电子电路及电子器件[M].北京:高等教育出版社,2003.
[6] 杨志忠.数字电子技术[M].北京:高等教育出版社,2002.
Design of multi-channel wireless responder that is based on application of single chip microcomputer
Sun Junhui
Dezhou vocational and technical college, Dezhou, 253034, China
2012-02-27
孙军辉,本科,副教授,系副主任。