-
大小: 96KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-07-22
- 語言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
51單片機(jī)密碼鎖PROTEUS仿真,51單片機(jī)密碼鎖PROTEUS仿真,51單片機(jī)密碼鎖PROTEUS仿真。
代碼片段和文件信息
#include?
#include“intrins.h“
#include“key.h“
#include“xsh.h“
#include“24c02.h“
#define?ulong?unsigned?long
bit??BJCB=0;//報(bào)警標(biāo)志 ??
?????XG=0//修改密碼標(biāo)志位
?????BJ=0//報(bào)警標(biāo)志位
?????SJ=0;//鎖鍵盤標(biāo)志位
????//?xg=0;//修改密碼標(biāo)志位
uchar?PSWD0_0[16]={0};//密碼輸入緩存存儲(chǔ)單元
//uchar?code?PSWD0_1[16]={1234567812345678};//用戶初始密碼存儲(chǔ)單元
//uchar?PSWD1_0[16]={0};//讀出密碼緩存存儲(chǔ)單元
uchar?PSWD1_1[16]={1234567812345678};////管理員初始密碼存儲(chǔ)單元
sbit?OUT=P3^5;//輸出端口
sbit?L1=P0^2;//上電指示
sbit?L2=P0^1;//開鎖指示
sbit?L3=P0^0;//報(bào)警指示
uint???mg=0//密碼個(gè)數(shù)
???????KSC=0//開鎖次數(shù)
???????BJC=0//報(bào)警次數(shù)
???TCNTY=0//用戶按鍵定時(shí)次數(shù)累加
???TCNTG=0//管理員輸入密碼定時(shí)次數(shù)
???yhsh//用戶輸入標(biāo)志位
???glsh//管理員輸標(biāo)志位
???shw;//密碼輸完標(biāo)志位
void?yhmimaxig();//密碼修改程序
void?glmimaxig();//管理員修改程序
void?bjyin(ulong?t)
{
?ulong?c;
?uint?n;
?for(c=0;c {
?for(n=0;n<50;n++);?//延時(shí)
?BEEP=~BEEP;?//取反輸出到喇叭的信號(hào)
}
}
?void?delay_10ms(void)
{
uint?i?=?1000;
while(i--);
}
//////////////定時(shí)中斷服務(wù)函數(shù)//////////////////////////////////////
?void?timer0()?interrupt?1?
{?
?uint?i;
?TH0=(65536-50000)/256;?//對(duì)TH0?TL0賦值50MS定時(shí)
?TL0=(65536-50000)%256;?//重裝計(jì)數(shù)初值
?if(yhsh==1)?
?{
??TCNTY++;//用戶定時(shí)計(jì)數(shù)
??if(shw==1)
?{
??TR0=0;
??TCNTY=0;
??}
??if(TCNTY==400)
??{?
???TR0=0;//關(guān)閉T0定時(shí)器
???TCNTY=0;
????mg=0;//密碼個(gè)數(shù)清零
L1=1;
for(i=0;i<2;i++)//聲光報(bào)警電路
?{
??L3=0;
??bjyin(1000);
??L3=1;
??delay(1000);
??}?
??L1=0;?
?????}
????}?
else?if(glsh==1)
????{
?TCNTG++;//管理員定時(shí)計(jì)數(shù)
?????????if(shw==1)
????????{
???????????TR0=0;
???????????TCNTG=0;
?????????}
???????if(TCNTG==400)
???????{?
????????TR0=0;//關(guān)閉T0定時(shí)器
????????TCNTG=0;
????????mg=0;//密碼個(gè)數(shù)清零
L1=1;
?????for(i=0;i<2;i++)//聲光報(bào)警電路
????{
??L3=0;
??bjyin(1000);
??L3=1;
??delay(1000);
?}
?L1=0;?
}
}???
} ????? ?
????
void?main()
{??
???uint?i;
???TMOD=0x01;??//定時(shí)器工作在方式1
???ET0=1;?
???EA=1;
???TH0=(65536-50000)/256;?//對(duì)TH0?TL0賦值
???TL0=(65536-50000)%256;?//使定時(shí)器0.05秒中斷一次
??//Read_page24c02(0x00PSWD1_116);//向24c02里讀用戶初始密碼
???//i2cWrite24LC16B(00X20);
?/////////////第一次向24c02里寫入初始管理員密碼、用戶密碼、開鎖次數(shù)/////////////////////
???for(i=0;i<16;i++) //用一次寫一個(gè)向24c02里寫
??{
???i2cWrite24LC16B(PSWD1_1[i]i);
???delay_10ms;??
??}?
???for(i=0;i<16;i++) //用一次寫一個(gè)向24c02里寫
??{
???i2cWrite24LC16B(PSWD1_1[i]0x10+i);
???delay_10ms;??
??}??//proteus仿真時(shí)用,燒程序時(shí),第一次用,第二次不用。
??KSC=i2cRead24LC16B(0X20);
?loop:??L1=0;//上電紅燈亮
L2=1;//開鎖成功后綠燈亮
L3=1;//輸錯(cuò)時(shí)黃燈亮報(bào)警
OUT=0;//開信號(hào)關(guān)閉
???????display_0(KSC);//開鎖前顯示
????????????
///////////密碼輸入/////////////////
?if(SJ==0)//鎖鍵盤標(biāo)志位為0
?{?
??do
???{
????flag=0;//鍵盤標(biāo)志位
????key();
if(flag==1&&num==12)?//判斷是否為管理員功能鍵按下
{
?goto?gl;
??? }
??? if(flag==1&&num<=9)
?{
??PSWD0_0[mg]=num;
??mg++;//密碼個(gè)數(shù)
?}
?if(flag==1&&num==14&&mg>=1)//輸入錯(cuò)誤刪除
?{
???mg=mg-1;
???}?
?if(mg==1)?//有密碼鍵按下開定時(shí)器限時(shí)
?{
??TR0=1;
??yhsh=1;?
??}
???}
???while(num!=15);
???if(mg!=16)
???{
????for(i=mg;i<16;i++)
{
?PSWD0_0[i]=0;
}
???}???
/
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2946??2008-12-11?15:58??0029、密碼鎖\24c02.h
?????文件?????156202??2008-12-16?18:32??0029、密碼鎖\Last?Loaded?mms.DBK
?????文件???????6376??2005-03-22?15:22??0029、密碼鎖\STARTUP.A51
?????文件??????14048??2009-03-12?22:29??0029、密碼鎖\STARTUP.LST
?????文件????????749??2009-03-12?22:29??0029、密碼鎖\STARTUP.OBJ
?????文件???????2148??2008-12-02?16:27??0029、密碼鎖\key.h
?????文件??????34179??2009-03-12?22:29??0029、密碼鎖\mms
?????文件?????156476??2009-06-03?12:48??0029、密碼鎖\mms.DSN
?????文件??????20363??2009-03-12?22:29??0029、密碼鎖\mms.LST
?????文件??????48300??2009-03-12?22:29??0029、密碼鎖\mms.M51
?????文件??????41346??2009-03-12?22:29??0029、密碼鎖\mms.OBJ
?????文件???????2427??2009-04-05?08:22??0029、密碼鎖\mms.Opt
?????文件???????1171??2010-05-18?20:23??0029、密碼鎖\mms.PWI
?????文件???????2247??2008-12-02?19:14??0029、密碼鎖\mms.Uv2
?????文件???????8780??2009-03-12?22:29??0029、密碼鎖\mms.c
?????文件???????9235??2009-03-12?22:29??0029、密碼鎖\mms.hex
?????文件?????????39??2009-03-12?22:29??0029、密碼鎖\mms.lnp
?????文件????????170??2009-04-05?08:22??0029、密碼鎖\mms.plg
?????文件???????2423??2009-03-12?22:40??0029、密碼鎖\mms_Opt.Bak
?????文件???????2131??2008-12-08?10:06??0029、密碼鎖\xsh.h
?????目錄??????????0??2010-05-21?14:25??0029、密碼鎖
-----------?---------??----------?-----??----
???????????????511756????????????????????21
- 上一篇:操作系統(tǒng)考綱樣題及試卷
- 下一篇:HFSS10的破解 版本10
評(píng)論
共有 條評(píng)論