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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5607|回復: 13
收起左側

51單片機電子密碼鎖程序錯誤

  [復制鏈接]
ID:157011 發表于 2016-12-22 22:32 | 顯示全部樓層 |閱讀模式
本帖最后由 故人以北 于 2016-12-23 16:27 編輯

這是一個設計電子密碼鎖的程序
keil 編譯時出現錯誤   求大神幫忙
P%@`CG1L[SR4@38IAR87LYU.png
  1. #include<reg51.h>
  2. #include<string.h>
  3. #define uchar unsigned char
  4. #define unit unsigned int

  5. uchar Pre_KeyNo=16,KeyNo=16;
  6. uchar code Title_Text[]="Your Password...";
  7. uchar DSY_BUFFER[10]="";
  8. uchar UserPassword[10]="";
  9. void LCD_Init();
  10. //void Display_String(uchar * str,uchar LineNo);
  11. void Display_String(uchar,x,uchar y,uchar *str);
  12. void IIC_24C04_Init();
  13. void Beep();
  14. uchar RecString(uchar Slave,uchar Subadder,uchar *Buffer,uchar N);
  15. uchar SendString(uchar Slave,uchar Subadder,uchar *Buffer,uchar N);
  16. uchar Keys_Scan();

  17. sbit LED_OPEN=P2^7;
  18. sbit BEEP=P3^7;

  19. void DelayMS(uint x)
  20. {
  21. uchar i;
  22. while (x--) for (i=0;i<120;i++);
  23. }
  24. void Beep()
  25. {
  26.   uchar i;
  27.   for(i=0;i<100;i++)
  28.   {
  29.    DelayMS(1);BEEP=~BEEP;
  30.    }
  31.   }
  32. void Clear_Password()
  33. {
  34. UserPassword[0]='\0';
  35. DSY_BUFFER[0]='\0';
  36. }

  37. void main()
  38. {
  39.   uchar i = 0;
  40.   uchar IIC_Password[10];///={"876543"};
  41.   uchar IS_Valid_User = 0;
  42.   P0 = 0xFF;
  43.   P1 = 0xFF;
  44.   P2 = 0xFF;

  45.   DelayMS(10);
  46.   LCD_Init();
  47.   IIC_24C04_Init();
  48.   Display_String(0,0,Title_Text);
  49.   RecString(0xa0,0,IIC_Password,6);
  50.   IIC_Password[6] ='\0';
  51.   while(1)
  52.   {
  53.    P1 = 0xF0;
  54.    if(P1!= 0xF0)KeyNo = Keys_Scan();
  55.    switch(KeyNo)
  56.    {
  57.     case0;case1;case2;case3;case4;
  58.         case5;case6;case7;case8;
  59.           if (i<= 5)
  60.           {
  61.            if(i==0)Display_String(0,1,"       ");
  62.            UserPassword[i] = KeyNo + '0';
  63.            UserPAssword[i+1] = '\0';
  64.            DSY_BUFFER[i] = '*';
  65.            DSY_BUFFER[i+1] = '\0';
  66.            Display_String(0,1,DSY_BUFFER);
  67.            i++;
  68.            }
  69.            break;
  70. case 11://按B鍵開鎖
  71.        if(strcmp(UserPassword,IIC_Password)==0)
  72.            {
  73.             LED_OPEN = 0;
  74.                 Clear_PAssword();
  75.                 Display_String(0,1,"Unlock OK!     ");
  76.                 IS_Valid_User = 1;
  77.                 }
  78.                 else
  79.                 {
  80.                  LED_OPEN =1;
  81.                  Clear_Password();
  82.                  Display_String(0,1,"ERROR      ");
  83.                  IS_Valid_User = 0;
  84.                  }
  85.                  i = 0;
  86.                  break;
  87.   case 10://按A鍵上鎖
  88.          LED_OPEN =1;
  89.                  Clear_Password();
  90.                  Display_String(0,0,Title_Text);
  91.                  Display_String(0,1,"       ");
  92.                  i = 0;
  93.                  IS_Valid_User = 0;
  94.                  break;
  95.   case 12://按C鍵設置新密碼
  96.           //如果是合法用戶則提示輸入新密碼
  97.                   if(!IS_Valid_User)Display_string(0,1,"No Rights!      ");
  98.                   else
  99.                   {i = 0;
  100.                    Display_String(0,0"New Password     ");
  101.                    Display_String(0,1,"                ");
  102.                    }
  103.                    break;
  104.         case 13://按13鍵保存新密碼
  105.         if (!IS_Valid_User)Display_String(0,1,"No Right!     ");
  106.         else
  107.         {
  108.         SendString(0xa0,0,UserPassword,6);
  109.         for(i=0;i<7;i++)IIC_Password[i]=UserPassword[i];
  110.         //重新讀入剛寫的密碼
  111.         //RecString(0xa0,0,IIC_Password,6);
  112.         //IIC_Password[6] = '\0';
  113.         i = 0;
  114.         Display_String(0,0,Title_Text);
  115.         Display_String(0,1"Password Saved");
  116.     }
  117.         break;
  118. case 15://按F鍵消除所以輸入
  119.         i = 0;
  120.                 Clear_Password();
  121.                 Display_String(0,1,"           ");
  122.         }
  123.         Beep();
  124.         DelayMS(100);
  125.         P1 = 0xF0;
  126.         while(P1 !=0xF0);
  127.         while(P1 == 0xF0);
  128. }
  129. }
復制代碼

    RET
FINI:NOP
     END

新建文件夾.rar

4.73 KB, 下載次數: 11

回復

使用道具 舉報

ID:157057 發表于 2016-12-23 09:19 | 顯示全部樓層
最好把工程弄上來。。
回復

使用道具 舉報

ID:157011 發表于 2016-12-23 16:29 | 顯示全部樓層
fefen0 發表于 2016-12-23 09:19
最好把工程弄上來。。

嗯  已經上傳了  求幫忙
回復

使用道具 舉報

ID:111634 發表于 2016-12-24 18:59 | 顯示全部樓層
本帖最后由 zl2168 于 2016-12-27 21:36 編輯

功能齊全的電子密碼鎖


電路設計   
電子密碼鎖電路.jpg 電子密碼鎖電路說明.jpg
功能設計   
電子密碼鎖功能1.jpg 電子密碼鎖功能2.jpg 電子密碼鎖功能3.jpg
程序設計   
電子密碼鎖流程圖.jpg
Proteus仿真   
電子密碼鎖1.rar (1.13 MB, 下載次數: 28)
回復

使用道具 舉報

ID:153199 發表于 2016-12-25 18:47 | 顯示全部樓層
問題解決了嗎
回復

使用道具 舉報

ID:157011 發表于 2016-12-27 21:01 | 顯示全部樓層
還沒有欸
回復

使用道具 舉報

ID:157576 發表于 2016-12-27 21:07 | 顯示全部樓層
好高深。。。
回復

使用道具 舉報

ID:111634 發表于 2016-12-27 21:38 | 顯示全部樓層
請對照正確有效的案例:功能齊全的電子密碼鎖
回復

使用道具 舉報

ID:157748 發表于 2016-12-27 22:43 | 顯示全部樓層
把uint換成int行嗎
回復

使用道具 舉報

ID:156744 發表于 2016-12-27 22:46 來自手機 | 顯示全部樓層
zl2168 發表于 2016-12-24 18:59
功能齊全的電子密碼鎖



我想問一下你的這種沒有上拉電阻的按鍵是怎么進行掃描的!
回復

使用道具 舉報

ID:111634 發表于 2016-12-28 22:44 | 顯示全部樓層
ligang123 發表于 2016-12-27 22:46
我想問一下你的這種沒有上拉電阻的按鍵是怎么進行掃描的!

P1~P3口內部有上拉電阻,P0口內部沒有上拉電阻。
單片機應用不但要會編程序,而且要了解單片機片內I/O口硬件結構,還要懂電子技術。
回復

使用道具 舉報

ID:158544 發表于 2016-12-29 10:38 | 顯示全部樓層
修改一下工程,或者上傳下
回復

使用道具 舉報

ID:159928 發表于 2017-1-4 17:13 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:271443 發表于 2018-1-4 16:17 | 顯示全部樓層
最終代碼還有沒有呢,求分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 完全免费在线视频 | 在线视频一区二区三区 | 羞羞视频网站免费看 | 欧美色999| 日日操日日舔 | av片毛片 | 亚洲啪啪 | 在线国产小视频 | 日韩欧美精品一区 | av在线免费不卡 | 中文字幕第一页在线 | 久久伊人久久 | 亚洲国产在| 日本精品久久 | 性欧美精品一区二区三区在线播放 | 日韩欧美在线免费观看 | 男女免费在线观看视频 | 国产午夜精品一区二区三区嫩草 | 日韩在线一区二区三区 | 欧美黄在线观看 | 亚洲国产精品久久久 | 欧美综合在线观看 | v亚洲 | 四虎影院免费在线播放 | 午夜精品 | 97影院2| 一道本在线 | 91精品91久久久 | 麻豆av免费观看 | 亚洲欧美一区二区三区国产精品 | 亚洲高清在线 | 亚洲一级视频在线 | 97人人澡人人爽91综合色 | 九九热久久免费视频 | 最新国产在线 | 国产精品亚洲成在人线 | 久草网视频 | 成人国产精品色哟哟 | 国产一区二区视频在线观看 | 国产精品美女久久久av超清 | 国产视频一区二区在线观看 |