久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3731|回復(fù): 4
收起左側(cè)

單片機(jī)+DS1302時(shí)鐘+AS608指紋+LCD1602液晶顯示程序

[復(fù)制鏈接]
ID:495323 發(fā)表于 2021-1-27 13:15 | 顯示全部樓層 |閱讀模式
STC89C52最小系統(tǒng)
此模塊是為了控制相關(guān)門禁,或是一些特定情況下要用到比較高級(jí)的鎖。DS1302時(shí)鐘顯示不用手動(dòng)寫時(shí)鐘代碼就很方便,這一次用的是stc89c52,就很熟悉。
總結(jié)一下:LCD1602是GND和5V接一起。

               DS1302時(shí)鐘模塊確保3.3V就可以

               AS608指紋模塊調(diào)試他的波特率,單片機(jī)最小系統(tǒng)的晶振要是11.05926mH

要原理圖,截屏的圖片不知道咋樣拉進(jìn)來(lái)。就先這樣吧

制作出來(lái)的實(shí)物圖如下:
image0.jpeg

代碼和文件都可以下載
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include "buzz.h"
  4. #include "key.h"
  5. #include "uart.h"
  6. #include "delay.h"
  7. #include "FPM10A.h"
  8. #include "lcd_1602.h"
  9. #include "ds1302.h"

  10. typedef unsigned int u16;          //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
  11. typedef unsigned char u8;
  12. u8 DisplayData[16]="   -     :  :   ";

  13. void datapros()         
  14. {
  15.   Ds1302ReadTime();      //反饋時(shí)間TIME

  16.   DisplayData[1] = TIME[4]/16+0x30;
  17.   DisplayData[2] = (int)(TIME[4]&0x0f)+0x30;                        //月

  18.   DisplayData[4] = TIME[3]/16+0x30;
  19.   DisplayData[5] = (int)(TIME[3]&0x0f)+0x30;     //日
  20.         
  21.         DisplayData[7] = TIME[2]/16+0x30;                                                        //時(shí)
  22.         DisplayData[8] = (int)(TIME[2]&0x0f)+0x30;        
  23.         
  24. //        DisplayData[10] = ":";
  25.         DisplayData[10] = TIME[1]/16+0x30;                                                //分
  26.         DisplayData[11] = (int)(TIME[1]&0x0f)+0x30;        
  27. //        DisplayData[13] = ":";
  28. //        DisplayData[5] = ;
  29.         DisplayData[13] = TIME[0]/16+0x30;                                                //秒
  30.         DisplayData[14] = (int)(TIME[0]&0x0f)+0x30;
  31. }



  32. void main()
  33. {                                                        
  34.         u8   i;
  35.         LCD1602_Init();                        //初始化液晶
  36.         LCD1602_Display(0x80,"Fingerprint Test",0,16);         //液晶開機(jī)顯示界面
  37.   Uart_Init();                        //初始化串口
  38.         Key_Init();                                //初始化按鍵

  39.   while(1)
  40.         {
  41.                 datapros();                                                 //數(shù)據(jù)處理函數(shù)               
  42.                 LCD1602_WriteCMD(0x80+0x40);
  43.                 for(i=0;i<16;i++)
  44.                 {
  45.                 LCD1602_WriteDAT(DisplayData[i]);        
  46.                 }

  47.         if(KEY_ENTER==0)                  //檢測(cè)按鍵K1是否按下
  48.         {        
  49.                 Delay_Ms(10);    //消除抖動(dòng) 一般大約10ms
  50.                 if(KEY_ENTER==0)         //再次判斷按鍵是否按下
  51.                 {        
  52.                 Delay_Ms(200);          //延時(shí)500MS,等待指紋模塊復(fù)位
  53.                 Device_Check();                           //校對(duì)指紋模塊是否接入正確,液晶做出相應(yīng)的提示
  54.                 Delay_Ms(1000);                        //對(duì)接成功界面停留一定時(shí)間
  55.                         while(1)
  56.                         {
  57.                                             /**************進(jìn)入主功能界面****************/
  58.                 LCD1602_Display(0x80,"  search finger ",0,16);         //第一排顯示搜索指紋
  59.                 LCD1602_Display(0xc0,"  Add     delete",0,16);         //添加和刪除指紋
  60.                 if(local_date==0)
  61.                 {
  62.                         LCD1602_Display(0x80,  " *",0,2);
  63.                         LCD1602_Display(0xc0,  "  ",0,2);
  64.                         LCD1602_Display(0xc0+8,"  ",0,2);        
  65.                 }
  66.                 else if(local_date==1)
  67.                 {
  68.                         LCD1602_Display(0x80,  "  ",0,2);
  69.                         LCD1602_Display(0xc0,  " *",0,2);
  70.                         LCD1602_Display(0xc0+8,"  ",0,2);        
  71.                 }
  72.                 else if(local_date==2)
  73.                 {
  74.                         LCD1602_Display(0x80,  "  ",0,2);
  75.                         LCD1602_Display(0xc0,  "  ",0,2);
  76.                         LCD1602_Display(0xc0+8," *",0,2);        
  77.                 }                        
  78.                 //確認(rèn)鍵
  79.                 if(KEY_OK == 0)
  80.                 {         
  81.                          while(KEY_OK == 0);//等待松開按鍵                                                               
  82.                         switch(local_date)
  83.                         {
  84.                                         case 0:  //搜索指紋                                                
  85.                                         FPM10A_Find_Fingerprint();                                                                                                                                                                                                
  86.                                         break;        
  87.                                        
  88.                                         case 1:         //添加指紋
  89.                                         FPM10A_Add_Fingerprint();
  90.                                         break;                                         
  91.                                        
  92.                                         case 2:        //清空指紋
  93.                                         FPM10A_Delete_All_Fingerprint();
  94.                                           break;
  95.                                 }
  96.                         }
  97.                     //切換鍵
  98.                         if(KEY_DOWN == 0)
  99.                         {
  100.                                  while(KEY_DOWN == 0); //等待松開按鍵                                
  101.                                    if(local_date<=2)
  102.                                 {
  103.                                         local_date++;
  104.                                         if(local_date==3)
  105.                                                 local_date=0;                                                
  106.                                 }               
  107.                         }                                                
  108.                         Delay_Ms(100); //延時(shí)判斷100MS檢測(cè)一次        
  109.                         }
  110.                 }
  111.                 while(!KEY_ENTER);         //檢測(cè)按鍵是否松開
  112.         }               
  113.         }
  114. }
復(fù)制代碼

全部程序: 開發(fā)板:LCD1602 AS608 DS1302.rar (131.93 KB, 下載次數(shù): 89)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

無(wú)效樓層,該帖已經(jīng)被刪除
無(wú)效樓層,該帖已經(jīng)被刪除
ID:168165 發(fā)表于 2021-1-29 14:12 | 顯示全部樓層
樓主請(qǐng)問(wèn)我從1302獲取的時(shí)間數(shù)據(jù)部分是問(wèn)號(hào),怎回事呢
回復(fù)

使用道具 舉報(bào)

5#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:495323 發(fā)表于 2021-1-31 17:26 來(lái)自觸屏版 | 顯示全部樓層
無(wú)窮小量 發(fā)表于 2021-1-29 14:12
樓主請(qǐng)問(wèn)我從1302獲取的時(shí)間數(shù)據(jù)部分是問(wèn)號(hào),怎回事呢

下載文件、里面不是有我的聯(lián)系方式嘛
回復(fù)

使用道具 舉報(bào)

7#
無(wú)效樓層,該帖已經(jīng)被刪除
ID:495323 發(fā)表于 2021-2-18 14:48 來(lái)自觸屏版 | 顯示全部樓層
歡迎加入技術(shù)交流群:938456660
回復(fù)

使用道具 舉報(bào)

ID:985689 發(fā)表于 2021-11-29 21:07 | 顯示全部樓層
指紋模塊的波特率,是設(shè)計(jì)的是多少的?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产999精品久久久久久绿帽 | 欧美又大粗又爽又黄大片视频 | 日韩免费一区二区 | 国产精品久久久久无码av | 精品一区二区三区四区五区 | 日韩午夜一区二区三区 | 一区二区三区欧美在线 | 欧美黄视频| 成人h片在线观看 | 久草在线在线精品观看 | 久在线 | 99精品一区二区 | 嫩草91在线| 成人福利在线 | 操人网 | 日日碰狠狠躁久久躁婷婷 | 亚洲xx在线 | 亚洲精品久久久久久国产精华液 | 草久久 | 午夜黄色影院 | 观看av| 成人毛片一区二区三区 | 久久伊人免费视频 | 日韩精品 | 久久久久黄色 | 夜夜骚 | 亚洲激情av| 欧美精品1区2区3区 免费黄篇 | 天天操天天射天天舔 | 日本精品国产 | 欧美一区二区三区在线视频 | 日韩二 | 日韩电影中文字幕 | 中日av| 欧美无乱码久久久免费午夜一区 | 久久99久久98精品免观看软件 | 久久剧场| 视频一区二区在线观看 | 91网在线观看| 秋霞电影院午夜伦 | 亚洲在线|