电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

单片机无线通信

来源:莲生三十二作者:开心麻花2025-12-201

单片机无线通信(精选12篇)

单片机无线通信 第1篇

关键词:单片机无线通信,桥式起重机,安全监控

0引言

桥式起重机运行的安全问题是一个至关重要的问题, 当桥式起重机的操作人员误操作时, 后果不堪设想。所以有必要设计一个监控装置, 当桥式起重机将要发生危险时, 地面操作人员可及时阻止它运行, 有效避免安全事故的发生。

1总体设计

采用单片机和中功率无线数据传输模块设计企业桥式起重机安全运行监控装置

桥式起重机的正常操作规程不变, 当起重机司机操作失误, 即将酿成安全事故时, 由地面监控人员操作安全监控器实施紧急刹车。系统结构如图1:

首先由地面的单片机通过对讲机mic向起重机发出验证信号, 起重机通过对讲机的ear接受信号, 若装置无故障, 则起重机的mic发出信号, 地面的ear接收, 绿灯亮, 表示监控系统可以正常操作;若装置有故障, 则起重机的mic不发出信号, 地面就显示红灯, 表示系统不可操作, 需维修。

验证系统正常后, 监控系统可以工作。当需要紧急刹车时, 地面的mic再发出信号, 起重机的ear接收信号, 使起重机立刻停止运行。

2系统硬件的设计

2.1主机的选型

8751单片机是美国Intel公司在MCS-48系列的基础上, 采用HMOS技术研制出的新型8位高档产品, 其具有高性能、高集成化、高抗干扰、高可靠性且价廉的优点, 是一个小而全, 完整而独立的高性能控制器, 因此本次设计选用8751型单片机。

2.2系统发射、接收电路的设计

2.2.1 DTMF编/解码技术原理

DTMF的意思就是“双音多频”。DTMF信令具有的传递速度快, 而且在通信网中应用也极为普通。一些系统中常常需要同时接和发送DTMF信号, 发送和接收均伴随着编码和解码过程。电话机有两种拨好方式, 即脉冲拨号方式和双音多频拨号方式。

2.2.2由DTMF构成的遥控发射电路

由MT5087发送器组成的遥控发射电路, 如图2遥控发射电路CD22100相当于电话机的按键, 用于产生16个开关信号, 它由4线至16线译码器, 16个控制存储器和排列成4行*4列的交叉点开关矩阵组成, A、B、C、D为地址输入选择端, 以选择不同的交叉点开关。CD22100交叉点开关寻址。在实际应用中, 控制盒和数据选择器用来选择不同的遥控指令。

当需要传送信号时, 通过按键操作, 信号经过CD22100的地址产生16个DTMF编码信号, 再由MT5087按照编码原理进行编码, 最后产生双音多频信号, 通过发射装置发送出去。

2.2.3由DTMF构成的遥控接收电路

由于DTMF电路只能输出4位二进制码即16个开关量, 经过MT5087后变成双音多频信号, 可直接将它应用与遥控系统中。为此, 我们设计和调试出了一个较实用的DTMF接收扩展电路。为符合本次设计中“一一对应”的发射和接受的要求, 故由DTMF构成的遥控接收电路的示意图应如图3所示。

DTMF指令码的形成完成由发射端的单片机8751根据按键, 既试验按键和动作按键决定, 然后DTMF码通过MT8870, 由MT8870按照DTMF的解码原理进行解码, 判定是什么按键信息, 解码后的信号再次输入到8751单片机识别, 是试验按键信号就发回复信号, 是动作按键信号就执行动作。

2.2.4输出控制电路的设计

输出控制电路是由BTA16型双向晶闸管和MOC3041型光电耦合器共同组成的交流无触点开关电路。

3单片机与外围电路的连接

单片机与外围电路的连接部分主要有按键、LED显示、信号输入、输出部分组成。

8751单片机就可读取键码并根据代码执行相应的程序模块。

4结论

本设计结合生产实际, 通过无线通信由地面遥控器对桥式起重机进行安全监控。本装置以8751单片机为主机, DTMF编/解码芯片为主要器件组成了一套具有编/解码可靠性高、传输误码率低、抗干扰性强、抗灰尘、抗老化的控制系统, 且价格低廉、操作方便。为桥式起重机的安全运行提供了可靠的技术保障。

参考文献

[1]王义方, 周伟航主编.微型计算机原理及应用[M].机械工业出版社.

[2]何立民主编.单片机应用系统设计——系统配置与接口技术[M].北京航空航天大学出版社.

单片机串口通信方式总结 第2篇

开始信号:SCL为高电平,SDA由高电平向低电平跳变,开始传送数据。void start()// 开始位 { SDA = 1;

//SDA初始化为高电平“1”

SCL = 1;

//开始数据传送时,要求SCL为高电平“1”

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

SDA = 0;

//SDA的下降沿被认为是开始信号

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

SCL = 0;

//SCL为低电平时,SDA上数据才允许变化(即允许以后的数据传递)} 结束信号:SCL为高电平,SDA由低电平向高电平跳变,结束传送数据。void stop()// 停止位 { SDA = 0;

//SDA初始化为低电平“0”

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

SCL = 1;

//结束数据传送时,要求SCL为高电平“1”

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

SDA = 1;

//SDA的上升沿被认为是结束信号 }

2,数据格式(数据输入)

在IIC总线开始信号后,送出的第一个字节数据是用来选择器件地址和数据方向的,其格式为

从器件收到地址型号后与自己的地址比较,一致则此器件就是主器件要找的器件,并返回ACK(不管是写数据还是地址都会返回)。IIC传送数据时SCL为低电平时SDA可改变高低电平,SCL转跳为高时数据输入(此时SDA不能跳变),发送数据:bit WriteCurrent(unsigned char y){ unsigned char i;bit ack_bit;

//储存应答位

for(i = 0;i < 8;i++)// 循环移入8个位

{

SDA =(bit)(y&0x80);

//通过按位“与”运算将最高位数据送到S

//因为传送时高位在前,低位在后

_nop_();

//等待一个机器周期

SCL = 1;

//在SCL的上升沿将数据写入AT24Cxx

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

SCL = 0;

//将SCL重新置为低电平,以在SCL线形成传送数据所需的8个脉冲

y <<= 1;

//将y中的各二进位向左移一位

} SDA = 1;

// 发送设备(主机)应在时钟脉冲的高电平期间(SCL=1)释放SDA线,//以让SDA线转由接收设备(AT24Cxx)控制

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

SCL = 1;

//根据上述规定,SCL应为高电平

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

_nop_();

//等待一个机器周期

ack_bit = SDA;//接受设备(AT24Cxx)向SDA送低电平,表示已经接收到一个字节

//若送高电平,表示没有接收到,传送异常

SCL = 0;

//SCL为低电平时,SDA上数据才允许变化(即允许以后的数据传递)

return ack_bit;

// 返回AT24Cxx应答位 } 读数据:unsigned char ReadData()// 从AT24Cxx移入数据到MCU { unsigned char i;unsigned char x;

//储存从AT24Cxx中读出的数据

for(i = 0;i < 8;i++){

SCL = 1;

//SCL置为高电平

x<<=1;

//将x中的各二进位向左移一位

x|=(unsigned char)SDA;//将SDA上的数据通过按位“或“运算存入x中

SCL = 0;

//在SCL的下降沿读出数据

} return(x);

//将读取的数据返回 } 发送数据步骤:

oid WriteSet(unsigned char add, unsigned char dat)// 在指定地址addr处写入数据WriteCurrent { start();

//开始数据传递

WriteCurrent(OP_WRITE);//选择要操作的AT24Cxx芯片,并告知要对其写入数据

WriteCurrent(add);

//写入指定地址

WriteCurrent(dat);

//向当前地址(上面指定的地址)写入数据

stop();

//停止数据传递

delaynms(4);

//1个字节的写入周期为1ms, 最好延时1ms以上 } 读数据步骤:

/*************************************************** 函数功能:从AT24Cxx中的当前地址读取数据 出口参数:x(储存读出的数据)

***************************************************/ unsigned char ReadCurrent(){ unsigned char x;start();

//开始数据传递

WriteCurrent(OP_READ);

//选择要操作的AT24Cxx芯片,并告知要读其数据

x=ReadData();

//将读取的数据存入x stop();

//停止数据传递

return x;

//返回读取的数据 } /*************************************************** 函数功能:从AT24Cxx中的指定地址读取数据 入口参数:set_add 出口参数:x

***************************************************/ unsigned char ReadSet(unsigned char set_add)// 在指定地址读取 { start();

//开始数据传递

WriteCurrent(OP_WRITE);

//选择要操作的AT24Cxx芯片,并告知要对其写入数据

WriteCurrent(set_add);

//写入指定地址

return(ReadCurrent());

//从指定地址读出数据并返回 }

单总线协议————数据传输低位在前——p237 1,初始化单总线器件

初始化时序程序:

函数功能:将DS18B20传感器初始化,读取应答信号 出口参数:flag

***************************************************/ bit Init_DS18B20(void){ bit flag;

//储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在

DQ = 1;

//先将数据线拉高

for(time=0;time<2;time++)//略微延时约6微秒

;DQ = 0;

//再将数据线从高拉低,要求保持480~960us for(time=0;time<200;time++)//略微延时约600微秒

;

//以向DS18B20发出一持续480~960us的低电平复位脉冲

DQ = 1;

//释放数据线(将数据线拉高)

for(time=0;time<10;time++)

;//延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)

flag=DQ;

//让单片机检测是否输出了存在脉冲(DQ=0表示存在)

for(time=0;time<200;time++)//延时足够长时间,等待存在脉冲输出完毕

;return(flag);

//返回检测成功标志 }

单总线通信协议中存在两种写时隙:写0写1。主机采用写1时隙向从机写入1,而写0时隙向从机写入0。所有写时隙至少要60us,且在两次独立的写时隙之间至少要1us的恢复时间。两种写时隙均起始于主机拉低数据总线。产生1时隙的方式:主机拉低总线后,接着必须在15us之内释放总线,由上拉电阻将总线拉至高电平;产生写0时隙的方式为在主机拉低后,只需要在整个时隙间保持低电平即可(至少60us)。在写时隙开始后15~60us期间,单总线器件采样总电平状态。如果在此期间采样值为高电平,则逻辑1被写入器件;如果为0,写入逻辑0。

下图为写时隙(包括1和0)时序

上图中黑色实线代表系统主机拉低总线,黑色虚线代表上拉电阻将总线拉高。下面是代码:

WriteOneChar(unsigned char dat){ unsigned char i=0;for(i=0;i<8;i++)

{

DQ =1;

// 先将数据线拉高

_nop_();

//等待一个机器周期

DQ=0;

//将数据线从高拉低时即启动写时序

DQ=dat&0x01;

//利用与运算取出要写的某位二进制数据,//并将其送到数据线上等待DS18B20采样

for(time=0;time<10;time++)

;//延时约30us,DS18B20在拉低后的约15~60us期间从数据线上采样

DQ=1;

//释放数据线

for(time=0;time<1;time++)

;//延时3us,两个写时序间至少需要1us的恢复期

dat>>=1;

//将dat中的各二进制位数据右移1位

}

for(time=0;time<4;time++)

;//稍作延时,给硬件一点反应时间 }

对于读时隙,单总线器件仅在主机发出读时隙时,才向主机传输数据。所有主机发出读数据命令后,必须马上产生读时隙,以便从机能够传输数据。所有读时隙至少需要60us,且在两次独立的读时隙之间至少需要1us恢复时间。每个读时隙都由主机发起,至少拉低总线1us。在主机发出读时隙后,单总线器件才开始在总线上发送1或0。若从机发送1,则保持总线为高电平;若发出0,则拉低总线。

当发送0时,从机在读时隙结束后释放总线,由上拉电阻将总线拉回至空闲高电平状态。从机发出的数据在起始时隙之后,保持有效时间15us,因此主机在读时隙期间必须释放总线,并且在时隙起始后的15us之内采样总线状态。

下图给出读时隙(包括0或1)时序

图中黑色实线代表系统主机拉低总线,灰色实线代表总局拉低总线,而黑色的虚线则代表上拉电阻总线拉高。代码为:

unsigned char ReadOneChar(void){

unsigned char i=0;

unsigned char dat;//储存读出的一个字节数据

for(i=0;i<8;i++)

{

DQ =1;

// 先将数据线拉高

_nop_();

//等待一个机器周期

DQ = 0;

//单片机从DS18B20读书据时,将数据线从高拉低即启动读时序

dat>>=1;

_nop_();

//等待一个机器周期

DQ = 1;

//将数据线“人为”拉高,为单片机检测DS18B20的输出电平作准备

for(time=0;time<2;time++)

;

//延时约6us,使主机在15us内采样

if(DQ==1)

dat|=0x80;//如果读到的数据是1,则将1存入dat

else

dat|=0x00;//如果读到的数据是0,则将0存入dat

//将单片机检测到的电平信号DQ存入r[i]

for(time=0;time<8;time++)

;

//延时3us,两个读时序之间必须有大于1us的恢复期

}

return(dat);

//返回读出的十进制数据 }

每个单总线器件内部都光刻了一个全球唯一的64位二进制序列码,用于该单总线器件的识别

SPI总线协议

SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是SPI0和SPI3方式。

SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。

上升沿发送、下降沿接收、高位先发送。

上升沿到来的时候,sdo上的电平将被发送到从设备的寄存器中。

下降沿到来的时候,sdi上的电平将被接收到主设备的寄存器中。读代码:

unsigned char ReadCurrent(void){

unsigned char i;unsigned char x=0x00;

//储存从X5045中读出的数据

SCK=1;

//将SCK置于已知的高电平状态

for(i = 0;i < 8;i++){

SCK=1;

//拉高SCK

SCK=0;

//在SCK的下降沿输出数据

x<<=1;//将x中的各二进位向左移一位,因为首先读出的是字节的最高位数据

x|=(unsigned char)SO;//将SO上的数据通过按位“或“运算存入 x

} return(x);

//将读取的数据返回

} 写代码:

void WriteCurrent(unsigned char dat){

unsigned char i;SCK=0;

//将SCK置于已知的低电平状态

for(i = 0;i < 8;i++)// 循环移入8个位

{

SI=(bit)(dat&0x80);

//通过按位“与”运算将最高位数据送到S

//因为传送时高位在前,低位在后

SCK=0;

SCK=1;

//在SCK上升沿写入数据

dat<<=1;

//将y中的各二进位向左移一位,因为首先写入的是字节的最高位

单片机无线通信 第3篇

关键词 DS18B20 NRF2401 无线温度传感器

中图分类号: TP3 文献标识码:A

以传统温度传感器进行多点温度测量时往往存在繁杂的布线问题,为了有效克服这一使用局限,我们基于单片机技术和无线通信技术设计了一种使用便捷的无线温度传感器,本文给予详细介绍。

1 硬件设计框架与基本原理

1.1 总体结构框架

无线温度传感器的总体结构主要包括两部分:一是温度采集电路(图1),包括温度采集模块,单片機和无线发射模块,其作用是测量温度并将测量到的温度数据发射给主机;另外一部分是温度信息处理电路(图2),包括无线接收模块、LCD显示、掉电数据存储、按键和RS232接口,其作用是收集所有的温度信息,处理并显示出这些信息,同时还可以将这些数据传输到PC机上。

1.2 数字温度计DS18B20

DS18B20是一种分辨率可编程设置的单总线数字温度计,用户可以通过程序来控制,将温度转化成12bit的数字字节的最大耗时仅需750ms。每一片DS18B20都有唯一的64位序列码,从而允许多片DS18B20共存于同一根单总线上,因此用一块单片机可以控制一片区域的温度采集。

DS18B20外观和接口如图3和图4所示,它有3个引脚,1脚为GND电源地;2脚为DQ数字信号输入输出引脚,DS18B20通过1根数据总线与单片机进行双向通信;3脚为VDD外接供电电源输入端。

1.3 单片机的选择

本系统中在温度采集电路和温度信息处理电路中都需要用到单片机,而且单片机是做为系统控制核心。在温度采集电路中对单片机的功耗要求较高而在信息处理电路中对单片机的处理速度有一定的要求。基于价格和电路设计方便的考虑,采用华邦W78E052,它的指令和引脚序列与MCS51兼容,编程简单方便。它最大支持40MHz时钟,供电电压范围宽(2.4V~5.5V),采用3.3V供电,它的IO口可以很方便的与DS18B20和NRF2401直接连接。

由于NRF2401模块的无线收发距离与PCB的布局和布线有很大的关系,所以其直流供电电源要尽量的靠近VDD引脚,并且用一个10uF钽电容去耦。布线要注意避免长的电源走线,元器件的地、电源及电源的去耦电容要尽量靠近芯片。VSS直接连接铺铜地,并保证每个VSS至少有一个过孔。

2 软件的设计

2.1 温度采集

DS18B20默认以12位输出,测温分辨率为0.0625,输出二进制补码格式数据,低4位为小数位,最高位为符号位。如果是正温度,读出的数据乘以0.0625便是当前的温度值;负温度得转化为正值再相乘。12位输出的耗时是750ms,如果需要提高转换速度,可以选择减少输出位数。如果是单片的DS18B20工作,在启动温度转换和度暂存存储器操作命令时可以跳过64位ROM地址匹配。

2.2 无线收发

NRF2401有4种工作模式,分别是收发模式、配置模式、空闲模式和关机模式,这四种模式可由PWR_UP寄存器、PRIM_RX寄存器和CE引脚决定。其中收发模式又有Enhanced ShockBurstTM、ShockBurstTM和直接收发模式3种,收发模式由配置字来决定。配置从4个方面进行:①数据宽度,声明射频数据包中的数据位数;②地址宽度,声明数据包中地址占用位数;③地址,指接收对象的地址;④CRC检测,生成CRC校验码和解码。

2.3 系统软件框架

温度信息处理模块可以工作在两种模式:单机模式和联机模式,这两种模式可以通过按键来设定。单机模式下,将各个温度采集模块上采集过来的温度实时显示出来,与预先设定的数据进行比较,如果某一处超过警界值,则启动相应的处理措施并发出报警。而在联机模式下,模块则将采集到的数据通过RS232发给上位机,并执行上位机发出的命令。

实验测定:该无线温度传感器用板载天线在空旷地的数据传输距离可达40米,如果采用高增益天线可以将控制距离增大到100米以上,温度测量误差在€?.1℃以内。如果在发射端增加功率放大器模块,在接收端加低噪声放大器模块,控制范围还能够进一步扩大。

参考文献

[1] 王飞.基于ZigBee技术的无线温湿度传感器网络设计[J].网络与通信,2008(2).

[2] 杨林举.基于DASH7技术的温度无线传感器网络设计[J].自动化与信息工程,2011(4).

[3] 徐治根.基于NRF2401的无线温度传感器的设计[J].科技资讯,2012(9).

单片机无线通信 第4篇

关键词:AVR,单片机,无线,红外通信

近年来无线数据通信技术不断发展, 红外无线技术也得到了较大的进步, 它主要利用红外线来传递数据, 是无线通讯技术的一种, 具有体积小、功耗低、功能强、成本低等特点[1]。结合红外通信技术应用的特点, 本文设计和实现了一种基于AVR单片机的无线红外通信系统。单片机是目前设计应用中用得比较广泛的器件, 它可以通过软件编程来达到不同的效果, 实现各种各样不同的功能, 具有灵活性强、可靠性高、可扩展性好的优点[2]。结合单片机技术, 可以提高红外通信的距离, 而且硬件电路简单, 同时具有较高的集成性、性价比较高等特点, 具有一定的参考和使用价值。

1 系统方案

本系统是一个基于单片机红外光通信的模拟信号和数字信号的发射与接收系统。采用语音信号放大, 经过PWM调制后单独发射, 经光敏三极管接收进行放大滤波和功放。温度信号采用DS18B20采集[3], 经过单片机进行编码, 将调制信号与38KHz载波信号通过74HC157多路选择器进行调制后发射。同样采用光敏三极管U37D进行接收, 即可解调出发射的温度信号, 通过AVR128单片机进行输入捕捉, 最终显示到1602液晶显示屏上。模拟部分信号调制采用PWM调制方案, 解调时采用巴特沃斯滤波器;数字部分的红外编码采用16位温度数据并在前后加入起始位和截止位, 组成包含18bit方式的一个帧, 调制方案主要采用WDM调制。

2 系统硬件设计

2.1 模拟系统硬件电路设计

信号的输入采用反相输入运算放大器实现前置放大, 再通过比较电路与积分电路首尾相连, 组成闭环电路, 电路自动生成方波、三角波。然后将三角波信号和音频信号经过LM393比较后出来PWM比较标准, 此时不需要整形, 只需红外发射电路即可。为了确保发射达到一定的距离, 在发射前级加一个功率放大三极管8050。再经过编码后的二进制信号调制成频率为38KHZ的间断脉冲串, 即是调制后用于红外发射二极管发送的信号。发送信号完毕后, 信号通过红外及放大电路接收。本设计选用接收距离较远、接收高频的光敏三极管, 而且还带有一定的滤波作用。由于光敏三极管接收的信号比较弱, 所以要先经过放大处理。在后极加一个带通滤波器, 滤掉各种谐波, 还原出语音信号。带通滤波器由一个巴特沃斯二阶低通滤波器和一个巴特沃斯二阶高通滤波器组成, 该滤波器是将接收信号中低于300Hz以下的谐波滤掉。经滤波器输出的语音信号十分微弱, 带不动8Ω负载, 需要放大功率。选用专用音频功率放大芯片LM386。

2.2 数字系统硬件电路设计

选用集成数字温度传感器DS18B20[4], 便于数据处理及控制。经过DS18B20采集到的数字温度信号直接发射会在接收端出现乱码现象, 故需对其进行编码处理。本设计采用ASK相移键控方式进行调制, 并采用AVR单片机作为主控芯片。方波的频率选为37KHz, 选用芯片SN74HC157实现选通。

接收电路还是选用光电三极管, 光电三极管本身带有滤波作用, 由于调制前后的信号都是数字信号, 通过光电三极管的滤波就可将编码信号还原出来。由于接收到的信号是编码信号的反码, 所以在接收后加一个反相器。解码之前要先将调制信号解调出来, 解调方式是先将接收到的信号通过滤波器, 再利用一个电压比较电路跳出编码信号, 解码电路选用Atmel公司的ATmega128单片机[5], 利用其输入捕捉功能进行解码, 显示电路采用LCD1602, 并用单片机进行控制。

3 系统软件设计

红外编码方式采用2ms的高电平和1ms的低电平表示二进制“1”, 用1ms的高电平和1ms的低电平表示二进制“0”, 这样就将16位温度数据编码成一系列脉冲, 为了保证解码的正确性, 在编码后的16位温度数据前后加识别码, 起始标志码用6ms高电平和5ms低电平表示, 结束标志码用9ms高电平和8ms低电平表示, 这就构成了一帧数据。

解码是将前面编码的温度数据还原出来, 这里就用到Atmega128的16位计数器的输入捕捉单元。温度采用LCD1602液晶显示, 电路简单, 由于解码出的温度数据是16位二进制代码, 还要进行数据处理, 然后送给液晶显示。

4 测试结果与分析

输入正弦信号, Vi=200m Vp-p接收距离为2m时, 在8Ω电阻负载上测得数据 (见表1) 。

在输入信号为0时, 输出电压有效值Vr m s=25m V。用DS18b20测得的温度数据为18.45260C。在接收端接收到了温度数据和语音信号, 实现了利用红外光通信。在输入信号为500HZ时, 从表1中可以看出, 在8Ω电阻负载上, 接收装置的输出电压有效值都大于0.4V;而且在输入信号为0V时, 输出噪声电压的有效值为28m V, 远小于0.1V, 模拟部分用PWM调制, 数字部分用ASK调制方案, 成功地实现通信。

5 总结与展望

本文设计了一个红外光通信系统, 分别发送、接收模拟信号和数字信号。模拟发射部分采用PWM脉宽调制技术, 将输入的语音信号经放大后与38KHZ的三角波进行PWM调制, 经整形后通过红外二极管发射。接收部分采用带有滤波的光电三极管, 可以基本解调出输入的语音信号, 经放大后, 采用带通滤波器滤波, 再经过LM386功率放大后语音信号较好。数字发射部分以Atmega128单片机为控制核心, 选用DALLAS公司的DS18b20温度传感器, 将采集到的温度信息编码后, 利用ASK调制后经红外二极管发射, 接收部分采用非相干解调 (包络检波法) 方式解调出编码信号后, 采用128单片机的输入捕捉功能还原出温度信号, 再用LCD1602显示当前温度。系统的硬件电路简单, 同时具有较高的集成性, 性价比较高等特点, 具有一定的参考和使用价值。

参考文献

[1]朱敏, 杨春玲.EDA技术与实验[M].哈尔滨:哈尔滨工业大学出版社, 2009.

[2]蔡睿研.红外线遥控集成电路PT2243原理及应用[J].国外电子元器件, 2003 (9) :52-54.

[3]证君里, 杨为理.信号与系统[M].北京:高等教育出版社, 2009.

[4]Doica Adrian, Schreier, Franz, et al.Iterayively regularized Gauss-newton method for atmospheric remote sensing[J].computer physics communications, 2002 (148) :214-226.

单片机无线通信 第5篇

1 51单片机与网络控制器的连接

RTL8019AS 网络接口芯片是台湾 Realtek 公司的代表性产品之一,该芯片基于 ISA 总线结构,性能稳定且价格低廉,在工业企业领域有非常广泛的应用[ 1 ]。

1.1 RTL8019AS接口芯片的主要特性

RTL8019AS芯片主要优点有:

一是支持热插拔(即插即用)的动态检测;

二是完全兼容当前主流的NE2000 模式并可在8 位与 16 位两种模式下工作;

三是有跳线与非跳线两种模式可供选择;

四是支持全双工通信模式,双工通信时信道的传输速率可达到10Mbps;

五是内置数据预取功能;

六是内置 16K 字节的闪存;

七是支持 8/16两种前端总线工作模式,内置8 个中断申请线,同时有16 个I/O地址可供选择。

1.2 51单片机与RTL8019AS连接实现网络通信的电路设计

1.2.1 RTL8019AS 与 93C46 接口电路

93C46接口电路内部存储容量为1Kbits,是四线串行接口EEPROM。RTL 8019 AS芯片在上电或者初始化复位时,首先要从该芯片中读取预设的配置信息才能完成初始化。 93C46 内部存储器的前三个地址空间用于存放 RTL8019AS芯片的上电初始化信息;后5个地址空间用于记录本机地址;0AH-11H 的地址空间分配给制造商存储产品的信息;

12H~7FH 的地址空间用于记录即插即用信息。RTL 8019 AS 的EECS引脚连接93C46的CS引脚,EESK引脚连接SK引脚,EEDI引脚连接DI,EEDO引脚连接DO引脚,即由EECS 提供片选信号,EESK 提供时钟信号,EEDI 与 EEDO 定义为串行数据I/O通道。

1.2.2 RTL8019AS 与 SST89E564RD 接口电路的.硬件连接

SST 系列单片机是美国 SST公司生产的一种中高端51系列单片机,SST89 E564RD 单片机是其SST系列单片机中的一个型号。将RTL8019AS 的SD0-SD7 引脚与SST89E564RD 的P0.0-P0.7引脚相连,相连后的引脚通过锁存器与A0-A7引脚相接,同时将74HC573的A0-A5引脚与 RTL 8019AS 的SA0-SA5引脚相接,将SST89E564RD的P0口用作D/A端口。

此外,SST89E564RD的 P2.0-P2.6 引脚与 静态存储芯片TMS62256 的高7位地址线引脚相接,组合成访问 TMS的15位地址总线。将SST 89E564 RD的SMEMRB 引脚接+5V,同时将IOCHDRY引脚悬空,JP 引脚为跳线模式,IOCS 16B引脚接地,使 RTL8019AS 工作在 8 位模式[ 2 ]。

1.3 网络接口电路的地址定义

RTL8019AS中 SA0-SA19 的连接方式如下:SA5-SA7以及SA10-SA19 接 GND,SA8-SA9 接+5V电压,SA0-SA4 接74HC573的A0-A5引脚。SST 单片机可以通过 P0.0-P0.4来选中RTL8019AS 的 32 个I/O端口并相应地对其进行R / W操作。此外,将RTL8019AS 的IORB 和 IOWB 引脚分别与SST89E564RD单片机的 RD 和 WR 相连作为R/W选通信号。

单片机无线通信 第6篇

【关键词】 单片机 语音识别 无线求救 室内安全

一、前言

及时报警在家居安防监控过程中非常重要。在很多场合下,遇险后报警人是无法通过正常方式报警的,例如入室抢劫时被害人会被蒙住嘴和眼睛,突发疾病的人无法清晰、大声的求救。因此,在出现突发情况时,简单的声音呼救是没有效果的,必须通过一定的识别设备,及时接收并识别轻微的、模糊的声音,这对提高家居环境的安全度具有重要的意义。在实际应用过程中,识别设备在接收到真的呼救信号后,能够触发监控探头将现场的图像记录下来,并将信息及时传递到救援机构或报警人亲属,这样就能让报警人获得便捷、快速和有效的保护。本文基于单片机构建了一套室内语音识别及无线求助系统,该系统实现了室内报警语音的识别和报警信号的传输,创新地将无线通信技术和语音识别技术结合起来。从实际情况出发,使得家居用户在紧急情况发生时不需要寻找报警和通讯设备,只需要动口就能完成求救工作。

二、系统框架分析

2.1主控芯片

本系统主要基于STM8系列的单片机对室内语音识别系统进行设计。单片机作为系统的主控芯片,对整个系统的架构设计优化、信息传输速度提升、系统开发维护都具有重要的作用。该系列的单片机包含8位框架结构,其中,CPU包含6个寄存器,这些寄存器对提高数据的访问和处理能力十分重要。另外,该系列单片机具有支持20个寻址方式和80个基本语句的指令集,并且CPU的所有寄存器都具有可寻址地址。而且,该系统的单片机保密功能良好,目前处于世界领先的地位,对保护我们的知识产权,维护项目成果在市场竞争中的正当性具有重要的意义。

2.2系统流程控制

当出现求救信号后,系统首先使用麦克风采集室内的语音信息,然后在通过无线传输模块将声音信号转化成电信号并传送给单片机,在微控制器——单片机的控制下,首先由语音识别模块对声音信号进行判断和分析,如果确认收到的信号为求救信号,则当单片机收到语音识别模块确认后,将控制通信模块将求救信息发送出去。同时,设备的液晶显示屏上会出现求救时间的发生时间,设备喇叭会发出报警声,直到使用按键输入后才能取消报警。详细的系统流程控制图如图1所示。

三、语音识别控制

本系统中的语音识别是设备的重要组成部分。使用语音识别是提高室内安防效果的重要途径。按照实际的需求,报警对象可以发出一些简单的声音入室抢劫时被害人会被蒙住嘴和眼睛,突发疾病的人无法清晰、大声的求救。这种声音模式是不引人注意的,用力幅度也是比较小的,但是其中仍然包含可用的音频数据。这种声音数据在呼救现场不会引起人们的注意,沉闷而且单调,同时,这种声音还有其他的一些特点,例如,呼救音在时域上具有非常强的稳定性。

在时域上,能够针对此类信号提取短时平均过0率和能量。而且,按照实际的需要,此类语音识别主要针对特定人语音的识别,只有设定的呼救者发出呼救并被确认以后,语音识别模块才能被触发并使整个系统开始工作。具体实现的功能需求包括:能够对呼叫的语音信号进行识别。识别技术对语音文本的内容要求不高,只要能够识别简单的音素及其组合即可。这时人们在特殊环境下必须发出的声音的。但是,只能采用特意拖长的发音时间及反复的相同的语音信号进行呼救;能够对说话的人的身份进行识别的功能,以确定特定的呼救用户;对识别的结果提供一种触发手段,例如远程报警、触发报警铃、打开视频监控等。

本装置语音识别的过程如图2所示。

语音识别最主要的部分是对特征的提取和模式的匹配。所谓特征提取,又包括语音前端处理与特征提取。前者指语音采样、分帧、A/D变换、特征提取和端点检测等。首先要识别特定人的声音,并对声音进行采样。系统语音的采样和A/D变换都是通过硬件完成的。采集的数据表明:成年人的有意识低音能够延续7.5左右,而普通的无求救意识发音不会存在如此上的时间,而且也不会保持持续的稳定的频率和振幅。除此之外,呼救音的具体长短能够根据口型、声带、肺活量和堵塞物的进行分析。例如,不同的堵塞物,或者不同的堵塞方式,都会造成差异的波形变异特征,这种数据规律是可寻的。因此,语音识别的着眼点就在于叠加多个特征量,形成多层次的识别模型。

四、数据无线传输控制

无线数据传输模块主要基于GPRS网络进行信号传输。这种传输方式成本较低,适用于短距离传输的情况,非常适合家居语音识别及求救系统的应用环境。GPRS在进行无线信息传输时,目前常用的是多媒体服务MMS,因此我们只需要将报警信息按照MSS协议进行打包,就能快速完成信息的传输过程。其中,报警信息数据包括WSP和WTP两种结构。

在本系统研发过程中,我们应用NRb24LO1无线传输模块,这个模块属于2.4G信息传输,内容集成了PCB天线,调制过程为GFSK,在国际通用频段ISM上共有125个频点,能够保证2M数据的高速传输。该模块还将高度信号处理功能集成进来,这里面主要包括自动应答和自动重发数据包等。

模块内置的点对点通信控制和CRC容错机制,能够保证数据的安全、稳定传输,另外,还包括了载波检测和传输错误计数等功能,能够进行跳频设置。模块的SPI结构能够与单片机直接相连或使用单片机进行模拟,内部的FIFO能够处理各种高、低速的接口,并选择性打开某些接收通道,因此能够适应各类型单片机的使用。

五、结论

总的来说,本设备以单片机为控制核心,并在它的基础上完成了语音识别模块和无线传输模块的设计开发,系统运行所需的成本较小,而且由于使用单片机进行集中控制,系统具有反应迅速、呼叫方便、操作便捷的特点,且可以设置呼叫不被察觉的模式,从而真正实现了安全求救的目的。另外,该设备的语音识别误报率较低,市场推广前景十分广阔。

参 考 文 献

[1]张雄伟,陈亮,杨吉斌.现代语音处理技术及应用[M].北京:机械工业出版社,2003.

[2]陈涛.基于DSP的语音信号识别系统的研究与实现[D].成都:成都理工大学,2010.

AVR单片机的串行通信 第7篇

AVR单片机是由美国ATM EL公司1997年开始逐步设计的一个单片机系列,有几十个品种,它的特点是运算速度快,每秒执行16M条指令;功能强,片内用集成Flash、PWM脉宽调制器、几个定时器计时器、A/D转换器、多个IO口、异步串行口、SRAM、EPROM、SP I同步串行口等。目前AVR系列单片机得到了较为广泛的应用。主要研究其SPI接口。

2 SPI

SPI是AVR单片机的一种串行通信形式。它是一个同步的串行通信总线,这种形式允许MCU与各种外围设备以串行方式进行通信、数据交换;它具有电路简单、速度快、通信可靠等优点。串行外设接口SPI允许AT90系列AVR单片机和外设之间,或几个AVR单片机之间以标准SPI接口协议兼容的方式进行高速的同步数据传输。AVR单片机这种串行接口也同样允许在ATmega系列单片机和外设或其他AVR系列单片机之间高速同步数据传输。AT90系列SPI特征如下:

(1)采用全双工模式,3线同步进行数据传输。

(2)可以当作主机或从机工作。

(3)可配置为MSB方式或LSB方式。

(4)提供7钟频率可编程时钟。

(5)传输结束后发送结束中断标志。

(6)写冲突保护。

(7)可从闲置模式状态下唤醒。

(8)作为主机具有倍速模式。

(9)总线竞争保护等。

SPI通信采用主从模式(MasterSlave)架构,支持多个从端(SPI Slave)模式应用,一般仅支持单个主端(API Master)。Master和Slave都可以同时发送或接收数据,但Master主要负责提供数据传送时的同步时钟。通过时钟的设置Master可以控制数据传输的速度,从而控制了数据的传送。SPI既可以工作在主模式下,也可以工作在从模式下。当工作在主模式下时,每发送或接收一位数据,都需要一次时钟作用;而当工作在从模式下时,每次接收到时钟信号之后才进行一位数据的发送或接收。SPI主机从机的互联如图1所示,系统包括两个移位寄存器和一个主机时钟发生器。将需要的从机的SS引脚拉低,从而使主机启动一次通信过程。主机和从机将需要发送的数据放入相应的移位寄存器。主机在SCK引脚上产生时钟脉冲以交换数据。SCK引脚是主机模式时的时钟输出以及从机模式的时钟输入。主机数据从主机的MOSI移出,由从机的MOSI移入;从机数据由从机MISO移出,由主机的MISO移入。主机通过将从机的SS拉高实现与从机的同步。这样主机和从机的两个移位寄存器就可以被认为是一个分开的16位环形移位寄存器。

这个系统的发送方向只有一个缓冲器,而在接收方向有两个缓冲器。这就意味着,在发送时,要等到移位过程全部结束后才能对SPI数据寄存器执行写操作。而在数据接收时,在下一个字符移位过程结束前已经收到的数据必须从SPI数据寄存器中读走,否则第一个字节将丢失。当SPI接口被使能时,MOSI、MISO、SCK、SS引脚的控制与数据方向,按表1来配置。

SPI数据寄存器是读/写寄存器,可以用来在寄存器文件和SPI移位寄存器之间传输数据。写寄存器时将初始化数据传送;读寄存器时将读取移位寄存器接收缓冲区的值。

3 实例分析

现将AT90S8535与AT90S4434两个系统相连来进行数据交换。图2所示为SPI演示系统的硬件。数据块首地址分别为BLOCK0和BLOCK1,长度分别为LENGTH0和LENGTH1,所用晶振频率均为8MHz。将AT90S8535设定为主控方式,AT90S4434为从控方式。

主从机软件部分如下:

值得注意的有以下两点:(1)SPI同步串行数据传送是主机和从机互相来交换数据,而不是单纯的主机向从机发送数据;(2)当使用中断方式处理主机的数据传输,并且SS可能被拉低时,中断服务程序检查MSTR是否为“1”,若被置“0”,必须将其置位,以保证SPI为主机模式。

4 结语

介绍AVR单片机的SPI串口通信,AVR单片机作为一种高性能、低功耗的嵌入式微控制器,它的片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代51系列单片机。

摘要:AVR单片机是目前最新单片机系列之一,它以速度高、片内硬件资源丰富著称的微控制器系列。主要研究它的同步串口通信,介绍了AVR单片机SPI接口的工作原理,给出了在实际应用中的几点体会。

关键词:AVR单片机,SPI,串口通信

参考文献

[1]李勋,耿德根.AVR单片机应用技术.北京:北京航空航天大学出版社,2000.

[2]丁化成,耿德根,李君凯.AVR单片机应用设计.北京:北京航空航天大学出版社,2002.

[3]Larry O’Cull,Sarah C.嵌入式C编程与Atmel AVR.周俊杰,等,译.北京:清华大学出版社,2003.

[4]金春林,邱惠芳,张皆喜.AVR系列单片机C语言编程与应用实例.北京:清华大学出版社,2003.

基于单片机的数据串口通信 第8篇

1串口通信的分类及参数分析

1.1串口通信的类别

串口通信主要就是计算机和外设间以及主机系统间数据的串行传送, 可以将串行通信分为两个重要的类别, 即:异步通信以及同步通信。其中在异步通信当中有着波特率以及帧格式两个重要指标, 在实际的操作运行当中, 数据是以字符或是字节组成字符帧来实现传送的, 通过发送端逐帧进行发送, 在传输线作用下进行接收, 在接收以及发送端可通过各自的时钟进行对数据加以控制, 在时钟源方面是独立的[1]。而同步通信则是通过连串的方式进行对数据加以传输, 在通信的过程中一次通信只能够传送一帧信息, 在传输的形式上是由若干字符进行传输的, 由同步字符以及数字和校验字符进行组成, 在同步的字符方面主要是位于帧的开头, 是对数字的字符进行确定开始的, 这一类的通信最大缺点就是接收和发送要保持同步进行。

1.2串口通信的参数分析

在串口通信的参数方面主要有起始位以及波特率和数据位以及停止位、奇偶校验。其中在波特率上主要是用来对通信的速度进行衡量的重要参数;而起始位的作用主要是使得通信双方在传输数据前协调同步;数据位则主要是对通信当中的实际数据位进行衡量的参数;而停止位则是表示单个包的最后一位;奇偶校验在串性通信当中是一种比较简单的校验方式, 串口会对其设置校验位, 通过一个值来对传输数据中的奇偶逻辑高位进行有效确保。

2串口通信的原理及单片通信过程分析

2.1串口通信的原理分析

在串口通信的原理上, 当数据在输入的过程中, 数据从外部设备进入到通信的接口, 在接收移位寄存器对字符接收之后数据就会从这一位置进入到数据输入寄存器当中, 然后再通过CPU对其读取, 在通信接口当中的控制寄存器, 主要是用来存放单片机发送给这一接口各种控制信息的, 这些控制信息对接口工作方式起到决定性作用。在状态寄存器当中的各位可以称作是状态位, 是对在传输当中所出现的一些错误进行指示的[2]。

2.2单片通信过程分析

在单片机的串行端口方面有一个数据寄存器SBUF, 主要有着发送以及接收的功能, 在固定条件下在单片机向数据寄存器进行写入数据的过程中, 这时候就已经启动了发送过程, 在对数据器进行读取的时候接收过程也随之而启动。在串行接口和单片机进行通信的过程中, 最为主要的就是单片机对PLC发出命令帧格式, 结束后PLC就会作出响应, 在单片机方面只有高低电平输入, 而PLC要接收的信息还要通过ASCII码来形成, 故此在发送的过程中就要根据FPO系列中的串行通信协议当中的信息帧格式进行转换成二进制的形式, 然后再通过单片机对PLC进行信息的发送。其流程图如图1所示。

3单片机数据串口通信软件设计

3.1单片机读取按键及串口通信设计

在对其按键程序进行设计过程中, 主要有查询和中断两种方式, 首先在查询方式上主要是通过键盘程序不断的查询有无按键按下, 在有的情况下要能够进入相应的按键子程序对数据进行有效的处理, 无则就继续进行查询。而在中断这一方式上主要是把按键动作和单片机中断系统得到有效联系, 在由按键按下的时候就会引起单片机的中断, 从而使得处理程序也会中断。在串口通信程序系统的设计过程中, 主要是采用晶振的频率是1100592MHz, 在T1的工作模式下波特率为9600b/s[3]。

3.2单片机显示程序设计

在对这一程序进行设计的过程中主要有静态显示驱动以及动态显示驱动两种, 其中在动态显示驱动方面主要就是数码管动态显示的方式, 是通过把所有段选线并联在一起, 通过八位I/O口进行对其加以控制, 然后通过单片机的其它I/O口当做是数码管位选线, 在单片机输出显示数字的译码时, 哪一数码显示管对位选通电路进行控制这一数码管就会显示, 而其它的数码管则不会亮。在静态显示驱动方面也被称为是直流驱动, 在这一驱动的方式下在数码管的共阴极以及共阳极是共同接地以及接电源的, 在静态显示驱动方式占用的单片机I/O端口方面较多, 在实际应用中通常不采用。另外在串口通信平台的设计方面可采用EIA电平逻辑, 对单片的选择要选择集成双驱动。

4结语

综上所述, 针对单片机的数据串口通信的研究在当前的社会发展当中有着重要的应用价值, 在实际的应用过程中根据传输媒体的不同有线数据的通信和无线数据的通信最终=会和计算机得到有机的连接, 这样就会使得不同地点数据终端实现资源共享, 在数据串口通信作用下将会在这一领域的效率上得到有效的提高。

参考文献

[1]司书甲, 毕研刚, 傅志斌.基于单片机的地震仪器采集站控制优化[J].微计算机信息, 2011 (14) .

[2]江小霞, 李叶妮.PLC可编程控制器与PIC单片机的远程通信[J].集美大学学报 (自然科学版) , 2012 (04) .

单片机无线通信 第9篇

随着信息技术的飞速发展和科技进步,在许多现代化集中管理的控制系统中,需要对现场数据进行统计、分析、打印、报警等,同时又要对现场设备进行实时控制,完成各种操作。单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用。由于单片机具有体积小、价格低廉、适应性强的特点,一般在工业控制系统中,各种数据的采集和执行机构的控制都是由单片机来完成。而单片机的计算能力有限,难以进行复杂的数据处理。在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,由单片机完成数据的采集及对设备的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。在分布式控制系统中大多采用单片机作为下位机来进行数据采集和现场控制,在这些应用中,单片机只是直接面对被控对象底层,而对采集到的数据进行进一步的分析和处理工作,则是由功能强大的PC机来完成的。因此,PC机和单片机之间就有着大量的数据交换。在绝大多数PC机的标准配置中,都有一个到多个RS 232串口,因为RS 232串口担负着PC机和单片机之间大量的数据交换的重任。单片机89C52用于自动控制及数据传输,并通过RS 232接口向上位机进行数据通信[1]。

1 RS 232串口通信

1.1 RS 232C标准

RS 232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS 232的最新一次修改。在这之前,有RS 232B,RS 232A,它规定连接电缆和机械、电气特性、信号功能及传送过程。

1.2 RS 232的接口引脚定义

由于RS 232C并未定义连接器的物理特性,因此,出现了DB-25,DB-15和DB-9各种类型的连接器,其引脚定义也各不相同[2]。常用的连接器接口图如图1所示,DB9的引脚功能见表1。

RS 232C标准接口有25条线,分别为4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:

(1)状态线

数据准备就绪(Data Set Ready,DSR):有效时(ON)状态,表明数据通信设备可以使用。

数据终端就绪(Data Terminal Ready,DTR):有效时(ON)状态,表明数据终端设备可以使用。

这两个信号有时连到电源上,上电就立即有效。

这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信由下面的控制信号决定。

(2)联络线

请求发送(Request to Send,RTS):DTE准备向DCE发送数据,DTE使该信号有效(ON状态),通知DCE要发送数据给DCE了。

允许发送(Clear to Send,CTS):对RTS的响应信号。当DCE已准备好接收DTE传来的数据时,使该信号有效,通知DTE开始发送数据。

RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。

(3)数据线

发送数据(Transmitted Data,TXD):DTE发送数据到DCE。

接收数据(Received Data,RXD):DCE发送数据到DTE。

(4)地线

有两根线SG,PG:信号地和保护地信号线。

(5)其余

载波检测(Carrier Detection,CD):用来表示DCE已接通通信链路,告知DTE准备接收数据。

振铃指示(Ringing,RI):当DCE收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知DTE,已被呼叫[3]。

通常的应用系统中,往往是在CPU和I/O设备之间传送信息,两者都是DTE,上位机和单片机89C52之间的通信,双方都能发送和接收,他们的连接只需要使用三根线即可,即RXD,TXD和GND,这种连接方式,即两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应接地即可。连接方式如图2所示。

1.3 波特率的概念

串行通信中,每秒传送的数据位称为波特率。如数据传送的波特率为1 200波特,采用N.8.1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:T=1/1 200=0.833 ms。同样,如数据传送的波特率为19 200波特,则字节中每一位传送时间T=1/19 200=0.052ms。根据数据传送的波特率即字节中每一位的传送时间,便可用普通I/O口来模拟实现串行通信的时序[4]。

1.4 RS 232C的电气特性

(1)逻辑电平

在TXD和RXD上:

逻辑1(MARK):-3~-15V;

逻辑0(SPACE):+3~+15V。

在RTS,CTS,DSR,DTR和DCD等控制线上:

信号有效(接通,ON状态,正电压):+3~+15V;

信号无效(断开,OFF状态,负电压):-3~-15V。

由以上定义可以看出,信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15 V或高于+15 V的电压也认为无意义,因此,实际工作时,应保证电平的绝对值在3~15V之间。当计算机和TTL电平的设备通信时,如上位机和单片机通信时,需要使用RS 232/TTL电平转换器件,常用的有MAX232。

1.5 RS 232与单片机之间的接口电路MAX232

由于RS 232信号的电平和单片机串口信号的电平不一致,必须进行二者之间的电平转换。MAX232由单一的+5V电源供电,只需配5个高精度10μF/50V的钽电容即可完成电平转换,转换后的串行信号TXD,RXD直接与上位机的串口连接。MAX232芯片的内部结构基本可分三个部分:

第一部分是电荷泵电路。由1,2,3,4,5,6脚和4只电容构成。功能是产生+12 V和-12 V两个电源,提供给RS 232串口电平的需要。

第二部分是数据转换通道。由7,8,9,10,11,12,13,14脚构成两个数据通道。其中13脚(R1in)、12脚(R1out)、11脚(T1in)、14脚(T1out)为第一数据通道。8脚(R2in)、9脚(R2out)、10脚(T2in)、7脚(T2out)为第二数据通道。TTL/COMS数据从T1in,T2in输入转换成RS 232数据从T1out,T2out送到电脑DB9插头;DB9插头的RS 232数据从R1in,R2in输入转换成TTL/COMS数据后从R1out,R2out输出。

第三部分是供电。15脚GND、16脚VCC(+5V)[5]。

1.6 RS 232的不足之处

(1)传输距离有限,实际最大传输距离只有50m。

(2)传输速率较低,在异步传输时,速率最大为19 200b。

(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

1.7 消除干扰噪声的主要方法

针对以上所述RS 232易产生共模干扰的问题,常用的解决方法主要是采用光隔离器,光隔离器穿过一个隔离的屏障来传输信号。一个光隔离器由一个光敏电阻耦合的发光二极管构成。流过发光二极管的电流使得它以可见光或者红外线的方式释放能量。这些能量将这个光敏电阻打开,导致在这个电阻的发射极和集电极之间的低阻抗。这个发光二极管的基极可以留着没有连接。从基极到发射极加入一个电阻可以导致更快的开关速度,但是输出电流更低。

2 结语

RS 232串口通信是PC机和单片机之间信息传递的枢纽,一切数据和指令的传输必须由RS 232串口来完成。针对RS 232存在的不足之处加以改进之后,RS 232使得PC机和单片机之间能高效地通信,采用电平转换芯片MAX232实现TTL逻辑电平和RS 232电平之间的相互转换,转换之后的串行信号TXD,RXD直接与PC机的串口连接,如此连接,既可体现出单片机的灵活控制功能,又可发挥出PC机强大的计算和显示功能,有利于对现场信号的实时采集、处理和监控,确保了良好的人机界面的交互性[6]。

参考文献

[1]李朝青.单片机原理及接口技术[M].3版.北京:北京航空航天大学出版社,2005.

[2]陈传波,杜鹃,张智杰.WIN32下基于RS232协议的通信方法及应用研究[J].南昌大学学报,2005,27(3):70-75.

[3]金卫民.VC下利用串口进行数据通信的研究[J].计算机工程和设计,2003,24(12):120-123.

[4]喻桂兰,彭宇宁,赵开开.VB6.0与RS232在多机通信技术中的应用[J].实验科学与技术,2009,8(4):54-57.

[5]崔玮.Protel99SE电路原理图与电路板设计教程[M].北京:海洋出版社,2005.

单片机与网络通信应用研究 第10篇

关键词:单片机,网络通信,应用研究

0 引言

目前,为了实现远程监测,监控设备就必须具有网络通信终端,而这种网络通信终端大多用单片机或数字信号处理器来实现。由于监控系统的分布性及工作环境的特殊性,具有网络通信能力的单片机终端已经成为一种普遍需要,而实现单片机网络通信的方式方法也多种多样。为了在考虑成本的前提下提高单片机网络通信的质量,对单片机网络的应用进行充分研究就显得极为必要。

而基于单片机的网络通信从其字面理解,指的是信息交流,通信的双方或多方共同构成一个物理系统,如分布在因特网,电话网两端的两个或多个单片机终端就可构成一个单片机网络通信系统[1]。确切的理解,单片机网络通信是指本地单片机终端系统通过网络系统与远端的单片机或其他控制设备进行信息交流,如基于Internet的单片机网络通信系统是指以Internet作为网络通信平台的单片机信息交流系统。本文重点就是研究单片机与网络之间的通信应用。

1 单片机的选择

在本文的研究中,出于任务和经济方面的综合考虑,单片机选用了美国Microchip公司PIC16F876A。该单片机具有哈佛总线结构,在芯片内部将数据总线和指令总线分离,并且采用不同的宽度。而且PIC16F876A的数据总线是8位,但程序总路线为13位。这样做的好处是,便于实现指令提取的"流水作业",也就是在执行一条指令的同时对下一条指令进行取指操作,便于实现全部指令的单字节化、单周期化,从而有利于提高CPU执行指令的速度。

2 基于单片机的网络通信应用

2.1 需要解决的问题

单片机网络通信在日常工作与生活应用中占有重要的地位,比如在通信系统、家庭自动化、电话线远程控制,及安全系统中有着广泛的应用。总之,单片机网络通信能力正在不断地扩展和提高之中,而其需要解决的问题可以归纳为以下几个方面:

首先,现有单片机网络通信方法多种多样,但没有相应的分类标准,不利于对其进行系统的研究和分析;其次,单片机网络通信中的各种软件协议,尤其是网络通信中的各种通信协议较为复杂,需要用一种共周期的标准进行比对分析;另外,DTMF技术在单片机远程通信中占有重要地位,需要深入研究[2]。本文针对其中的第一和第三个问题加以重点分析。

2.2 网络通信应用的连接

首先是硬件部分。单片机采用现场总线技术进行通信时通常要设计相应的接口电路来实现总线协议中的低层电气性能要求,并实现与总线的物理连接;其次是软件部分。软件部分的主要功能是实现各种总线通信协议,保证数据的传输以总线协议规定的方式和格式进行,最终完成通信的功能[3]。单片机网络通信的连接如图一所示:

2.3 用单片机实现网络通信的方式

单片机在实现网络通信时可以采用多种网络通信协议,这些协议主要有专用协议(如em Net和em Gateway)、标准TCP/IP协议和嵌入式TCP/IP协议。由于单片机相对台式机而言其内部硬件资源有限,且需要实现的网络功能也相对简单,所以在单片机网络通信中大多使用的是嵌入式TCP/IP协议。嵌入式TCP/IP协议是由TCP/IP协议根据网络传感器的特点裁减而来的,它的实现主要集中在如何减少嵌入式系统中RAM的使用。因为只有减少RAM的使用,TCP/IP协议才能使用于只有几千字节缓冲RAM和几十K字节代码ROM的单片机中。

本文考虑在8位PIC16F876A单片机上直接实现嵌入式TCP/IP协议。嵌入式TCP/IP协议是由TCP/IP协议根据网络传感器的特点裁减而来,可用于只有几千字节的缓冲RAM和约为40K字节的代码ROM的嵌入式系统。在8位MCU上实现嵌入式TCP/IP协议就是直接把嵌入式TCP/IP协议写入到嵌入式系统中的ROM中,从而实现TCP/IP协议。这种方式的优点是廉价和便于广泛应用。

2.4 基于单片机的网络通信实现

本文研究的基于单片机网络通信系统,信号发生器采用的是HT9200A,其引脚排列如图二所示。

CE为片选信号输入端,低电平有效;X1、X2为外接晶振输入端;DATA为信号输入端;CLK为外部时钟信号输入端,工作频率为100KHZ;DTMF为信号输出端;VDD、VSS分别为电源正和电源负。网络通信信号发生器与PIC16F876A单片机的连接电路如图三所示:

HT9200A芯片端口DTMF端发送出的信号要先进行放大。这是因为单片机电路的工作电压为5伏左右,必须将HT9200A发送的DTMF进行放大后再传输。DTMF信号放大电路如图四所示:

DTMF信号经电容耦合进入芯片内的前置运算放大器,经过TDP时间内的一系列运算确认为有效的DTMF信号后,引脚从平常的低电平跳变为高电平,此时由电容、电阻及芯片内部的相关电路组成的积分电路开始工作,引脚从低电平开始慢慢升高,形成积分波形。

此外,因为线上既要传输人们讲话的声音信号,又要传输DTMF数据信号,因此来自人的声音和其他意想不到的噪音信号很有可能对基于单片机的网络通信造成干扰,难免会出现认为有效的DTMF信号。但是要出现能够维持时间较长,又要确保不变的有效DTMF噪声信号的可能性就微乎其微了。它能够对残缺的有效DTMF信号进行准确地接收,虽然它有TDD的时间残缺,但只要残缺时间不要过长,信号的接收就没有问题,而且对于相邻信号间的间隔过小的噪声信号也不会被收到。可见,这样的网络通信方案能较好地保证信息的正常通信。

3 结束语

总之,随着信息技术的发展,互联网越来越深入到人们的日常工作和生活中,各种控制系统和家用电器逐渐趋于网络化。以TCP/IP协议或其它针对单片机网络通信的专用协议为核心,以太网接口作为一种较为通用的网络连接方式广泛应用于各领域,嵌入式系统如何实现以太网互联成为近些年来较热门的研究课题。以高性能单片机为核心,外接以太网控制芯片,然后嵌入到其它产品中成为一种有效的联网方式,在工业上和日常生活中有着广泛的应用前景。

参考文献

[1]张凯.单片机与Internet网络的通信应用研究[J].科技风,2009,(06):21-24.

[2]鲍帮玉.基于单片机控制的多功能自动拨号报警系统[J].科技信息,2009,(07):99-101.

单片机无线通信 第11篇

摘要:本文介绍了一款基于红外遥控技术与单片机控制技术的遥控温度检测报警小车的设计。采用C语言编程控制单片机核心,设计和完成了能够遥控测温并在显示器上实时显示温度的小车。文章阐述了项目背景、模块设计、业务流程以及模块功能实现的分析;经测试达到功能目的,配合相关的电路设计图,可做为在校学生的实践项目进行使用。

关键词:单片机 无线遥控 温度检测小车

现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用,数量高居各种传感器之首。数字温度传感器可以直接将被检测的温度信息以数字化形式输出,而单片机微处理器越来越丰富的外围功能模块,更加方便了数字式温度传感器输出信号的处理。将单片机控制的小车和数字温度传感器结合起来,形成一个遥控的实时测温平台,对于在学院学习单片机控制专业课的学生来讲是一个好的研究项目。

1 总体设计思路及分析

本设计主要包括以下部分:主控制器STC89C52,红外收发,温度采集与显示,蜂鸣器报警,红外遥控,小车装置。为求的系统的稳定,且有较大的灵活性,其中温度采集采用高精度的数字温度传感器DS18B20,蜂鸣器进行报警,实测温度值通过数码管显示。同时为增加系统绝对可控性,自动化性,红外遥控发射遥控小车做大范围的测控无人化测控。如图1所示。

2 项目实现

2.1 单片机控制模块。STC89C52控制器是增强型的51微型控制器,本系统的软件程序用C语言编写,主要分为主程序,外部中断解码子程序,定时器1中断程序,显示子程序,小车行进子程序。主程序完成系统的硬件初始化,子程序调用的功能。关于定时器和外部中断初始化的部分设置如下:

TMOD=0x02;

TH0=0x00;

TL0=0x00;

EA=1;

ET0=1;

TR0=1;

IT0=1;

EX0=1;

......

2.2 温度检测模块。温度报警器采用DALLAS公司生产的单线数字温度传感器DS18B20,可以把温度信号直接转换成串行数字信号供微机处理;其测温范围-55℃~+125℃,可实现高精度测温在9位分辨率时最多在93.75ms内把温度转换为数字,且硬件电路十分简单。

本测温系统只有一个从机DS18B20,所以进行温度转换时先初始化,然后直接向ds18B20发温度转换命令进行温度转换,其过程如下所示:①初始化DS18B20:init();②紧接着发送温度转化指令write_byte(0xcc);write_byte(0x44);③再次初始化温感init();④发送温度读取指令write_byte(0xcc) ;write_byte(0xbe);⑤定义一个整形或字符型内存变量接受温度数据的高低位low=read_byte() ;high=read_byte();⑥合并温度数据的高低位使温度数据的二进制表示,转化后可得十进制温度。

2.3 红外遥控模块。TC9012作为红外遥控器控制核心,遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。以PPM码(脉冲位置调制码)对红外数据调制在38KHz的载波上对外进行发射信号。

HS1838是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。

2.4 小车电机驱动模块。L9110直流电机的驱动芯片是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC 之中,使外围器件成本降低,整机可靠性提高。

Cargo()子程序完成从主程序接受从遥控器传递的参数,实现对应的小车控制操作:

void cargo(uchar right1,uchar right2,uchar left1 ,uchar left2)

{

youdj1=right1 ;

youdj2=right2 ;

zuodj1=left1 ;

zuodj2=left2 ;

}

其中youdj1,youdj2,zuodj1,zuodj2对应单片机P10,P11,P12,P13端口,对应的电机端分别是右电机负极,右电机正极,左电机正极,左电机负极。

传递参数对应小车控制为:

cargo(0,1,1,0) 左右电机全部正转,小车前进

cargo(0,0,1,0) 左电机停止,右电机正转,小车左拐

cargo(0,1,0,0) 右电机停止,左电机正转,小车右拐

cargo(0,1,1,0) 左右电机全部反转,小车后退

cargo(0,0,0,0) 左右电机全部停止,小车停止

3 结束语

设计采用STC89C52单片机作为控制器,使用C语言编写相关程序,调试完成了无线小车自动测温功能。电源部分应用轻便的锂电池材料使得动力得到保障,由于红外遥控下的电机灵敏度略低,故在小车行进控制上略显不足,后期将主要改进小车温度远程传送的问题,总体上满足在校大学生初级阶段的学习需要。

参考文献:

[1]吴健,侯文,郑宾.基于STC89C52单片机的温度控制系统[J]. 电脑知识与技术,2011(04).

[2]周鹏.基于STC89C52单片机的多功能测温仪设计[J].微型机与应用,2013(01).

基于单片机的无线测温系统设计 第12篇

1 无线测温系统总体设计

无线测温系统由测量发送和主控接收两个分系统分构成。各分系统设计原理如图1和图2所示。当系统开始工作时, 由主控单元发送测量控制指令, 测量发送系统按照指令执行现场温度的实时测量, 然后无线模块把测量数据发送给主控接收分系统;主控接收系统通过无线模块接收, 系统保存和分析测量数据, 并对其进行显示报警等处理。

2 系统硬件设计

2.1 单片机系统

测量发送分系统的核心器件有单片机构成, 主要进行温度数据采集工作。本系统选用单片机STC89C52做控制器件, STC89C52是STC公司生产的一种高性能、低功耗的8位微控制器, 有8K在系统可编程Flash存储器。单片机控制模块由STC89C52最小系统组成, 由STC89C52单片机, 晶振电路和复位电路等构成。本设计时钟频率有晶振电路提供, 晶振电路由两个30p F电容元件和一个11.0592MHz晶体振荡器构成, 连接单片机的X1、X2引脚。满足温度数据采集的实时性要求。X1, X2接外部振荡电路, RESET端接复位电路, EA端拉高。

2.2 NRF24L01无线模块

采用NRF24L01做无线模块, NRF24L01使用频段是2.4 GHz开放ISM频段, 该频段全球可以免许可证使用, 共有126频道, 可以满足多点通信和跳频通信的需要。最高工作速率达2Mb/s, 高效GFSK调制方式, 内置硬件CRC检错和点对多点通信地址控制, 提高了数据抗突发干扰和随机干扰的能力, 其可靠传输距离1000米。该模块地址可以由软件进行自由设置, 只有接收到本模块地址时才能进行传输数据, 进而直接与各系列的单片机相接, 其软件编程较为方便。

数据传送过程, 首先要将NRF24L01设置成发射模式, 然后把接收数据的节点地址 (TX_ADDR) 以及发送的数据 (TX_PLD) 按照一定的时序从SPI口依次写入NRF24L01缓存区, TX_PLD必须在NRF24L01模块的使能端有效时才能连续写入, 而节点地址只需在发射时写入一次, 接着把CE设置成高电平并保持至少10微秒, 经130微秒延迟后发射数据;若自动应答开启, 则NRF24L01发射完数据后马上进入接收模式状态, 等待接收应答信号。当收到应答信号, 就完成通信成功, 把TX_DS置高, 此时发送的数据将从TX FIFO中清除;假如没有收到应答信号, NRF24L01将会自动重新发射数据, 并对重发次数进行计数加1, 当重发次数达到上限时, 将MAX_RT设置为高电平, 同时TX FIFO中的数据保留以便再次重发;当MAX_RT和TX_DS其中一个设置高电平时, 使IRQ变为低电平, 发生中断, 通知MCU。当数据发射成功时, 如果此刻CE为低电平, 那么NRF24L01就进入空闲模式1;如果发送堆栈中有数据同时CE为高电平, 则进行再次发射, 若发送堆栈中无数据同时CE为高电平, 将进入空闲模式2。

数据接收过程, 首先把NRF24L01设置为接收模式, 经130微秒延迟后进入等待接收数据状态。当收到有效的地址和效验码时, NRF24L01将会自动把接收的数据存储在RX FIFO中, 于此同时把中断标志位设置成高电平, IRQ设置为低电平, 产生中断, 通知MCU读取数据。若此时自动应答开启, 接收端将进入发射状态并且回传应答信号。如果接收成功, 并且CE变低电平, 则NRF24L01模块进入空闲模式。本设计无线模块由单片机端口P2口控制。

2.3 温度采集传感器的硬件设计

采用美国DALLAS公司生产的DS18B20可组网数字温度传感器芯片, 具有耐磨耐碰, 体积小, 硬件开销低, 抗干扰能力强, 精度高的特点。适用于各种狭小空间设备数字测温和控制领域。经济、方便。温度采集由DS18B20的DQ端接入单片机P0.0口。

2.4 显示模块和报警电路

本设计的接收系统采用液晶显示模块LCD1602显示测量数据, 单片机端口P0由上拉电阻提高驱动能力, 进行数据输出并作为LCD的驱动。LCD1602显示模块数据端接单片机P0口, RS, RW, E分别接单片机的P3.5、P3.6、P3.4。

当外界温度超过预设温度的上、下限时, 会自动报警。由蜂鸣器下拉三极管组成实现报警功能。

2.5 电源模块电路设计

由VCC提供+5V的电压, 经过LM1117降压为+3.3V电压, 作为NRF24L01模块的电源。AMS1117是一个低漏失电压调整器, 它的稳压管, 输出3.3V电压给n RF24L01供电。图3无线模块电源电路。

3 系统软件设计

本系统的软件设计分为接受和发送两部分。主要完成控制指令的发送、测量数据包的接收和处理等任务。发送部分主要是对温度传感器上采集来的数据进行处理, 然后由NRF24L01发送出去。发送部分流程图见图4。接收部分主要是对NRF24L01上接收到的数据进行处理并在液晶显示频上显示, 同时判断温度值是否超出设定的安全区间, 当温度值不在安全范围内时, 蜂鸣器报警, 接收部分流程图见图5。

4 总结

基于STC89C52单片机的无线测温系统经调试工作正常。实验结果表明, 实时监控系统精度高、抗干扰能力强, 传输信号的距离较远, 能满足较多的应用场合, 且数据传输的可靠性高。本系统软、硬件设计完善, 可靠性高, 使用方便。

摘要:基于STC89C52单片机设计无线测温系统, 实现无线通信。该设计用传感器采集数据后, 反馈给单片机并显示实时的温度值, 当温度超出范围时接收端的单片机控制蜂鸣器使其报警。此设计具有实时监控系统精度高、抗干扰能力强、传输速率高、通信稳定和使用方便等特点。

关键词:单片机,无线传输,温度传感器,蜂鸣器

参考文献

[1]李建忠.单片机原理及应用[M].西安电子科技大学出版社, 2008.

[2]郭天祥.新概念51单片机C语言教程.电子工业出版社, 2009.

[3]黎洪松, 张卫钢.数字通信原理[M].西安电子科技大学出版社, 2005.

[4]陈其纯.电子线路[M].北京:高等教育出版社, 2001.

单片机无线通信

单片机无线通信(精选12篇)单片机无线通信 第1篇关键词:单片机无线通信,桥式起重机,安全监控0引言桥式起重机运行的安全问题是一个至关重...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部