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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機密碼鎖程序,可以按鍵操控

[復制鏈接]
跳轉到指定樓層
樓主
ID:688753 發表于 2020-10-25 09:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <REG51.h>
  2. #include<intrins.h>
  3. #define LCM_Data  P0    //??P0??????LCM_Data
  4. #define uchar unsigned char
  5. #define uint  unsigned int
  6. //1602
  7. sbit lcd1602_rs=P2^5;
  8. sbit lcd1602_rw=P2^6;
  9. sbit lcd1602_en=P2^7;
  10. sbit Scl=P3^4;   //24C02???????
  11. sbit Sda=P3^5;   //24C02????????
  12. sbit ALAM = P2^1;  //????
  13. sbit KEY = P3^6;  //????  
  14. bit  pass=0;   //??????????
  15. bit  ReInputEn=0;  //??????????????
  16. bit  s3_keydown=0;  //3???????λ
  17. bit  key_disable=0;  //??????????
  18. unsigned char countt0,second; //t0?ж??????,???????
  19. void Delay5Ms(void);  //???????????
  20. unsigned char code a[]={0xFE,0xFD,0xFB,0xF7};     //???????????
  21. //??????????????
  22. unsigned char code start_line[] = {"password:       "};
  23. unsigned char code name[]    = {"====mimasuo====="}; //???????
  24. unsigned char code Correct[]  = {"      yes       "};  //???????
  25. unsigned char code Error[]    = {"      on        "};   //???????
  26. unsigned char code codepass[] = {"      pass      "};
  27. unsigned char code LockOpen[] = {"      open      "};  //OPEN
  28. unsigned char code SetNew[]  = {"SetNewWordEnable"};  //?????μ???
  29. unsigned char code Input[]    = {"input:          "};  //INPUT
  30. unsigned char code ResetOK[]  = {"ResetPasswordOK "};  //??????????
  31. unsigned char code initword[] = {"Init password..."};  // ?????????
  32. unsigned char code Er_try[]  = {"on   ,try again!"};     
  33. unsigned char code again[]  = {"input again     "};    //???????
  34. unsigned char InputData[6];         //?????????????
  35. unsigned char CurrentPassword[6]={6,6,6,6,6,6};    //???EEPROM???????????
  36. unsigned char TempPassword[6];
  37. unsigned char N=0;    //????????λ??????
  38. unsigned char ErrorCont;   //???????????
  39. unsigned char CorrectCont;   //??????????
  40. unsigned char ReInputCont;    //???????????
  41. unsigned char code initpassword[6]={0,0,0,0,0,0};   //????????????????????000000
  42. unsigned char code adminpassword[6]={1,3,1,4,2,0};   //????????????????????000000

  43. //=====================5ms???==============================
  44. void Delay5Ms(void)
  45. {
  46. unsigned int TempCyc = 5552;
  47. while(TempCyc--);
  48. }
  49. //===================400ms???==============================
  50. void Delay400Ms(void)
  51. {
  52. unsigned char TempCycA = 5;
  53. unsigned int TempCycB;
  54. while(TempCycA--)
  55. {
  56.   TempCycB=7269;
  57.   while(TempCycB--);
  58. }
  59. }
  60. //=============================================================================================
  61. //================================24C02========================================================
  62. //=============================================================================================
  63. void mDelay(uint t) //???
  64. {
  65. uchar i;
  66.     while(t--)
  67.     {
  68.      for(i=0;i<125;i++)
  69.      {;}
  70.     }
  71. }
  72.    
  73. void Nop(void)    //?????
  74. {
  75.   _nop_();    //?????????????????1us
  76.   _nop_();
  77.   _nop_();
  78.   _nop_();
  79. }
  80. /*****24c02???????24c02????*****/
  81. /*???????*/
  82. void Start(void)
  83. {
  84.   Sda=1;
  85.   Scl=1;
  86.   Nop();
  87.   Sda=0;
  88.   Nop();
  89. }

  90. /*??????*/
  91. void Stop(void)
  92. {
  93.   Sda=0;
  94.   Scl=1;
  95.   Nop();
  96.   Sda=1;
  97.   Nop();
  98. }
  99. /*???λ*/
  100. void Ack(void)
  101. {
  102. Sda=0;
  103. Nop();
  104. Scl=1;
  105. Nop();
  106. Scl=0;
  107. }
  108. /*???????λ*/
  109. void NoAck(void)
  110. {
  111.   Sda=1;
  112.   Nop();
  113.   Scl=1;
  114.   Nop();
  115.   Scl=0;
  116. }
  117. /*?????????????Data???????????*/
  118. void Send(uchar Data)
  119. {
  120.     uchar BitCounter=8;
  121.     uchar temp;
  122.     do
  123.     {
  124.      temp=Data;        //???????????????temp
  125.      Scl=0;
  126.      Nop();
  127.      if((temp&0x80)==0x80)     //????????????&0x80
  128.      Sda=1;
  129.      else
  130.      Sda=0;
  131.      Scl=1;
  132.      temp=Data<<1;       //????????
  133.      Data=temp;        //???????????????Data
  134.      BitCounter--;       //?????????0??????????????????
  135.     }
  136.     while(BitCounter);       //?ж?????????
  137.     Scl=0;
  138. }
  139. /*???????????????????????*/
  140. uchar Read(void)
  141. {
  142.     uchar temp=0;
  143. uchar temp1=0;
  144. uchar BitCounter=8;
  145. Sda=1;
  146. do
  147. {
  148.   Scl=0;
  149.   Nop();
  150.   Scl=1;
  151.   Nop();
  152.   if(Sda)       //????λ????1
  153.    temp=temp|0x01;    //?1 temp?????λ?1??|0x01??????????λ???1??
  154.   else       //????0
  155.    temp=temp&0xfe;    //temp???λ?0??&0xfe??11111110?????λ????0??
  156.   if(BitCounter-1)    //BitCounter??1????????
  157.   {
  158.    temp1=temp<<1;    //temp????
  159.    temp=temp1;
  160.   }
  161.   BitCounter--;     //BitCounter????0???????????????
  162. }
  163. while(BitCounter);     //?ж??????????
  164. return(temp);
  165. }
  166. void WrToROM(uchar Data[],uchar Address,uchar Num)
  167. {
  168.   uchar i;
  169.   uchar *PData;
  170.   PData=Data;
  171.   for(i=0;i<Num;i++)
  172.   {
  173.   Start();
  174.   Send(0xa0);
  175.   Ack();
  176.   Send(Address+i);
  177.   Ack();
  178.   Send(*(PData+i));
  179.   Ack();
  180.   Stop();
  181.   mDelay(20);
  182.   }
  183. }
  184. void RdFromROM(uchar Data[],uchar Address,uchar Num)
  185. {
  186.   uchar i;
  187.   uchar *PData;
  188.   PData=Data;
  189.   for(i=0;i<Num;i++)
  190.   {
  191.   Start();
  192.   Send(0xa0);
  193.   Ack();
  194.   Send(Address+i);
  195.   Ack();
  196.   Start();
  197.   Send(0xa1);
  198.   Ack();
  199.   *(PData+i)=Read();
  200.   Scl=0;
  201.   NoAck();
  202.   Stop();
  203.   }
  204. }

  205. //==================================================================================================
  206. //=======================================LCD1602====================================================
  207. //==================================================================================================
  208. #define yi 0x80 //LCD????е???λ??,???LCD1602????????λD7???1??100000000=80??
  209. #define er 0x80+0x40 //LCD????г??λ??????????е???????λ??????0x40??

  210. //----------------????????????澭??????----------------------
  211. void delay(uint xms)//??????????вκ???
  212. {
  213. uint x,y;
  214. for(x=xms;x>0;x--)
  215.   for(y=110;y>0;y--);
  216. }
  217. //--------------------------д???---------------------------
  218. void write_1602com(uchar com)//****???д???????****
  219. {
  220. lcd1602_rs=0;//????/????????????
  221. lcd1602_rw=0; //??д??????д
  222. P0=com;//????????
  223. delay(1);
  224. lcd1602_en=1;//????????????????Ч????????????
  225. delay(1);
  226. lcd1602_en=0;//en??????????????????????????
  227. }
  228. //-------------------------д????-----------------------------
  229. void write_1602dat(uchar dat)//***???д?????????****
  230. {
  231. lcd1602_rs=1;//????/?????????????
  232. lcd1602_rw=0; //??д??????д
  233. P0=dat;//????????
  234. delay(1);
  235. lcd1602_en=1; //en??????????????????????
  236. delay(1);
  237. lcd1602_en=0; //en??????????????????????????
  238. }
  239. //-------------------------?????-------------------------
  240. void lcd_init(void)
  241. {
  242. write_1602com(0x38);//????????????????????16*2???????5*7????8λ????
  243. write_1602com(0x0c);//?????????????
  244. write_1602com(0x06);//?????????????????????
  245. write_1602com(0x01);//?????
  246. }
  247. //========================================================================================
  248. //=========================================================================================
  249. //==============???????????????=========================
  250. unsigned char coding(unsigned char m)  
  251. {
  252. unsigned char k;
  253. switch(m)
  254. {
  255.   case (0x11): k=1;break;
  256.   case (0x21): k=2;break;
  257.   case (0x41): k=3;break;
  258.   case (0x81): k='A';break;
  259.   case (0x12): k=4;break;
  260.   case (0x22): k=5;break;
  261.   case (0x42): k=6;break;
  262.   case (0x82): k='B';break;
  263.   case (0x14): k=7;break;
  264.   case (0x24): k=8;break;
  265.   case (0x44): k=9;break;
  266.   case (0x84): k='C';break;
  267.   case (0x18): k='*';break;
  268.   case (0x28): k=0;break;
  269.   case (0x48): k='#';break;
  270.   case (0x88): k='D';break;
  271. }
  272. return(k);
  273. }
  274. //=====================???????????????===============================
  275. unsigned char keynum(void)
  276. {
  277.   unsigned char row,col,i;
  278.   P1=0xf0;
  279.   if((P1&0xf0)!=0xf0)
  280.   {
  281.      Delay5Ms();
  282.         Delay5Ms();
  283.      if((P1&0xf0)!=0xf0)
  284.   {
  285.       row=P1^0xf0;          //???????
  286.    i=0;
  287.    P1=a[i];           //?????λ
  288.    while(i<4)
  289.    {
  290.      if((P1&0xf0)!=0xf0)
  291.       {
  292.         col=~(P1&0xff);   //???????
  293.         break;            //???λ????????   
  294.       }
  295.     else
  296.       {
  297.         i++;
  298.         P1=a[i];
  299.       }
  300.    }
  301.   }
  302.   else
  303.   {
  304.    return 0;
  305.   }
  306.   while((P1&0xf0)!=0xf0);
  307.   return (row|col);    //????????????????
  308.   }
  309.   else return 0;            //????????????0
  310. }
  311. //=======================??????????????Ч????========================
  312. void OneAlam(void)
  313. {
  314. ALAM=0;
  315. Delay5Ms();
  316.     ALAM=1;
  317. }
  318. //========================????????????????????========================
  319. void TwoAlam(void)
  320. {
  321. ALAM=0;
  322. Delay5Ms();
  323.     ALAM=1;
  324.     Delay5Ms();
  325. ALAM=0;
  326. Delay5Ms();
  327.     ALAM=1;
  328. }
  329. //========================?????????,???????========================
  330. void ThreeAlam(void)
  331. {
  332. ALAM=0;
  333. Delay5Ms();
  334.     ALAM=1;
  335.     Delay5Ms();
  336. ALAM=0;
  337. Delay5Ms();
  338.     ALAM=1;
  339.     Delay5Ms();
  340. ALAM=0;
  341. Delay5Ms();
  342.     ALAM=1;
  343. }
  344. //=======================??????????=========================
  345. void DisplayChar(void)
  346. {
  347. unsigned char i;
  348. if(pass==1)
  349. {
  350.   //DisplayListChar(0,1,LockOpen);
  351.   write_1602com(er);       //????п?????
  352.   for(i=0;i<16;i++)
  353.   {
  354.    write_1602dat(LockOpen[i]);    //???open ???????
  355.   }
  356. }
  357. else
  358. {
  359.   if(N==0)
  360.   {
  361.    //DisplayListChar(0,1,Error);
  362.    write_1602com(er);
  363.    for(i=0;i<16;i++)
  364.    {
  365.     write_1602dat(Error[i]); //???????
  366.    }
  367.   }
  368.   else
  369.   {
  370.    //DisplayListChar(0,1,start_line);
  371.    write_1602com(er);
  372.    for(i=0;i<16;i++)
  373.    {
  374.     write_1602dat(start_line[i]);//??????????
  375.    }
  376.   }
  377. }
  378. }
  379. //========================????????==================================================
  380. //==================================================================================
  381. void ResetPassword(void)
  382. {
  383. unsigned char i;
  384. unsigned char j;
  385. if(pass==0)
  386. {
  387.   pass=0;      
  388.   DisplayChar();    //???????
  389.   ThreeAlam();    //????????????????????3??
  390. }
  391. else       //???????2?????????????ó???
  392. {
  393.      if(ReInputEn==1)   //???????£?ReInputEn??1??????????????
  394.   {
  395.    if(N==6)    //????6λ????
  396.    {
  397.     ReInputCont++;   //???????????
  398.     if(ReInputCont==2)  //????????????
  399.     {
  400.      for(i=0;i<6;)
  401.      {
  402.       if(TempPassword[i]==InputData[i]) //??????????????????????
  403.        i++;
  404.       else        //??????ε??????
  405.       {
  406.        //DisplayListChar(0,1,Error);
  407.        write_1602com(er);
  408.        for(j=0;j<16;j++)
  409.        {
  410.         write_1602dat(Error[j]); //???????Error
  411.        }
  412.        ThreeAlam();   //???????
  413.        pass=0;     //????
  414.        ReInputEn=0;   //??????ù????
  415.        ReInputCont=0;
  416.        DisplayChar();
  417.        break;
  418.       }
  419.      }
  420.      if(i==6)
  421.      {
  422.       //DisplayListChar(0,1,ResetOK);
  423.       write_1602com(er);
  424.       for(j=0;j<16;j++)
  425.       {
  426.        write_1602dat(ResetOK[j]);   //??????????????
  427.       }
  428.       TwoAlam();    //??????????
  429.        WrToROM(TempPassword,0,6);  //????????д??24C02?洢
  430.       ReInputEn=0;
  431.      }
  432.      ReInputCont=0;
  433.      CorrectCont=0;
  434.     }
  435.     else       //????????????
  436.     {
  437.      OneAlam();
  438.      //DisplayListChar(0, 1, again);   //?????????????
  439.      write_1602com(er);
  440.      for(j=0;j<16;j++)
  441.      {
  442.       write_1602dat(again[j]);   //????????????
  443.      }     
  444.      for(i=0;i<6;i++)
  445.      {
  446.       TempPassword[i]=InputData[i];  //???????????????????????      
  447.      }
  448.     }
  449.    N=0;      //????????λ????????????
  450.      }
  451.      }
  452. }
  453. }
  454. //=======================?????????????????????????????????======================
  455. void Alam_KeyUnable(void)
  456. {
  457. P1=0x00;
  458. {
  459.   ALAM=~ALAM;     //???????????????
  460.   Delay5Ms();
  461. }
  462. }
  463. //=======================??????в???============================================
  464. void Cancel(void)
  465. {
  466. unsigned char i;
  467. unsigned char j;
  468. //DisplayListChar(0, 1, start_line);
  469. write_1602com(er);
  470. for(j=0;j<16;j++)
  471. {
  472.   write_1602dat(start_line[j]);   //??????????????????
  473. }
  474. TwoAlam();    //?????
  475. for(i=0;i<6;i++)
  476. {
  477.   InputData[i]=0;  //??????????????
  478. }
  479. KEY=1;     //?????
  480. ALAM=1;     //??????
  481. pass=0;     //??????????????
  482. ReInputEn=0;   //?????????????????
  483. ErrorCont=0;   //??????????????????
  484. CorrectCont=0;   //??????????????????
  485. ReInputCont=0;   //???????????????????
  486. s3_keydown=0;
  487. key_disable=0;   //??????????????
  488. N=0;     //????λ????????????
  489. }
  490. //==========================?????????????????λ??????????===============================
  491. void Ensure(void)
  492. {
  493. unsigned char i,j;
  494. RdFromROM(CurrentPassword,0,6);      //??24C02??????洢????
  495.     if(N==6)
  496. {
  497.      if(ReInputEn==0)       //??????????δ????
  498.   {
  499.    for(i=0;i<6;)
  500.       {     
  501.     if(CurrentPassword[i]==InputData[i]) //?ж??????????24c02?е???????????
  502.     {
  503.      i++;        //????λ i??+1
  504.     }
  505.     else          //??????????
  506.     {         
  507.      ErrorCont++;      //???????++
  508.      if(ErrorCont==3)   //??????????????????????????????????
  509.      {
  510.       write_1602com(er);
  511.       for(i=0;i<16;i++)
  512.       {
  513.        write_1602dat(Error[i]);
  514.       }
  515.       do
  516.       Alam_KeyUnable();
  517.       while(1);
  518.      }
  519.      else      //???????С??3?????????????3????????????????
  520.      {
  521.       TR0=1;    //??????
  522.       key_disable=1;   //????????
  523.       pass=0;     //passλ????
  524.       break;     //????
  525.      }
  526.     }
  527.    }
  528.    if(i==6)      //??????????
  529.    {
  530.     if((InputData[0]==adminpassword[0])&&(InputData[1]==adminpassword[1])&&(InputData[2]==adminpassword[2])&&(InputData[3]==adminpassword[3])&&(InputData[4]==adminpassword[4])&&(InputData[5]==adminpassword[5]))
  531.        {
  532.      WrToROM(initpassword,0,6);     //???????????д??24C02?洢
  533.      write_1602com(er);
  534.      for(j=0;j<16;j++)
  535.      {
  536.       write_1602dat(initword[j]);    //????????????
  537.      }
  538.      TwoAlam();         //????????
  539.      Delay400Ms();        //???400ms
  540.      TwoAlam();         //????????
  541.      N=0;          //????λ????????????
  542.     }
  543.     else
  544.     {
  545.      CorrectCont++;     //???????????++
  546.      if(CorrectCont==1)    //??????????????????????????????????
  547.      {
  548.       //DisplayListChar(0,1,LockOpen);
  549.       write_1602com(er);
  550.       for(j=0;j<16;j++)
  551.       {
  552.        write_1602dat(LockOpen[j]);    //???open????????
  553.       }
  554.       TwoAlam();   //????????????
  555.       KEY=0;           //????
  556.       pass=1;           //????????λ
  557.       TR0=1;           //??????
  558.       for(j=0;j<6;j++)        //?????????
  559.       {
  560.        InputData[i]=0;        //??????????λ????
  561.       }
  562.      }
  563.      else            //??????????????????????????????
  564.      {
  565.       write_1602com(er);
  566.       for(j=0;j<16;j++)
  567.       {
  568.        write_1602dat(SetNew[j]);     //??????????????
  569.       }
  570.       TwoAlam();             //??????????
  571.       ReInputEn=1;         //????????????????
  572.       CorrectCont=0;         //?????????????
  573.      }
  574.     }
  575.      }

  576.    else   //=========================??????????????????????????131420????????????============
  577.    {
  578.     if((InputData[0]==adminpassword[0])&&(InputData[1]==adminpassword[1])&&(InputData[2]==adminpassword[2])&&(InputData[3]==adminpassword[3])&&(InputData[4]==adminpassword[4])&&(InputData[5]==adminpassword[5]))
  579.        {
  580.      WrToROM(initpassword,0,6);     //???????????д??24C02?洢
  581.      write_1602com(er);
  582.      for(j=0;j<16;j++)
  583.      {
  584.       write_1602dat(initword[j]);    //????????????
  585.      }
  586.      TwoAlam();         //????????
  587.      Delay400Ms();        //???400ms
  588.      TwoAlam();         //????????
  589.      N=0;          //????λ????????????
  590.     }
  591.     else           //???????????
  592.     {
  593.      write_1602com(er);
  594.      for(j=0;j<16;j++)
  595.      {
  596.       write_1602dat(Error[j]);     //??????????
  597.      }
  598.       ThreeAlam();          //?????????
  599.      pass=0;
  600.     }
  601.    }
  602.   }
  603.   else           //???????????????????????????????????
  604.   {
  605.    //DisplayListChar(0,1,Er_try);
  606.    write_1602com(er);
  607.    for(j=0;j<16;j++)
  608.    {
  609.     write_1602dat(Er_try[j]);     //??????????????
  610.    }
  611.    ThreeAlam();         //?????????
  612.   }
  613. }
  614. else       //???????????6λ????????????
  615. {
  616.   //DisplayListChar(0,1,Error);
  617.   write_1602com(er);
  618.   for(j=0;j<16;j++)
  619.   {
  620.    write_1602dat(Error[j]);   //???????
  621.   }
  622.    ThreeAlam();          //?????????
  623.   pass=0;
  624. }

  625. N=0;             //??????????????????????????????????
  626. }

  627. //==============================??????===============================
  628. void main(void)
  629. {
  630.   unsigned char KEY,NUM;
  631. unsigned char i,j;
  632.   P1=0xFF;        //P1???λ
  633. TMOD=0x11;       //???幤?????
  634.   TL0=0xB0;
  635.   TH0=0x3C;       //??????????
  636.   EA=1;        //???ж??????
  637.   ET0=1;        //???ж????????
  638.   TR0=0;        //???????????
  639.   Delay400Ms();  //??????????LCM????????
  640.   lcd_init();  //LCD?????
  641. write_1602com(yi);//??????????????????е?0??λ?????????
  642. for(i=0;i<16;i++)
  643. {
  644.   write_1602dat(name[i]);//???????д????????
  645. }
  646. write_1602com(er);
  647. for(i=0;i<16;i++)
  648. {
  649.   write_1602dat(start_line[i]);//д??????????????
  650. }
  651. write_1602com(er+9); //???ù??λ??
  652. write_1602com(0x0f); //???ù??????
  653.   Delay5Ms(); //??????(????)
  654.   N=0;              //?????????????λ??
  655.   while(1)   //???????
  656.   {
  657.   if(key_disable==1)      //???????????1?
  658.    Alam_KeyUnable();     //??????????
  659.   else
  660.    ALAM=1;        //?????
  661.   KEY=keynum();       //????????λ????
  662.   if(KEY!=0)        //???а????????
  663.   {
  664.    if(key_disable==1)     //???????????1?
  665.    {
  666.     second=0;      //??????
  667.    }
  668.    else        //????????????
  669.    {
  670.     NUM=coding(KEY);    //?????????λ?y????????????????NUM
  671.     {
  672.      switch(NUM)     //?ж?????
  673.      {
  674.       case ('A'):  ;      break;
  675.       case ('B'):  ;         break;
  676.       case ('C'):
  677.          write_1602com(yi);//??????????????????е?0??λ?????????
  678.          for(i=0;i<16;i++)
  679.          {
  680.           write_1602dat(name[i]);//???????д????????
  681.          }
  682.          if(N>=1) N--; OneAlam();        //?????????      
  683.          //DisplayOneChar(6+N,1,'*');
  684.          for(j=N;j<16;j++)
  685.          {
  686.           write_1602com(er+6+j);
  687.           write_1602dat(' ');
  688.          }
  689.          for(j=0;j<N;j++)
  690.          {
  691.           write_1602com(er+6+j);    //???λ?????????????????
  692.           write_1602dat('@');     //?????????????????*????
  693.          }  
  694.          InputData[N]=N+4;
  695.          break;  //ABC??????尷??
  696.       case ('D'): ResetPassword();  break;      //????????????
  697.       case ('*'): Cancel();    break;      //??????????
  698.       case ('#'): Ensure();     break;    //??????
  699.       default:           //???????????????????????????????
  700.       {
  701.        //DisplayListChar(0,1,Input);
  702.        if(N<6)                        //???????????????6λ??????????????棬????6λ?????Ч??
  703.        {
  704.         write_1602com(er);
  705.         for(i=0;i<16;i++)
  706.         {
  707.          write_1602dat(Input[i]);    //?????????
  708.         }
  709.         OneAlam();        //?????????
  710.          for(j=0;j<=N;j++)
  711.         {
  712.          write_1602com(er+6+j);    //???λ?????????????????
  713.          write_1602dat('*');     //?????????????????*????
  714.         }
  715.         InputData[N]=NUM;      //??????????????InputData[]???????
  716.         N++;         //????λ????
  717.        }
  718.        else          //????????λ??????6??????????
  719.        {
  720.         N=6;         //???????????6λ?????????????
  721.          break;
  722.        }
  723.       }
  724.      }
  725.     }
  726.    }
  727.    }
  728. }
  729. }
  730. //*********************************?ж??????**************************************
  731. void  time0_int(void) interrupt 1      //?????T0
  732. {
  733.   TL0=0xB0;
  734.   TH0=0x3C;    //?????????????
  735.   //TR0=1;
  736.   countt0++;      //????????????1???50ms
  737.    if(countt0==20)     //???20?ξ???1s
  738.     {
  739.   countt0=0;     //????????
  740.   second++;     //???
  741.   if(pass==1)     //???????
  742.   {
  743.    if(second==1)   //????1s?
  744.    {
  745.     TR0=0;    //??????
  746.     TL0=0xB0;
  747.      TH0=0x3C;   //??θ????
  748.     second=0;   //??????
  749.    }
  750.   }
  751.   else      //??????????
  752.   {
  753.    if(second==3)   //????3?
  754.    {
  755.     TR0=0;    //???????
  756.     second=0;   //??????
  757.     key_disable=0;  //????????????
  758.     s3_keydown=0;
  759.     TL0=0xB0;
  760.     TH0=0x3C;   //????????
  761.    }
  762.    else
  763.        TR0=1;    //???????
  764.   }
  765.    
  766.     }
  767. }
復制代碼

密碼鎖.7z

6.74 MB, 下載次數: 12, 下載積分: 黑幣 -5

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产黄色免费网站 | 91网站在线观看视频 | 北条麻妃国产九九九精品小说 | 黄色国产在线视频 | 久久人爽| 亚洲欧美男人天堂 | 色一情一乱一伦一区二区三区 | 亚洲综合激情 | 91久久精品国产91久久性色tv | 日韩1区2区 | 国产一区二区三区久久久久久久久 | 在线观看国产www | 91看国产 | 亚洲欧美一区二区三区在线 | 国产精品资源在线 | 亚洲视频二区 | 欧美一区二区三区在线播放 | 久久久99国产精品免费 | 国产精品久久久久久久7777 | 成人久久久 | av在线黄| 永久av| 久久www免费人成看片高清 | 成人小视频在线观看 | 亚洲精品在线看 | 99精品久久久 | 精品永久 | 免费在线观看av片 | 欧美精品在线免费观看 | 色综合久久久 | 毛片一级黄色 | 亚洲精品免费视频 | 国产精品久久久久久久久久久久久 | 亚洲精品在线看 | 亚洲色视频 | 99视频 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 操皮视频| 日本精品一区二区三区视频 | 国产a级毛毛片 | 999国产精品视频免费 |