基于单片机的8路抢答器设计报告内容摘要:

然后通过串行口发送到74LS595,74LS595把申行口接收到的数据变为并行输出加到数码管上(提供adp的驱动)。 本设计采用的是共阳极8段数码管显示器。 显示部分采用动态扫描4 位LED显示接口电路,LED动态显示是单片机中应用最为广泛的一种显示方式,其接口电路是把所有显示器的8个笔划段adp 同名端并联在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制,CPU的字段输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了,在轮流点亮扫描过程中,每位显示器的点亮时间表是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉将就尽管实际上各位显示器并非间时点亮,但只要扫描速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 该模块由共阳极LED数码管和2K的电阻组成,用来显示抢答器信号的具体路数的,数码管的两个接地端同时接电源,其余8个引脚分别单片机8个输出口连接,根据单片机引脚与数码管的连接关系,可以列出显示不同数字的段选码,从而准确的输出抢答路数。 图24 锁存—显示电路原理图 超限报警电路当定时抢答的时间已到,却没有选手抢答时,系统进行短暂报警已示本次抢答无效。 报警信号通常有三种类型:闪光报警、鸣音报警、语音报警,本系统采用简单易行的声光报警电路。 如图25所示报警电路,报警设备选用压电式蜂鸣器,它约需要10mA的驱动电流,只需在其两条引线上加3~15V的直流电压,即可产生3KHz左右的蜂鸣声音,图中蜂鸣器的一端接在高电平+5V,,当需要报警时,程序对其端口清零即可,声音的长短可用延时程序控制实现。 图中接入的发光二极管LED为超高线报警器,“0”时,二极管导通,灯亮发出报警信号。 图25 报警电路第3节 系统的软件设计整个程序的设计思路如下:首先用进位标志C作为主持人按键的状态标志,C=O为可以开始抢答(如果需要也可用一个发光二极管将C的状态显示出来,只需将程序做小小修改即可);接下来开外部中断0:然后是读取按键状态,只要有一个按键按下(引脚为高电平)并且C=0,则开始进入分析按键状态程序,用循环移位指令分析出是第几个按键按下,并将其放入P1口进行显示输出。 上述程序相对来说很简单,首先它从硬件的微秒数量级处理速度上确保了不会同时按下2个按键,因此程序没有区分重复按键的部分,另外程序使用了外部中断,从而保证了主持人按键的权限是所有按键中权限最高的。 图31所示为程序设计流程图。 Y N N Y Y N Y N开始(主持复位)电路初始化开始抢答显示剩余抢答时间有人抢答扬声器短暂报警扬声器发声显示选手号允许答题时间到调节允许抢答时间显示剩余抢答时间显示允许答题时间调节时间显示剩余答题时间允许抢答时间到报警图31 程序流程图本抢答器的软件系统主要包括系统主程序设计、抢答信号的处理设计、键盘扫描子程序、键值处理子程序和显示子程序五部分。 系统主程序设计主程序的功能主要是完成内部各寄存单元的初始化,对接口电路的初始化,内部定时器的初始化,中断的初始化及调用显示程序对初始状态的显示以及对外部信号的等待处理,也就是说完成前期的准备工作等待随时对外部信号进行响应。 程序清单如下:OK EQU 20H。 抢答开始。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。