508【畢設課設】基於微控制器門禁門鈴控制系統設計
阿新 • • 發佈:2020-12-11
【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
在Proteus模擬環境下進行辦公室門鈴控制系統硬體設計,在本次硬體設計中,我主要才用了AT89C51作為主要控制晶片,LCD1602主要用來顯示輸入的按鍵數字,門鈴使用方的按鍵主要用來對系統輸入數字,門鈴應答方我設定了LED燈、蜂鳴器和按鍵。LED燈與蜂鳴器主要用來提示有人按下了門鈴按鍵,應答方的按鍵主要用來開門以及關閉應答方的LED燈與蜂鳴器。另外,我用了一個藍色LED燈來模擬門開啟的效果,即在模擬中,藍色LED燈亮起代表門被開啟,藍色LED燈熄滅代表門被關閉。
在我的設計中,有兩種方法可以開啟門,第一種就是通過按下鍵盤上的數字鍵,輸入門牌號,相應的門鈴就會有聲光提示,這樣,門鈴的應答方按下應答方的按鍵,就可以關閉聲光提示,並開啟房門。第二種是在系統中初設了一個公用密碼,即如果是辦公室的相關人員要進入,不需要通過呼叫他人,而是輸入公用密碼並按下確認鍵,就可以開啟房門。
sbit sound2=P1^2; sbit key2=P1^3; sbit sound3=P1^4; sbit key3=P1^5; sbit sound4=P1^6; sbit key4=P1^7; sbit open=P2^7; void key(void); void handle(void); bit Flag; unsigned char password[]={7,8,9,0};//第一次上電密碼 unsigned char num,i,x,j,k,p=16; unsigned char passwordtemp[16]; //最大輸入16個 unsigned char passwordlength,PLEN; //輸入密碼長度,實際密碼長度 /*------------------------------------------------ 主程式 ------------------------------------------------*/ main() { sound1=0;sound2=0;sound3=0;sound4=0;open=0; PLEN=sizeof(password)/sizeof(password[0]);//用於計算出實際密碼長度 LCD_Init(); //初始化液晶屏 DelayMs(5); //延時用於穩定,可以去掉 LCD_Clear(); //清屏