|
打開proteus雙擊單片機添加程序里的211.hex文件,OK,點擊左下角的倒三角,機器啟動初始化蜂鳴器會叫一下,按下指紋正確按鈕,綠燈閃爍,蜂鳴器鳴叫,開鎖即電機轉(zhuǎn)動一下,開鎖成功。按下指紋錯誤按鈕,紅燈閃爍。按下內(nèi)部開鎖按鈕,綠燈閃爍,開鎖即電機轉(zhuǎn)動一下。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
硬件電路圖
包含內(nèi)容
單片機源程序如下:
- #include<reg52.h>
- sbit led_Red=P1^0; //紅燈
- sbit led_Green=P1^1; //綠點
- sbit lock_jdq=P0^0; //開鎖繼電器
- sbit K1_zhiwen=P2^1; // 指紋正確
- sbit K2_zhiwen=P2^4; // 指紋錯誤
- sbit K3_kaisuo=P2^5; // 開鎖按鍵
- sbit bell=P2^6; // 蜂鳴器
- void Delay1ms(unsigned int count)
- {
- unsigned int i,j;
- for(i=0;i<count;i++)
- for(j=0;j<120;j++);
- }
- void init()
- {
- P1 = 0xFF;
- P0 = 0xFF;
- P2 = 0xFF;
- P3 = 0xFF;
- bell=0;
- }
- void keyscan()
- {
- if(K1_zhiwen==0)
- {
- Delay1ms(10);
- if(K1_zhiwen==0)
- {
- led_Green=0;
- lock_jdq=0;
- bell=0;
- Delay1ms(500);
- led_Green=1;
- bell=1;
- Delay1ms(500);
- led_Green=0;
- bell=0;
- Delay1ms(500);
- led_Green=1;
- bell=1;
- Delay1ms(500);
- lock_jdq=1;
- while(!K1_zhiwen);
- }
- }
- if(K2_zhiwen==0)
- {
- Delay1ms(10);
- if(K2_zhiwen==0)
- {
- led_Red=0;
- Delay1ms(500);
- led_Red=1;
- Delay1ms(500);
- led_Red=0;
- Delay1ms(500);
- led_Red=1;
- Delay1ms(500);
- while(!K2_zhiwen);
- }
- }
- if(K3_kaisuo==0)
- {
- Delay1ms(10);
- if(K3_kaisuo==0)
- {
- led_Green=0;
- lock_jdq=0;
- Delay1ms(500);
- led_Green=1;
- Delay1ms(500);
- led_Green=0;
- Delay1ms(500);
- led_Green=1;
- Delay1ms(500);
- lock_jdq=1;
- while(!K3_kaisuo);
- }
- }
- }
- void main()
- {
- init();
- while(1)
- {
- keyscan();
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
基于單片機的智能門禁系統(tǒng)設(shè)計.rar
(104.21 KB, 下載次數(shù): 257)
2019-3-27 16:17 上傳
點擊文件名下載附件
壓縮包
|
評分
-
查看全部評分
|