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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3566|回復: 4
打印 上一主題 下一主題
收起左側

單片機+DS1302時鐘+AS608指紋+LCD1602液晶顯示程序

[復制鏈接]
跳轉到指定樓層
樓主
STC89C52最小系統
此模塊是為了控制相關門禁,或是一些特定情況下要用到比較高級的鎖。DS1302時鐘顯示不用手動寫時鐘代碼就很方便,這一次用的是stc89c52,就很熟悉。
總結一下:LCD1602是GND和5V接一起。

               DS1302時鐘模塊確保3.3V就可以

               AS608指紋模塊調試他的波特率,單片機最小系統的晶振要是11.05926mH

要原理圖,截屏的圖片不知道咋樣拉進來。就先這樣吧

制作出來的實物圖如下:


代碼和文件都可以下載
  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;          //對數據類型進行聲明定義
  11. typedef unsigned char u8;
  12. u8 DisplayData[16]="   -     :  :   ";

  13. void datapros()         
  14. {
  15.   Ds1302ReadTime();      //反饋時間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;                                                        //時
  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);         //液晶開機顯示界面
  37.   Uart_Init();                        //初始化串口
  38.         Key_Init();                                //初始化按鍵

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

  47.         if(KEY_ENTER==0)                  //檢測按鍵K1是否按下
  48.         {        
  49.                 Delay_Ms(10);    //消除抖動 一般大約10ms
  50.                 if(KEY_ENTER==0)         //再次判斷按鍵是否按下
  51.                 {        
  52.                 Delay_Ms(200);          //延時500MS,等待指紋模塊復位
  53.                 Device_Check();                           //校對指紋模塊是否接入正確,液晶做出相應的提示
  54.                 Delay_Ms(1000);                        //對接成功界面停留一定時間
  55.                         while(1)
  56.                         {
  57.                                             /**************進入主功能界面****************/
  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.                 //確認鍵
  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); //延時判斷100MS檢測一次        
  109.                         }
  110.                 }
  111.                 while(!KEY_ENTER);         //檢測按鍵是否松開
  112.         }               
  113.         }
  114. }
復制代碼

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

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:168165 發表于 2021-1-29 14:12 | 只看該作者
樓主請問我從1302獲取的時間數據部分是問號,怎回事呢
回復

使用道具 舉報

板凳
ID:495323 發表于 2021-1-31 17:26 來自手機 | 只看該作者
無窮小量 發表于 2021-1-29 14:12
樓主請問我從1302獲取的時間數據部分是問號,怎回事呢

下載文件、里面不是有我的聯系方式嘛
回復

使用道具 舉報

地板
ID:495323 發表于 2021-2-18 14:48 來自手機 | 只看該作者
歡迎加入技術交流群:938456660
回復

使用道具 舉報

5#
ID:985689 發表于 2021-11-29 21:07 | 只看該作者
指紋模塊的波特率,是設計的是多少的?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品欧美一区二区三区 | 日本高清不卡视频 | 欧洲一级毛片 | 成人午夜免费视频 | 日韩精品一区二区三区在线观看 | 成人不卡 | 久久国产精品视频 | 亚洲精品一区二区三区中文字幕 | 91电影 | 99成人在线视频 | 中文字幕在线免费观看 | 精品一区二区三区中文字幕 | 久久精品综合网 | 日韩精品中文字幕在线 | 欧美日韩免费一区二区三区 | 在线免费观看毛片 | 欧美成人一区二区 | 天天拍天天插 | 在线观看免费黄色片 | 亚洲国产精品99久久久久久久久 | 国产精品夜夜夜一区二区三区尤 | 色爽女 | 黄 色 毛片免费 | 操操日| 日韩久久久久久 | 国产成人精品一区二区 | 一区二区亚洲 | 天天操天天插 | 亚洲成人www | 成人网在线观看 | 欧美国产视频 | 国产区一区二区三区 | 男插女下体视频 | 国产精品一区二区av | 伊色综合久久之综合久久 | 日韩在线国产精品 | 日韩三级| 成人免费视频在线观看 | 精品久久久久久久 | 久久夜视频 | 九九久久久|