标题: protues仿真时LCD1602无显示结果 [打印本页]

作者: yy87    时间: 2021-6-26 23:31
标题: protues仿真时LCD1602无显示结果
本帖最后由 yy87 于 2021-6-27 12:33 编辑

我将其他程序放到proteus中LCD可以显示,只有这个代码不行,不知道出来什么问题。而且整个程序放在单片机上可以运行,但是仿真不行,请大佬指教!


#include "reg52.h"               //此文件中定义了单片机的一些特殊功能寄存器
#include "lcd.h"
#include "key.h"
#include "i2c.h"
#define u16 unsigned int       //对数据类型进行声明定义
#define u8 unsigned char

sbit AS=P2^2;               //继电器
u8 pw_num,Error_Num,PassWord_Length=6;
u8 PASSWORD[]={8,8,8,8,8,8,0,0,0,0};
u8 INPUT_PW_Tab[10];
u8 key_num,Step,Step5,Load_first_flag=0;

bit result_flag,Input_suc_flag;
bit List1=0;

void Step_0();
void Step_1();
void Step_2();
void Step_3();
void Step_4();      
void Step_5();
         void Step5_0();
       void Step5_1();
       void Step5_2();
       void Step5_3();
       void Step5_4();
       void Step5_5();
void Step_6();
void CipherComparison();
void input_password(bit m);
void Read_Password();

void main()
{   
    u8 data1,a;
   LcdWriteCom(0x01);  //清屏
    for(data1=0;data1<PassWord_Length+2;data1++)
    {
        a=At24c02Read(data1)+0x30;
         LcdWriteData(a);   
      delay(1000);   
  }
   
    delay(1000);
    LcdInit();
    delay(1000);
    Step=0;
    Step5=0;
    Error_Num=0x00;
  Read_Password();
   
    while(1)
                {   
                                key_num=KeyDown();                   //读取输入值

                                        switch(Step)
                                        {
                                                case 0:
                                                 {Step_0();break;}
                                                case 1:
                                                 {Step_1();break;}
                                                case 2:
                                                 {Step_2();break;}
                                                case 3:
                                                 {Step_3();break;}   
                                                case 4:
                                                 {Step_4();break;}   
                                                case 5:
                                                 {Step_5();break;}   
                                                case 6:
                                                 {Step_6();break;}   
                                                  
                                        }

                 }               
}


T_SRPU5DCVNE%930{G2J65Q.png (80.98 KB, 下载次数: 75)

T_SRPU5DCVNE%930{G2J65Q.png

程序.zip

70.09 KB, 下载次数: 6

keil程序

dianzi2.zip

77.8 KB, 下载次数: 6

proteus


作者: 51hei团团    时间: 2021-6-26 23:41
没有工程文件 没有Keil工程包 无法调试,你的代码显示编译错误 缺少头文件
作者: yy87    时间: 2021-6-26 23:48
51hei团团 发表于 2021-6-26 23:41
没有工程文件 没有Keil工程包 无法调试,你的代码显示编译错误 缺少头文件

程序包在上面,程序编译没有问题,放在单片机上可以实现,但是仿真出不来
作者: 名字不是重点    时间: 2021-6-26 23:57
本帖最后由 名字不是重点 于 2021-6-27 00:01 编辑

把PROTEUS工程一起上传来看看

作者: guangxin    时间: 2021-6-27 09:30
可能是因为判忙函数,仿真时把他//掉,你在试试
作者: 2823796388    时间: 2021-6-27 12:24
可以分享一下具体步骤吗谢谢了
作者: yy87    时间: 2021-6-27 12:31
名字不是重点 发表于 2021-6-26 23:57
把PROTEUS工程一起上传来看看

上传了
作者: 人人学会单片机    时间: 2021-7-6 20:33
LCD1602显示℃ 这种自定义符号 http://www.51hei.com/bbs/dpj-200685-1.html LCD1602液晶最新资料 说明了具体的时间要求 http://www.51hei.com/bbs/dpj-205768-1.html




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