在家閑著無聊,就在現(xiàn)有資料的基礎上進行修改,做了一個自己的指紋識別系統(tǒng)
硬件部分:STC89C52、LCD12864、ATK-AS608、能降壓到3.3V的降壓模塊、按鍵
原理圖:LCD12864使用的是串口顯示,所以只3根控制線即可
原理圖.png (132.49 KB, 下載次數(shù): 57)
下載附件
2020-3-18 00:49 上傳
軟件部分:在網上看了很多ATK-AS608相關的程序,大部分幾乎都是一樣的,可是我的模塊總是無法初始化。
用串口查看,單片機發(fā)送的指令沒錯,指紋模塊返回的應答也沒問題;
找了很久發(fā)現(xiàn)問題出現(xiàn)在接收緩沖函數(shù)中:
1.png (2.75 KB, 下載次數(shù): 51)
下載附件
2020-3-18 00:50 上傳
2.png (9.42 KB, 下載次數(shù): 55)
下載附件
2020-3-18 00:50 上傳
3.png (7.69 KB, 下載次數(shù): 44)
下載附件
2020-3-18 00:50 上傳
發(fā)送完指令后,跳到 FPM10A_Receive_Data( ) 函數(shù)中循環(huán)接收模塊的數(shù)據,這會出現(xiàn)一個問題:
函數(shù)還沒進入循環(huán),模塊就已經回應數(shù)據了,這就導致數(shù)據的丟失,初始化失敗。
修改:添加 Receive_Data 接收數(shù)據標志位,修改接收緩沖函數(shù),用串口中斷接收數(shù)據
4.png (6.5 KB, 下載次數(shù): 56)
下載附件
2020-3-18 00:50 上傳
5.png (14.93 KB, 下載次數(shù): 42)
下載附件
2020-3-18 00:50 上傳
串口中斷接收數(shù)據,在 FPM10A_Receive_Data( ) 中等待數(shù)據接收完畢,這樣一來就不怕數(shù)據的丟失了
網上原版源代碼:
指紋模塊-12864測試程序(51單片機)(網上原版).zip
(176.16 KB, 下載次數(shù): 40)
2020-3-18 00:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
修改后的源代碼:
指紋模塊-12864測試程序(51單片機)(已修改版).zip
(178.86 KB, 下載次數(shù): 151)
2020-3-18 00:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|