云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 红外光通信装置-电赛报告

红外光通信装置-电赛报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 16:49:12

uchari,temp;

for(i=0;i<8;i++) //每个码有8位数字 {

temp=temp>>1; //temp中的各数据位右移一位,因为先读出的是低位数据

TH0=0; //定时器清0 TL0=0; //定时器清0 TR0=1; //开启定时器T0

while(re==0) ;//如果是低电平就等待 低电平计时 TR0=0; //关闭定时器T0

LowTime=TH0*256+TL0; //保存低电平宽度 TH0=0; //定时器清0 TL0=0; //定时器清0 TR0=1; //开启定时器T0

while(re==1); //如果是高电平就等待 TR0=0; //关闭定时器T0

HighTime=TH0*256+TL0; //保存高电平宽度 if((LowTime<800)||(LowTime>1600))

return 0; //如果低电平长度不在合理范围,则认为出错,停止解码

if((HighTime>1200)&&(HighTime<1850)) //如果高电平时间在600微秒左右, {

temp=temp&0x7f; //则该位是0 }

if((HighTime>2000)&&(HighTime<3000)) //如果高电平时间在1000微秒左右, {

temp=temp|0x80; //则该位是1 } }

mess=temp; return 1; }

void Delay999ms() //@30.000MHz {

unsigned char i, j, k;

_nop_(); _nop_(); i = 114;

33

j = 226; k = 60; do {

do {

while (--k); } while (--j); } while (--i); }

/***********************************************main*********************************************/ void main() {

init_Lcd(); mess=0;

Eraseeeprom(); //擦除EEPROM flag = 0; j =0;

tem = 29;

TMOD = 0x01; TR0=0;

init_ex0(); while (1) {

// display(tem); // Delay999ms(); } }

/**********************红外线触发中断处理函数**********************/ void ex0() interrupt 0 {

// display(mess); EX0=0; //关闭外中断0,不再接收二次红外信号的中断,只解码当前红外信号

34

TH0=0; //定时器T0的高8位清0 TL0=0; //定时器T0的低8位清0 TR0=1; //开启定时器T0

while(re==0);//如果是低电平就等待

TR0=0;

LowTime=TH0*256+TL0; //保存低电平时间

TH0=0; //定时器T0的高8位清0 TL0=0; //定时器T0的低8位清0 TR0=1; //开启定时器T0

while(re==1); //如果是高电平就等待 // test1=0;

TR0=0; //关闭定时器T0

HighTime=TH0*256+TL0; //保存引导码的高电平长度 // test=0;

if((LowTime>3000)&&(LowTime<4500)) {

//P0=0xaa;

if((HighTime>4500&&HighTime<5600)) {

if(flag == 0) {

DeCode(); // 执行遥控解码功能 P0=mess;

IapProgramByte(j, mess); ////写EEPROM j++;

if(j == 20000) {

flag = 1; j = 0; } }

if(flag == 1) {

while(1) {

while(j!=20000) {

DAC(IapReadByte(j)); //读EEPROM并DAC转化

35

Delay120us(); j++; }

j=0; // P0=0xaa; }

Eraseeeprom(); //擦除EEPROM flag = 0; j = 0; } }

else if((HighTime>6800&&HighTime<8300)) {

if(flag==0) {

DeCode(); tem=mess;

display(tem); // Delay999ms(); } } }

EX0=1; //开启外中断EX0 }

//*************************程序END******************************//

36

搜索更多关于: 红外光通信装置-电赛报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

uchari,temp; for(i=0;i<8;i++) //每个码有8位数字 { temp=temp>>1; //temp中的各数据位右移一位,因为先读出的是低位数据 TH0=0; //定时器清0 TL0=0; //定时器清0 TR0=1; //开启定时器T0 while(re==0) ;//如果是低电平就等待 低电平计时 TR0=0; //关闭定时器T0 LowTime=TH0*256+TL0; //保存低电平宽度 TH0=0; //定时器清0 TL0=0; //定时器清0 TR0=1; //开启定时器T0 while(re==1); //如果是高电平就等待 TR0=0; //关闭定时器T0 HighTime=TH0*

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com