亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機密碼鎖程序-無儲存
[打印本頁]
作者:
shanqishang
時間:
2018-11-30 16:48
標題:
單片機密碼鎖程序-無儲存
密碼鎖-無儲存(掉電密碼丟失,可根據自己需求加存儲如24c02)
單片機源程序如下:
#include<reg52.h>
#include"LCD.H"
#define uchar unsigned char
#define uint unsigned int
uchar count=1,ci=0;//修改密碼時,只清屏一次,給wei=-1賦初值
uchar mima[4];
bit flag,flag1,flag2;//flag為按鍵14,15是否有效,flag1為修改密碼是否有效,flag2為初始化密碼是否有效
sbit beep=P1^5;
uchar table[4];//初始密碼
uchar code table1[]="pass word!";
uchar code table2[]="welcome!";
uchar code table3[]="error!";
uchar code table4[]="alarm!";
uchar code table5[]="new mima!";
void feng() //蜂鳴器函數
{
uchar i;
for(i=0;i<10;i++)
{
beep=0;
delayms(200);
beep=1;
delayms(200);
}
}
void chushi() //初始函數
{
uchar i;
write_byte(0,0x82);
for(i=0;i<10;i++)
{
write_byte(1,table1[i]);
}
write_byte(1,'[');
write_byte(1,0x30+count); //count是輸入密碼次數,當3次時,蜂鳴器報錯
write_byte(1,']');
}
void bijiao() //比較函數
{
uchar i;
keyscan(); //鍵盤掃描函數
if(flag1==0) //當修改密碼沒有按下時,正常輸入密碼
{
if((keynum>=0)&&(keynum<=9))
{
write_byte(0,0xc0+wei);
if((wei>=0)&&(wei<=3))//密碼為4位,wei位密碼位數
{
write_byte(1,'*');
mima[wei]=keynum; //將密碼存入到mima[]數組中,用于比較
}
}
}
if(flag1==1)//當密碼修改按下時
{
if(ci==0) //清屏,wei=-1,只執行一次
{
write_byte(0,0x01);
delayms(20);
wei=-1;
ci++; //
}
else
{
write_byte(0,0x84); //修改密碼
for(i=0;i<8;i++)
{
write_byte(1,table5[i]);
}
if((keynum>=0)&&(keynum<=9)) //修改密碼位數為4
{
write_byte(0,0xc0+wei);
if((wei>=0)&&(wei<=3))
{
write_byte(1,0x30+keynum);
table[wei]=keynum;
}
}
flag=1; //開按鍵14,關按鍵15
flag2=1; //將修改后的密碼存入table[]中
count=1; //輸入密碼次數為1
}
}
if(flag==0) //按鍵15有效
{
if(flag2==0) //初始密碼有效
{
table[0]=1;table[1]=2;table[2]=3;table[3]=4;
}
if(keynum==15)
{
if((mima[0]==table[0])&&(mima[1]==table[1])&&
(mima[2]==table[2])&&(mima[3]==table[3])) //密碼比較 ,正確的話顯示welcome
{
write_byte(0,0x01);
delayms(20);
write_byte(0,0x82);
for(i=0;i<8;i++)
{
write_byte(1,table2[i]);
}
while(1);
}
else //錯誤的話顯示error
{
write_byte(0,0x01);
delayms(20);
write_byte(0,0x84);
for(i=0;i<6;i++)
{
write_byte(1,table3[i]);
}
count++; //輸入次數,最多三次
flag=1; //按鍵14打開,15關閉
if(count>=4) //多余三次蜂鳴器響
{
write_byte(0,0x84);
for(i=0;i<6;i++)
{
write_byte(1,table4[i]);
}
feng();
while(1);
}
}
}
if(keynum==13) //按鍵13修改密碼有效
{
flag1=1;
}
}
if(flag==1) //按鍵14有效
{
if(keynum==14) //清屏,初始化,輸入次數加一
{
write_byte(0,0x01);
delayms(20);
chushi();
wei=-1;
flag=0; //按鍵15有效
flag1=0; //修改密碼無效
}
}
}
void main()
{
init_lcd1602();
chushi();
while(1)
{
bijiao();
}
}
復制代碼
所有資料51hei提供下載:
密碼鎖-無存儲.zip
(37.42 KB, 下載次數: 10)
2018-11-30 16:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2018-12-1 02:17
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
作者:
qqhrchen
時間:
2018-12-1 10:54
其實,使用STC單片機的話,如STC89C52,根本不需要AT24CXX的,CPU本身就有5K的eeprom,如果對實時性要求不高,一般場合使用足矣。起始地址0x2000,以扇區為單位,每個扇區512B.即0x2000為一個扇區開始;0x2200為第二個扇區開始,扇區間隔0x200,以此類推。
eeprom.rar
2018-12-1 10:53 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
1.19 KB, 下載次數: 3, 下載積分: 黑幣 -5
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1