找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5273|回复: 4
打印 上一主题 下一主题
收起左侧

求大佬: warning C206: 'init': missing function-prototype

[复制链接]
跳转到指定楼层
楼主
#include <reg52.h>//头文件
#define uchar unsigned char
#define uint unsigned int //预定义
sbit rs=P3^5;     //1602的数据/命令控制,高电平为数据,低电平为命令
sbit rw=P3^3;     //1602读写控制
sbit lcden=P3^4;  //1602的en,1602的使能信号
sbit dula=P2^6;   //为了关上数码管显示防止相互干扰
sbit wela=P2^7;   //为了关上数码管显示防止相互干扰
sbit jian=P3^7;    //+
sbit jian1=P3^6;   //-


int i=0,zhi=30,zhi1=0,zhi2=0;     //i
uchar table1[]="Speed:        ";
uchar table2[]="I LIKE MCU !  ";

void delay(uint x)   //延时子程序,为了给液晶反应时间
{
        uint a,b;
        for(a=x;a>0;a--)
                for(b=10;b>0;b--);
}
void write_com(uchar com)  //写入命令子程序
{
        P0=com;        //命令送入P0
        rs=0;  //选择指令寄存器
        rw=0; //选择写
        delay(20);//        延时一小会儿,让1602准备接收
        lcden=0;
        lcden=1; //使能线电平变化, 命令送入1602的8位数据口
        lcden=0;
}
void write_date(uchar date)  //写入数据子程序
{
        P0=date;//把要显示数据送入P0
        rs=1; //选择数据寄存器
        rw=0;//选择写
        lcden=0;
        lcden=1; //使能线电平变化,数据送入
        lcden=0;
       
}
void lcd_init()  //        1602初始化函数
{
        dula=0;
        wela=0;
        write_com(0x38); //8位数据,双列
        delay(20);
        write_com(0x0c);//开启显示屏,关光标,光标不闪
        delay(20);
        write_com(0x06);  //显示地址递增,即写入数据后,显示位置后移一位
        delay(20);
        write_com(0x01); //清屏
        delay(20);       
}

void main()
{
    uchar a;
        init();

        write_com(0x80);          //写入显示首地址
        delay(20);                //液晶反应时间
        for(a=0;a<14;a++)
        {
                write_date(table1[a]);   //写入显示固定字符
                delay(20);                    //液晶反应时间
        }

        write_com(0xc0);         
        delay(50);
        for(a=0;a<14;a++)
        {
                write_date(table2[a]);
                delay(40);               
        }

        while(1)
        {
                if(jian==0)
                {
                        delay(200);
                        if(jian==0)
                        {
                                i++;
                        }
                        if(i>9)
                                i=9;
                        while(jian==0);
                }
                if(jian1==0)
                {
                        delay(200);
                        if(jian1==0)
                        {
                                i--;
                        }
                        if(i<0)
                                i=0;
                        while(jian1==0);
                }        zhi=i+'0'; //转换为ASCII码显示
      write_com(0x80+6);  //写入显示首地址
            delay(20);          //液晶反应时间
            write_date(zhi);     //写入显示的字符
            delay(20);          //液晶反应时间
        }
}


结果:.....
Build target '目标 1'
assembling STARTUP.A51...
compiling 1602.C...
1602.C(60): warning C206: 'init': missing function-prototype
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?LCD_INIT?1602
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  INIT
    MODULE:  1602.obj (1602)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  INIT
    MODULE:  1602.obj (1602)
    ADDRESS: 0004H
Program Size: data=47.0 xdata=0 code=458
creating hex file from "1602"...
"1602" - 0 Error(s), 4 Warning(s).

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:330188 发表于 2019-6-16 10:12 | 只看该作者
本帖最后由 炸鸡店长 于 2019-6-16 10:15 编辑

实在没咒念了,跪求啊

TIM截图20190616101516.png (11.77 KB, 下载次数: 33)

TIM截图20190616101516.png
回复

使用道具 举报

板凳
ID:105364 发表于 2019-6-16 14:30 | 只看该作者
。。。
void main()
{
    uchar a;
        init();

        write_com(0x80);          //写入显示首地址
        delay(20);                //液晶反应时间
        for(a=0;a<14;a++)
        {
                write_date(table1[a]);   //写入显示固定字符
                delay(20);                    //液晶反应时间
        }
。。。
没看到init()函数,怎么调用 ?
回复

使用道具 举报

地板
ID:330188 发表于 2019-6-16 14:51 | 只看该作者
整好了
回复

使用道具 举报

5#
ID:67443 发表于 2019-6-16 15:25 | 只看该作者
你把1602.c也贴出来
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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