标题:
求大神指点一下这段单片机红外控制lcd程序哪里有问题
[打印本页]
作者:
科技大虾
时间:
2019-7-10 20:30
标题:
求大神指点一下这段单片机红外控制lcd程序哪里有问题
此程序要实现的功能是 红外控制lcd显示0-9(部分程序)
IrValue[] 接收数据
while(1)
{
IrValue[4]=IrValue[2]>>4; 取高位
IrValue[5]=IrValue[2]&0x0f; 低位
if(IrValue[4]>9)
{
LcdWriteCom(0xc0+0x09); 确定lcd显示位置
Value[0]=0x37+IrValue[4]; 源代码有这个 我不是很懂
}
else
{
LcdWriteCom(0xc0+0x09); 同样确定lcd显示位置
Value[0]=IrValue[4]+0x30; 不懂
}
if(IrValue[5]>9)
{
LcdWriteCom(0xc0+0x0a);
Value[1]=IrValue[5]+0x37; //不懂
}
else
{
LcdWriteCom(0xc0+0x0a);
Value[1]=IrValue[5]+0x30; //不懂
}
/* 我下面的思路是 用Value[]数组 存储 上面高四位和第四位的运算结果 。 然后转换成十进制 用switch直接匹配 。但是运行结果摁键没有反应 */
Value[0]/=10;
Value[1]%=10;
switch(Value[0]*10+Value[1])
{
case 22 : LcdWriteData('0');break;
case 12 : LcdWriteData('1');break;
case 24 : LcdWriteData('2');break;
case 94 : LcdWriteData('3');break;
case 8 : LcdWriteData('4');break;
case 28 : LcdWriteData('5');break;
case 90 : LcdWriteData('6');break;
case 66 : LcdWriteData('7');break;
case 82 : LcdWriteData('8');break;
case 74 : LcdWriteData('9');break;
}
}
作者:
#include51.h
时间:
2019-7-10 23:47
+0x30是LCD1602的一个特点,详细网上找个视频教程看看
作者:
鹏博士PBs
时间:
2019-7-11 09:58
LCD1620驱动需要MST717C芯片进行驱动,红外测距的话需要红外对管。
作者:
科技大虾
时间:
2019-7-11 12:41
我问题出在 解码应该 谢谢
作者:
贺子
时间:
2019-7-26 09:40
void read() interrupt 0 // ?????????????ж????
{
u8 j,k;
u16 err;
Time=0;
delay(700); //7ms
if(IRIN==0) //?????????????????????
{
err=1000; //1000*10us=10ms,????????????????????
/*????????????????????????????????????????????????????ó????????
??????????????*/
while((IRIN==0)&&(err>0)) //??????9ms????????
{
delay(1);
err--;
}
if(IRIN==1) //?????????9ms????
{
err=500;
while((IRIN==1)&&(err>0)) //???4.5ms????????????
{
delay(1);
err--;
}
for(k=0;k<4;k++) //????4??????
{
for(j=0;j<8;j++) //???????????
{
err=60; //60 .10=600us
while((IRIN==0)&&(err>0))//??????????560us???????
{
delay(1);
err--;
}
err=500;
while((IRIN==1)&&(err>0)) //???????????????
{
delay(10); //0.1ms
Time++;
err--;
if(Time>30)
{
return;
}
}
figuredata[k]>>=1; //k????????????
if(Time>=8) //??????????????565us???????1
{
figuredata[k]|=0x80; // |??λ?? 0100 0000
}
Time=0; //??????????????
}
}
}
if(figuredata[2]!=~figuredata[3])
{
return;
}
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1