完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include"lcd.h" void Int0Configure(void); void delay140us(int i); ***it Ir=P3^2; unsigned char code CS1[]=" RED CONTROL "; unsigned char code CS2[]=" IR-CODE:--H "; unsigned char IrValue[6]; unsigned char t; void main() { unsigned char i; delayms(70); LcdInit(); Int0Configure(); LcdWrite(0,0x80); for(i=0;i<13;i++) { LcdWrite(1,CS1); } LcdWrite(0,0x80+0X40); for(i=0;i<13;i++) { LcdWrite(1,CS2); } while(1) { IrValue[4]=IrValue[2]>>4; IrValue[5]=IrValue[2]&0x0f; if(IrValue[4]>9) { LcdWrite(0,0xc0+0x09); LcdWrite(1,0x37+IrValue[4]); } else { LcdWrite(0,0xc0+0x09); LcdWrite(1,0x30+IrValue[4]); } if(IrValue[5]>9) { LcdWrite(0,0xc0+0x0a); LcdWrite(1,0x37+IrValue[5]); } else { LcdWrite(0,0xc0+0x0a); LcdWrite(1,0x30+IrValue[5]); } } } void Int0Configure(void) { IT0=1; EX0=1; EA=1; Ir=1; } void delay140us(int i) { unsigned char k; while(i--) { for(k=0;k<114;k++) {} } } void Ir_read() interrupt 0 { unsigned char j,k; unsigned int err; delayms(70); t=0; if(Ir==0) { err=1000; while((Ir==0)&&(err>0)) { err--; delayms(1); } if(Ir==1) { err=500; while((Ir==1)&&(err>0)) { err--; delayms(1); } for(k=0;k<4;k++) { for(j=0;j<8;j++) { err=60; while((Ir==0)&&(err>0)) { err--; delayms(1); } err=500; while((Ir==1)&&(err>0)) { err--; t++; delay140us(1); if(t>30) { EX0=1; return; } } IrValue[k]>>=1; if(t>=5) { IrValue[k]|=0x80; } t=0; } } } if(IrValue[2]!=IrValue[3]) { return; } } } |
|
相关推荐
1个回答
|
|
已解决
|
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2951 浏览 16 评论
3455 浏览 1 评论
8984 浏览 16 评论
4045 浏览 18 评论
1097浏览 3评论
567浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
564浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2299浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1855浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 17:29 , Processed in 0.678839 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号