這是我做的一個車庫門禁系統的設計,具體功能
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png (18.4 KB, 下載次數: 44)
下載附件
2019-5-18 19:10 上傳
0.png (61.69 KB, 下載次數: 41)
下載附件
2019-5-18 19:10 上傳
0.png (5.87 KB, 下載次數: 34)
下載附件
2019-5-18 19:10 上傳
單片機源程序如下:
- #include "reg52.h"
- #include "main.h"
- #include "uart.h"
- #include "timer.h"
- #include "rc522.h"
- #include "ctrl.h"
- #include "lcd12864.h"
- #include "beep.h"
- #include "key.h"
- #include "EEPROM.h"
-
- void init_all(void) //初始化
- {
- EA = 0; //關總中斷
- init_timer(); //定時器初始化
- init_uart(); //串口初始化
- init_rc522(); //RC522初始化
- lcd_init(); //LCD初始化
- EEPROM_READ(0,Card_SN_BUF,4);//EEPROM初始化,取出記錄的卡號
- EEPROM_READ(2,Card_SN_BUF2,4);//EEPROM初始化,取出記錄的卡號
- EEPROM_READ(7,KEY_BUF,8);//EEPROM初始化,取出記錄的密碼
-
- send_bytes(Card_SN_BUF,4);
- send_bytes(Card_SN_BUF2,4);
- EA = 1; //開總中斷
- }
- void main(void) //主函數
- {
- INT8U key;
- Delay_ms(50); //讓硬件穩定
- init_all(); //執行初始化函數
- relay_OFF(); //關繼電器
- LED_BLINK_1(); //led test
- // beep1(); //beep test
- display(0,0,0); //顯示初始化
- while(1)
- {
- key=key_scan(); //按鍵操作
- if(key==12) if(states>0) states--;
- else states=0; //上一功能
-
- if(key==13) if(++states>3) states=3; //下一功能
- ctrl_process(); //進入RC522操作
- }
- }
復制代碼
包括刷卡開門,注冊卡。密碼開門,修改密碼,修改密碼前輸入原密碼等功能。
所有資料51hei提供下載:
車庫門禁系統設計 原理圖.rar
(717.93 KB, 下載次數: 39)
2019-5-18 10:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|