IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【单片机项目实训】八路抢答器 -> 正文阅读

[嵌入式]【单片机项目实训】八路抢答器

将单片机项目实训——8路抢答器分享出来,如有不足,敬请指出。

【实验图片】?

【实验视频】

【项目实训】8路抢答器

目录

一、设计要求

二、方案选择

三、硬件电路设计

五、其他图片

六、资料链接

七、关于作者

八、后记


一、设计要求

? ? ? ? 设计一个共8名选手参加的8路抢答器。每名选手一个抢答器按钮,供参加者使用。电路具有第一抢答信号的鉴别和储存存储功能。主持人发出抢答指令后,如果参赛者在第一时间按下抢答按钮,则数码管立即显示出相应的选手编号,同时电路应具有自锁功能,使其他选手抢答按键不起作用。

? ? ? ? 功能与要求:每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有信号的鉴别和数据的储存显示的功能。抢答开始后若有选手抢答,则在数码管上相显示相应的编号,同时电路应具有自锁功能,禁止其他选手再抢答,优先抢答选手的编号,一直保持到后台管理员将系统清零为止,抢答器具有定时抢答的功能,在主持人发出抢答指令后定时器立即进行减计时,并在显示器上显示,同时蜂鸣器发出短暂的声响。选手在设定的时间内进行抢答,抢答有效。定时器停止工作,显示器显示选手编号,并保持到后台管理员将系统清零为止。

二、方案选择

? ? ? ? 方案1:利用硬件电子元器件实现,但电路结构复杂,调试困难,涉及到外围元件多,不便于安装,实验给实验操作带来很大的麻烦。

? ? ? ? 方案2:采用STC89C52RC单片机,其片内带有8KB? Flash ROM、512KB? RAM,指令代码完全兼容传统8051,无需专用仿真器,可通过串口直接下载用户程序,数秒即可完成程序下载。STC89C52RC内部几乎包含了数据采集和控制所需的所有单元模块,其内部结构框图如下:

? ? ? ? ?分析以上两种方案,从方案1可以看出,这个抢答器就是有抢答电路、定时电路、报警电路、时序控制电路4个电路组成的。扩展电路是由秒钟脉冲信号产生电路、译码电路、显示电路等组成的,它的功能很齐全,设计的电路也很稳定。但是它的造价很高,仅仅集成电路它就使用了八个,所以选用单片机方案。

? ? ? ? 八路抢答器实现方案组成框图如图所示:

三、硬件电路设计

? ? ? ? 系统硬件电路原理图如下图所示。它主要包括系统管理员按键(复位按键)、3个主持人按键(K1、K2、K3)、8个选手按键(S1、S2、S3、S4、S5、S6、S7、S8、S9)、4位共阳极数码管显示电路、蜂鸣器报警电路,以及电源接口和电源指示灯电路。

四、软件设计

主函数如下所示:

void main(void)
{   
    timer0_init();
    while(1)
    {
        time_set();
        display_time(time);
        if(user_flag)//当有用户按键被按下时(user_flag在外部中断函数中被修改)
        {
            if(user != ERROR)//当用户按键被正常按下时
                display_user(user);//显示用户的编号
            else//如果显示错误(当有多个按键同时被按下时)
                display_error();//显示错误
        }
            
        if(stop_flag)//当倒计时停止后(stop_flag在定时器零中断函数装备修改),仍然没有用户按一下按键
            display_error();//显示错误

    }
}

五、其他图片

(1)PCB-3D图片

(2)实物图片

六、资料链接

(1)演示视频链接:

链接①:哔哩哔哩--------点击播放

链接②:

链接③:爱奇艺--------点击播放

链接④:腾讯视频--------点击播放

链接⑤:快手视频--------点击播放

(2)原理图下载:

链接:百度网盘--------点击下载

(3)源程序下载:

链接:百度网盘--------点击下载

七、设计要点

(1)如何将8个用户抢答按键,“综合”到外部中断0端口,使得一旦用户抢答按键被按下,则立刻通过中断响应发生相应动作?

充分利用二极管的单向导电性,一旦某个按键被按下,则外部中断0端口被拉低,就会产生一个高电平到低电平的转变,这时候进入外部中断0响应,然后通过读取用户端口的状态,就可以达到所需的效果。这里是二极管组成了“与”门,一般的“与”门芯片,比如74LS/HC系列,一块芯片的成本至少需要几毛钱,而且体积比较大,这里采用二极管代替“与”门芯片,无论从价格还是从体积上都优于专用芯片。(注意:这里的上拉电阻必不可少)

八、关于作者

微创电子工作室,刺客阿瑞

九、后记

(不断完善中)

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:07:47  更:2022-07-04 23:08:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:30:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码