




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/* 315Mhz无线通信程序(chngx) 原理(yunl): 第一块单片机p1.0口输出(shch)脉冲方波提供给无线发射模块, 无线发射模块将信号以电磁波的形式传到无线接收模块。 无线接收模块会根据这个电磁波还原出脉冲方波提供给第二块单片机, 第二块单片机进行进一步的解算处理。 通信协议: 根据这个原理和模块的特性。 我决定以900us高电平和2000us底电平表示; 450us高电平和 2000us低电平表示。 而个或组成一个字节。为了防止误码, 所以在每个字节的前面加一个2ms高电平和2ms低电平的起始码。每个5S发送(f sn)一个字符,一个字符发送20遍 */ /* 315Mhz
2、无线通信程序(chngx) 发送程序 11.0592M晶振 1机器(j q)周期=1.0851us 定时器产生2MS定时 TH0=0XF8;TL0=0XCD; 900us定时 TH0=0XFC;TL0=0XC3; 450us定时 TH0=0XFE;TL0=0X61; */#include #include intrins.h #define uint unsigned int #define uchar unsigned char sbit WXSEND=P10; uchar timedata8=0 xfe,0 x61,0 xfc,0 xc3,0 xf8,0 xcd,0 xea,0 x66;/
3、 450us, 900us,2MS,6ms /* 11.0592MHZ 下500毫秒延时,还准 */ void delay500ms(uint i) uint j; uchar k; while(i-) for(j=0;j750;j+) for(k=0;k200;k+); void time0init() TMOD=0 x01;/ void sendset(uchar senddata);/发送数据程序(chngx) void sendstartbit();/数据(shj)发送起始信号2ms高电平和2ms低电平的起始码 void sendlowbit();/发送(f sn)低电平 void s
4、endhighbit();/发送高电平 void main() uchar senddata,i; time0init();/定时器初始化 senddata=0 x55; while(1) for(i=0;i20;i+) sendset(senddata);/发送数据程序(chngx) delay500ms(10); senddata+; /发送数据程序(chngx) void sendset(uchar senddata) uchar i,sendbit; sendstartbit();/发送开始(kish)信号 for(i=0;i8;i+) sendbit=senddata&0 x80;
5、if(sendbit=0)sendlowbit(); /发送低电平 else sendhighbit();/发送高电平 senddata=senddata1; /数据发送(f sn)起始信号6ms高电平和2ms低电平的起始码 void sendstartbit() WXSEND=1; TH0=timedata4; TL0=timedata5; TR0=1; while(TF0=0); TR0=0; TF0=0; TH0=timedata4; TL0=timedata5; WXSEND=0; TR0=1; while(TF0=0); TR0=0; TF0=0; void sendlowbit()
6、 /发送(f sn)低电平 WXSEND=1; TH0=timedata0; TL0=timedata1; TR0=1; while(TF0=0); TR0=0; TF0=0; TH0=timedata4; TL0=timedata5; WXSEND=0; TR0=1; while(TF0=0); TR0=0; TF0=0; void sendhighbit()/发送(f sn)高电平 WXSEND=1; TH0=timedata2; TL0=timedata3; TR0=1; while(TF0=0); TR0=0; TF0=0; TH0=timedata4; TL0=timedata5;
7、WXSEND=0; TR0=1; while(TF0=0); TR0=0; TF0=0; /* 315Mhz无线通信程序(chngx) 接收(jishu)程序 11.0592M晶振 1机器周期=1.0851us 用中断0边沿触发中断,开启接收(jishu)程序由于接收模块平时大部分时间是低电平,有信号时是高电平,而中断0是负边沿触发,所以,硬件电路中接收模块的信号输出端经过非门后接到单片机P3.2接收到数据,用串口传到上位机的串口调试软件显示*/#include#includeintrins.h#defineuintunsignedint#defineucharunsignedcharsbit
8、WXrecep=P32;/ucharcodetimedata6=0 xfe,0 x61,0 xfc,0 xc3,0 xf8,0 xcd;/450us,900us,2MSucharwxrecepda;voidtime0init()TMOD=0 x21;/定时器0TH0=0;TL0=0;/TMOD=0 x20;/*TMOD:timer1,mode2,8-bitreload*/TH1=0 xFD;/*TH1 11.0592MHz*/TL1=0XFD;EA=1;EX0=1;ET0=1;IE0=0;voiduartinit()SCON=0 x50;/*SCON:模式1,8-bitUART,使能接收*/T
9、R1=1;/*TR1:timer1run*/voidreceivewx();/接收子程序voidmain()time0init();/定时器初始化uartinit();while(1);voidreceivewx()/接收(jishu)子程序uinti;ucharj,recedata;while(WXrecep=0);TR0=0;i=TH0*256+TL0;TH0=0;TL0=0;if(i=1800)&(i=1890) recedata=0;for(j=0;j=390)&(i=800)&(i=860) recedata=recedata|0 x01; recedata=recedata1;SBUF=wxrecepda;while(TI=0);TI=0;voidwxrecint()interrupt0TH0=0;TL0=0;TR0=1;EX0=0;receivewx();EX0=1;内容总结(1)/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳八上数学期中试卷及答案
- 商都二中考试卷及答案
- 肇庆市实验中学高中历史二:第四单元中国社会主义发展道路的探索测验评讲教案
- 2025挖掘机设备租赁合同样本
- 电动机制造中的绿色制造与环保标准考核试卷
- 箱包品牌社区运营策略考核试卷
- 硫化锌纳米复合材料制造技术考核试卷
- 2025金融科技合作合同范本
- sop考试试题及答案
- 糕点店产品质量监控与改进考核试卷
- 建筑消防设施检测记录表样本
- GA/T 2015-2023芬太尼类药物专用智能柜通用技术规范
- 【甘蔗自动剥皮切断机的设计10000字(论文)】
- 电子病历应用管理规范
- 用户思维培训课件
- 会员体系深度运营
- 省份简称课件
- 玻璃体腔注射-操作流程和注意事项(特选参考)课件
- 软件质量保证与测试技术智慧树知到课后章节答案2023年下青岛工学院
- 切片机安全操作保养规程
- 医生护士进修汇报康复科
评论
0/150
提交评论