在家閑著無聊,就在現有資料的基礎上進行修改,做了一個自己的指紋識別系統
硬件部分:STC89C52、LCD12864、ATK-AS608、能降壓到3.3V的降壓模塊、按鍵
原理圖:LCD12864使用的是串口顯示,所以只3根控制線即可
軟件部分:在網上看了很多ATK-AS608相關的程序,大部分幾乎都是一樣的,可是我的模塊總是無法初始化。
用串口查看,單片機發送的指令沒錯,指紋模塊返回的應答也沒問題;
找了很久發現問題出現在接收緩沖函數中:
發送完指令后,跳到 FPM10A_Receive_Data( ) 函數中循環接收模塊的數據,這會出現一個問題:
函數還沒進入循環,模塊就已經回應數據了,這就導致數據的丟失,初始化失敗。
修改:添加 Receive_Data 接收數據標志位,修改接收緩沖函數,用串口中斷接收數據
串口中斷接收數據,在 FPM10A_Receive_Data( ) 中等待數據接收完畢,這樣一來就不怕數據的丟失了
網上原版源代碼:
指紋模塊-12864測試程序(51單片機)(網上原版).zip
(176.16 KB, 下載次數: 40)
|