单片机实例分享,简单实用的多路大屏幕抢答器
方案设计
多路抢答器的原理非常简单,是借助单片机与普通电脑进行串口通信来实现的,需要用VisualBasic 6.0编写上位机软件,最后的抢答结果通过电脑连接投影仪呈现在大屏幕上,效果非常好,就像电视上的知识竞赛一样。原理图如图12.1所示,需要准备的硬件见表12.1。
图12.1 多路抢答器的原理图
表12.1 硬件准备
图12.2 STC89C52单片机最小系统
图12.3 抢答器按键(带3.5mm插头和10m长导线)
图12.4 USB转TTL模块
图12.5 3.5mm单声道耳机插座(正好匹配抢答器按键插头)
图12.6 7×9万用板(铜柱用来支撑、固定电路板)
图12.7 2.54mm排针
硬件连接
01 准备好硬件就可以连接了,参考原理图,先把3.5mm单声道耳机插座和单片机最小系统焊接在万用板上。
02 连接 USB 转 TTL 模块和抢答器按键,单片机最小系统的供电由USB转TTL模块提供,取自电脑USB口。
03 如果你喜欢,可以自己加一个外壳,这样能显得美观些,也防止落入灰尘。
软件设计
组装完毕后,就需要把单片机下位机程序(见图12.8)下载到单片机里,由于选择的是STC单片机,支持串口下载,所以通过USB转TTL模块就可以把程序下载到单片机最小系统,单片机的所有代码可以到qq群657864614进行下载。
图12.8 部分代码界面
电脑上位机软件我用VisualBasic来编写(见图12.9),用MSComm控件来实现单片机与电脑串口的通信功能。在VisualBasic的常用控件里,是没有MSCOMM控件的,我们可以通过工程→部件→钩选Microsoft COM Control 6.0 来添加。由于篇幅限制,我在这里不能详细列出代码,同样可以在qq群657864614进行下载。
图12.9 用VisualBasic编写上位机软件
效果展示
将单片机下位机程序下载到单片机最小系统,插上USB转TLL模块,就可以运行电脑上位机软件,最后通过电脑连接投影仪,投影在会场的大屏幕上,效果很好。
运行电脑上位机软件之前需要先连接串口,插上USB转串口模块后需要在“计算机管理”中找到模块所分配的COM口(见图12.10),然后选择COM口再连接(见图12.11)。抢答器的具体使用效果如图12.12~图12.14所示。
图12.10 查看串口
图12.11 启动软件后,需要先连接串口
图12.12 上位机软件的开始界面
图12.13 抢答结果呈现
图12.14 提前抢答(被扣分)
总结
我制作的这个抢答器没有使用传统的纯电路设计,而是使用价格低廉的单片机和电脑软件呈现。最后我想说,大家如果感兴趣,可以多关注一下VisualBasic的MSComm控件,这个控件为普通的电子爱好者真正实现了电脑对外围硬件乃至家用电器的控制,在此基础上我又做了其他软件,道理相同,展示一下效果图(见图12.15和图12.16)。
图12.15 智能小车控制软件
图12.16 传感器演示软件
有了这个MSComm控件,大家可以充分发挥想象力,在我提供的这个程序例子的基础上修改,就能通过串口或者蓝牙与单片机通信,操控继电器或者回传传感器数据,最终实现对家用电器的控制,让你提前进入物联网时代。
■我的淘宝店铺:首页-数码达人小李-淘宝网,主打数码电脑周边产品,性价比高,发货快,服务好,品质过硬,现有满减优惠活动,赶快行动起来吧!
元兔计划魔法阵无线充电器正版苹果专用iPhonex/xr XSMax美少女-淘宝网
昕科发热暖桌垫办公室桌面电脑鼠标写字暖手电热板电暖加热暖桌宝-淘宝网
迷你充电宝便携大容量20000毫安 超薄苹果冲正品移动电源小米华为-淘宝网
usb迷你电风扇 学生宿舍床上静音小夹扇 办公桌面无声风扇-淘宝网
2013款雷蛇鼠标炼狱蝰蛇精英版 绿光幻彩有线 绝地求生专用-淘宝网
从一个简单的项目,学会单片机的使用:51单片机设计的8路抢答器
单片机作为可编程器件,简化了电路的设计、方便了逻辑设计,从此再也不用使用一大堆电路做硬件逻辑了。拆开任何一件功能稍微复杂一点电子产品,里边都可以看到单片机的身影。学会单片机对找工作也很有利,而且待遇还不错,今天就从实例分享的角度和大家共享一个案例,用单片机来实现一个抢答器。
在电视节目中,经常看到抢答器出现在知识竞赛、答题竞赛节目中,如江苏卫视的《一站到底》,抢答器可以准确、公正、直观、公平的显示出抢答选手的编号,可以更好的促进各选手之间的竞争意识,营造紧张的抢答气氛,增加节目的趣味性和观赏性。
抢答器的设计框图
抢答器要实现如下功能:抢答功能、显示功能、倒计时功能、自锁功能。节目后台需要控场,拥有抢答器的绝对控制权。功能需求 如下:
开始、结束功能 :只有按下开始按键后,现场选手才可以开始抢答,否则抢答事件不被处理视为无效;自锁、互锁功能 :为了保证抢答的公平性,在开始抢答后,第一个按下抢答的视为有效抢答,产生有效抢答后其他抢答视为无效;计时、设置功能 :后台/主持人可以设置抢答时间的长短,以倒数秒的方式显示,增强紧张气氛;显示、声音功能 :用数码管显示倒计时秒数,选手抢答成功后显示抢答者编号和剩余时间;在该设计中,按键采用机械式的四腿按键来实现,按键数量10个;显示采用三位数码管来实现,两位显示时间,一位显示选手编号;声音提示用蜂鸣器来实现。核心器件采用51单片机来实现。其功能框图如下图所示。
1-抢答器功能框图
按键输入电路设计
该抢答器设计中总共有10个按键,其中8个按键用于给用户抢答用,所代表的编号为1-8,另外两个按键分别为开始键和结束键,由主持人或者后台控制。由于8路输入抢答按键具有互锁功能,所以只要有一个有效输入后,其他抢答都是无效的,这个功能可以在程序中实现,为了方便程序设计,这里采用8输入与非门来实现,所用型号为74LS30,该与非门有8路输入,1个输出,功能框图如下所示。
2-74LS30与非门框图
8个按键作为74LS30的输入,输出通过NPN三极管接入51单片机的外部中断0接口,以中断的方式实现按键功能的检测,单片机的中断资源为低电平有效,为了提高电路稳定性在三极管的集电极上加入上拉电阻,以防误动作。
3-按键输入电路设计
开始和结束两个按键采用独立式按键设计,占用掉单片机的两个IO口,程序中采用轮询来实现。
数码管显示电路设计
显示部分采用数码管来实现,根据设计要求,两位用于显示倒计时时间,最大可以显示99;一位用于显示选手编号,故需要3颗数码管,该设计中采用共阳数码管来实现,所谓共阳数码管是指公共端接高电平,段选管脚接低电平后相应的字段才会被点亮。共阴数码管正好相反,公共端接低电平,段选管脚接高电平后相应的字段才会被点亮。数码管的实物图如下所示。
4-数码管实物图
数码管的引脚比较多,除了8个段选管脚外,还有公共端/位选引脚,如果用三颗独立的数码管可能需要较多单片机引脚资源,为了解决这个问题,本例设计采用74HC595作为数码管驱动。74HC595是串入并出的移位寄存器,只需要三个引脚就可以控制8个引脚的输出,而且还可以实现级联。所以74HC595通常在数码管驱动和点阵屏中应用比较多。
这三颗数码管中,分为时间显示和编号显示两组,用到三颗74HC595,其中两颗级联用于控制时间显示的数码管,总共用到6个单片机的IO口,驱动电路如下图所示。
5-数码管驱动电路
蜂鸣器发声电路设计
需求中提到发声设计,当有效按键事件发生时,蜂鸣器发声作为提示音,当倒计时进入5秒之内后还没有人按键抢答时,蜂鸣器每隔1秒发声,制造现场紧张的气氛,提高节目的观赏性和娱乐性,增强节目效果。本例中选择了蜂鸣器,蜂鸣器驱动电路如下图所示。
6-蜂鸣器驱动电路
由于单片机的IO口驱动能力有限,所以采用三极管来驱动,这里选用了PNP三极管。三极管驱动蜂鸣器时工作于饱和状态,为了让三极管充分饱和,将蜂鸣器接在了三极管的集电极,这个地方初学者在设计电路时要注意。图中当单片机的IO口输出低电平时蜂鸣器工作发声。
抢答器程序设计
该设计使用keil5作为编程环境,涉及到数码管显示、按键检测/互锁、蜂鸣器发声、定时器等相关功能模块的程序编写。程序设计的流程图如下所示。
7-程序设计流程图
程序的功能逻辑介绍如下,上电后数码管显示FFF字样,并首先检测“开始”按键是否按下,如果没有按下开始按键则表示抢答未开始。如果按下了开始按键,抢答器启动,秒显示开始倒计时,有人按下抢答键时蜂鸣器发声、倒计时停止并显示抢答者编号,整个抢答事件结束,直到主持人/后台按下结束按键后再显示FFF。如果倒计时进入5秒内,仍未有人抢答,则每个整秒蜂鸣器响一次,直至结束。
以上为程序逻辑设计和程序的流程图讲解,下面介绍各功能模块的程序设计。
首先介绍数码管的程序编写 ,再编写程序时,都会预先定义好数码管的字段表,根据共阳数码管和共阴数码管的不同,其字段表也是不一样的,但是两者是互补的,数码管可显示的字段表如下图所示。
8-数码管字段表
程序代码如下:
/*共阳数码管的0-9数字字码表*/
uchar code seg_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x8e,0xff};
其次是按键部分 ,抢答按键采用中断来实现,开始/结束按键采用轮询实现,部分定义代码如下所示。
//定义抢答按键
sbit KEY_1=P0^0; //1
sbit KEY_2=P0^1; //2
sbit KEY_3=P0^2; //3
sbit KEY_4=P0^3; //4
sbit KEY_5=P0^4; //5
sbit KEY_6=P0^5; //6
sbit KEY_7=P0^6; //6
sbit KEY_8=P0^7; //6
//定义开始/结束按键
sbit START = P2^4;
sbit STOP = P2^5;
仿真电路的设计和验证
在做板子之前,先用Proteus仿真软件做了仿真。Proteus仿真支持51单片机并可以实现运行程序的功能,当把程序写好后加载至Proteus即可实现程序的调试,Proteus还可以与Keil软件实现联调功能。所设计的仿真电路如下图所示。
9-仿真电路-初始显示FFF字样
在上电初期,显示“FFF”字样,前两个数码管代表倒计时时间,后一个数码管代表抢答者的编号。按下开始按键后,抢答器开始工作,如下图所示。
10-抢答成功界面
上图表示,在倒计时时间还有7秒的时候,5号选手完成了有效抢答,直至主持人/后台按下结束后再显示FFF,否则一直显示该界面。
抢答器的焊接调试
为了实现功能验证,选择用万用板手工焊接实现这个设计。最终的实物图如下所示:
11-最终实物图正面
电源供电为DC5V,可以使用电池盒供电,也可以选择5V输出的手机充电器供电,导线走在了电路板正面,虽然丑了点,但是方便一点。电路板的反面如下图所示。
12-最终实物图背面
反面是用焊锡连接实现的。由于功能不是很复杂,程序写完后,调试了没几次就完成了功能,前文中所描述的功能都实现了。按键互锁的功能也实现了。下图是通电运行的界面,表示5号抢答者在倒计时28秒的时候抢答成功,这时候其他抢答者的按键无效。只有开始或者结束按键是其作用的。
13-抢答成功界面
该抢答器的设计虽然是一个很简单的练手项目,但是却涉及到了单片机中最常用的外设电路,可以帮助初学者熟悉数码管、按键、蜂鸣器的使用和控制方法。初学者可以借助这个产品熟悉单片机开发过程中所用的各种软件和产品开发的流程。
对这个电路进行PCB Layout,设计个外壳就成了一个不错的产品。还可以增加蓝牙模块或者WiFi模块,实现电子屏的控制和显示,再把功能完善一下,就可以用在舞台上了。
相关问答
【数电的六路 抢答器 电路图,急!!不要 单片机 的。1.此 抢答器 可...[最佳回答]百度Hi联系,相关资料发送中.如果解答精彩,请及时采纳.~O(^_^)O
数电的六路 抢答器 电路图,急!!要multisim仿真的图。1.此 抢答 ...[最佳回答]光是数字电路我怕是不行。我可以用单片机实现同样功能。而且开发时间能大大缩短。
单片机 的智能 抢答器 实现了什么?智能抢答器实现了可以精准的抢答回答问题智能抢答器实现了可以精准的抢答回答问题
multisim里头怎么让蜂鸣器响的时候只响一下啊,不要一直滴滴...不好意思,我没有用过multisim仿真。键盘上有很多组合键一起按电脑就会滴滴滴的响而且鼠标和键盘无法操作松开就好了额......是不是你线没连...
单片机 的独立键盘有什么用?很多的嵌入式或者单片机系统中,一般都需要向嵌入式或者单片机系统输入信息的外设,以及嵌入式或者单片机向外输出信息的外设我们常见的显示屏,数码管等就是嵌...
老司机们,急需帮忙,电子 抢答器 工作原理?,电子 抢答器 怎么...[回答]一般都是要求主持人说“开始”再抢答,那样就晚了。1、你需要算好提前量、看着主持人的口型、猜主持人的心理。2、不能紧张,手就放在抢答器上,要放松...
89c52独立按键介绍?主要器件主要有数码管(用来显示倒计时间、成功抢答的选手编号)按键(主持人按键、选手按键)使用独立键盘吧,程序循环等待按键输入,一旦有选手按下抢答键...
初学者想系统的学习PLC,请问应该怎么学?有没有好的学习方法或学习步骤?大家好,我是王俊杰,做项目的,从2010年接触电气自动化编程到现在已经有11年时间了。还记得第一次做工程的情景,那是一个夏天,天气炎热,我负责做公司PLC编程...现...
能否告诉我!沈阳平价的数字 抢答器 销售,数字 抢答器 销售能用...[回答]我们为适应高校等多代表队单位活动的需要一个多路抢答器设计,讲述了电路各部分的设计及功能,并说明了调试中出现的问题及解决的方法,够实现抢答...
电气自动化专业,看什么书比较好?它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或...