标题: 小白求教C51单片机1602问题 [打印本页]

作者: bfdz    时间: 2021-12-6 21:22
标题: 小白求教C51单片机1602问题
根据论坛的程序改编了一下,把子函数放在了前面,编译后就不好用了,出现了3个警告,写入单片机也不显示了,反复检查也看不出啥原因,特来求教老师

#include <reg51.h>

#define uchar unsigned char
#define uint unsigned int

sbit E=P2^7;                //1602使能引脚
sbit RW=P2^6;                //1602读写引脚        
sbit RS=P2^5;                //1602数据/命令选择引脚


uchar tab1[]=" www.51hei.com ";  //要显示什么就在这儿改
uchar tab2[]="LCD1602 test ok!";  //[size=15.5555562973022px]要显示什么就在这儿改

void delay(uint del);   //延时1ms
void init();               //初始化
void writecmd(uchar com);      //写指令
void writedata(uchar dat);     //写数据

void mian()
{
   {
           uchar j;
           init();
           writecmd(0x80);    //告诉液晶在哪个地方显示 (设置地址指针)//80H+00
           for(j=0;j<16;j++)  //有16个字符,要循环16次
              {
                 writedata(tab1[j]);
                 delay(10);
              }
           writecmd(0x80+0x40); //再设置第二行的起始位置80H+40H
        
           for(j=0;j<16;j++)   //有16个字符,要循环16次
               { writedata(tab2[j]);
                 delay(10);
               }
           while(1);         //让液晶显示就一直停在这里。

    }
}

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

void writecmd(uchar com)  //写指令
{
        E=0;
        RS=0;
        RW=0;
        P0=com;
        delay(10);
        E=1;  
        delay(10);
        E=0;
}
        
void writedata(uchar dat)//写数据
{  
          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    时间: 2021-12-7 05:59
void mian()错
void main()
作者: ByanouQ    时间: 2021-12-7 08:30
3个警告 都是什么
作者: bfdz    时间: 2021-12-7 09:16

void mian()错
void main()

非常感谢,就是这个原因,改过后就正常了。
       是我没经验,也太粗心了
作者: 13205495918    时间: 2021-12-7 09:55
void main看看你的主函数顺序敲错了,我有时候也犯这种错误
作者: 996256177    时间: 2021-12-7 10:16
void main()




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