基于单片机的无线抢答器的设计与实现内容摘要:

脉冲表示 其中, Ta=8 个时钟宽度, Tb=1 个时钟宽度, Tc=2 个字码长度。 地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示 “0” ;两个宽脉冲表示 “1” ;一个窄脉冲和一个宽脉冲表示 “F” 也就是地址码的 “ 悬空 ”。 PT2272 解码芯片有不同的后缀,表示不同的功能,有 L4/M4/L6/M6 之分,其中 L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。 M 表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用于类似点动的控制。 10 图 pt2272 不同后缀的功能 后缀的 6和 4表示有几路并行的控制通道,当采用 4路并行数据时( PT2272M4),对 应的地址编码应该是 8位,如果采用 6 路的并行数据时 (PT2272M6),对应的地址编码应该是 6位。 PT2262/2272 芯片的地址码设定和修改 PT2262/2272 芯片的地址编码设定和修改:在通常使用中,我们一般采用 8 位地址码和 4 位数据码,这时编码电路 PT2262 和解码 PT2272 的第 1~ 8 脚为地址设定脚,有三种状态可供选择:悬空、接正电源、接地三种状态, 3 的 8 次方为6561,所以地址编码不重复度为 6561 组,只有发射端 PT2262 和接收端 PT2272的地址编码完 全相同,才能配对使用,遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的 PT2262 和 PT2272 的八位地址编码端全部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将 PT2262 和 PT2272 的1~ 8 脚设置相同即可,例如将发射机的 PT2262 的第 1 脚接地第 5 脚接正电源,其它引脚悬空,那么接收机的 PT2272 只要也第 1 脚接地第 5 脚接正电源,其它引脚悬空就能实现配对接收。 当两者地址编码完全一致时,接收机对应的 D1~ D4 端输出约 4V 互锁高电平控制信号,同时 VT 端也输出解码有效高电平信号。 用户可将这些信号加一级放大,便可驱动继电器、功率三极管等进行负载遥控开关操纵。 锁存芯片 74HC573 74HC573 是一种 8路数据锁存器。 主要应用于数码管、按键等的控制。 573 有两个功能: ( 1) 锁存数据 当输入的数据消失时,在芯片的输出端,数据仍然可以保持; 11 ( 2) 数据缓冲,加强驱动能力。 SLHC89C52 跟 LS/AL573 的管脚一样。 器件的输入和标准 CMOS 输出兼容。 加上拉电阻,就可以和 LS/ALSTTL 输出兼容。 当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输 出同步)。 当锁存时能变低时,符合建立时间和保持时间的数据会被锁存。 ( 1) 输出能直接接到 CMOS, NMOS 和 TTL 接口上。 ( 2) 操作电压范围: ( 3) 低输入电流: ( 4) CMOS 器件的高噪声抵抗特性 管脚说明: OE:使能输出 LE:数据锁存使能 Dn:第 n路输入数据 On:第 n路输出数据 功能表如下: 表 74HC573 功能表 X=不用关心 Z=高阻抗 LCD12864 12864 液晶显示模块概述 12864 液晶显示模块是 128*64 点阵的汉字图形型液晶显示模块 ,可以显示汉字和图形,内置国标码中文字库( 16*16 点阵)、 128 字符( 8*16 点阵)及 64*256 点阵显示 RAM( GDRAM)。 可与 CPU 直接接口,提供两种界面来连接危机处理机: 8位并行及串行两种连接方式。 具有多种功能:光标显示,画面位移,睡眠模式等。 外观尺寸: 93*70mm( 4*8C), 84*44mm( 2*8C), 110*65mm( 28C2), 116*39mm( 2*10)180*65mm( 4*16A) 视域尺寸: 73*39mm( 4*8C), 78*25mm( 2*8C2), 70*20mm( 2*8C), 85*20mm( 2*10) ,132*39mm( 4*16A) 12 补充说明:外观尺寸可根据用户的要求进行适度的调整 LCD12864 引脚说明 表 LCD12864 引脚说明 引脚 名称 方向 说明 引脚 名称 方向 说明 1 VSS GND( 0v) 11 DB4 I/O 数据 4 2 VDD Supply Voltage for logic( +5v) 12 DB5 I/O 数据 5 3 V0 Supply Voltage for LCD(悬空 ) 13 DB6 I/O 数据 6 4 RS( CS) H/L H: Data L:Instruction Code 14 DB7 I/O 数 据 7 5 R/W(STC) H/L H:Read L:Write 15 PSB H/L H:Parallel Mode L: Serial Mode 6 E(SCLK) H,H/L Enable Signal 16 NC 空脚 7 DB0 I/O 数据 0 17 /RST H/L Reset Signal 低电平有效 8 DB1 I/O 数据 1 18 NC 空脚 9 DB2 I/O 数据 2 19 LEDA 背光源正极( LED+5V) 10 DB3 I/O 数据 3 20 LEDK 背 光源负极( LEDOV) 4 硬件设计部分 这部分的设计主要包括两个部分,主机电路和发射电路。 其中主机电路又包含了现实、接收、显示等电路。 发射电路是一个独立的模块。 下面将介绍各部分电路的设计。 无线抢答器主控电路图 在主电路图的设计上,我们使用 STC89C52 单片机作为核心。 该电路图的设计比较简单。 它主要包括 STC895C25 单片机、抢答按键、 74HC573 锁存器、晶振、模式指示灯、电源。 按键经过 74HC573 锁存器连接到单片机上,就可以在需要是保持输出的数据。 模式灯可以清楚的指出当前抢 答器的工作模式。 在电源的选择上我们使用 5v 的直流电源为系统供电。 单片机在工作时,接收来自各个单元电路的信号,经过 cpu 的处理,再传送到输出设备。 单片机的主要功能就是使整个系统正常的运行。 设计的主控电路图如图 所示。 13 图 主控电路图 无线抢答器单元电路模块设计 发射电路 发射电路主要由 PT2262 编码芯片和 74LS04 取反芯片 以及红外发光二极管 组成。 因为 PT2262 的使能端 TE 在低电平下有效,而四个按键直接与 VCC 连接,所以要使编码芯片能正常的工作,就要连接一个取反芯片,这样,没按动一次按键时,传送到 PT2262使能端是一个低电平,该芯片就可以向外界发出信号。 红外发光二极管内部构造和普通的二极管基本 上一致,但是两者的材料不一样。 在红外发射管的两端施加一定的电压,它可以发出红外线,当然红外线是不可见的。 由于发射系统是采用电池供电,因此要求采用的芯片一般要具有低功耗的特点。 但是为了保证发射电路能够正常的工作,一般在工作时要定期的检查电池的电量。 确保电路不会因为电池的问题而不能正常工作。 发射电路如图 所示。 图 发射电路 14 接收电路 无线电路的接收模块主要由编码芯片 PT2272 和红外接收头 构成。 红外接收电路通常被集中在一个原件当中,是一个一体化的红外接收头。 内部一般包括红外检测二极管、放大器、带通滤波器、限幅器、积分电路、比较器等。 红外二极管接收到红外信号,然后把信号送到放大器和限幅器,限幅器再把脉冲幅度 限制在一定的范围之内。 不管红外发射和接收器的距离远近。 交流信号进入带通滤波器,带通滤波器可以通过 30Khz 到60Khz 的副载波通过调解电路和积分电路进入比较器,比较输出的高低电平。 还原出发射端的信号波形,注意输出的高低电平和发射端是反向的,这样是为了提高接收的灵敏度。 当芯片工作时,有红外接头接收来自发射器的信号, 再进行编码,送到单片机处理。 要注意,只有 PT2262 和 PT2272 的地址编码完全一样时,才能配对使用。 出厂时, 两者的八位地址编码全部悬空,在这里我们全部将它们接地。 图 接收电路模块 报警电路 模块 报警电路也比较简单,主要由蜂鸣器和 PNP 构成。 PNP 采用共集电极的连接方式,主要起到放大电流的作 用。 以驱动蜂鸣器发出响声。 在共集电极放大电路中,输入信号是由三极管的基极与发射极两端输入的,再由三极管的集电极与发射极两端获得输出信号。 因为集电极是共同接地端,所以称为共集电极放大电路。 共集电极放大电路具有以下特性: (1) 输入信号与输出信号同相 (2) 无电压放大作用,电压增益小于 1且接近于 1,因此共集电极电路又有 “ 电压跟随器 ” 之称 (3) 电流增益高,输入回路中的电流 iB输出回路中的电流 iE 和 iC (4) 有功率放大作用 (5) 适用于作功率放大和阻抗匹配电路 在这里我们设计的报警电路如图 所示: 15 图 报警电路模块 显示电路 模块 本文设计的 抢答器 的 功能大多是通过显示模块表示出来 ,因此显示模块显得非常的重要。 在设计时 ,我希望能够同时显示八名选手的 号数和 分数, 且在有效抢答和违例抢答的情况下都可以显示去对应的组号。 不仅如此,选手答案的对错都是通过分数的变化在液晶显示模块上体现出来。 每答对一次家十分,对错扣十分。 12864 液晶 能够同时显示 64位数字或者汉字, 完全能够满足这样的要求。 图 显示电路模块 5 软件设计 部分 流程图 流程图是用一些图框来表示各种操作。 用图形表示算法,直观形象,易于理解。 美国国家标准化协会规定了一些常用的流程图符号,已经世界各国程序工作者使用。 流程程序图是 成像分析 中最基本、最重要的分析技术,它是进行 流程程序分析 过程中最基本的 工具。 流程程序图运用工序图示符号对生产现场的整个制造程序做详细的记录,以便对零部件、 产品 在整个制造程序中的操作、搬运、检验、储存、等待作详细的研究与分析,特别是用于分析其搬运距离和等待、储存等 “ 隐 16 藏成本 ” 的浪费。 流程图具有如下的优点: 1. 采用简单规范的符号,画法简单 2. 结构清晰,逻辑性强 3. 便于描述,易于理解 程序 设计 我设计的程序采用 c 语言。 C语言是在国内外广泛使用的一种计算机语言。 C 语言功能丰富、表达能力强、使用灵活方便、应用广泛、目标程序效率高、可移植性好,既有高级语言的优点,又具有 低级语言的许多特点,因此特别适合编写系统软件。 下面将介绍几个主要模块的程序设计过程。 连续模式 连续模式 流程图 所示 : 图 连续抢答流程图 部分程序如下: void cond_mode ()//连续模式 { int mark=9,sign=0。 uint ro_time。 ro_time=Rob_time。 //取抢答时间 RL00=0。 //亮连续指示灯 RL01=1。 //灭指示灯 17 clock_ab=1。 out_ab=1。 second=0。 while(1) //倒计时 5秒 { if(ro_time==0) break。 ro_time=Rob_timesecond。 writeCmd(0x98)。 writeData(ro_time+0x30)。 } while(1) //在此处加入发送复位指令 复位之后重新开始 { out_ab=0。 //允许输出 Key=0xff。 if(Key!=0xff) //抢答开始 { delayMs(1)。 if(Key!=0xff) { clock_ab=0。 //锁存输出 mark=~Key。 mark=markamp。 0xff。 if(mark==1) mark=39。 A39。 if(mark==2) mark=39。 B39。 if(mark==4) mark=39。 C39。 if(mark==8) mark=39。 D39。 if(mark==16) mark=39。 E39。 if(mark==32) mark=39。 F39。 if(mark==64) mark=39。 G39。 if(mark==128) mark=39。 H39。 writeCmd(0x9b)。 writeData(mark)。 if(sign==0) { Buzzer=0。 //响两声 delayMs(500。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。