单片机编程(红外线遥控器)IRCOM[5]=IRCOM[2] & 0x0F; //取键码的低四位IRCOM[6]=IRCOM[2] >> 4; //右移4次,高四位变为低四位 if(IRCOM[5]>9){ IRCOM[5]=IRCOM[5]+0x37;}elseIRCOM[5]=IRCOM[5]+0x30; if(IRCOM[6]>9){ IRCOM[6]=IRCOM[6
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 04:01:50
![单片机编程(红外线遥控器)IRCOM[5]=IRCOM[2] & 0x0F; //取键码的低四位IRCOM[6]=IRCOM[2] >> 4; //右移4次,高四位变为低四位 if(IRCOM[5]>9){ IRCOM[5]=IRCOM[5]+0x37;}elseIRCOM[5]=IRCOM[5]+0x30; if(IRCOM[6]>9){ IRCOM[6]=IRCOM[6](/uploads/image/z/8078701-13-1.jpg?t=%E5%8D%95%E7%89%87%E6%9C%BA%E7%BC%96%E7%A8%8B%EF%BC%88%E7%BA%A2%E5%A4%96%E7%BA%BF%E9%81%A5%E6%8E%A7%E5%99%A8%EF%BC%89IRCOM%5B5%5D%3DIRCOM%5B2%5D+%26+0x0F%3B+%2F%2F%E5%8F%96%E9%94%AE%E7%A0%81%E7%9A%84%E4%BD%8E%E5%9B%9B%E4%BD%8DIRCOM%5B6%5D%3DIRCOM%5B2%5D+%3E%3E+4%3B+%2F%2F%E5%8F%B3%E7%A7%BB4%E6%AC%A1%2C%E9%AB%98%E5%9B%9B%E4%BD%8D%E5%8F%98%E4%B8%BA%E4%BD%8E%E5%9B%9B%E4%BD%8D+if%28IRCOM%5B5%5D%3E9%29%7B+IRCOM%5B5%5D%3DIRCOM%5B5%5D%2B0x37%3B%7DelseIRCOM%5B5%5D%3DIRCOM%5B5%5D%2B0x30%3B+if%28IRCOM%5B6%5D%3E9%29%7B+IRCOM%5B6%5D%3DIRCOM%5B6)
单片机编程(红外线遥控器)IRCOM[5]=IRCOM[2] & 0x0F; //取键码的低四位IRCOM[6]=IRCOM[2] >> 4; //右移4次,高四位变为低四位 if(IRCOM[5]>9){ IRCOM[5]=IRCOM[5]+0x37;}elseIRCOM[5]=IRCOM[5]+0x30; if(IRCOM[6]>9){ IRCOM[6]=IRCOM[6
单片机编程(红外线遥控器)
IRCOM[5]=IRCOM[2] & 0x0F; //取键码的低四位
IRCOM[6]=IRCOM[2] >> 4; //右移4次,高四位变为低四位
if(IRCOM[5]>9)
{ IRCOM[5]=IRCOM[5]+0x37;}
else
IRCOM[5]=IRCOM[5]+0x30;
if(IRCOM[6]>9)
{ IRCOM[6]=IRCOM[6]+0x37;}
else
IRCOM[6]=IRCOM[6]+0x30;
为什么要IRCOM[5]要加上0x30,
单片机编程(红外线遥控器)IRCOM[5]=IRCOM[2] & 0x0F; //取键码的低四位IRCOM[6]=IRCOM[2] >> 4; //右移4次,高四位变为低四位 if(IRCOM[5]>9){ IRCOM[5]=IRCOM[5]+0x37;}elseIRCOM[5]=IRCOM[5]+0x30; if(IRCOM[6]>9){ IRCOM[6]=IRCOM[6
这段程序的意思是将键值换算成ASCII码字符表示;
0x30 表示ASCII码的‘0’,ASCII码表里面字符0的编号就是0x30;
0x37 的意思是当键值大于9时,键值用十六进制字符表示,0x37 实际上是‘A’-10,‘A’=0x41,‘A’- 10 =0x37;比如键值是10,那么输出就是ASCII字符‘A’;