1 黑幣
本帖最后由 yy87 于 2021-6-27 12:33 編輯
我將其他程序放到proteus中LCD可以顯示,只有這個(gè)代碼不行,不知道出來(lái)什么問(wèn)題。而且整個(gè)程序放在單片機(jī)上可以運(yùn)行,但是仿真不行,請(qǐng)大佬指教!
#include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include "lcd.h"
#include "key.h"
#include "i2c.h"
#define u16 unsigned int //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
#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;}
}
}
}
我來(lái)回答
程序.zip
2021-6-26 23:46 上傳
點(diǎn)擊文件名下載附件
70.09 KB, 下載次數(shù): 6
keil程序
dianzi2.zip
2021-6-27 12:30 上傳
點(diǎn)擊文件名下載附件
77.8 KB, 下載次數(shù): 6
proteus