随着单片机应用的普及,单片机间通信问题已引起广泛的关注。目前,应用较多的是有线通信,而如何利用现有的无线模拟信道进行单片机数据传输,是众多同行们更加关心的课题。本节介绍一种利用DTMF编码进行单片机间无线数据通信的应用系统。它具有简便、实用、价格低廉等特点。
一、系统工作原理
本系统采用51单片机控制双音多频DTMF发生器(TCM5087)来实现信道编码。DT-MF产生的双音编码正弦波送入无线电话进行发射。接收端将无线电话机收到的DTMF信号送入DTMF解调器(MT8870)来实现信道解码,从而完成单片机间的数据通信。其结构如图1- 74所示。
二、DTMF信号编码方式
DTMF是一种在电话通信中应用较广泛的信号编码方式。
为了更清楚地了解DTMF信号的编码原理,下面分别介绍其发生器、解调器及单片机的控制工作过程。
三、TCM5087结构及其工作原理
TCM5087是双列直插式DTMF信号发生器专用电路。
输入端R1~R4(行)、Cl~C4(列)既可接普通电话键盘,也可用于电平输入。16端为音调输出端,输出的两个音频信号被线性地叠加在一起。一个音频由输入端Ri~R4从低频组中选定;另一个音频由输入端Cl~C4从高频组中选定。低频组有697 Hz(R1)、770 Hz( R2)、852Hz(R3)和941 Hz(R4)四个频率,高频组有1 209 Hz(C1)、1 336 Hz(C2)、1 477 Hz(C3)和1633 Hz(C4)四个频率。当行(R1)输入为0电平时,选择其低频组中的一个;当列(C1)输入为VDD电平时,选择其高频组中的一个。输出的音频单音幅度Vpp为400~500 mV。双音调输出的谐波失真和交调失真小于10%,频率误差为±1.0%,准确度优于0.75%,高频比低频加重2 dB。15端用来阻止单音产生,当为O电平时,输出端将不会产生单音调输出。10端是静噪输出端,2端为发射机开关控制端,7端为片内振荡器外接晶振的一个输入端,8端为片内振荡器外接晶振的另一个输入端。应用时,在7、8端之间接入3. 579 545 MHz晶体即可。该芯片的最大优点是所用外围元件最少,仅需一个廉价的彩电晶体即可工作。
四、MT8870结构及工作原理
MT8870是双列直插式DTMF解调专用电路。其内部电路方框图如图1- 78所示。
由图1-74及图1-78可以看出:由运放及R1、R2、C1组成一反相放大器,对输入的DT-MF信号进行隔离放大。其增益K=-R2 /R1,K值一般为1~5;输入的DTMF信号幅度应为27. 5~883 mV;VREF (4)为参考电压输出端,取值为VDD/2=2.5 V;IC(5端和6端)为内部电路的连接线,必须接V ss;其他各端子的功能参照译码过程波形图,不难理解。值得注意的是,输出的二进制编码信号Qi~Q4由使能端TOE控制:TOE为高电平时,打开输出锁存器,输出与当前输入的DTMF信号相对应的二进制编码;当TOE为低电平时,Qi~Q4呈高阻状态,故可直接挂在数据总线上。DTMF信号与二进制编码信号的对应关系如表1- 22所列。
表1- 22 DTMF信号与二进制编码的对应关系
双音到达检测时间tDP为5~15ms;双音持续时间tREC应为20~40 ms; tGTP、tGTA由时间常数R3 C2决定,表达式为:
式中:V TST为门限电压,一般取VDD/2,故tGTP =tGTA=0.69 R3 C2。译码过程波形可参照图1-79。
五、单片机控制工作过程
发送端:单片机将欲发送的数据通过查表变换成对应的DTMF代码;然后由DB总线送74LS273锁存;TCM5087接到锁存器信号后,发出双音频正弦波信号;同时发出发射机打开信号,将无线电话机置为发射状态,从而将代码所对应的双音调发射出去。持续一段时间后(约40 ms),单片机再以同样方式将另一数据发射出去。
接收端:由无线电话收到的双音信号输入到MT8870解调器后,在EST端产生一矩形脉冲,经R3C2积分后,在S1/GT端产生如图1- 79所示波形。当S1/GT端电乎高于VTST时,产生SiD信号为1;当S1/GT端电平低于VTST时,SiD信号为0。该信号输出端与单片机8031的外部中断INTi端相连,当该信号发生由1到0的跳变时,中断标志IEI置1(中断方式安排为下降沿触发方式)。8031响应中断后,产生一个RD信号,经反相后,使MT8870的TOE端产生一个高电平脉冲信号,将与当前输入的双音信号相对应的二进制编码信号通过DB总线(低4位)读入8031。单片机通过查表,即可得到与发送端完全一致的数据信息,完成了数据远传。具体编码方式可参考表1- 22。
六、软件设计
本系统应用程序为模块式结构,发送端为主动工作方式,接收端为被动工作方式。有关信息编码可参考表1- 22。
数据传送程序清单如下:
查询式无线遥测水位仪中采用了上述电路方案。实际运行表明,该系统稳定可靠,抗干扰能力强,使用方便、灵活,价格低廉,误码率完全满足要求,对软件稍作充实修改,即可广泛应用于各种低速无线数据传输的场合
关键字:单片机 DTMF编码 无线电 数据通信
引用地址:
单片机基于DTMF编码的无线电数据通信
推荐阅读最新更新时间:2024-03-16 15:55
教你如何玩转STM8单片机!
最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离这个最基础的架构。可惜我当年直接跳过了这个过程,直接从intel 486学起的,那时每天带着无数的疑问在艰难的前行。 单片机不一定要学习51,其实随便选一家都是一样的。从实际出发要选,便宜的,外围器件少的,里面功能的,所以为大家挑选了STM8L。 STM8L是个8位单片机,我在论坛中的确看到一些小兄弟在问8位是怎么回事?我至少欣慰这位兄弟确实在思考。通常我说的8位是指CPU计算时,具体点说,不如说加法,是指两个8位二进制数相加的能力。同理,32位,就是32位二进制数相加。 另外,也是最难的部分,这8位单片机的寻范围可不一
[单片机]
MCS-51单片机内部结构
8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: · 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 · 数据存储器(RAM): 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能
[单片机]
AVR和51单片机串口通信简单实验
//AVR作为发送机,控制51的喇叭发声和2 极管 发光 //AVR发送方代码 //采用2400波特率 #include iom16.h #include intrinsics.h #define uchar unsigned char #define uint unsigned int #define k1 PIND_Bit4 //设置为喇叭 #define k3 PIND_Bit6 //设置为 发光 管 #define k4 PIND_Bit7 //发送控制命令 #define UDRE 5 #define RXC 7 uchar dat=48; void d
[单片机]
STM8单片机读取DHT11温湿度传感器
DHT11是一款温湿度传感器,也是使用一根总线来驱动,使用方法和ds18b20温度传感器很类似。 供电电压 3.3~5.5V DC 测量范围 湿度5% ~ 95%RH, 温度-20℃ ~ +60℃ 测量精度 湿度±5%RH, 温度±2℃ 分 辨 率 湿度1%RH, 温度0.1℃ 实物图如下所示 引脚顺序从左到右,依次为1、2、3、4,引脚功能如下: 典型应用电路如下: 由于单总线在通信时空闲状态下,电平为高电平,所以外部在2脚上要接一个上拉电阻电阻,这样当总线上没有数据传输时,就会被外部上拉电阻将数据引脚的电平强制设置为高电平。 通过单总线读取数据时,分为三个步骤: 主机发送请求指令 从机返回相应指令 主
[单片机]
基于AT89C51单片机的量程自切换频率计
近年来,随着科学技术的快速发展,特别是类似单片机等相关集成电路生产技术的快速堀起,推动了仪器仪表及家电产业的快速发展,用程序代码来简化硬件电路的复杂程度,使其不断向着体积小,价格低廉,功能更加多样化、智能化的方向发展。功能齐全,价格低廉的产品越来越受到人们的青睐,当然,科技的发展最先受益的还是从事前沿科技研究领域的人员,对于他们来说,一款好的测量设备将为他们的研究工作带来便利的同时也减轻很多负担。就目前而言,高端仪器设备很多均依赖进口,研究并制造出属于我们国家自己的高端仪器设备将是我们一直努力的方向,而且也具有非常广阔的发展前景。 1 硬件电路设计 本设计主要由信号采集电路、放大整形电路、分频电路、信号处理电路、电源电路
[单片机]
基于51单片机的函数发生器设计
一.硬件方案 此函数信号发生器是基于单片机AT89C51设计而成的,能够产生频率范围在0Hz—535Hz的锯齿波、正弦波、三角波、矩形波四种波形,并且能够通过液晶屏1602显示各自的波形类型以及频率数值。 主要由51单片机+最小系统+DA0832模数转换模块+运放模块+LED指示灯+按键模块;如图: 二.设计功能 (1)LCD1602液晶显示波形种类和频率值(10-100HZ)。可产生正弦波、锯齿波、三角波、矩形波。 (2)按键设置波形种类和设定频率步进值。 (3)通过电位器器改变振幅(0V-3.5V稳定)。 (4)有四个指示灯分别指示发出的是哪种波形,方便明了。 三.设计原理图 (1)原理图主要采用AD软件进行设计,
[单片机]
单片机控制LED智能路灯系统设计
摘要:本控制系统以STC89C58RD单片机为控制器,主要由恒流源电路、时钟定时电路、显示电路、光敏感应电路、红外接收电路、声光报警电路等组成。能设定路灯(LED)开灯关灯时间(用LED12864显示相关信息)。路灯(LED)通过恒流源电路正常工作,即使遇到短路、电压不稳定等情况也不会烧掉,电路起恒流保护作用。而系统遇到环境明暗变化时,路灯会自动关闭和打开,并且根据道路上交通状况自动调节亮灯情况,且有定时功能。 0 引言 随着数字技术和网络技术的发展,路灯数字化和网络化已经成为一种必然趋势。节约能源、保证灯具寿命、提高照明管理水平、美化城市夜晚和保证城市夜间出行安全等,已经成为对照明系统的一项基本要求。社会文明的不断发
[模拟电子]
STM32单片机对TFTLCD的驱动设计
看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。 TFTLCD使用80并口,80 并口有如下一些信号线: CS: TFTLCD 片选信号。 WR:向 TFTLCD 写入数据。 RD:从 TFTLCD 读取数据。 D[15: 0]: 16 位双向数据线。 RST:硬复位 TFTLCD。 RS:命令/数据标志( 0,读写命令; 1,读写数据)。 只是记住FSMC在使用的时候要初始化和使能就行了。 关于lcd.c这个文件竟然接近3000行,好吧,我是写不出来,只能在主函数里调用了。 main.c: intmain(void) { u8x=0; u8lcd_id[12];//存放LCDID字符串
[单片机]