完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
实验现象是,按1后,流水灯亮,再按次,居然变化了。
上电复位后,按1后,显示的流水灯和第一次的一样,其后也是同样变化,希望大家帮看看,调了几天。 #include #define SS P1 unsigned char HeardData; //定义接收到数据的高位变量 unsigned char AddData; unsigned char CountData; unsigned char RecvData; bit ExeFlag; ***it IR1=P3^3; //定义红外接收端口 void delay(unsigned i) { unsigned j ; for(j=0;j } void timer0_IR1() interrupt 1 using 3 //定义红外定时器子程序 { TH0=0xFF; //向定时器定时间寄存器填入高八位值 TL0=0x25; //向定时器定时间寄存器填入低八位值 AddData++; //自增变量加1 250us加1 } void Int1_IR1() interrupt 2 //定义红外接收中断子程序 { TH0=0xff; TL0=0x25; ET0=1; //打开定时器中断 TR0=1; EX1=0; delay(45); if(IR1==1) { TH0=0xff; TL0=0X25; ET0=0; TR0=0; EX1=1; return; } if(AddData<6) //0 //判断接收到的数据是0 { RecvData=RecvData <<1; //将当前位向左移动1 位 RecvData=RecvData & 0xfe; //判断到0 就将当前位写0 } if(AddData>6)//1 //判断接收到的数据是1 { RecvData=RecvData <<1; //将当前位向左移动1 位 RecvData=RecvData | 0x01; //将当前位写1 } CountData++; //将红外接收位计数器加1 if(CountData==9) //判断是否接收到8 位数据 { HeardData=RecvData ; //是8 位数据时,则将数据暂存到高位变量中 RecvData=0; } if(CountData==17) //判断是否接收到16 位数据 { ET0=0; //关闭红外定时器0 TR0=0; EX1=0; //关闭红外外部中断1 SS=0xff; SS=HeardData; TH0=0xff; TL0=0x25; RecvData=0; //将接收到的数据清零 CountData=0; //将接收计数器清零 HeardData=0; //将接收高低数据变量清零 ExeFlag=0; TMOD=0x01; EX1=1; //同意开启外部中断1 IT1=1; //设定外部中断1 为低边缘触发类型 EA=1; AddData=0; return; //返回 } AddData=0; EX1=1; } void main() { bit ExeFlag=0; //定义可执行位变量 CountData=0; //将计数器变量数值初始化 AddData=0; //将定时器计数器初始化 HeardData=0; //将高低计数器初始化 TMOD=0x01; //选择定时器0 为两个16 位定时器 TH0=0xFF; //对定时器进行计数值进行初始化 TL0=0x25; //同上,时间大约为250uS EX1=1; //同意开启外部中断1 IT1=1; //设定外部中断1 为低边缘触发类型 EA=1; //总中断开启 while(1) { if(IR1==0) { ExeFlag=1; //将可执行标志位置1 } if(ExeFlag==0) //判断可执行标志位 { EX1=1; //开启外部中断1 } ExeFlag=0; //可执行标志位置0 } } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16901 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:40 , Processed in 0.689831 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2617