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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機匯編語言密碼鎖Proteus仿真程序

[復制鏈接]
跳轉到指定樓層
樓主


單片機源程序如下:
  1. ;R3——輸入錯誤次數
  2. ;R4——密碼個數
  3. ;R7——輸入密碼暫存
  4. ;R2——鍵值暫存
  5. ;R6——延時參數
  6.                 ORG                00H
  7.                 SJMP        START
  8.                 ORG                0BH
  9. START:       
  10.                                         ;設置初始密碼
  11. PASSWORD:
  12.                 MOV                R4,#08H                                ;密碼個數8個
  13.                 MOV                R0,#40H                                ;密碼暫存區
  14.                 MOV                A,#00H                                ;初始密碼0,1,2,3,4,5,6,7
  15. PASSNEXT:
  16.                 MOV                @R0,A
  17.                 INC                R0
  18.                 INC                A
  19.                 DJNZ        R4,PASSNEXT
  20. MLOOP:
  21.                 CLR                P3.0                                ;鎖合
  22.                 SETB        P3.1                                ;鎖開
  23.                 SETB        P3.2                                ;鍵有效
  24.                 SETB        P3.3                                ;錯誤
  25.                 SETB        P3.4                                ;報警
  26.                 MOV                R3,#03H                                ;錯誤次數3次
  27.                                                    ;輸入密碼
  28. GETPW:        MOV                R4,#08H                                ;密碼個數
  29.                 MOV                R0,#30H                                ;輸入密碼暫存區
  30. AGAIN:        ACALL        KEY                                        ;輸入密碼
  31.                 CJNE        A,#0AH,CONTIUE                  ;按確認鍵無效
  32.                 SJMP        AGAIN
  33. CONTIUE:
  34.                 MOV                @R0,A
  35.                 ACALL        DISPLED                                ;按鍵有效顯示
  36.                 INC        R0
  37.                 DJNZ        R4,AGAIN
  38. AGAIN1:        ACALL        KEY                                        ;按確認鍵
  39.                 CJNE        A,#0AH,AGAIN1
  40.                 ACALL        DISPLED                                 ;按確認鍵有效顯示
  41.                 ACALL        COMP                                ;比較密碼
  42.                 SETB        P3.0                                ;息鎖合
  43.                 CLR                P3.1                                ;開鎖
  44. WAIT:        MOV                C,P3.5                                ;是否重新上鎖
  45.                 JNC                MLOOP                                ;主循環
  46.                 ACALL        TestKey                                ;是否有鍵按下,是否修改密碼
  47.                 JZ                WAIT                                ;累加器的內容為0,則轉移;否則執行下一條指令
  48.                 ACALL        CHPSW                                ;修改密碼子程序
  49.                 SJMP        WAIT
  50. COMP:        MOV                R4,#08H
  51.                 MOV                R0,#30H
  52. AGAI:        MOV                50H,@R0                                ;取輸入密碼到50H
  53.                 MOV                A,R0
  54.                 ADD                A,#010H                                ;40H
  55.                 MOV                R0,A
  56.                 MOV                A,@R0                                ;取密碼
  57.                 MOV                B,A
  58.                 MOV                A,R0
  59.                 SUBB        A,#010H                                ;30H
  60.                 MOV                R0,A
  61.                 MOV                A,B
  62.                 CJNE        A,50H,ONCEMORE                   ;比較
  63.                 INC                R0
  64.                 DJNZ        R4,AGAI
  65.                 RET                                                        ;正確返回
  66. ONCEMORE:
  67.                 CLR                P3.3                                ;輸入錯誤
  68.                 MOV                R6,#0FFH
  69.                 ACALL        DELAY
  70.                 MOV                R6,#0FFH
  71.                 ACALL        DELAY
  72.                 SETB        P3.3
  73.                 DJNZ        R3,GETPW                        ;3次錯誤輸入
  74.                 CLR                P3.4                                ;聲報警
  75.                 CLR                P3.3                                ;光報警
  76. W:                SJMP        W
  77.                                                  ;修改密碼子程序
  78. CHPSW:        MOV                R4,#07H
  79.                 MOV                R0,#48H
  80.                 ACALL        KEY
  81.                 CJNE        A,#0AH,CONTIUE2                  ;按確認鍵無效
  82.                 LJMP        WAIT                                ;返回
  83. CONTIUE2:
  84.                 MOV                @R0,A
  85.                 INC                R0
  86.                 ACALL        DISPLED                                ;按鍵有效顯示
  87. ANOTHER:
  88.                 ACALL        KEY
  89.                 CJNE        A,#0AH,CONTIUE3                 ;按確認鍵無效
  90.                 SJMP        ANOTHER
  91. CONTIUE3:
  92.                 MOV                @R0,A
  93.                 INC                R0
  94.                 ACALL        DISPLED                                ;按鍵有效顯示
  95.                 DJNZ        R4,ANOTHER
  96. AGAIN2:        ACALL        KEY                                        ;按確認鍵
  97.                 CJNE        A,#0AH,AGAIN2
  98.                 ACALL        DISPLED                                ;按確認鍵有效顯示
  99.                 MOV                R4,#08H
  100.                 MOV                R0,#40H
  101.                 MOV                R1,#48H
  102. CHANGE:                                                                ;確認后修改密碼
  103.                 MOV                A,@R1
  104.                 MOV                @R0,A
  105.                 INC                R0
  106.                 INC                R1
  107.                 DJNZ        R4,CHANGE
  108.                 RET
  109.                                                        ;按鍵有效顯示
  110. DISPLED:
  111.                 CLR                P3.2                                ;按鍵有效顯示
  112.                 MOV                R6,#80H
  113.                 ACALL        DELAY
  114.                 SETB        P3.2
  115.                 RET
  116. TestKey:MOV                P1,#0FH
  117.                 MOV                A,P1                                ;讀入鍵狀態
  118.                 CPL                A                                        ;累加器取
  119.                 ANL                A,#0F0H
  120.                 RET
  121.                                                   ;取鍵值子程序,陣列式鍵盤
  122. KEY:        MOV                P1,#0F0H
  123.                 MOV                A,P1
  124.                 CJNE        A,#0F0H,K11
  125. K10:        AJMP        KEY
  126. K11:        MOV                R6,#02H
  127.                 ACALL        DELAY
  128.                 MOV                P1,#0F0H
  129.                 MOV                A,P1
  130.                 CJNE        A,0F0H,K12
  131.                 SJMP        K10
  132. K12:        MOV                B,A
  133.                 MOV                P1,#0FH
  134.                 MOV                A,P1
  135.                 CJNE        A,#0FH,K122
  136. K121:        AJMP        KEY
  137. K122:        MOV                R6,#02H
  138.                 ACALL        DELAY
  139.                 MOV                P1,#0FH
  140.                 MOV                A,P1
  141.                 CJNE        A,0FH,K13
  142.                 AJMP        K10
  143. K13:       
  144.                 ANL                A,B
  145.                 MOV                B,A
  146.                 MOV                R1,#11
  147.                 MOV                R2,#0
  148.                 MOV                DPTR,#K1TAB
  149. K14:        MOV                A,R2
  150.                 MOVC        A,@A+DPTR
  151.                 CJNE        A,B,K16
  152.                 MOV                P1,#0FH
  153. K15:        MOV                A,P1
  154.                 CJNE        A,#0FH,K15
  155.                 MOV                R6,#02H
  156.                 ACALL        DELAY
  157.                 MOV                A,R2
  158.                 RET
  159. K16:        INC                R2
  160.                 DJNZ        R1,K14
  161.                 AJMP        K10
  162.                                                             ;鍵碼表
  163. K1TAB:        DB                81H,41H,21H,11H
  164.                 DB                82H,42H,22H,12H
  165.                 DB                84H,44H,24H
  166.                                                 ;延時子程序
  167. DELAY:        MOV                R6,#80H
  168. AA1:        MOV                R5,#0F8H
  169. AA:                NOP
  170.                 NOP
  171.                 DJNZ        R5,AA
  172.                 DJNZ        R6,AA1
  173.                 RET
  174.                 END
復制代碼

所有資料51hei提供下載:
222222.rar (41.37 KB, 下載次數: 54)

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

使用道具 舉報

沙發
ID:563461 發表于 2019-6-17 14:18 | 只看該作者
你好,你照著你這個自己做了一個,為什么51單片機輸出全是高電平呀
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99re66在线观看精品热 | 成人影 | 欧美日韩久 | 国产欧美性成人精品午夜 | 五月激情综合 | 日本小电影网站 | 午夜小视频在线观看 | 成人中文字幕在线 | 亚洲天堂av一区 | 99热在线观看精品 | 精品国产乱码久久久久久影片 | 国产精品久久久久久久久久久久久 | 亚洲成av人片在线观看无码 | 国产精品自拍视频 | 亚洲欧美在线视频 | 成人欧美一区二区 | 成人免费淫片aa视频免费 | av综合站| 涩涩鲁亚洲精品一区二区 | 999免费视频 | 久久久精品一区二区三区 | 美美女高清毛片视频免费观看 | 欧美黑人激情 | 逼逼网 | 瑟瑟视频在线看 | 亚洲成人在线免费 | 九九精品在线 | 国产专区在线 | 成人av高清 | 国产精品中文在线 | 五月婷婷激情网 | 成人精品鲁一区一区二区 | 欧美日韩在线高清 | 99视频在线 | 久久婷婷香蕉热狠狠综合 | 欧美精品久久久 | 天天色影视综合 | www.青娱乐 | 97av| 一级片视频免费观看 | av影音资源|