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

2026/4/29 12:52:04

----------------------------*/ voidIapEraseSector(WORD addr) {

IAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait time

IAP_CMD = CMD_ERASE; //Set ISP/IAP/EEPROM ERASE command

IAP_ADDRL = addr; //Set ISP/IAP/EEPROM address low

IAP_ADDRH = addr>> 8; //Set ISP/IAP/EEPROM address high

IAP_TRIG = 0x5a; //Send trigger command1 (0x5a)

IAP_TRIG = 0xa5; //Send trigger command2 (0xa5)

_nop_(); //MCU will hold here until ISP/IAP/EEPROM operation complete

IapIdle(); }

void Delay100us() //@30.000MHz {

unsigned char i, j;

i = 3; j = 232; do {

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

/*---------------------------- 擦除eeprom

----------------------------*/ voidEraseeeprom() {

uinti;

double a; a=0;

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

a = 512+a;

IapEraseSector(a); //Erase current sector }

21

}

/***********************************************sendmess**************************************/

/**********************************************************************************************/

/***************************************发送红外数据**************************/

void send(uchar date) {

uchari;

/*************发送验证信息*************/ TR0=0;

TH0 = 0xF1;

TL0 = 0x5A; //装入初值设置波延时为1.5ms D1 = 1; //发送1.5ms的高电平 TR0 = 1; //启动定时器0 while(!TF0); //等待 TF0 = 0;

TH0 = 0xEC; TL0 = 0x78;

D1 = 0; //发送2ms的低电平 while(!TF0); //等待 TF0 = 0;

/**************发送数据****************/ for(i=0;i<8;i++) {

TL0 = 0x1E; //设置定时初值 0.5MS TH0 = 0xFB; //设置定时初值 TR0=1; D1=1;

while(!TF0); TF0=0;

if(date&0x01) {

22

TL0 = 0x3C; //设置定时初值 1MS 发1 TH0 = 0xF6; //设置定时初值 } else {

TL0 = 0x24; //设置定时初值 0.6MS 发0

TH0 = 0xFA; //设置定时初值 TH0 = 0xFD; //0为窄的低电平,持续时间 0.6ms

}

D1=0;

while(!TF0); //等待 TF0 = 0; date=date>>1; }

TL0 = 0x1E; //设置定时初值 0.5MS TH0 = 0xFB; //设置定时初值 TR0=1; D1=1;

while(!TF0); TF0=0; D1=0;

/************************************结尾**************************/

TH0 = 0x0EC; //延时2ms TL0 = 0x078; TR0=1;

while(!TF0); TF0=0; TR0=0; }

voidsendtem(uchar date) {

uchari;

/*************发送验证信息*************/ TR0=0;

TH0 = 0xF1;

TL0 = 0x5A; //装入初值设置波延时为1.5ms D1 = 1; //发送1.5ms的高电平 TR0 = 1; //启动定时器0 while(!TF0); //等待 TF0 = 0;

TH0 = 0xE2; TL0 = 0xB4;

D1 = 0; //发送3ms的低电平

23

while(!TF0); //等待 TF0 = 0;

/**************发送数据****************/ for(i=0;i<8;i++) {

TL0 = 0x1E; //设置定时初值 0.5MS TH0 = 0xFB; //设置定时初值 TR0=1; D1=1;

while(!TF0); TF0=0;

if(date&0x01) {

TL0 = 0x3C; //设置定时初值 1MS 发1 TH0 = 0xF6; //设置定时初值 } else {

TL0 = 0x24; //设置定时初值 0.6MS 发0

TH0 = 0xFA; //设置定时初值 TH0 = 0xFD; 为窄的低电平,持续时间 0.6ms

}

D1=0;

while(!TF0); //等待 TF0 = 0; date=date>>1; }

TL0 = 0x1E; //设置定时初值 0.5MS TH0 = 0xFB; //设置定时初值 TR0=1; D1=1;

while(!TF0); TF0=0; D1=0;

/************************************结尾**************************/

TH0 = 0x0EC; //延时2ms TL0 = 0x078; TR0=1;

while(!TF0);

24

//0


红外光通信装置-电赛报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 红外光通信装置-电赛报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219