LED灯的通信发送程序.docx_第1页
LED灯的通信发送程序.docx_第2页
LED灯的通信发送程序.docx_第3页
LED灯的通信发送程序.docx_第4页
LED灯的通信发送程序.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include #define uint unsigned int#define uchar unsigned char#define ADC_POWER 0x80#define ADC_FLAG 0x10#define ADC_START 0x08#define ADRJ 0x40uchar ram4=0,0,0,0;sfr AUXR=0x8e;sfr P1ASF=0x9d;sfr ADC_CONTR=0xbc;sfr CLK_DIV=0x97;sfr ADC_RES=0xbd;sfr ADC_RESL=0xbe;sbit p10=P10;sbit p15=P15;sbit p14=P14;void delay(uint t)uint i,j;for(i=0;it;i+)for(j=0;j=1)/判断是否接收到高电平 p14=0; delay(40); ADC_CONTR=0x88; while(ADC_CONTR&ADC_FLAG!=0x10); /等待转换结束 k=(ADC_RES*100)+(ADC_RESL&0x03)*1)/51.2; if(k/100=1) /等待低电平的到来 ADC_CONTR=0x88; while(ADC_CONTR&ADC_FLAG!=0x10);k=(ADC_RES*100)+(ADC_RESL&0x03)*1)/51.2; p14=1; delay(22); /延迟4.4ms 跨过前导码低电平持续持续时间来到数据区 /ADC_CONTR=0x88; for(ramc=0;ramc4;ramc+)/循环4次接收4个字节 for(count=0;count=1) /开始判断现在接收到的数据是0或者1 ,首先在这行本句话时,保证已经进入数据的0.56MS 高电平阶段 ,等待本次接受数据的低电平的到来。delay(3);ADC_CONTR=0x88;while(ADC_CONTR&ADC_FLAG!=0x10);k=(ADC_RES*100)+(ADC_RESL&0x03)*1)/51.2;if(k/100=2)/delaytime(9);/低电平到来后,数据0 低电平最多延续0.56MS,而数据1,低电平可延续1.66MS大于0.8MS 后我们可以再判断遥控接收脚的电平 /if(prem) /如果这时低电平仍然在继续那么接收到的数据是1的编码 p14=0;ramramc=(ramramc1)+1;/将目前接收到的数据位1放到对应的字节中 delay(5); /如果本次接受到的数据是1,那么要继续延迟1MS,这样才能跨入/下个位编码的低电平中(即是开始的0.56MS中) else /否则目前接收到的是数据0的编码 p14=1;ramramc=ramramc1; /将目前接收到的数据位0放到对应的字节中 /本次接收结束,进行下次位接收,此接收动作进行32次,正好完成4个字节的接收 if(ram2!=(ram3&0x7f) /本次接收码的判断 for(i=0;i4;i+) /没有此对应关系则表明接收

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论