完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想请教各位高手,利用红外遥控控制51去执行不同的动作,接受芯片h138(38hz)接在51的哪个引脚上,接受到的信号是单纯的高电平信号还是有占空比的信号,能不能利用这一个接收芯片来控制51完成多个动作?
|
|
相关推荐
6个回答
|
|
|
|
红外遥控器发出的就是38k的载波, 红外遥控器4个键值以十进制全部显示在lcd1602上,并附加遥控数码管显示0-9值功能源码: #include typedef unsigned char uint8; typedef unsigned int uint16; uint8 code word1[]={"IR NUMBER:"}; uint8 word2[]={" "}; uint8 ir_buf[4];//用以缓存ir码值 ***it RS = 1^0 ; ***it RW = 1^1 ; ***it EN = 1^5 ; ***it BUSY = 0^7; ***it ir_pin=P3^3; ***it ENLED=P1^4; ***it ADDR0=P1^0; ***it ADDR1=P1^1; ***it ADDR2=P1^2; ***it ADDR3=P1^3; void wait() { 0=0XFF; do{EN=0;RW=1;RS=0;EN=1;}while(BUSY); EN=0; } void w_cmd(uint8 cmd) { wait(); EN=0; RW=0; RS=0;  0=cmd; EN=1; EN=0; } void w_dat(uint8 dat) { wait(); EN=0; RS=1; RW=0;  0=dat; EN=1; EN=0; } void w_string(uint8 add,uint8 *p) { w_cmd(add); while(*p!=' |