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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32密碼鎖代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:261207 發表于 2017-12-13 19:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32密碼鎖代碼

STM32單片機源程序:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "lcd.h"
  7. #include "myiic.h"
  8. #include "24cxx.h"
  9. #include "password.h"
  10. #include "string.h"
  11. #include "OLED12864.h"
  12. unsigned char PSW_MAX_LEN =13 ;   //密碼最大長度
  13. unsigned char PSW_SAVE_ADDR = 96;  //EEPROM(即24C02器件)中的保存地址
  14. unsigned char  PswCnt = 0;///    //該變量用來記輸入密碼的個數;
  15. unsigned char  PswSet[13];   //已設定的密碼數據
  16. unsigned char  PswBuf1[13];  //密碼輸入緩沖區1
  17. unsigned char  PswBuf2[13];  //密碼輸入緩沖區2

  18. u8 status;//狀態字
  19. u8 Password_Buff[10];
  20. extern void KeyDriver(void);
  21. int ad0 = 65530,ad1 = 65532;

  22. int main(void)
  23. {
  24.         u8 t;
  25.         unsigned char buf[13];
  26.         Key_Init();//按鍵初始化必須放在定時器使能函數的前面;因為如果定時器使能之后,2ms就進入中斷進行按鍵刷新;在此之前,必須先進行按鍵初始化,
  27.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  28.         TIM3_Int_Init(19,7199);
  29.         TIM_Cmd(TIM3 ,ENABLE);
  30.         delay_init();
  31.         LED_Init();
  32.     uart_init(115200);       
  33.         LCD_Init();
  34.        
  35.         AT24CXX_Init();       
  36.        
  37.     OLED_Init();
  38.        
  39.         OLED_Fill(0XFF);
  40.         delay_ms(500);
  41.         OLED_Fill(0X00);
  42.         POINT_COLOR=RED;
  43.         AT24CXX_Read(PSW_SAVE_ADDR,buf,PSW_MAX_LEN +1);
  44.         CopyMemory(PswSet, buf, PSW_MAX_LEN);
  45.     LCD_ShowString(30,140,200,16,16,"please input password:         ");
  46.         status = 0;
  47.         FillMemory(PswBuf1, '\0', PSW_MAX_LEN);///
  48.     FillMemory(PswBuf2, '\0', PSW_MAX_LEN);///       

  49.         while(1)
  50.         {
  51.                 KeyDriver();
  52.                 if(USART_RX_STA&0x8000)
  53.            {       
  54.                 if(strcmp((char * )USART_RX_BUF,"lookpassword") == 0)
  55.                 {   
  56.                              // USART_RX_BUF[0] = 0;
  57.                           
  58.                AT24CXX_Read(PSW_SAVE_ADDR,Password_Buff,8);
  59.                             delay_ms(5);
  60.                                 printf("下位機密碼是\r\n");
  61.                                 for(t = 0; t<6;t++)
  62.                         {
  63.                                   USART_SendData(USART1,Password_Buff[t]);
  64.                               while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待發送結束
  65.                                
  66.                         }
  67.                     printf("\r\n");//插入換行
  68.                 }
  69.                                 USART_RX_STA=0;
  70.                  
  71.                 }
  72.                
  73.            // OLED_Display_Number_8X16(0,0,ad0/10000);
  74.                 //OLED_Display_Number_8X16(0,8,ad0/1000%10);
  75.                 //OLED_Display_Number_8X16(0,16,ad0/100%10);
  76.                 //OLED_Display_Number_8X16(0,24,ad0/10%10);
  77.                 //OLED_Display_Number_8X16(0,32,ad0%10);
  78.                 // OLED_Display(0,8,16,16,);
  79.                 //OLED_Display(0,0,124,32,TXT);
  80.                 OLED_Display(0,0,112,16,TXT2);
  81.                 OLED_Display(16,0,112,16,TXT3);
  82.                 OLED_Display(32,0,112,16,TXT6);
  83.                 //OLED_Display(32,0,32,32,TXT7);                     
  84.                
  85.                 // OLED_Display(0,64,16,16,TXT2);
  86.                 //OLED_Display_Number_8X16(16,0,ad1/10000);
  87.                 //OLED_Display_Number_8X16(16,8,ad1/1000%10);
  88.                 //OLED_Display_Number_8X16(16,16,ad1/100%10);
  89.                 //OLED_Display_Number_8X16(16,24,ad1/10%10);
  90.                 //OLED_Display_Number_8X16(16,32,ad1%10);
  91.           
  92.         }
  93.         }

  94. /**/
復制代碼

所有資料51hei提供下載:
STM32矩陣按鍵代碼更新.rar (364.01 KB, 下載次數: 79)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产一区二区三区 | 亚洲高清一区二区三区 | 日韩综合在线视频 | 中文字幕久久久 | 91av小视频| www国产成人免费观看视频,深夜成人网 | 欧区一欧区二欧区三免费 | 成人毛片视频免费 | 久久久久久国产精品免费 | 亚洲免费精品一区 | 国产亚洲精品久久久优势 | 久久久久国产精品一区 | 一区中文字幕 | 黄视频国产 | 久久国产精品久久久久 | 超碰97人人人人人蜜桃 | 久久久久久久国产精品视频 | 欧美精品一区二区三区在线播放 | 国产在线一区二 | 国产午夜精品一区二区三区嫩草 | 国产欧美一级二级三级在线视频 | 四虎永久免费地址 | 亚洲成人免费av | 国产一区亚洲 | 久久99国产精一区二区三区 | 日韩免费毛片视频 | 欧美极品在线 | 俺去俺来也www色官网cms | 精品一区二区三区四区五区 | 国产精品亚洲二区 | 国产成人精品免费 | 精品一区二区三区在线观看 | 久久影音先锋 | 麻豆国产一区二区三区四区 | 精品视频www | 97视频网站 | 国产丝袜av | 国产一区二区三区www | 91精品国产91久久久久久密臀 | 伊人网站 | 在线一区视频 |