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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機密碼鎖程序為什么燒錄沒有成功?

[復制鏈接]
跳轉到指定樓層
樓主
ID:448260 發表于 2018-12-20 12:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我的51單片機用的stc89c52的芯片,用下面的密碼鎖程序為什么燒錄沒有成功

  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar old1,old2,old3,old4,old5,old6; //??????000000
  5. uchar new1,new2,new3,new4,new5,new6;  //???MCU???????????????
  6. uchar a=16,b=16,c=16,d=16,e=16,f=16; //?????????????????
  7. uchar wei,key,temp;
  8. bit allow,genggai,ok,wanbi,retry,close;  //??????λ
  9. sbit dula=P2^6;
  10. sbit wela=P2^7;
  11. sbit beep=P2^3;
  12. unsigned char code table[]=
  13. {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
  14. 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};
  15. void delay(unsigned char i)
  16. {
  17. uchar j,k;
  18.   for(j=i;j>0;j--)
  19.     for(k=125;k>0;k--);
  20. }
  21. void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)
  22. {
  23.    dula=0;
  24.    P0=table[a];
  25.    dula=1;
  26.    dula=0;
  27.    
  28.    wela=0;
  29.    P0=0xfe;
  30.    wela=1;
  31.    wela=0;
  32.    delay(5);
  33.    
  34.    P0=table[b];
  35.    dula=1;
  36.    dula=0;
  37.    
  38.    P0=0xfd;
  39.    wela=1;
  40.    wela=0;
  41.    delay(5);
  42.    P0=table[c];
  43.    dula=1;
  44.    dula=0;
  45.    
  46.    P0=0xfb;
  47.    wela=1;
  48.    wela=0;
  49.    delay(5);
  50.    
  51.    P0=table[d];
  52.    dula=1;
  53.    dula=0;
  54.    
  55.    P0=0xf7;
  56.    wela=1;
  57.    wela=0;
  58.    delay(5);
  59.    
  60.    P0=table[e];
  61.    dula=1;
  62.    dula=0;
  63.    
  64.    P0=0xef;
  65.    wela=1;
  66.    wela=0;
  67.    delay(5);
  68.    
  69.    P0=table[f];
  70.    dula=1;
  71.    dula=0;
  72.    
  73.    P0=0xdf;
  74.    wela=1;
  75.    wela=0;
  76.    delay(5);
  77. }

  78. void keyscan()
  79. {
  80.   {
  81.     P3=0xfe;
  82.     temp=P3;
  83.     temp=temp&0xf0;
  84.     if(temp!=0xf0)
  85.     {
  86.       delay(10);
  87.       if(temp!=0xf0)
  88.       {
  89.         temp=P3;
  90.         switch(temp)
  91.         {
  92.           case 0xee:
  93.                key=0;
  94.       wei++;
  95.                break;
  96.           case 0xde:
  97.                key=1;
  98.       wei++;
  99.                break;
  100.           case 0xbe:
  101.                key=2;
  102.       wei++;
  103.                break;
  104.           case 0x7e:
  105.                key=3;
  106.       wei++;
  107.                break;
  108.          }
  109.          while(temp!=0xf0)
  110.         {
  111.            temp=P3;
  112.            temp=temp&0xf0;
  113.            beep=0;
  114.          }
  115.          beep=1;
  116.       }
  117.     }
  118.     P3=0xfd;
  119.     temp=P3;
  120.     temp=temp&0xf0;
  121.     if(temp!=0xf0)
  122.     {
  123.       delay(10);
  124.       if(temp!=0xf0)
  125.       {
  126.         temp=P3;
  127.         switch(temp)
  128.         {
  129.           case 0xed:
  130.                key=4;
  131.       wei++;
  132.                break;
  133.           case 0xdd:
  134.                key=5;
  135.       wei++;
  136.                break;
  137.           case 0xbd:
  138.                key=6;
  139.       wei++;
  140.                break;
  141.           case 0x7d:
  142.                key=7;
  143.       wei++;
  144.                break;
  145.          }
  146.          while(temp!=0xf0)
  147.          {
  148.            temp=P3;
  149.            temp=temp&0xf0;
  150.            beep=0;
  151.          }
  152.          beep=1;
  153.       }
  154.       }
  155.     P3=0xfb;
  156.     temp=P3;
  157.     temp=temp&0xf0;
  158.     if(temp!=0xf0)
  159.     {
  160.       delay(10);
  161.       if(temp!=0xf0)
  162.       {
  163.         temp=P3;
  164.         switch(temp)
  165.         {
  166.           case 0xeb:
  167.                key=8;
  168.       wei++;
  169.                break;
  170.           case 0xdb:
  171.                key=9;
  172.       wei++;
  173.                break;
  174.       
  175.           case 0xbb:
  176.                genggai=1;
  177.       wei=0;
  178.                break;
  179.           case 0x7b:
  180.         if(allow)
  181.                ok=1;
  182.                break;
  183.          }
  184.         while(temp!=0xf0)
  185.          {
  186.            temp=P3;
  187.            temp=temp&0xf0;
  188.            beep=0;
  189.          }
  190.          beep=1;
  191.       }
  192.       }
  193.    P3=0xf7;
  194.     temp=P3;
  195.     temp=temp&0xf0;
  196.     if(temp!=0xf0)
  197.     {
  198.       delay(10);
  199.       if(temp!=0xf0)
  200.       {
  201.         temp=P3;
  202.         switch(temp)
  203.         {
  204.           case 0xe7:
  205.         retry=1;
  206.                break;
  207.           case 0xd7:
  208.         close=1;
  209.                break;
  210.          }
  211.         while(temp!=0xf0)
  212.          {
  213.            temp=P3;
  214.            temp=temp&0xf0;
  215.            beep=0;
  216.          }
  217.          beep=1;
  218.       }
  219.       }
  220. }
  221. }
  222. void shumima()  //??????????????????з???
  223. {
  224. if(!wanbi)
  225. {
  226. switch(wei)
  227. {
  228.   case 1:new1=key;
  229.        if(!allow) a=17;
  230.       else a=key; break;
  231.   case 2:new2=key;
  232.     if(a==17) b=17;
  233.     else b=key; break;
  234.   case 3:new3=key;
  235.     if(a==17) c=17;
  236.     else c=key; break;
  237.   case 4:new4=key;
  238.     if(a==17) d=17;
  239.     else d=key; break;
  240.   case 5:new5=key;
  241.     if(a==17) e=17;
  242.     else e=key; break;
  243.   case 6:new6=key;
  244.     if(a==17) f=17;
  245.     else f=key;
  246.     wanbi=1; break;
  247. }
  248. }
  249. }
  250. void yanzheng()   //?????????????
  251. {
  252. if(wanbi)  //??е???λ????????????????????
  253. {
  254. if((new1==old1)&(new2==old2)&(new3==old3)&(new4==old4)&(new5==old5)&(new6==old6))
  255.   allow=1; //????????????????????allowe???
  256. }
  257. }
  258. void main()
  259. {
  260. while(1)
  261. {
  262.   keyscan();
  263.   shumima();
  264.   yanzheng();
  265.   if(allow)  //????????allow?1??????
  266.   {
  267.    P1=0x00;
  268.    if(!genggai)
  269.     wanbi=0;
  270.   }
  271.   if(genggai)   //??S16??????????????£?genggai?????
  272.   {
  273.    if(allow)  //????????????????и???????????
  274.    {
  275.     while(!wanbi) //???μ???λ????????趨???????????????
  276.     {
  277.       keyscan();
  278.      shumima();
  279.      if(retry|close)  //????????????S18??????????????S19???????????????
  280.      { wanbi=1;
  281.       break;
  282.      }
  283.      display(a,b,c,d,e,f);
  284.     }
  285.    }
  286.   }
  287.   if(ok)   //???????????????????λ??????????????????????′???????????????
  288.   {    //????????′????Ч
  289.    ok=0; wei=0;
  290.    genggai=0;
  291.    old1=new1;old2=new2;old3=new3; //??????????????????
  292.    old4=new4;old5=new5;old6=new6;
  293.    a=16;b=16;c=16;d=16;e=16;f=16;
  294.   }
  295.   if(retry) //?????????S18?????£?retry????λ
  296.   {
  297.   retry=0; wei=0;wanbi=0;
  298.   a=16;b=16;c=16;d=16;e=16;f=16;
  299.   new1=0;new2=0;new3=0;new4=0;new5=0;new6=0;  
  300.   }
  301.   if(close)  //????????????????????£?close????λ
  302.   {
  303.    close=0;genggai=0;//???б???????????
  304.    wei=0; wanbi=0;
  305.    allow=0;
  306.    P1=0xff;
  307.    a=16;b=16;c=16;d=16;e=16;f=16;
  308.    new1=0;new2=0;new3=0;new4=0;new5=0;new6=0;
  309.   }
  310.   display(a,b,c,d,e,f); //?????
  311. }
  312. }
復制代碼


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

使用道具 舉報

沙發
ID:424598 發表于 2018-12-20 14:18 來自手機 | 只看該作者
報什么錯也沒貼。就你這一堆?號的代碼。報錯挺正常的
回復

使用道具 舉報

板凳
ID:448597 發表于 2018-12-20 15:06 | 只看該作者
已經檢測了你的程序,沒有語法錯誤,也能生成HEX文件。建議作者自己結合硬件原理和程序對照查錯。硬件出問題的可能性大。
回復

使用道具 舉報

地板
ID:450777 發表于 2018-12-20 15:33 | 只看該作者
哎喲不錯啊
回復

使用道具 舉報

5#
ID:247041 發表于 2018-12-20 17:02 | 只看該作者
你是燒錄有問題    還是編譯有問題  還是功能有問題  說清楚  多放兩張照片  不用花錢
回復

使用道具 舉報

6#
ID:7485 發表于 2018-12-20 18:19 | 只看該作者
是用什么燒錄器燒錄的?
回復

使用道具 舉報

7#
ID:451035 發表于 2018-12-20 20:11 | 只看該作者
燒錄失敗有很多原因:根據下載方式的不同,會有不同的原因,比如不支持熱插拔,要先斷一下電。
回復

使用道具 舉報

8#
ID:451129 發表于 2018-12-20 21:44 | 只看該作者
應該是硬件問題了,因為檢測了你的程序,沒有語法錯誤,也能生成HEX文件。
回復

使用道具 舉報

9#
ID:448260 發表于 2018-12-21 21:20 | 只看該作者
ssk7793 發表于 2018-12-20 14:18
報什么錯也沒貼。就你這一堆?號的代碼。報錯挺正常的

我是個菜鳥。。。。
回復

使用道具 舉報

10#
ID:448260 發表于 2018-12-21 21:21 | 只看該作者
ahshmj 發表于 2018-12-20 18:19
是用什么燒錄器燒錄的?

stc-isp-15燒錄的
回復

使用道具 舉報

11#
ID:448260 發表于 2018-12-21 21:22 | 只看該作者
12312312300 發表于 2018-12-20 21:44
應該是硬件問題了,因為檢測了你的程序,沒有語法錯誤,也能生成HEX文件。

網購的51單片機
回復

使用道具 舉報

12#
ID:494048 發表于 2019-3-22 17:06 | 只看該作者
沒有注釋看著很麻煩啊
回復

使用道具 舉報

13#
ID:491848 發表于 2019-3-23 07:01 來自手機 | 只看該作者
可能吧硬件出了問題,還有你最好寫的時候加注釋
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91综合在线视频 | 日韩av在线不卡 | 女人牲交视频一级毛片 | 亚洲一区二区精品视频 | a成人| 亚洲一区国产 | 99在线视频观看 | 成人av电影在线 | 高清黄色毛片 | 日韩在线 | 在线免费观看日本 | 国产黄色大片在线免费观看 | 黄色a三级 | 九一视频在线观看 | 亚洲精品一区二区 | 一级毛片免费视频观看 | www.婷婷 | 国产免费拔擦拔擦8x高清 | www.99热这里只有精品 | 涩涩视频在线观看 | 四虎在线观看 | 亚洲欧美一区二区三区在线 | 99国产精品久久久久久久 | 在线中文视频 | 国产欧美日韩在线一区 | 精品在线观看一区二区 | 国产精品一区二区三区四区 | 日韩视频精品在线 | 国产精品一区二区免费看 | 国产1区2区3区 | 日韩快播电影 | 91免费版在线观看 | 99视频在线 | 亚洲成人综合在线 | 久久久久久天堂 | 日韩av啪啪网站大全免费观看 | 91视频免费 | 日本一区二区三区在线观看 | 蜜桃在线播放 | 玖玖视频 | 欧美一区二区三区视频在线播放 |