工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->用AT89C51和LED点阵设计制作的9路抢答器

用AT89C51和LED点阵设计制作的9路抢答器

作者:dolphin时间:2016-09-08

  用AT89C51单片机和8只8×8LED点阵制作的抢答器美观,人性化,在抢答成功后LED显示屏可以直接显示抢答单位的名称,如采矿、选矿、机关、综合等,较以往用数码管显示的抢答器显示更直接。在多次实际使用中,效果很好。
  
  一、硬件原理 
  
  抢答器原理图如下图,硬件部分主要由三个部分组成:LED显示驱动部分、抢答按钮、音量功放部分。LED显示驱动部分主要由4只74HC595串入并出8位锁存器组成。AT89C51单片机的PO和P2口作为行输出,用16只8050驱动LED16根行线。AT89C51单片机的P3.7、P3.6、P3.5分别作为数据线、移位时钟、锁存时钟线与74HC595相连实现串并转换以驱动32根列线。9只抢答按钮接入P1口和P3.0口,采用低电平有效。P3.1口输出1KHz频率方波用音频功放模块LM386驱动,调节增益可变电阻R55可得到适当的响音,提示有抢答按钮被按下。P3.2管脚是显示方式控制位,为了适用不同的场合,可以显示两种不同的显示模式,接低电位时显示1、2、3、4、5、6、7、8、9,并且居中显示。高电位则显示预先设计的两位汉字。74HC595的QA-QH为8位并行信号输出端;SI(14脚)为串行数据输入端;QH1(9脚)为联级输出端,最后一级输出悬空;SCLR(10脚)锁存寄存器数据清零,低电平有效,本例不用,接VCC;SCK(11脚)移位脉冲输入端,上升沿数据移位,下降沿不变;RCK(12脚)数据锁存端,上升沿数据锁存在引脚上,保持不变;G(13脚)高电平禁止输出,可用来形成闪烁效果,本例不用,接低电平。音频功放模块LM386的GAIN增益控制1脚和8脚之间悬空不用.增益为20,接上一个10uF的电解电容增益为200,本例用一个10K的可变电阻接上10uF的电解电容,增益可调,使输出声音响亮而又没有自激音;-IN负信号输入,本例接地,+IN正信号输入,本例接音频信号输入;VOUT(5脚)为放大信号的输出端;BYPSS(7脚)可接旁路电容,本例不用;LM386电源很宽,本例使用5V,可跟据实际要求适当提升。

9路抢答器电路

  二、电路制作
  
  该抢答器使用的是155mmx165mm实验板,实物图如上图。制作的难点在于板子的焊接上,焊接点太多,总结经验教训,首先要弄清楚原理图中LED点阵是使用共阴还是共阳,本例使用的是使共阳接法,其次要弄清楚手中LED点阵的脚位图,保险的做法是,不管熟不熟悉先测试一下,还可以检测LED是不是好的。绘好一张如下图一样的内部结构图(左)和外部接线图(右),用一颗计算器用的3V钮扣电池去接触LED点阵上的任意两根线,然后一步一步的填上每行线,每列线的序号,使左图和右图一一对应。使用DX7088A/B型号的红色小型LED点阵,将LED点阵发光面朝外,有字的一面向上,上排为X,下排为Y,分别为X1-X8,Y1-Y8。测试后每个LED在电路板显示的位置和结线端一一对应,以便于接线。焊接时先焊所有的列线,用有皮的特软的细线贴板走线,并一根根整理好。然后再焊行线,行线要用硬线走架空线,并保持一定的距离,这样行线列线分明,出现问题好查找。

  三、软件设计
  
  使用C语言编写程序并用Keil编译,程序流程图如下图。软件设计分为主程序,主要是循环扫描各抢答器按钮;声音产生程序,由中断0定时器产生1KHz方波;显示程序。程序中使用到的汉字由字模提取软件提取后用数组的方式存在程序中,定义两个指针变量,分别指向两个显示区,只需要改变指针变量的值,再调用显示程序,就可以显示所需要的汉字。程序中居中显示1、2、3、4、5、6、7、8、9有两中方法;一是用程序来实现数据左移或右移,二是自己将一个数字拆成两个部分,做成两个数组分别存放,此抢答器采用第二种方法,拆分数据有点工作量,但程序简单。



评论

技术专区