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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機數(shù)據(jù)存儲出問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:208105 發(fā)表于 2017-10-16 20:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我做的是密碼鎖,刪除數(shù)據(jù)不能全部刪除,會有一位亂的數(shù)據(jù)遺留,這是怎么回事啊
以下是我的程序
  1. #include<reg52.h>
  2. #include"1602.h"
  3. #include"delay.h"
  4. #include"keyboard.h"
  5. sbit LED1=P2^0;
  6. sbit LED2=P2^1;
  7. sbit beep=P1^5;
  8. unsigned char data password[]={1,2,3,4,5,6};
  9. void sound()
  10. {
  11. int t=2000;
  12. while(t--)
  13. {  
  14.     beep=~beep;
  15.     delay(50);
  16. }
  17. }
  18. /*------------------------------------------------
  19.                     Ö÷³ÌÐò
  20. ------------------------------------------------*/
  21. main()
  22. {
  23. unsigned char num,i,j;                  
  24. unsigned char passwordtemp[6],inputtimes;      
  25. unsigned char passwordlength,PLEN;     
  26. bit Flag;

  27. PLEN=sizeof(password)/sizeof(password[0]);

  28. LCD_Init();      
  29. DelayMs(10);        
  30. LCD_Clear();      
  31. LCD_Write_String(0,0,"  Welcome! ");   
  32. LCD_Write_String(0,1,"Input password!");
  33.   while (1)        
  34.   {
  35.     num=KeyPro();
  36.     if(num!=0xff)  
  37.    {
  38.     if(i==0)   
  39.    LCD_Write_String(0,1,"                ");
  40.    if(i<6)
  41.    {
  42.        passwordtemp[i]=num;
  43.        LCD_Write_Char(i,1,num+'0');
  44.    }
  45.   if(num=='A')
  46.   {
  47.     i=0;
  48.     LCD_Clear();
  49.     LCD_Init();
  50.         LCD_Write_Char(i,1,num+'0');
  51.      passwordtemp[i]=0;
  52.      }
  53.    i++;   
  54.   if(i==7)
  55.    {
  56.       passwordlength=i-1;
  57.    i=0;
  58.    if(passwordlength==PLEN)
  59.      {
  60.       Flag=1;
  61.       for(j=0;j<PLEN;j++)
  62.          Flag=Flag&&(passwordtemp[j]==password[j]);
  63.          }
  64.       if(Flag)
  65.     {
  66.        LCD_Write_String(0,1,"          ");
  67.         LCD_Write_String(0,1,"   Lock open!");
  68.      LED1=0;
  69.      LED2=0;
  70.         inputtimes=0;
  71.         Flag=0;     
  72.   }
  73.    else
  74.      {
  75.     LCD_Write_String(0,1,"          ");
  76.     LCD_Write_String(0,1,"  try again!!!");
  77.     sound();
  78.     inputtimes++;
  79.     if(inputtimes==3)
  80.     {
  81.        LCD_Write_String(0,1,"                ");
  82.        LCD_Write_String(0,1,"Wrong 3 times!");
  83.        while(1);
  84.     }
  85.   }
  86.    }
  87.     }
  88.   }
  89. }
復制代碼

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

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2017-10-17 19:44 | 只看該作者
刪除與顯示構思不好!
刪除只需在記錄區(qū)做個標記,顯示時看到這個標記就不顯示(或顯示一個提示信息)。你看這個建議如何?
回復

使用道具 舉報

板凳
ID:208105 發(fā)表于 2017-10-17 21:10 | 只看該作者
if(num=='B')                 {                         i=-2;                         LCD_Clear();                         LCD_Init();                                   i++;                         if(i==0)                 LCD_Write_String(0,1,"                ");                         if(i<6)                         {                            LCD_Write_Data(password[i]);                                  password[i]=num;                                  LCD_Write_Char(i,1,num+'0');                         }                         if(i==7)                         {                                                  LCD_Write_String(0,0," new password         ");         LCD_Write_String(0,1," ");                                   LCD_Write_Char(i,1,num+'0');                                   Flag=1;       }
回復

使用道具 舉報

地板
ID:208105 發(fā)表于 2017-10-17 21:11 | 只看該作者
刪除的程序可以用嗎,我之前的問題已經解決了
if(num=='B')
                {
                        i=-2;
                        LCD_Clear();
                        LCD_Init();          
                        i++;
                        if(i==0)   
            LCD_Write_String(0,1,"                ");
                        if(i<6)
                        {
                           LCD_Write_Data(password[i]);
                                 password[i]=num;
                                 LCD_Write_Char(i,1,num+'0');
                        }
                        if(i==7)
                        {
                
                                LCD_Write_String(0,0," new password         ");
        LCD_Write_String(0,1," ");
                                 LCD_Write_Char(i,1,num+'0');
                                  Flag=1;
      }
回復

使用道具 舉報

5#
ID:111634 發(fā)表于 2017-10-17 21:14 | 只看該作者
你要刪除什么數(shù)據(jù)?是密碼鎖EPROM中的密碼數(shù)據(jù)嗎?
回復

使用道具 舉報

6#
ID:208105 發(fā)表于 2017-10-17 21:28 | 只看該作者
修改這里面的數(shù)據(jù)password[]={1,2,3,4,5,6},一直修改不了,程序好像沒有進去執(zhí)行
回復

使用道具 舉報

7#
ID:166645 發(fā)表于 2017-10-17 22:26 | 只看該作者
一般請教別人找問題的程序問題,,你首先要做到一個好的注釋,方便別人快速的找到你的問題,你這樣發(fā)程序,比人還要重頭研究一遍

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

8#
ID:111634 發(fā)表于 2017-10-18 21:08 | 只看該作者
rrrlll 發(fā)表于 2017-10-17 21:28
修改這里面的數(shù)據(jù)password[]={1,2,3,4,5,6},一直修改不了,程序好像沒有進去執(zhí)行

在定義password[]時不要賦值,在程序運行后在賦值和修改。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 全免一级毛片 | 羞羞视频免费在线观看 | 日韩在线看片 | 99色综合| 天天操网 | 精品欧美一区二区三区久久久 | 亚洲国产一区二区三区在线观看 | 99成人| 福利视频一二区 | 在线播放国产一区二区三区 | 奇米久久久 | 欧美日韩国产一区二区三区 | av黄色在线观看 | 久久久青草婷婷精品综合日韩 | 成人在线免费视频 | 在线视频日韩 | 精品综合在线 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 在线中文字幕国产 | 亚洲人成人一区二区在线观看 | 亚洲第一色av | 野狼在线社区2017入口 | 在线播放中文字幕 | 99精品视频在线观看免费播放 | 99久久国产综合精品麻豆 | 国产一区二区精品在线 | 久久高清精品 | 亚洲视频国产 | 国产精品伦一区二区三级视频 | 欧美日韩1区2区3区 欧美久久一区 | 亚洲国产中文字幕 | 日日射影院 | 欧美一区二区大片 | 一级片在线播放 | 欧美日韩视频 | 久久久久久免费精品一区二区三区 | 亚洲人成网站777色婷婷 | 日韩av成人 | 久久小视频 | 国产精品自产拍在线观看蜜 | 九色国产|