菏泽学院本科微机原理与接口技术课程设计
抢答通道 P1.0P1.1 字位控制 8位输入按钮 表决通道 P3.0 AT89C51 LED显示器 P1.2 P3.1 P1.3 P3.5 字形控制 声音控制 控制按钮 稳压电源 图1-1 抢答器电路流程图
制完成后进行电路板的印刷,然后进行元器件的焊接,最终完成整个智能抢答器系统的硬件部分,然后进行软件编程,确定完成整个智能抢答器系统后进行调试。
2 系统总电路的设计
系统总电路主要有显示模块、抢答模块、报警模块和表决计时模块等组成,系统总仿真电路图如图2-1所示。 2.1 抢答通道
利用单片机的两个中断请求输入引脚,并将单片机的定时/计数器T0与T1的脉冲输入引脚扩展为两个中断请求输入引脚,来实现八路抢答功能,这样利用中断特性及时响应抢答信号,减小两组抢答时间相差很小时所引起的误差。如果系统中抢答组数多于4组,则对4个中断请求输入引脚前极加逻辑门电路即可。本设计的抢答是通过是SW0、SW2...SW7实现的。抢答模块电路如图2-2所示。2.2 表决通道
系统开启电源后,集中器和表决器都上点复位进行自检。表决器处始化之后处于通讯接收状态。集中器在初始化之后,则转入对表决器的线路检测通讯,直接发送地址帧查询表决器。地址帧格式为各表决器的地址号,采用地址位(第9 位为1)方式。表决器接收后发生中断,判断是否与本机地址符合,如不符合,信息丢弃,继续接收;如符合,则转向中断处理,发送“本机正常”信息,帧格式为本机地址。集中器接收后判断是否信息正确,正确则把该“表决器正常”信息存储。之后集中器接着检查下一台表决器。如接收信息不正确,集中器延时一段时间再发一次,两次都不正确则判断该表决器
有故障。表决器有故障的用一个
5
基于AT89C51的智能抢答器的设计
图2-1 系统总仿真电路图
空字节来表示状态。依次通讯后,最后再对第一次没确认的表决器询问,这个是通过检查刚才的结果来询问,即分析刚才存起来的表决器状态字来确定有问题的表决器。
图2-2 抢答模块电路图
2.3 锁存部分
锁存部分采用串行--并行位输出锁存移位寄存器74H30。要显示字符,首先要把这个字符转换成相应的字形码。然后通过串行口发送到74HC30,74HC30把串行口接收到的数据变为并行输出加到数码管上。本设计采用的是共阳8段数码管显示器。
6
菏泽学院本科微机原理与接口技术课程设计
2.4 时序控制电路
时序控制电路是抢答器设计的关键,它要完成以下3项功能:主持人将控制开关拨到“开始”位置时,扬声器发声,抢答电路和定时电路进入正常抢答工作状态。 当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。当设定的抢答时间到,无人抢答时,扬声器发声,同时抢答电路和定时电路停止工作。 2.5 字位控制
由P1口输出字形码,让数码管显示第一个抢答组的编号。为了提高信号驱动能力,用单向驱动器74LS244来驱动数码管。 2.6 LED显示模块
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。本文选取LED是考虑了亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等特点。数码管电路如图2-3所示。
图2-3 数码管模块电路图
在图2-2中当按钮按下时通过P1双向I/O将数据送入AT89C51,AT89C51对其进行编码,将数据转化为相应的二进制代码,再经过串行口P3.0,P3.1将数据送入串行转并行八位移位寄存器74HC30,将数据锁存在74HC30中,同时对二进制代码进行译码,通过输出口O0-O6以并行的形式将数据输入数码显示器。 2.7 蜂鸣器报警模块
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 利用单片机I/O定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。蜂鸣器模块电路图如图2-4所示。
7
基于AT89C51的智能抢答器的设计
图2-4 蜂鸣器模块电路图
3 程序设计
3.1 主程序
主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。程序流程如图4.1所示,对单片机进行初始化,包括设置堆栈、倒计时30s设置、定时器T0设置,外部中断设置,键盘扫描设置,初始化状态显示000。抢答器系统的软件部分主流程图如图3-1所示。 3.2倒计时子程序
首先要把累加器ACC和程序状态字PSW放入堆栈保护,然后进行倒计时的设置,倒计时,先看看是否到达1S,如果到了,倒计时自动减1,并在数码管显示,再判断最终倒计时到没,如果没到,继续倒计时并显示,直到倒计时计完为止,然后弹出累加器ACC与程序状态字PSW,中断退出,程序返回到中断入口处。 3.3外部中断T1中断子程序
外部中断T1中断时要先把累加器ACC和程序状态字PSW放入堆栈保护,然后把20H标志位置0,再调用显示程序,T0开始定时,T1停止,然后设置倒计时,设置之后弹出累加器ACC和程序状态字PSW,中断退出,返回到中断入口处。
3.4蜂鸣器中断子程序
定时器T1中断时要先把累加器ACC和程序状态字PSW放入堆栈保护,然后就是响铃。接上喇叭,利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。设置之后弹出累加器ACC和程序状态字PSW,中断退出,返回到中断入口处。
8
菏泽学院本科微机原理与接口技术课程设计
主程序 设置RC端口为输出 设置RB端口为输出 为选项寄存器赋初值 开放INTA、RB及总中断使能位 将端口RC全部输出为低电平 端口RB锁定为基准电平 清除RB中断标志 进入睡眠状态准备中断 中断到来转服务子程序 图3-1 主流程图
3.5选手按键程序
键盘扫描时先判断20H单元和21H单元标志位是否为0,是的话就说明允许键盘扫描,否的话就说明不允许键盘扫描,不允许扫描就返回调用,结束,允许扫描时开始扫描P1口看有没有选手按下答题键,按下时此口变为低电平0,如果没有选手按下就检查20H和21H。 3.6数码管显示程序
9
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于STC89C51的抢答器设计 - 图文(2)在线全文阅读。
相关推荐: