单片机编程(红外线遥控器)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/12/21 12:20:55
单片机编程(红外线遥控器)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’;