论文多功能无线电通信控制的设计与实现Word下载.docx
- 文档编号:21589580
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:382.48KB
论文多功能无线电通信控制的设计与实现Word下载.docx
《论文多功能无线电通信控制的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《论文多功能无线电通信控制的设计与实现Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
第三章:
无线遥控原理及方案
无线遥控,有基于电磁波和红外线两种。
红外遥控距离短,只能直线方向遥控。
电磁波的遥控具有衍射作用,能跨越一定的屏障,遥控时也不需要直线。
电磁波无线遥控,就是在发射端发射一定频率的电磁波,接收端只提取出相同频率的电磁波信号,并经过解码得到发射端的数据。
3.1发射电路原理
遥控器发射电路,有振荡电路、高频放大器,调制方式一般采用ASK和FSK。
振荡电路可以采用电容、电感的振荡特性来设计,也可加入晶振来简单获得载波信号。
一般载波信号的频率在315MHZ-433MHZ,也可实现更高的频率。
通过高频放大器,高频信号获得更高的发射能量,提高发射距离。
图2-1
3.2接收电路原理
接收电路里面主要有:
天线,滤波电路,解调电路等几部分组成。
图2-2
3.3接收方案:
采用PT2262和PT2272的编码解码芯片。
PT2262和PT2272最多支持6位数据编码,一般支持4位数据编码。
PT2262和PT2272有三态地址编码功能,只有地址匹配时才能传输数据。
3.3.1PT2262/PT2272芯片原理简介:
PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
3.3.2:
PT2262及PT2272外观及引脚功能
名称
管脚
说明
A0-A11
1-8、10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),
D0-D5
7-8、10-13
数据输入端,有一个为“1”即有编码发出,内部下拉
Vcc
18
电源正端(+)
Vss
9
电源负端(-)
TE
14
编码启动端,用于多数据的编码发射,低电平有效;
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2
15
振荡电阻振荡器输出端;
Dout
17
编码输出端(正常时为低电平)
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码
地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换
DIN
数据信号输入端,来自接收模块输出端
VT
解码有效确认输出端(常低)解码有效变成高电平(瞬态)
第四章:
硬件电路系统:
4.1复位电路:
4.2时钟电路:
4.3显示模块1602液晶显示电路:
4.4键盘电路
因为系统的控制指令比较少,故采用独立键盘控制,也可用中断方式控制,这样占用系统的资源比较少。
4.5执行器ULN2003
ULN2003有八个输入端,对应八个输出端,当输入引脚为高电平时,对应达林管导通。
电路中为避免电机中的电流过大,因此串入一个5欧的电阻。
输入低电平时对应的引脚不导通。
单机的转速控制是通过PWM控制的,只要改变电机两端电压的占空比就可以实现调速。
4.6AT89C52单片机
AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适合于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89C52具有一下功能:
8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时、计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护模式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
第五章:
整机电路
(1):
发射电路部分
(2):
接收控制部分
第六章:
程序代码
6.1发射部分
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitE=P0^7;
//1602使能引脚
sbitRW=P0^6;
//1602读写引脚
sbitRS=P0^5;
//1602数据/命令选择引脚
sbitKEY1=P1^5;
sbitKEY2=P1^4;
sbitKEY3=P1^3;
voiddelay()//延时,延时时间大概为140US。
{
inti,j;
for(i=0;
i<
=10;
i++)
for(j=0;
j<
=2;
j++)
;
}
voidDelay(uintdel)//延时,延时时间为10ms*del
uinti,j;
del;
1827;
j++)
;
/*********************************
因为电路设计时,为使得PCB布线简化,故将1602的D0-D7于P27-P20相接
所以设计该函数,以将数据发送对
**********************************/
ucharConvert(ucharIn_Date)
uchari,Out_Date=0,temp=0;
8;
{
temp=(In_Date>
>
i)&
0x01;
Out_Date|=(temp<
<
(7-i));
}
returnOut_Date;
/****************************
1602命令函数
************/
voidenable(uchardel)
P2=Convert(del);
RS=0;
RW=0;
E=0;
delay();
E=1;
/******************
1602写数据函数
********************/
voidwrite(uchardel)
RS=1;
/********************
1602初始化,请参考1602的资料
*************************/
voidL1602_init(void)
enable(0x01);
enable(0x38);
enable(0x0c);
enable(0x06);
enable(0xd0);
/**************************************************
从1602第几行,第几个字符处开始写入一串字符串
***************************************************/
voidL1602_string(ucharhang,ucharlie,uchar*p)
uchara;
if(hang==1)a=0x80;
if(hang==2)a=0xc0;
a=a+lie-1;
enable(a);
while
(1)
if(*p=='
\0'
)break;
write(*p);
p++;
/*键盘扫描*/
voidKEY()
if(KEY1==1||KEY2==1||KEY3==1)
Delay
(2);
//20毫秒软件防抖
if(KEY1==1||KEY2==1||KEY3==1)
{
if(KEY1==1)
{
enable(0x01);
L1602_string(1,1,"
Velocity:
High"
);
L1602_string(2,1,"
State:
Run"
P0=0x0c;
Delay(5);
}
elseif(KEY2==1)
0"
Stop"
P0=0x03;
elseif(KEY3==1)
Low"
P0=0x0a;
}
Delay(50);
//延时0.5秒再进行下次按键的检测
}
/************************
主函数
*****************************/
voidMain()
L1602_init();
L1602_string(1,1,"
"
L1602_string(2,1,"
KEY();
6.2接收部分
#include<
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharm;
sbitK=P0^0;
//电机控制
sbitp10=P1^0;
sbitp11=P1^1;
sbitled0=P0^4;
//高速指示
sbitled1=P0^5;
//停止指示
sbitled2=P0^6;
//低速指示
voiddelay(uintdel)//延时10ms
/***定时程序产生占空比50%的方波,方波的占空比开改变以实现不同速度,
中断的使用要注意,否则可能进不了中断,也可能跳不出***/
voidtime0(void)interrupt1using2
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
//定时1mS
K=~K;
/**外部中断0服务程序****/
voidServise_int0(void)interrupt0using1
EX0=0;
//关外部中断0,防止干扰
m=P2&
0x0f;
//屏蔽P2口高4位数据,并读其低4位数据
if(m==0x01)
{
K=1;
//高速控制指令
led0=1;
//开高速指示灯
led1=0;
//关停止灯
led2=0;
//关低速灯
elseif(m==0x02)
{
K=0;
//停止控制指令
led1=1;
led0=0;
elseif(m==0x04)//低速控制指令
ET0=1;
TR0=1;
led2=1;
else//可不用此else
ET0=0;
_nop_();
EX0=1;
//开外部中断0
voidMain(void)
K=0;
//电机停止
led0=0;
//关高速灯
led1=0;
led2=0;
PX0=1;
//外部中断0优先级高
PT0=0;
//定时器0优先级低
TMOD=0x01;
//定时器设置
//赋初值定时
ET0=1;
/****因PT2272VT为上升沿故需将其取反后给外部中断
VT先由P10输入,然后P11输出到外部中断0***///
p11=~p10;
EA=1;
//开总中断
EX0=1;
IT0=1;
//设置外部中断0为下降沿触发
while(!
p11)
{p11=~p10;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 多功能 无线电通信 控制 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)