標(biāo)題: 小白求教C51單片機(jī)1602問(wèn)題 [打印本頁(yè)]

作者: bfdz    時(shí)間: 2021-12-6 21:22
標(biāo)題: 小白求教C51單片機(jī)1602問(wèn)題
根據(jù)論壇的程序改編了一下,把子函數(shù)放在了前面,編譯后就不好用了,出現(xiàn)了3個(gè)警告,寫(xiě)入單片機(jī)也不顯示了,反復(fù)檢查也看不出啥原因,特來(lái)求教老師

#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int

sbit E=P2^7;                //1602使能引腳
sbit RW=P2^6;                //1602讀寫(xiě)引腳        
sbit RS=P2^5;                //1602數(shù)據(jù)/命令選擇引腳


uchar tab1[]=" www.torrancerestoration.com ";  //要顯示什么就在這兒改
uchar tab2[]="LCD1602 test ok!";  //[size=15.5555562973022px]要顯示什么就在這兒改

void delay(uint del);   //延時(shí)1ms
void init();               //初始化
void writecmd(uchar com);      //寫(xiě)指令
void writedata(uchar dat);     //寫(xiě)數(shù)據(jù)

void mian()
{
   {
           uchar j;
           init();
           writecmd(0x80);    //告訴液晶在哪個(gè)地方顯示 (設(shè)置地址指針)//80H+00
           for(j=0;j<16;j++)  //有16個(gè)字符,要循環(huán)16次
              {
                 writedata(tab1[j]);
                 delay(10);
              }
           writecmd(0x80+0x40); //再設(shè)置第二行的起始位置80H+40H
        
           for(j=0;j<16;j++)   //有16個(gè)字符,要循環(huán)16次
               { writedata(tab2[j]);
                 delay(10);
               }
           while(1);         //讓液晶顯示就一直停在這里。

    }
}

void delay(uint del)   //延時(shí)1ms
        {
                uint i,j;
                for(i=0;i<del;i++)
                   for(j=0;j<=168;j++);
        }

void writecmd(uchar com)  //寫(xiě)指令
{
        E=0;
        RS=0;
        RW=0;
        P0=com;
        delay(10);
        E=1;  
        delay(10);
        E=0;
}
        
void writedata(uchar dat)//寫(xiě)數(shù)據(jù)
{  
          E=0;
          RS=1;
          RW=0;
          P0=dat;
          delay(10);
          E=1;  
          delay(10);
          E=0;
}

void init()               //初始化
{
        delay(30);
        writecmd(0x38);
        delay(10);
        writecmd(0x38);
        delay(10);
        writecmd(0x38);
        writecmd(0x38);
        writecmd(0x08);
        writecmd(0x01);
        writecmd(0x06);
        writecmd(0x0c);
}


作者: wulin    時(shí)間: 2021-12-7 05:59
void mian()錯(cuò)
void main()
作者: ByanouQ    時(shí)間: 2021-12-7 08:30
3個(gè)警告 都是什么
作者: bfdz    時(shí)間: 2021-12-7 09:16

void mian()錯(cuò)
void main()

非常感謝,就是這個(gè)原因,改過(guò)后就正常了。
       是我沒(méi)經(jīng)驗(yàn),也太粗心了
作者: 13205495918    時(shí)間: 2021-12-7 09:55
void main看看你的主函數(shù)順序敲錯(cuò)了,我有時(shí)候也犯這種錯(cuò)誤
作者: 996256177    時(shí)間: 2021-12-7 10:16
void main()




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1