单片机遥控键音频感应原理及电路结构
扫描二维码
随时随地手机看文章
单片机问世以来,在仪器、仪表、智能控制领域得到了广泛应用。绝大多数单片机应用系统(SCAS)都少不了键输入控制。通常使用的单片机系统按键可装在面板上,但对于工作于控制现场以及高低温、多灰尘场合的单片机应用系统,按键的寿命将会缩短,故障率也会提高。为提高单片机应用系统键输入的可靠性及耐久性,设计了单片机遥控键输入电路。键码是通过音频感应方式输入SCAS系统的;且可实现一机多用,即一个键盘遥控器可对任意多个相同的SCAS系统进行键输入操作。
音频感应原理及电路结构
电路结构分为遥控器和译码接收电路两部分。其结构如图所示。
遥控器部分对16个按键进行编码,对应每个按键都产生了一个唯一的双音频信号。此双音频信号由扬声器以声音形式发出。在译码接收电路中,话筒将遥控器发出的双音频声音信号接收下来,并送至译码器电路。译码器电路进行正确译码后输出一个二进制代码,此码即是由遥控器输入的按键代码。此外,译码器还同时输出一个正确译码的标志信号,由此信号向MCU发出中断请求,MCU就可读取键码并根据代码执行相应的程序模块。
二、电路设计原理
1.硬件电路设计
遥控键输入电路如图所示。
电路核心是双音多频(DTMF)编解码芯片CSC5087和SC8870。CSC5087作为DTMF信号编码器,可根据不同的按键产生一组双音频信号cos 27πft+cos 2πfcHt。国际电报电话咨询委员会(CCITT)和我国的标准规定,按键与高、低频组频率的组合关系如表3-1所列。如按下按键6,则发出的DTMF信号频率为fL=770Hz,fH=1 477 Hz。此DTMF信号经音频功放LM386放大后,由扬声器转换为声音信号发出。
表1 按键与DTMF信号编码对照表
由话筒接收并放大的DTMF信号经SC8870解码,将每一个DTMF信号译成一个4位二进制代码输出,16个DTMF信号分别对应0000~1111共16个二进制代码,其对应关系如表所列。如:对遥控器发出频率为fL=770 Hz和fH=1477 Hz的DTMF信号,则SC8870译码后输出0110代码。
2SC8870译码表
SC8870有一延迟控制输出端CID,若检测到一有效的DTMF信号,控制输入端STO电平超过门限电平VTst,则输入代码被更新,此时CID输出由低电平变为高电平;若STO电平低于V Tst则CID返回至低电平。而STO电平则由初始控制输出信号ECO决定:当SC8870检测到一有效的DTMF信号时,ECO首先变为高电平,再经电阻使STO电平升高;当无输入的DTMF信号或输入信号连续失真时,ECO输出低电平,这样STO也为低电平,CID输出低电平。利用CID信号作为MC68HC705 MCU的中断请求信号,因MCU的中断触发为下降沿触发,故将CID信号经反相器反相后接入MCU的中断请求输入端IQR。
SC8870的DOi~D04分别接MCU的口线PAo~PA3,三态数据输出允许控制端EN接高电平,使D01~D04保持上次对DTMF信号的译码输出代码,这样MCU随时可读取输入的键值。
2.键输入中断和键码接收软件
软件流程及程序清单如图所示。
MCU由中断响应程序接收键码,返回主程序后,主程序根据键码决定执行何种功能模块。
三、应用
由于DTMF信号具有编、译码可靠性高,传输误码率低等特性,因此本文所介绍的键输入电路具有抗干扰能力强的特点,已成功地应用于城市路灯微机监控系统。所有开关柜测控子系统的键码都采用这种方式输入。它们共用一个遥控器,这样使系统抗干扰性、抗灰尘、抗老化等性能都大为改善。