1 黑币
本帖最后由 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;}
}
}
}
我来回答