找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 706|回复: 5
收起左侧

小白求教C51单片机1602问题

[复制链接]
ID:477441 发表于 2021-12-6 21:22 | 显示全部楼层 |阅读模式
根据论坛的程序改编了一下,把子函数放在了前面,编译后就不好用了,出现了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);
}

回复

使用道具 举报

ID:213173 发表于 2021-12-7 05:59 | 显示全部楼层
void mian()错
void main()
回复

使用道具 举报

ID:480510 发表于 2021-12-7 08:30 | 显示全部楼层
3个警告 都是什么
回复

使用道具 举报

ID:477441 发表于 2021-12-7 09:16 | 显示全部楼层

void mian()错
void main()

非常感谢,就是这个原因,改过后就正常了。
       是我没经验,也太粗心了
回复

使用道具 举报

ID:908826 发表于 2021-12-7 09:55 | 显示全部楼层
void main看看你的主函数顺序敲错了,我有时候也犯这种错误
回复

使用道具 举报

ID:976493 发表于 2021-12-7 10:16 | 显示全部楼层
void main()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表