EDA365电子论坛网

标题: 单片机密码锁proteus仿真和汇编语言源代码 数码管显示 [打印本页]

作者: helendcany    时间: 2018-11-29 07:00
标题: 单片机密码锁proteus仿真和汇编语言源代码 数码管显示
单片机密码锁proteus仿真和汇编语言源代码 数码管显示
: W" E0 r" }8 |: X9 E* Z7 d8 D2 h2 G5 J) z' P* C3 c
单片机汇编语言源程序:9 T0 y/ A, X3 V" N
        LED_BIT_1 EQU 30H
! J* ?) e. k7 F) o1 P0 P' @        LED_BIT_2 EQU 31H
9 e; I, C0 @! `9 R# q        LED_BIT_3 EQU 32H
. b. F* w) {' \9 m        LED_BIT_4 EQU 33H0 y% y9 Z2 J+ p: p
        LED_BIT_5 EQU 34H
' t' ?. @- v$ {3 {' A2 Y# {3 x) x        LED_BIT_6 EQU 35H) A; B# a, S- z( V% n
        LED_BIT_7 EQU 36H
5 b$ j4 N# L; T3 e0 F        LED_BIT_8 EQU 37H$ o* q' ?" c$ h& d5 }, i
WORD_1 EQU 38H
2 \" J, u) y5 }5 s  Z' L2 {$ wWORD_2 EQU 39H' \! u$ D! L$ q
WORD_3 EQU 3AH- k: R% N: R- l9 c. o
WORD_4 EQU 3BH/ v+ V8 B5 A& M# `' k9 e
WORD_5 EQU 3CH
% ]7 o; O$ V+ C/ P5 ]. Z% QWORD_6 EQU 3DH, r* s/ [9 b/ W8 Q) |7 b
KEY_1 EQU 3EH- Q% m. W# c4 ]. {
KEY_2 EQU 3FH7 }& P+ @' X3 w$ G' j
KEY_3 EQU 40H# B0 L* o0 c1 E# b+ R( X) M+ O
KEY_4 EQU 41H; u1 c9 _. U4 K$ q6 ]7 X: j
KEY_5 EQU 42H  B1 Y! w; N- Y/ ^$ g! L- T
KEY_6 EQU 43H
& d8 Z7 S- v1 C; R: ^+ bCNT_A EQU 44H$ Q% T( z8 {3 c- S5 \
CNT_B EQU 45H0 h4 o" d. j8 }3 b
KEY_CNT EQU 46H0 p, ?7 x, j+ D9 S6 v
LINE EQU 47H5 n# V6 F" P, D6 I( }$ J! [
ROW EQU 48H5 d1 o! I1 x2 i. k
VAL EQU 49H- f0 p/ |6 r! p5 [
ORG 00H
6 X; u) J6 H. _0 _SJMP START! y2 a/ V. }  @7 J3 ?' f, N
ORG 0BH2 r3 T" T$ [, H/ }
LJMP INT_T0
6 c- Q# `: c  n2 Y8 V( h* d0 r8 QSTART: MOV CNT_A,#00H
6 q: Z& a0 p% I- p9 `7 M            MOV CNT_B,#00H
. N& B7 ]  U9 O5 u( F# s* f2 Z            MOV KEY_CNT,#00H
6 \& u  i9 E* s' E0 Q  G! u% {6 i            MOV LINE,#00H
$ F! `# |, i0 `; J            MOV ROW,#00H. q& w5 @) K$ ^! a! {3 P8 n
            MOV VAL,#00H
2 U1 Z5 F& P: X, V8 A' \4 z# d            SETB P1.0
  w% p& i! H/ C* X            MOV LED_BIT_1,#00H
% A9 Y6 y6 W  i& t2 T5 p            MOV LED_BIT_2,#00H
" D9 E2 o* z8 _( f            MOV LED_BIT_3,#00H- Y3 ?  y- S) [6 @/ {; P
            MOV LED_BIT_4,#00H
2 b1 i+ V1 m; A, A            MOV LED_BIT_5,#00H
8 H0 j1 e' d5 H2 Z# b8 V            MOV LED_BIT_6,#00H+ D  r* K; K. a/ ^
            MOV LED_BIT_7,#79H# R7 h- W4 k% ~. t0 p/ Z
            MOV LED_BIT_8,#73H
, k' D& k  Z" J  `0 _            MOV KEY_1,#00H
& b1 |! z" Y+ U. V* @# U            MOV KEY_2,#00H
9 q5 ^% z! y* [) x            MOV KEY_3,#00H
  ]& z  j1 w" ^( w            MOV KEY_4,#00H
6 L! y- n' q% ^2 d  }            MOV KEY_5,#00H
4 w) h& P0 c6 S5 }+ V# h0 v+ O. V            MOV KEY_6,#00H' [3 C7 n. a8 Z! o) J
            MOV WORD_1,#69 a6 R8 a# X/ ~
            MOV WORD_2,#5
. o4 `7 J3 n3 B% u" `            MOV WORD_3,#46 t) F& ~; P& N
            MOV WORD_4,#3! y  K' b' U) p
            MOV WORD_5,#2
8 F# t4 e& T# T) T            MOV WORD_6,#1, f# Q' F; \1 v0 E
            MOV TMOD,#01H: m9 a- ?& R# ^1 L5 D
            MOV TH0,#(65536-700)/256
3 O- q1 X$ H; T* j9 U  w1 P            MOV TL0,#(65536-700)/256
3 X3 f7 f8 m/ R            MOV IE,#82H
$ i: p5 T* I- s3 {3 \& SA0:       LCALL DISP" I3 K: |& `3 j+ @% j
) E& V+ _* R1 n# C' J2 J0 F

! a) y; ^( ^4 `" O+ u& x: SLSCAN: MOV P3,#0F0H
( n, w3 k( W* x* k" o7 mL1:          JNB P3.0,L2
: p1 y8 Z1 H! |6 j1 P0 m0 v             LCALL DLY_S5 t2 U% b9 @2 W9 b; j& Z: n
             JNB P3.0,L2
) h' w! ?: E1 R- `3 D             MOV LINE,#00H
0 h2 G  W0 }  `* X) m             LJMP RSCAN
$ d" {2 s& D8 I2 B1 q# yL2:        JNB P3.1,L3/ z: q) G3 w) i- W, x" ~0 A
             LCALL DLY_S  g* P$ f/ `; P$ N  U' A0 k- V
             JNB P3.1,L3
$ U6 K; H3 R( g- u+ \             MOV LINE,#01H
# X& _# x2 E5 h! Q- s; Z6 {9 x             LJMP RSCAN7 o/ v* a. D! d! }8 |! ?
L3:        JNB P3.2,L4
! v4 @- ?; m( B& n             LCALL DLY_S  I% k5 G4 A0 ]$ h2 |
             JNB P3.2,L4- b, B& q- N4 h4 N
             MOV LINE,#02H
1 N; U6 p- |' ~) h6 s             LJMP RSCAN
) K+ B: ]( R0 S" U6 u: YL4:        JNB P3.3,A0, w) `0 ^" ?7 c' c
             LCALL DLY_S/ Z( I/ Y) x2 j' }! L& U7 V: ^0 O
             JNB P3.3,A0
3 T: ]2 Q1 m1 A! O             MOV LINE,#03H
/ [6 O. N" W5 n  L2 e) ?# T" z6 M8 N# {% e& B3 [
( Q. K* C! ?/ i$ c/ O8 J  m
                RSCAN: MOV P3,#0FH+ c! q9 D. R2 K
                C1:         JNB P3.4,C2( |6 C( ^0 {  T" a! W1 D
                             MOV ROW,#00H
' ?7 B6 L4 [; R                             LJMP CALCU
: F6 ?6 U4 `; D/ i, D( z                C2:        JNB P3.5,C3
- ~5 b4 J/ J" z  Z6 P) V; x( p0 z                             MOV ROW,#01H& b0 T9 W4 i  ]* g9 @0 b
                             LJMP CALCU) Q+ S" c; j" V+ w/ N
                C3:        JNB P3.6,C1
! L0 e! a  P, v                             MOV ROW,#02H
% o- ?  X/ v' S                CALCU: MOV A,LINE  T; q# k: _' t: E9 H; W# F
                             MOV B,#03H/ a# R% N( Y' w3 V: z
                             MUL AB% }4 U( n0 C& ?; L1 e, V
                             ADD A,ROW
/ J, P4 ?, _, ?$ J# m  `7 f                             MOV VAL,A5 j: C+ k$ ~5 a5 O
                CJNE A,#0AH,J1* P2 t' w# o' o8 i0 h
                     MOV R1,KEY_CNT
; ^( H3 g8 n# Y# P; p5 R7 D+ O                CJNE R1,#00H,J2
/ T8 n  x$ H' T6 _" V( u                LCALL ALARM_1
( u. N! M9 l' M                LJMP START
5 F' B: G$ P; N* k7 c2 v
# s0 Y1 ^0 Z2 }; o+ \1 R" X) r! u+ u4 ^% M1 m
% M& z! T+ r8 i) w& s' ]  x6 Z/ D
J2:          DEC KEY_CNT) O& u, Q' |' F- |  C: A4 S
- G% A- W0 q8 O6 p& ]
      LCALL SHIFTL2
$ T; \' h& S4 y" o4 l, h# b5 K6 Z) O  L

& Q7 d6 E5 q: v6 H/ f* h$ K
! c, S: a9 V5 V/ R8 t: z" H9 w7 ?! q5 p+ h+ s9 L

2 B, C8 K! L; J' {
( V/ v1 O' G* \! Y7 NW00: LCALL DISP( v( l9 d3 [) o
           MOV A,P33 W$ [, F: Y  h
           CJNE A,#0FH,W01
' t- T- R9 ]7 u% q: t           LJMP A0
& i  x& r7 q# [W01:   MOV A,P3- _, ~& J; U& l6 p0 N
           CJNE A,#0F0H,W02
8 L( a! g& E; |# H- o3 r8 s2 D3 X           LJMP A0
) G/ X2 B* G8 k% X3 L$ q! MW02:   SJMP W00
; G0 }# |) Z, JJ1:       MOV A,VAL- X6 j8 P5 V& }, g  W; x8 t. y$ I
           CJNE A,#0BH,J3, Q* N( }& d! g! [' k  C8 N8 F
           MOV R1,KEY_CNT1 H$ n, r8 l( u2 W$ g. p
           CJNE R1,#06H,J4' `0 Q# B! d8 y2 k" ?" @3 C
           MOV A,WORD_1, L  T, W/ I# @2 A) T+ e5 v+ w  m$ u
           CJNE A,3EH,J5
% l+ P- H) r( P9 F3 p. @; N           MOV A,WORD_2& ~$ ?5 {$ Z7 I1 s
           CJNE A,3FH,J5
# y$ H* _0 O- u9 K- E9 R           MOV A,WORD_3+ P3 _- W0 o" ^
           CJNE A,40H,J5
2 |0 b+ U9 g- `$ Q           MOV A,WORD_46 G2 W# U) U! J" W
           CJNE A,41H,J5  y! _3 l6 H% `* o4 Z# X2 a. {
           MOV A,WORD_5
+ b6 P% j( c' c7 {0 j( C5 z+ n           CJNE A,42H,J5- z  U9 o/ b4 d6 m0 e1 U- g0 K
           MOV A,WORD_6
+ g" X# w4 K  B9 x           CJNE A,43H,J5
$ l9 j2 s' v6 v4 E) B# h4 z           CLR P1.0% H1 u( ^  N. s7 \+ b& [1 X* l
           LCALL DLY_L
8 Y1 q. a  F) h- V0 |- ~) _           LJMP FINI
" o# d  D& ]7 Q- p' u' }J5:       LCALL ALARM_2( C6 i" X, i8 D7 \, H0 m+ }
           LJMP START7 E. Z" G( K' _# M( c" {
J4:       LCALL ALARM_1. d9 }0 p4 y, Y2 N( x. U; X5 m
           LJMP START
# h& H7 }/ ^. R$ L2 @  jJ3:       INC KEY_CNT
+ T8 e% N* P- e. h) S6 c" D           MOV A,KEY_CNT9 @7 W, r1 f1 I& O
           CJNE A,#07H,K1
% X8 Y' M6 r, a4 Y3 r2 l; c% E# S           LCALL ALARM_1, F% w6 }, ~% R" o5 _4 w- X8 T9 ^
W10:   LCALL DISP
- ]9 Y( T* F4 `9 Z+ x& L           MOV A,P3* l5 `8 W2 s. U* r/ P% ?
           CJNE A,#0FH,W11) k7 u4 j8 j: W$ h$ z2 B0 \
           LJMP START
# X' R) @; Q6 r" rW11:   MOV A,P3/ k% ]: i0 r/ P
           CJNE A,#0F0H,W12; q; T0 n  H5 y) Q0 v% |; K
           LJMP START
% j9 J- T( P* f% tW12:   SJMP W10* h. E' j% i, A5 R  L. }( Q2 m
           LJMP START
, \  K% ~% `$ D3 @" S; s8 C           LJMP START0 ^" J4 S9 r, l  _+ |- {
K1:      LCALL SHIFTL# }4 j" L) y3 u  Z7 T* c
W20:   LCALL DISP5 L7 k; P, {. b5 c
           MOV A,P3
5 {$ v  v, I! U8 I           CJNE A,#0FH,W21$ N; j) K! U$ b$ p9 r; T$ D
           LJMP A0
1 r5 h9 W  Y" J  n& u2 _W21:   MOV A,P39 a/ d' o" S5 d6 z+ o
           CJNE A,#0F0H,W225 e$ y( k  _7 o: M* {+ t8 J
           LJMP A07 `4 i3 T4 }/ ?( S. P
W22:   SJMP W20
. J3 L, f: f3 [5 D% ]/ D           LJMP A0) H( z% {4 E# R+ u, n) E" Y; V' F
ALARM_1:SETB TR0/ {" ?% e! t5 ~6 K$ m. q
                 JB TR0,$
4 j7 }$ `- f( [; u9 ~7 Z                 RET; I: o6 n5 _, M/ A  ?" F+ L/ x
ALARM_2: SETB TR0) l  e$ {. [' \/ h4 ]; I3 {" O
         JB TR0,$" ~: S, e  J( l& z) n* D; G4 f
         LCALL DLY_L( k/ i% Q3 ?0 N4 s0 O
  RET
/ i4 V: u. x% z: D+ O6 \  A
4 ^4 M  [8 i# C. cINT_T0:CPL P1.7; Z/ A7 n8 n# I# m9 r9 K
MOV TH0,#100
. c$ Q6 u8 Y, k2 B1 v  N4 y/ VMOV TL0,#253$ R: w: c1 G0 l2 q% t
INC CNT_A* `4 z# m1 [$ s/ x  W' I
MOV R1,CNT_A; R: y' }+ y4 u2 M1 Q
CJNE R1,#30,RETUNE8 S7 Y8 u! c5 F
MOV CNT_A,#00H& x* y5 T/ L# k: c
INC CNT_B1 i5 o# P& q' X, f, J
MOV R1,CNT_B
# L7 V" w  d. O. N, zCJNE R1,#20,RETUNE. F" T! ?% `! _
MOV CNT_A,#00H8 ?6 w9 t" @+ W' y5 x9 e8 b
MOV CNT_B,#00H3 I6 S* N7 q' y$ E, s
CLR TR0% t: M- p( H0 M" t0 }8 P
RETUNE:RETI' r" @2 K4 u+ z) Q9 D) [4 i) c
2 F6 i$ }& _6 d

4 w  [# _& t$ S* \0 `SHIFTL: MOV LED_BIT_6,LED_BIT_5
! A4 n7 }0 Y- J# W        MOV LED_BIT_5,LED_BIT_4. ^! N  r: g9 f
        MOV LED_BIT_4,LED_BIT_3
5 W5 x/ Z. j% ]: _                MOV LED_BIT_3,LED_BIT_2
/ E$ ]$ a9 @, Z; ^" x+ ^3 Q( O3 x        MOV LED_BIT_2,LED_BIT_1" g6 s+ ]& U0 y' ]7 [
        MOV LED_BIT_1,#40H  |% @5 a$ C! b+ y
        MOV KEY_6,KEY_5
& r& B, p* G8 R5 z0 I        MOV KEY_5,KEY_4
$ o6 @  V: O! a. y5 g) l        MOV KEY_4,KEY_3
% m: ]9 Y# a# W5 |        MOV KEY_3,KEY_21 b  I- ~/ ^0 Y8 d
        MOV KEY_2,KEY_1
* _0 j# x+ C  Z        MOV KEY_1,VAL
* Q, `' o" T! m  MRET, I7 T. |( H7 l; q

; h. j6 `3 c  v# e3 ]6 c+ e1 B% m

& m& T5 q$ ?* ]$ s4 c
0 j  r) A/ M  ~        SHIFTL2:) a. K0 d  r0 d
' z$ R5 y, F3 F$ E/ |
                MOV LED_BIT_1,LED_BIT_22 `( V; k' r" T, T
                MOV LED_BIT_2,LED_BIT_3
/ _( ^: g- h1 R* W) J                MOV LED_BIT_3,LED_BIT_4/ m# [! ]; e" f* t- G7 I) R
                MOV LED_BIT_4,LED_BIT_5
9 v% p; |6 c0 C( n( ~: b                MOV LED_BIT_5,LED_BIT_6
4 V9 K9 x, ^+ C0 h- A/ f                MOV LED_BIT_6,#00H! d. f" l! w1 q: E% i
                MOV KEY_1,KEY_29 {! K! [( r2 h+ o# p
                MOV KEY_2,KEY_3
" _8 S) J  ^) b+ y                MOV KEY_3,KEY_45 i( x6 w7 g3 L) k
                MOV KEY_4,KEY_5
  f+ u: J9 k( A2 Y& M1 f* h                MOV KEY_5,KEY_6
" E! @( B, t4 T6 p4 X( N                MOV KEY_6,#00H  b/ f2 z# F- S/ |0 M

* s, D3 a& C( q        RET* `5 |, n' f! l
9 X* |6 D* [% {  x/ @

3 c: ^- x8 ]* U+ c4 tDISP:CLR P2.7
8 r' g4 j) i. y  n+ I$ u     MOV P0,LED_BIT_8
3 O9 N" h! N2 A& a* s  P" {+ t8 A+ Z     LCALL DLY_S- R' \4 ?2 Z2 r
     SETB P2.7
3 m) j. u6 P5 N     CLR P2.6
- i4 N9 G2 A+ K1 _( ^# V     MOV P0,LED_BIT_7
/ `" c* s7 Y3 v+ }     LCALL DLY_S: x; t$ V, r# S# k+ b& ?/ M
     SETB P2.6
. S2 O" ~1 h! u5 F8 y: p     CLR P2.51 D& `6 j" o$ Q3 j: ?8 m7 P
     MOV P0,LED_BIT_6
% Z( V# t6 r  ^& r2 B, \! w( r     LCALL DLY_S# g" L: H- M& g; X
     SETB P2.5
8 X3 y0 Z% _, k" O4 Y$ Z, i" L: d& k     CLR P2.47 [; Q4 T1 F, V* F/ l
     MOV P0,LED_BIT_5
" I! |! U9 i; K2 y5 h5 }/ p     LCALL DLY_S
+ _3 N: X  @% }, ?' b     SETB P2.4
$ s2 s+ O" n: Y- D; G+ J8 H     CLR P2.3
9 N) u; p% f5 U2 O     MOV P0,LED_BIT_41 M8 c5 T* o% p6 E4 j
     LCALL DLY_S
# k( u/ G: J) i2 J     SETB P2.3
& d/ J' x. l- I     CLR P2.2. w& p# m  I6 W) G& v8 ~' d
     MOV P0,LED_BIT_3
/ w0 R" T' r; t! ~     LCALL DLY_S, |, {& l, A, h4 P/ }+ A
     SETB P2.2
3 f0 j7 q+ p5 }3 O     CLR P2.18 g, n. A$ W' X+ l7 v8 F
     MOV P0,LED_BIT_2
6 p. p+ p# g% N: r) _     LCALL DLY_S1 O" L4 R, m* e
     SETB P2.1( v% P4 |7 R8 S* z: s; A
     CLR P2.0, R4 J3 Z4 }: A; |# z
     MOV P0,LED_BIT_19 r( N" b4 }% ]( D. Y
     LCALL DLY_S
* N% m  |8 }( j; S# _5 T! L+ c     SETB P2.0
' ]/ U# i9 W( q6 i     RET: U- e; \0 g: ^+ k
        DLY_S:MOV R6,#10
+ B. q; o3 C6 |- @        D1:MOV R7,#2504 @3 y, D( }1 [
        DJNZ R7,$; ?# i1 I6 k9 d' F0 w. T
        DJNZ R6,D1& a* ], x$ B6 _* }  u+ l8 p7 T; V: }( D& S
1 c: p3 B$ d) I$ Y0 }) M8 j9 \/ a

6 ]0 g9 a& J7 Z% w  a- A! {…………限于本文篇幅 余下代码请从论坛下载附件…………
9 I! Y- q( ?) k) _
: t1 S( s  \$ q3 W
( k# ^4 P1 h) p5 |% ^

作者: gaoxings    时间: 2018-11-29 10:07
学习中 谢谢分享
作者: Dc2023122266a    时间: 2023-12-22 23:12
1




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2