内容正文:
项目五 设计制作四路抢答器
项目五 设计制作四路抢答器
本章学习目标
1)掌握键盘的工作原理;
2)掌握独立式键盘接口与应用;
3)巩固数码管显示技术;
4)熟练C51程序设计。
项目五 设计制作四路抢答器
项目描述
1.项目名称
项目名称:设计制作四路抢答器
2.项目要求
1)用KeilC51、Proteus作开发工具;
2)用AT89C51单片机作控制;
3)数码管显示最先抢答者按键编号(1-4),无抢答时显示0;
4)具有四路抢答功能,最先抢答者按下抢答键后,其它抢答者无效,只有等主持人按下复位键后,才能进入下一轮抢答;
5)发挥扩充功能:能倒计时,能发声提示等。
项目五 设计制作四路抢答器
项目描述
3.设计制作任务
1)拟定总体设计制作方案;
2)设计硬件电路;
3)编制软件流程图及设计相应源程序;
4)仿真调试四路抢答器;
5)安装元件,制作四路抢答器,调试功能;
6)完成项目报告。
项目五 设计制作四路抢答器
1.键盘与消除键盘抖动
键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件。按连接形式一般分为独立式键盘与矩阵键盘。
使用机械触点式键盘开关,在按键按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后触点才稳定下来,其抖动过程如图.
键盘抖动过程
在按键数量较少时,常采用硬件消除抖动,键数较多时,采用软件消除去抖动。
项目五 设计制作四路抢答器
键盘抖动过程
硬件消除抖动
硬件消抖是在按键输出端接R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路。
软件消除去抖动
软件消抖动是在检测到有按键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于稳定闭合状态。
项目五 设计制作四路抢答器
相关知识
2. 独立式键盘
独立式键盘硬件结构
独立式键盘结构图
电路配置灵活,但占用I/O口多,适合少量按键。
项目五 设计制作四路抢答器
相关知识
独立式键盘软件常采用扫描查询方式。
程序执行流程是:确定是否有键按下—>去抖动—>译码,确认是那个按键按下—>确认按键释放—> 按键值散转。
三种扫描查询方式
程序查询;
定时查询;
中断查询。
3.独立式键盘的软件结构
项目五 设计制作四路抢答器
相关知识
查询流程图
项目五 设计制作四路抢答器
相关知识
4.独立键盘应用
案例一:编程用数码管循环显示按键按下次数
1)编程要求
编写程序对按键按下次数计数,每按下一次,计数加1,计数值到9后,重新从0开始计数,并用共阳数码管显示。
2)编程思路
如果有按键是否按下,首先去抖动,确认确实属按键按下,就让计数值加1,然后用共阳数码管显示。程序流程图如图所示。
项目五 设计制作四路抢答器
相关知识
项目五 设计制作四路抢答器
相关知识
参考程序(见案例程序)
项目五 设计制作四路抢答器
相关知识
4.独立键盘应用
案例二:编程用一只键控制组合灯
1)编程要求
编写程序实现功能:当S1键按下1次,LED1亮灭变化,当S1键按下2次,LED2亮灭变化,当S1键按下3次,LED1、LED2全亮,当S1键按下4次,LED1、LED2全灭。
2)编程思路
程序采用查询方式判断按键S1是否按下,如果按下则去抖动,按键次数加1,根据次数执行相应操作:次数为1,LED1亮,次数为2,LED2亮,次数为3,LED1、LED2全亮,次数为4,LED1、LED2全灭。次数大于4,则回到1,程序流程图如图所示。
项目五 设计制作四路抢答器
相关知识
项目五 设计制作四路抢答器
相关知识
参考程序(见案例程序)
项目五 设计制作四路抢答器
项目实施
1.总体设计思路
基本功能实现思路是:用AT89C51单片机作控制,4只按键构成独立键盘实现抢答操作,1位共阳数码管动态显示抢答者按键编号,总体框图如图。
项目五 设计制作四路抢答器
项目实施
1.总体框图如下:
项目五 设计制作四路抢答器
项目实施
2.设计硬件原理图
参考原理图如图
项目五 设计制作四路抢答器
项目实施
3.篮球计分牌程序设计
程序设计思路
4个按键按下时返回键值分别为0x01、0x02、0x04、0x08,根据键值分别执行1-4号的抢答操作。
某一按键按下后,首先显示按键编号,然后让程序停止按键扫描,使其它按键无效,程序参考程序流程图。
项目五 设计制作四路抢答器
项目实施
参考流程图
项目五 设计制作四路抢答器
项目实施
4.调试仿真四路抢答器
(1)建立仿真模型。
(2)仿真。
。
项目五 设计制作四路抢答器
项目实施
5.安装元器件,烧录、调试样机
1)安装元器件及检测
2)固化程序
3)运行四路抢答器
项目五 设计制作四路抢答器
项目实施
本项目结束
谢 谢
项目五 设计制作四路抢答器
$$