找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2675|回復: 3
打印 上一主題 下一主題
收起左側(cè)

51單片機串口密碼鎖程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:516795 發(fā)表于 2020-1-10 14:34 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
內(nèi)有講解文檔與程序
用串口助手發(fā)送字符‘1’ LED1亮
發(fā)送其他 LED8個燈閃爍一次 當?shù)谌屋斿e時,蜂鳴器響一次
波特率9600

單片機源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit BEEP = P2^3;
  5. uint i;
  6. unsigned char flag,a;
  7. void delay(uint z)
  8. {
  9.         uint x,y;
  10.         for(x=z;x>0;x--)
  11.                 for(y=110;y>0;y--);
  12. }
  13. void main()
  14. {
  15.         TMOD=0x20;//設置串口工作方式1
  16.         TH1=0xfd;
  17.         TL1=0xfd;//波特率9600
  18.         TR1=1;//開定時器1
  19.         REN=1;
  20.         SM0=0;
  21.         SM1=1;
  22.         EA=1;//開總中斷
  23.         ES=1;//開串口中?
  24.         BEEP = 1;
  25.         i=0;
  26.         while(1);
  27. }

  28. void ser() interrupt 4
  29. {
  30.         ES=0;//關閉串行中斷
  31.         RI=0;//清除串行接受標志位
  32.         a=SBUF;
  33.         switch(a)//以字符形式輸入
  34.         {
  35.                 case '1':P1=0xfe;SBUF='1';i=1;       
  36.                         while(!TI);       
  37.                         TI=0;
  38.                         break;
  39.                 default :
  40.                         if(i==3)
  41.                         {
  42.                                 i=1;
  43.                                 BEEP = 0;
  44.                                 delay(100);
  45.                                 BEEP = 1;
  46.                                 P1=0xff;
  47.                         }
  48.                         else
  49.                         {
  50.                                 i++;
  51.                                 P1=0x00;
  52.                                 delay(100);
  53.                                 P1=0xff;
  54.                         }
  55. //                case '2':P1=0xfc;SBUF='2';       
  56. //                        while(!TI);       
  57. //                        TI=0;
  58. //                        break;
  59. //                case '3':P1=0xf8;SBUF='3';       
  60. //                        while(!TI);       
  61. //                        TI=0;
  62. //                        break;
  63. //                case '4':P1=0xf0;SBUF='4';       
  64. //                        while(!TI);       
  65. //                        TI=0;
  66. //                        break;
  67. //                case '5':P1=0xe0;SBUF='5';       
  68. //                        while(!TI);       
  69. //                        TI=0;
  70. //                        break;
  71. //                case '6':P1=0xc0;SBUF='6';       
  72. //                        while(!TI);       
  73. //                        TI=0;
  74. //                        break;
  75. //                case '7':P1=0x80;SBUF='7';       
  76. //                        while(!TI);       
  77. //                        TI=0;
  78. //                        break;
  79. //                case '8':P1=0x00;SBUF='8';       
  80. //                        while(!TI);       
  81. //                        TI=0;                                                                                                     ;
  82. //                        break;
  83.         }
  84.         ES=1;//允許串口中斷
  85. }
復制代碼

所有資料51hei提供下載:
串口密碼.zip (171.37 KB, 下載次數(shù): 10)



51hei截圖20200110143348.png (27.55 KB, 下載次數(shù): 133)

51hei截圖20200110143348.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:593773 發(fā)表于 2020-1-12 11:20 | 只看該作者
非常感謝哦,這個是不是只能輸入一個字符的密碼,如果是要輸入多個字符又該怎么變換呢
回復

使用道具 舉報

板凳
ID:516795 發(fā)表于 2021-8-16 21:09 | 只看該作者
xinyueyueen 發(fā)表于 2020-1-12 11:20
非常感謝哦,這個是不是只能輸入一個字符的密碼,如果是要輸入多個字符又該怎么變換呢

case '字符 '
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表