历史上的今天
今天是:2025年03月16日(星期日)
2018年03月16日 | 单片机遥控键音频感应原理及电路结构
2018-03-16 来源:eefocus
单片机问世以来,在仪器、仪表、智能控制领域得到了广泛应用。绝大多数单片机应用系统(SCAS)都少不了键输入控制。通常使用的单片机系统按键可装在面板上,但对于工作于控制现场以及高低温、多灰尘场合的单片机应用系统,按键的寿命将会缩短,故障率也会提高。为提高单片机应用系统键输入的可靠性及耐久性,设计了单片机遥控键输入电路。键码是通过音频感应方式输入SCAS系统的;且可实现一机多用,即一个键盘遥控器可对任意多个相同的SCAS系统进行键输入操作。
音频感应原理及电路结构
电路结构分为遥控器和译码接收电路两部分。其结构如图所示。

遥控器部分对16个按键进行编码,对应每个按键都产生了一个唯一的双音频信号。此双音频信号由扬声器以声音形式发出。在译码接收电路中,话筒将遥控器发出的双音频声音信号接收下来,并送至译码器电路。译码器电路进行正确译码后输出一个二进制代码,此码即是由遥控器输入的按键代码。此外,译码器还同时输出一个正确译码的标志信号,由此信号向MCU发出中断请求,MCU就可读取键码并根据代码执行相应的程序模块。
二、电路设计原理
1.硬件电路设计
遥控键输入电路如图所示。

电路核心是双音多频(DTMF)编解码芯片CSC5087和SC8870。CSC5087作为DTMF信号编码器,可根据不同的按键产生一组双音频信号cos 27πft+cos 2πfcHt。国际电报电话咨询委员会( CCITT)和我国的标准规定,按键与高、低频组频率的组合关系如表3-1所列。如按下按键6,则发出的DTMF信号频率为fL=770 Hz,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信号具有编、译码可靠性高,传输误码率低等特性,因此本文所介绍的键输入电路具有抗干扰能力强的特点,已成功地应用于城市路灯微机监控系统。所有开关柜测控子系统的键码都采用这种方式输入。它们共用一个遥控器,这样使系统抗干扰性、抗灰尘、抗老化等性能都大为改善。
史海拾趣
|
大家来说说你说知道的低功耗单片机或者微控制器吧 现在低功耗问题是个单片机和微控制器设计过程中需要经常考虑的问题,各厂家也是大唱低功耗主题。 那么我们来讨论一下各种微控制器在这方面的表现吧… 查看全部问答> |
|
急问:请大侠给一张用ARM处理器或C52带解码功能的MP3电路原理图! 请高手帮帮我,急用! 原理图需要包括: 1 处理器(带解码) 2 存储器 3 电源模块 4 音频放大 5 驱动USB口… 查看全部问答> |
|
编译完evc后不自动连接connecting,我的sdk是生成时没有kitl的,我装上相应的sdk后还能在evc编译相应的应用程序是连接成功吗,如果不成功,请问怎么关掉那个自动连接。谢谢了… 查看全部问答> |
|
我的转换后的测量数据和模拟输入的值不大一样,谁对这边比较全面, 加我qq;82197730 帮我弄明白后加分给阁下. 某资料上说 \"ADC的精度也受到ADC时钟的影响。推荐最大的ADC时钟频率受内部DAC转换电路的限制,为了优化性能,ADC时钟不要超过200KHz ...… 查看全部问答> |
|
求助 cvi 函数GetExternalModuleAddr问题 大家好,我在CVI调用GetExternalModuleAddr函数时报错,返回值是-5,Undefined references,打开的是.lib,请教如何解决?… 查看全部问答> |
|
2010年度大学生《最佳雇主调查报告》5日下午在北京发布,中国大学毕业生找工作首选国企,次选合资以及事业单位,外企跌出前三位落到第五名。由中华英才网主办的“大学生最佳雇主调查活动”历时半年,覆盖全国各地700多所高校,由近20万名大 ...… 查看全部问答> |
|
在学习中断过程中,使用最简单的程序如下,我使用的是开发板,直接load进去的。请教高手,程序为什么进不了中断?先谢谢了! #include \\"lf2407.h\\" void inline disable() { asm(\\" setc INTM ...… 查看全部问答> |
|
MSP430X32X微控制器的片内A/D TI的MSP430系列微控制器 TI公司的MSP430系列微控制器包含430X11X、430X31X、430X32X、430X33X等几种型号。可根据不同的应用目标作有针对性的选择。 MSP430系列微控制器在性能上有一定的特色, ...… 查看全部问答> |




