完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`用stc89c52的单片机设计红外遥控,运行后没反应 跪求大神指点 本人在校学生,在赶毕业设计,程序是参考网上的,自己写的。 程序的意思是p2.0口输出PWM波,中断0接红外接收口,附上遥控器的码值图,任务是按“+”“-”键使pwm波的占空比发生变化。 程序如下 #include #define uchar unsigned char #define uint unsigned int ***it pwm0=P2^0; ***it hwx=P3^2; uchar lsd=0xfe; uchar n=0,pwm=1,q=50; uchar recv[4]; /*****************************产生PWM波*************************************/ void delay140us(uchar x) { unsigned char k; while(x--) { for(k=0;k<13;k++){} } } void tset() { TMOD=0x01; TH0=(65536-10)/256; TL0=(65536-10)%256; EA=1; ET0=1; TR0=1; } void PWMout() interrupt 1 { TH0=(65536-10)/256; TL0=(65536-10)%256; n++; if(n<=q) { pwm=1; } else { pwm=0; } if(n==101) { n=0; } } /*****************************产生PWM波***************************************/ /*********************************** 红外线接收*******************************************/ void Irecv() interrupt 0 { unsigned char i,j,c=0; EX0=0; delay140us(15); if(hwx==1) { EX0=1; return; } while(!hwx) { delay140us(1); } for(i=0;i<4;i++) { for(j=0;j<8;j++) { while(hwx) { delay140us(1); } while(!hwx) { delay140us(1); } while(hwx) { c++; if(c>=30) { EX0=1; return; } } recv[i]=recv[i]>>1; if(c>=8) { recv[i]=recv[i]|0x80; } c=0; } } if(recv[2]!=~recv[3]) { EX0=1; return; } switch(recv[2]) { case 0x07:q++;break; case 0x15:q--;break; } EX0=1; } /***************************************红外线接收************************************/ void main() { EA=1; EX0=1; IT1=1; tset(); hwx=1; while(1) { pwm0=pwm; } } ` |
|
相关推荐
1个回答
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
219 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
574 浏览 0 评论
684 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1074 浏览 0 评论
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12048 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 20:10 , Processed in 0.608004 second(s), Total 83, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号