找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3415|回复: 3
打印 上一主题 下一主题
收起左侧

基于汇编51单片机电子密码锁的仿真和实现(含源程序)

[复制链接]
跳转到指定楼层
楼主
ID:888558 发表于 2021-3-22 20:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的第一个单片机程序设计,当时花费一周做汇编编程及Proteus仿真,后面一周做硬件的实物焊接。同各位电子爱好者怀念下玩51单片机的日子,汇编编程完全就是依靠对底层硬件的理解,去思考实现一个功能需要用到的汇编指令组合。每一句都值得推敲,虽然没有像C编程一样的demo,能够快速实现。工作近3年后的我才发现能够保持读书时代的不急不燥、勇敢面对未知、追求最好的心性是多么的珍贵。
附件中包含了详细的设计要求、设计原理图、仿真过程、实物验收。文档末尾有最重要的汇编源代码。

密码锁长度为6位数字,初始密码为系统预设。
密码输入正确后,输出一个电磁锁开锁信号,开锁指示灯亮,并发出两声“滴”提示,4秒后开锁信号与已开锁指示清零。
密码输入错误时,发出一声长“滴”声提示密码错误,密码错误指示灯亮。
三次密码错误时,发出长鸣警报声,密码错误指示灯亮,报警指示灯亮,此后15秒内无法再次输入密码,15秒后清楚所有报警和指示。
5秒内无任何操作,清除所有输入内容,等待下一次输入。
扩展功能:
密码可以任意修改。
修改的密码断电后可以长期保存。
(1)初始化界面
(2)当密码输入正确后
(3)当密码输入正确后按下改密

(4)当密码输入错误后
(5)当密码连续三次输入错误后

4.2.2 实物调试
(1)初始界面
(2)输入密码正确
(3)密码输入错误
(4)三次密码错误
附录1:元件清单

附录2 安装图
附录3 实物验收

单片机源程序如下:
  1. ORG                                          0000H
  2.                                                                       MOV                                          70H,#0;????
  3.                                                                       MOV                                          71H,#0
  4.                                                                       MOV                                          72H,#0
  5.                                                                       MOV                                          73H,#0
  6.                                                                       MOV                                          74H,#0
  7.                                                                       MOV                                          75H,#0                                                                     
  8.                                                                       LJMP              MAIN
  9.                                                                       ORG                            001BH
  10.                                                                       LJMP              T1ZD
  11.                                                                       ORG              0100H
  12.                                                                       RS EQU P0.5
  13.                                                                       RW EQU P0.6
  14.                                                                       E EQU P0.7
  15.                                                                       LCD EQU P2
  16.                                                                       BF EQU P2.7
  17. MAIN:                                                        MOV                            P1,#0FH
  18.                                                                       SETB                            P3.7
  19.                                                                       SETB              P0.0
  20.                                                                       SETB              P0.1
  21.                                                                       SETB              P0.2
  22.                                                                       LCALL              T1ZDCSH
  23.                                                                       LCALL              ChuShiHua                                                      
  24.                                                                       LCALL              ShuRuXianShi
  25.                                                                       LCALL              JianYan
  26.                                                                       LJMP              MAIN
  27. T1ZD:                                                        MOV                            TH1,#3CH
  28.                                                                       MOV                            TL1,#0B0H
  29.                                                                       CLR                            TF1
  30.                                                                       DJNZ              44H,FH
  31.                                                                       LCALL              QingPing
  32.                                                                       MOV                            60H,#0
  33.                                                                       MOV                            61H,#0
  34.                                                                       MOV                            62H,#0
  35.                                                                       MOV                            63H,#0
  36.                                                                       MOV                            64H,#0
  37.                                                                       MOV                            65H,#0
  38.                                                                       MOV                            R0,#60H
  39.                                                                       CLR                            TR1
  40.                                                                       LCALL              ChuShiHua
  41.                                           FH:                            RETI
  42. T1ZDCSH:                                          SETB              EA
  43.                                                                       SETB              ET1
  44.                                                                       MOV                            TMOD,#10H
  45.                                                                       MOV                            TH1,#3CH
  46.                                                                       MOV                            TL1,#0B0H
  47.                                                                       RET
  48. ShuRuXianShi:                            MOV R0,#60H;XIANSHIMIMA:???????????,??????60h            
  49.                             CunMiMa:              LCALL JianPan                                                                     
  50.                                                                       MOV                            A,43H
  51.                                                                       XRL                            A,#13H
  52.                                                                       JZ                            ShanChu
  53.                                                                       MOV                            @R0,43H
  54.                                                                       MOV                            A,@R0
  55.                                                                       ADD                            A,#30H
  56.                                                                       LCALL              WDATA                                         
  57.                                                                       INC                            R0
  58.                                                                       LCALL              D500MS
  59.                                                                       INC                            46H
  60.                                                                       CJNE              R0,#66H,CunMiMa
  61.                                                                       LCALL              JianPan
  62.                                                                       MOV                            A,43H
  63.                                                                       XRL                            A,#29H
  64.                                                                       JZ                            FanHui
  65.                                           LOOP:              SJMP              LOOP
  66.                                           FanHui:              RET
  67. ShanChu:                                          DEC                            R0
  68.                                                                       MOV                            A,R0
  69.                                                                       ADD                            A,#69H
  70.                                                                       LCALL              WCMD
  71.                                                                       MOV                            A,#30
  72.                                                                       LCALL              WDATA
  73.                                                                       LCALL              D500MS
  74.                                                                       MOV                            A,R0
  75.                                                                       ADD                            A,#69H
  76.                                                                       LCALL              WCMD
  77.                                                                       LJMP              CunMiMa
  78. JianYan:                                          CLR                            TR1
  79.                                                                       LCALL              QingPing                           
  80.                                                                       LCALL              BiJiao
  81.                                                                       RET
  82.               BiJiao: MOV R1,#60H
  83.             MOV R0,#70H
  84.                             HL:              MOV A,@R0
  85.                                           XRL A,@R1
  86.                                           JNZ JRMMCW;??? ??????
  87.                                           INC R0
  88.                                           INC R1
  89.                                           CJNE R1,#66H,HL
  90.                                           LCALL MiMaZhengQue
  91.                                           RET
  92.               JRMMCW:              LCALL  MiMaCuoWu
  93.                                           RET
  94. MiMaZhengQue:              MOV                            44H,#80
  95.                                                         SETB              TR1
  96.                                                         MOV                            79H,#0
  97.                                                         MOV                            A,#80H
  98.                                                         LCALL              WCMD
  99.                                                         MOV              DPTR,#ZhengQueTiShi
  100.                                                         MOV              R2,#0
  101.                             D00001:              MOV              A,R2
  102.                                                         MOVC              A,@A+DPTR
  103.                                                         LCALL              WDATA
  104.                                                         INC                            R2
  105.                                                         CJNE              R2,#16,D00001
  106.                                                         CLR                            P0.0
  107.                                                         CLR              P3.7
  108.                                                         LCALL              D100MS
  109.                                                         SETB                            P3.7
  110.                                                         LCALL              D500MS
  111.                                                         CLR              P3.7
  112.                                                         LCALL              D100MS
  113.                                                         SETB              P3.7                                                      
  114.                                                         LCALL              ShiFouXiuGai                                                      
  115.                                                         LCALL              D1S
  116.                                                         SETB              P0.0            
  117.                                                         RET
  118. ShiFouXiuGai:              LCALL              QingPing
  119.                                                         MOV                            DPTR,#XiuGaiTiShi
  120.                                                         MOV                            A,#83H
  121.                                                         LCALL              WCMD
  122.                                                         MOV                            R7,#0
  123.                             LL:                            MOV                            A,R7
  124.                                                         MOVC              A,@A+DPTR
  125.                                                         LCALL              WDATA
  126.                                                         INC                            R7
  127.                                                         CJNE              R7,#10,LL
  128.                                                         MOV                            A,#0C1H
  129.                                                         LCALL              WCMD
  130.                             LLL:              MOV                            A,R7
  131.                                                         MOVC              A,@A+DPTR
  132.                                                         LCALL              WDATA
  133.                                                         INC                            R7
  134.                                                         CJNE              R7,#24,LLL
  135.                                                         MOV                            A,#0CEH
  136.                                                         LCALL              WCMD
  137.                                                         LCALL              JianPan
  138.                                                         LCALL              D1S
  139.                                                         MOV                            A,43H
  140.                                                         XRL                            A,#29H
  141.                                                         JZ                            XiuGaiMiMa                                         
  142.                                                         RET
  143. XiuGaiTiShi:DB'Change ThePassword?(Y/N)'                                                      
  144. XiuGaiMiMa:              CLR                                          TR1
  145.                                           LCALL                            QingPing
  146.                                           MOV                                          DPTR,#XGTiShi
  147.                                           MOV                                          A,#82H
  148.                                           LCALL                            WCMD
  149.                                           MOV                                          R7,#0
  150.                             XIU:MOV                                          A,R7
  151.                                           MOVC                            A,@A+DPTR
  152.                                           LCALL                            WDATA
  153.                                           INC                                          R7
  154.                                           CJNE                            R7,#12,XIU
  155.                                           MOV                                          A,#0C1H
  156.                                           LCALL                            WCMD
  157.               EXIU:              MOV                                          A,R7
  158.                                           MOVC                            A,@A+DPTR
  159.                                           LCALL                            WDATA
  160.                                           INC                                          R7
  161.                                           CJNE                            R7,#28H,EXIU
  162.                                           MOV                                          A,#0C9H
  163.                                           LCALL                            WCMD
  164.                                           MOV                                          R1,#50H
  165.               XC:                            LCALL                            JianPan
  166.                                           MOV                                          A,43H
  167.                                           XRL                                          A,#13H
  168.                                           JZ                                          ShanChuXiuGai
  169.                                           MOV                                          @R1,43H
  170.                                           MOV                                          A,@R1
  171.                                           ADD                                          A,#30H
  172.                                           LCALL                            WDATA                                         
  173.                                           INC                                          R1
  174.                                           LCALL                            D500MS
  175.                                           CJNE                            R1,#56H,XC
  176.                                           LCALL                            D1S
  177.                                           LCALL                            ShiFouBaoCun
  178.                                           RET
  179. ShanChuXiuGai:              DEC                            R1
  180.                                                         MOV                            A,R1
  181.                                                         ADD                            A,#79H
  182.                                                         LCALL              WCMD
  183.                                                         MOV                            A,#30
  184.                                                         LCALL              WDATA
  185.                                                         LCALL              D500MS
  186. ……………………

  187. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

以上代码51hei提供下载:
基于汇编51电子密码锁的仿真与实现.doc (4.07 MB, 下载次数: 58)

评分

参与人数 1黑币 +80 收起 理由
admin + 80 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:894868 发表于 2021-3-23 08:49 | 只看该作者
这个手绘的洞洞板图简直厉害形容,佩服楼主。
回复

使用道具 举报

板凳
ID:888558 发表于 2021-3-23 20:05 | 只看该作者
abslearn 发表于 2021-3-23 08:49
这个手绘的洞洞板图简直厉害形容,佩服楼主。

不过也只有以前才有这个心境来这样画,各有各的乐趣。
回复

使用道具 举报

地板
ID:930370 发表于 2021-6-5 21:06 来自手机 | 只看该作者
初始密码多少?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表