單片機源程序如下:
- /*****************************************************************
- 使用說明:LED3閃爍后才可放卡,若刷卡過程中LED3閃爍兩次,則說明刷卡
- 錯誤,需重新刷卡,登記標簽時,若成功蜂鳴器響LED3亮會重復兩次
- ******************************************************************/
- #include "reg52.h"
- #define main_globals
- #include "main.h"
- #include "uart.h"
- #include "lcd12864.h"
- #include "beep.h"
- #include "key.h"
- #include "timer.h"
- #include "eeprom.h"
- #include "ctrl.h"
- #include "UHF2010.h"
- uchar states=0,t2flag=0;
- void init_all(void) //初始化
- {
- uchar status=0x01;
-
- EA = 0; //關總中斷
- init_timer(); //定時器初始化
- init_uart(); //串口初始化
- lcd_init(); //LCD初始化
- EA = 1; //開總中斷
- EEPROM_READ(0,UII_BUF,40); //EEPROM初始化,取出記錄的卡號
- LengthUII = ((( UII_BUF[0] >> 3) & 0x1F) +1)*2; //計算UII長度
- EEPROM_READ(45,KEY_BUF,8); //EEPROM初始化,取出記錄的密碼
-
- while(status != 0x00)
- status = UHFCheckConnect(); //檢查連接狀態
- }
- void main(void) //主函數
- {
- uchar key,status=0x80;
- Delay_ms(500); //讓硬件穩定
- 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();
- }
- }
復制代碼
所有資料51hei提供下載:
UHF門禁系統.zip
(156.02 KB, 下載次數: 11)
2018-5-31 10:59 上傳
點擊文件名下載附件
萬整例程
|