#include <STCREG.H>
#define uint unsigned int
#define uchar unsigned char
#define pwdLEN 10
#define STLEN 3
sbit l1 = P3^5;
sbit bump = P3^6;
sbit relay = P3^7;
sbit lcden = P1^3;
sbit lcdrw = P1^2;
sbit lcdrs = P1^1;
sbit sda = P1^6;
sbit scl = P1^7;
uchar code xianshi0[] = " input password:";
uchar code xianshi1[] = " Please come in!";
uchar code xianshi2[] = "*";
uchar code xianshi3[] = " you are thief!";
uchar code xianshi4[] = " new password:";
uchar code xianshi5[] = " alter succeed!";
uchar code xianshi6[] = " first error!";
uchar code xianshi7[] = " second error!";
uchar code xianshi8[] = " third error!";
uchar code xianshi9[] = " alter fail!!";
uchar table[pwdLEN];
uchar table1[12] ={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x01,0x02,0x03};
uchar mima[pwdLEN];
uchar num, num1, num2, num3, etimes, fanhui, kai;
bit alterflog, cpflog, suoflog;
void keyscan();
void init();
void keydeal15();
void keydeal16();
void delay_xs(uint x)
{
uint i, j;
for(i = x; i > 0; i--)
for(j = 123; j > 0; j--);
}
void writecom(uchar com)
{
P0 = com;
lcdrs = 0;
lcdrw = 0;
lcden = 0;
lcden = 1;
}
void writedate(uchar date)
{
P0 = date;
lcdrs = 1;
lcdrw = 0;
lcden = 0;
lcden = 1;
}
void delay()
{;;}
void start()
{
sda = 1;
delay();
scl = 1;
delay();
sda = 0;
delay();
}
void stop()
{
sda = 0;
delay();
scl = 1;
delay();
sda = 1;
delay();
}
void respons()
{
uchar i;
scl=1;
delay();
while((sda == 1) && (i < 250))
i++;
scl = 0;
delay();
}
void write_byte(uchar date)
{
uchar i, temp;
temp = date;
for(i = 0; i < 8; i++)
{
temp = temp << 1;
scl = 0;
delay();
sda = CY;
delay();
scl = 1;
delay();
}
scl = 0;
delay();
sda = 1;
delay();
}
uchar read_byte()
{
uchar i, k;
scl = 0;
delay();
sda = 1;
delay();
for(i = 0; i < 8; i++)
{
scl = 1;
delay();
k = (k <<1 ) | sda;
scl = 0;
delay();
}
return k;
}
void
单片机案例开发——电子密码锁
最新推荐文章于 2025-05-18 06:11:08 发布