标题: 帮我看看这个单片机程序,每句话的意思,没看懂。拜托各位大佬了 [打印本页]

作者: Jennie895    时间: 2020-5-21 11:11
标题: 帮我看看这个单片机程序,每句话的意思,没看懂。拜托各位大佬了
void LcdWriteNum(uchar line,uchar list,uint Num,uchar len)
{        
        if(line == 1)LcdWriteCom(0x80+list-1);
        if(line == 2)LcdWriteCom(0xc0+list-1);
        
        if(len == 1)
                LcdWriteData(Num+'0');
        else if(len == 2)
        {
                LcdWriteData(Num/10+'0');
                LcdWriteData(Num%10+'0');
        }
        else if(len == 3)
        {
                LcdWriteData(Num/100+'0');
                LcdWriteData(Num%100/10+'0');
                LcdWriteData(Num%100%10+'0');
        }
}


作者: man1234567    时间: 2020-5-21 16:48
void LcdWriteNum(uchar line,uchar list,uint Num,uchar len) //不解释如果不懂就别往下看先读书去
{        //不解释
        if(line == 1)LcdWriteCom(0x80+list-1);//如果是第一行就将光标转到第一行指定显示位
        if(line == 2)LcdWriteCom(0xc0+list-1);//如果是第二行就将光标转到第二行指定显示位
        
        if(len == 1)//如果是1位数
                LcdWriteData(Num+'0');//显数
        else if(len == 2)//如果是2位数,本例此句中 else 可有可无
        {//不解释
                LcdWriteData(Num/10+'0');//先显十位
                LcdWriteData(Num%10+'0');//再显个位
        }//不解释
        else if(len == 3)//如果是3位数,本例此句中 else 可有可无
        {//不解释
                LcdWriteData(Num/100+'0');//先显百位
                LcdWriteData(Num%100/10+'0');//再显十位
                LcdWriteData(Num%100%10+'0');//再显个位
        }//不解释
}//不解释
作者: Jennie895    时间: 2020-5-21 22:02
man1234567 发表于 2020-5-21 16:48
void LcdWriteNum(uchar line,uchar list,uint Num,uchar len) //不解释如果不懂就别往下看先读书去
{     ...

谢谢   大佬

作者: DonadTrump    时间: 2020-5-22 08:28
  if(line == 1)LcdWriteCom(0x80+list-1);//第一行都是加80  if(line == 2)LcdWriteCom(0xc0+list-1);//第二行加c0  len==?表示位数
作者: jtboy105    时间: 2020-5-22 14:32
这个是1602的程序,每行16个显示单元百,第一行地址从0x80~0x80+16,第二行0xc0~0xc0+16,一个字符占一个地址,其它的地址也是有存储单元的,只问不过不能显示出来




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1