|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机密码锁proteus仿真和汇编语言源代码 数码管显示2 F; g" t7 C6 E3 K6 Z
( J2 Q. v; o0 x3 {( j' m$ ]单片机汇编语言源程序:
- {/ c7 N1 O% n1 s3 p' h LED_BIT_1 EQU 30H
% |" s1 i! `7 I& F5 s6 V0 h$ T LED_BIT_2 EQU 31H
7 q2 R6 W7 v; d LED_BIT_3 EQU 32H
, {, b8 M: G1 P LED_BIT_4 EQU 33H: k0 z/ w% A, {: O! s# }; `8 C
LED_BIT_5 EQU 34H# x8 d U9 p' W3 N* w8 `- J# F
LED_BIT_6 EQU 35H. Z6 m& h: Y/ i- m! m
LED_BIT_7 EQU 36H( J( c5 I$ U4 r3 K
LED_BIT_8 EQU 37H6 i1 `, z+ X# D8 u) a0 i
WORD_1 EQU 38H
! B1 N! h9 b' g3 z3 AWORD_2 EQU 39H6 \0 S0 y. J, {3 x& V( f
WORD_3 EQU 3AH2 s3 K) H$ a8 ?; v- P
WORD_4 EQU 3BH
' i0 }% M8 p" j# O5 ^4 W+ p- G( NWORD_5 EQU 3CH
2 r) _# I% U9 e" zWORD_6 EQU 3DH; Q" |4 U. g [% e
KEY_1 EQU 3EH! @: d2 E; E* L# x, s6 a
KEY_2 EQU 3FH
6 P$ Y2 Q3 s6 N3 rKEY_3 EQU 40H1 h8 X( _2 _+ S1 Z9 ?
KEY_4 EQU 41H
) T8 C0 B3 _0 G5 G+ `( l8 CKEY_5 EQU 42H
0 z3 i, W) E1 B' j6 _; W: V& uKEY_6 EQU 43H/ Q" D# x( h- Z
CNT_A EQU 44H. t0 D/ w5 R* i1 B; C( _
CNT_B EQU 45H6 ~- t! P! S+ \+ i
KEY_CNT EQU 46H
* f' d6 ?: m0 Z- a- hLINE EQU 47H
" m' C' W3 N0 ^& o$ O7 GROW EQU 48H( P [6 l# l3 L2 ], o/ B4 ^
VAL EQU 49H
' i* h# y7 [/ J: a# a6 s* [ORG 00H
8 F2 ?: U2 q& kSJMP START
' D# M. v5 i: _- G" d/ p7 oORG 0BH0 |3 ~+ u1 U( |9 G) e! h ?1 c
LJMP INT_T0! O4 b( e- a9 G9 E; z4 v% z
START: MOV CNT_A,#00H
1 `% _& T- Y: n# S0 {6 U! M/ J MOV CNT_B,#00H3 A( @/ i9 ~- _; v8 u
MOV KEY_CNT,#00H
. @+ y5 ^6 C# y. p9 E8 z+ c/ Q [ MOV LINE,#00H5 ^" X' n6 v; k: ~/ H1 `9 _
MOV ROW,#00H& G5 x3 ~5 r1 m& x) i! h, I# }
MOV VAL,#00H( f& T: B* g" l2 g
SETB P1.0
% s9 e5 I, }6 |4 Q' L2 V MOV LED_BIT_1,#00H; ^" v" T, R+ S7 ?9 y: A3 V/ h8 X; o
MOV LED_BIT_2,#00H% U: a) R7 A, }; O) y; ^
MOV LED_BIT_3,#00H" }0 L6 @/ h( g6 N5 n" n" c4 m
MOV LED_BIT_4,#00H
7 b1 I3 W' |6 ~! k$ W MOV LED_BIT_5,#00H
/ M8 l) a0 _! Y( F8 @& n2 O MOV LED_BIT_6,#00H
+ O- d1 ?( D( h# ]$ w MOV LED_BIT_7,#79H& ]- i9 c8 c. ^
MOV LED_BIT_8,#73H
( J: a+ ^1 X0 k0 n MOV KEY_1,#00H1 J( B: I( k+ G$ |7 x4 R( d$ l) L
MOV KEY_2,#00H. y2 b' d: _# s" H7 N& p# C- U4 I! F
MOV KEY_3,#00H6 }# ^ \9 z0 F6 M, _% R
MOV KEY_4,#00H: q6 [; B/ r2 ]" M
MOV KEY_5,#00H
) c- W& K1 I/ `/ R) e MOV KEY_6,#00H
7 @0 a) d, K* d1 j' S& X MOV WORD_1,#6
& ~$ o T& Y! m w. w- J MOV WORD_2,#51 `0 e1 J/ ]; E. B# c6 [$ j0 Y: X
MOV WORD_3,#4$ K, q1 e4 L% c0 K8 R* H! B
MOV WORD_4,#37 ^" j1 o9 X" U' }, D! l. _
MOV WORD_5,#2 s; E+ h! C7 _
MOV WORD_6,#1
% z- v# X- X* _0 p$ o: s0 I+ U MOV TMOD,#01H
# ?7 V; \, B1 k9 |! F! _; j MOV TH0,#(65536-700)/256 k5 x p" b2 i5 B
MOV TL0,#(65536-700)/256 H" I* ~5 N5 Y
MOV IE,#82H
6 u5 Q1 R/ d9 S$ _A0: LCALL DISP) P+ k7 c* @; `
" ^( b0 Q. q( Z" F" R8 l7 e3 c4 a4 e& g
LSCAN: MOV P3,#0F0H
, y. R& E' F, q" \8 dL1: JNB P3.0,L25 X& f& m' d4 n/ `' @% B$ P& L% {
LCALL DLY_S
" }- o/ n# c3 X# R: Y1 V# ]5 p JNB P3.0,L2
3 G! B! m2 n# O/ ~ MOV LINE,#00H
$ A3 C6 o5 k1 G* q8 m5 }0 P% g LJMP RSCAN' @' s- W2 {/ N6 ~) d) y9 D! E/ c
L2: JNB P3.1,L3- t; a/ T7 f" ]# O$ ^
LCALL DLY_S! O4 V7 A: I, H" T" ]# A
JNB P3.1,L3( A$ P' `6 ?: s# b, i$ f5 W+ A3 z
MOV LINE,#01H, t0 @& p2 _6 g: _ Z
LJMP RSCAN3 X) @$ _! l9 q/ V3 `+ i
L3: JNB P3.2,L4. |' y1 j- f& l/ P. X- r2 O
LCALL DLY_S0 Y+ a' z, o9 J# t6 K. \
JNB P3.2,L4
; U1 W I! v O7 C2 `- E+ H MOV LINE,#02H# U7 s; B8 K; T. e, m) Y4 m
LJMP RSCAN1 L6 K8 n) {" a+ h, I' w
L4: JNB P3.3,A0/ f( [0 }9 z' [7 j! y
LCALL DLY_S, [* b9 n) w$ y
JNB P3.3,A0$ X4 f% _, A% b7 [6 g. I
MOV LINE,#03H
& c& j. a* R& x2 v3 _0 T& j" V3 G
: b: R' q/ K9 y; o; Y" {( x, I
RSCAN: MOV P3,#0FH
0 Z9 Q; ^7 B- N4 W9 X C1: JNB P3.4,C2
2 S# ]' {5 I; k: R' J MOV ROW,#00H) V/ ~7 z5 c& J0 ~% V! ~
LJMP CALCU1 p; Q, P: Q c
C2: JNB P3.5,C3
- Y6 y f) |! Q! V8 ~+ c; x G MOV ROW,#01H$ n6 e O) K# s% O$ ?
LJMP CALCU6 e5 R$ C' `( C) d6 B: q) N- @
C3: JNB P3.6,C1) X& j' Q% S: v0 \
MOV ROW,#02H" |- H) G" m0 H
CALCU: MOV A,LINE
' k/ \8 s% G. Z2 Y6 ?( r MOV B,#03H
6 a8 T) [2 v v- m" X& \1 `9 U MUL AB9 I+ W, w- R$ Q7 g, z
ADD A,ROW. a7 p! V) b- M; m
MOV VAL,A: `, }' e$ z, V. w0 \
CJNE A,#0AH,J12 D: j: H* l! l( H! a2 c' y. F+ X! I, [6 F3 l
MOV R1,KEY_CNT& X, ?9 r% p# o
CJNE R1,#00H,J2
5 N! l7 e+ B0 r2 n" ~ LCALL ALARM_1
! ^+ M7 @& p8 q0 \( ^# J+ g* j# ?5 R LJMP START$ i ]" R# y5 k: l
: ]8 A; M" g$ B- W3 [, x' L
! s5 u6 I- T! \. q9 _8 n5 D
* T4 V+ V U* R
J2: DEC KEY_CNT
7 y0 _1 M1 m# \8 f3 D5 `+ ^
" I3 V* ?6 m3 u- n! |# N. Y1 i LCALL SHIFTL2
& ]1 u% k" U( N- N! S) J6 X: G" v3 d; f8 b, L
4 f7 N( |; y! P; q. X) f' Y- J4 e8 l1 j5 L
) e% y5 e6 K* i& q: Y
1 T$ a. R! ?) _) Q2 k) a
' R) T' z: K. i& t. F" g& _, uW00: LCALL DISP% Z6 ] U% T# N5 z0 V1 R
MOV A,P3( V- I4 |9 U( t" S5 G) w% n
CJNE A,#0FH,W01
8 V* d4 A- m7 Z- V$ m: o, }1 i LJMP A0
! I/ \8 z7 O- u6 ~+ sW01: MOV A,P3
. c9 Y, K0 C1 I7 x9 l# e; A CJNE A,#0F0H,W02" V- u7 X% L$ R }6 ?& S" |4 ?
LJMP A0
1 C" _7 ^) T8 r z0 W8 p. w3 d/ fW02: SJMP W00
; q+ g% o6 [' a G, [: _- lJ1: MOV A,VAL
6 G& V) s( w. N/ v2 m CJNE A,#0BH,J33 S" p( O& t' y* U2 x7 ]
MOV R1,KEY_CNT
+ R. v6 H: H7 a! k- s CJNE R1,#06H,J4
) D" T o' Q( X6 J X MOV A,WORD_10 j& i1 @4 \- B/ s! m! S1 D% m- |; }+ d
CJNE A,3EH,J5
6 o6 B7 C! p0 ~ a MOV A,WORD_2
) W( G- I7 n7 K/ n9 K; s- @ CJNE A,3FH,J5
8 z+ `/ R+ Z* Q! w9 O& H MOV A,WORD_3& m, M, H2 U- g! q1 Q; m+ |
CJNE A,40H,J5
4 [2 B; F& ~0 x! B- P/ R0 g, H MOV A,WORD_4
4 H# B9 \% E9 a8 y' L CJNE A,41H,J5- B2 ? {* V0 ~
MOV A,WORD_59 d- F( ^6 t; P z5 y) g
CJNE A,42H,J5
7 d: l4 r9 H7 z- q" P7 P MOV A,WORD_6
* _) }+ B6 m, ^ CJNE A,43H,J52 E! k/ f8 r) Z2 _
CLR P1.0
/ h/ O& U1 P. U1 m$ j LCALL DLY_L
2 }0 a9 a' a5 A" m; h LJMP FINI7 l% i/ M( B+ V0 K; D ^
J5: LCALL ALARM_2! h4 f, a/ b/ k2 r6 M# c
LJMP START
- R% M5 W8 \3 {6 p# }; yJ4: LCALL ALARM_18 U) u. K% R2 {' X3 Q0 B
LJMP START$ P# |6 U7 i7 D9 d- p$ m6 |) ^# I
J3: INC KEY_CNT
! r" [; O7 i# u3 F2 P MOV A,KEY_CNT: ^+ `5 v. L- D" g u3 `5 h1 @
CJNE A,#07H,K1
5 N( M5 E. z; h4 N v LCALL ALARM_1% h# \ I; b8 d
W10: LCALL DISP
9 ~; F) } A5 H9 ?/ `' w; T8 u MOV A,P3( B' M8 H3 [ Q& H0 Z% Y1 F+ S# C3 q
CJNE A,#0FH,W118 M+ x+ n! ]* U; D
LJMP START
. a2 |- B8 \3 g) l, e* n5 S0 E$ z# LW11: MOV A,P3
+ B3 J! y9 H7 S I# K CJNE A,#0F0H,W12& S- W! l) q! {2 V5 Y4 @9 y+ x
LJMP START
5 P/ z1 T% q t( B; H1 T! }W12: SJMP W10+ {' E& ^9 s$ e
LJMP START
0 n( B) i/ O. b( s LJMP START
0 d/ x0 d9 c9 {. C- G* u MK1: LCALL SHIFTL
3 R+ K' M# r" ^6 EW20: LCALL DISP
6 ]) \6 E8 k! d, V8 } MOV A,P3
& n& O9 j- V3 g; M) B. b+ \5 J/ K CJNE A,#0FH,W21
) ?/ s# g0 A! A6 i* `2 ~$ w, K* J) | LJMP A00 r! C T( h, v$ }1 s
W21: MOV A,P3
; |" K( A: _5 r" t [! b CJNE A,#0F0H,W22
s7 a& W$ R. u8 B LJMP A00 @4 f" ]4 V5 Y! N" g( A
W22: SJMP W20
) Q% D, q3 J! \ LJMP A0
2 B# k# ?5 q4 G9 e' K, YALARM_1:SETB TR0% M K5 H, q' H; `# w, |
JB TR0,$
- R1 S2 d: R9 t3 A0 O/ V RET+ _7 I$ \( M& S( G$ b
ALARM_2: SETB TR01 M R/ C" a2 _1 y: n- q
JB TR0,$8 b( N0 U. }9 q
LCALL DLY_L9 [; L1 ]4 N- g2 a S4 {
RET
4 T# }3 ~1 j6 [% L7 i' {3 v1 Z
- d& T+ A) b2 }3 z4 gINT_T0:CPL P1.7- j$ k8 P5 R+ z4 J
MOV TH0,#100
& k: S5 _' L+ s) l) l8 p! y0 bMOV TL0,#253
4 E! N+ A! q$ O9 u0 HINC CNT_A
; E% K" Z% A( t" c; e4 i5 |MOV R1,CNT_A
. i0 l5 t; ]$ y' L HCJNE R1,#30,RETUNE
7 [+ C% e7 U- V+ y+ @MOV CNT_A,#00H3 R# {5 O0 d* y2 R" y
INC CNT_B
! k/ j; c. C# ?! l- v4 I4 z9 jMOV R1,CNT_B" ~, r5 M6 O1 A# k$ P
CJNE R1,#20,RETUNE
; Y4 L6 k4 y. W9 VMOV CNT_A,#00H% I \4 l. \/ @' {) U2 U; b
MOV CNT_B,#00H5 ]7 X: u- N6 Y1 F' T
CLR TR0
' l8 |/ ]( j3 }. LRETUNE:RETI% a i, o8 J: m0 l. ]5 {# A4 W
" }" o# _2 R3 ^6 v9 Y4 D) f
9 r# J# C* o6 ?/ [8 l% P
SHIFTL: MOV LED_BIT_6,LED_BIT_57 M% K/ C7 q8 `
MOV LED_BIT_5,LED_BIT_4
' M5 U9 A: W- R/ y7 e$ ~ MOV LED_BIT_4,LED_BIT_3# I) M2 D6 ]7 k. t: D
MOV LED_BIT_3,LED_BIT_2- b* M1 f' a: u0 h
MOV LED_BIT_2,LED_BIT_1
$ t0 b" E. m, R) _! g MOV LED_BIT_1,#40H6 g O. i D3 T& A# b/ M( P# `: h; {
MOV KEY_6,KEY_5
: Z* X/ r2 |8 L x, i MOV KEY_5,KEY_4- N/ S% m2 J8 v) F
MOV KEY_4,KEY_3
( H) |) z; J5 W$ g# d MOV KEY_3,KEY_2, i6 g8 e$ f' R; g; q
MOV KEY_2,KEY_1' E4 d* D/ C0 K. W0 F
MOV KEY_1,VAL
$ b% ~+ P- P- n5 u$ k; b1 GRET
/ Q' s: U% \1 \/ Q. k2 w: i
% g- H9 t- y, n& o. |4 y- r) a$ x
. W6 ]. z% h" U! X' |4 E; j
: e2 G) l: r" B- u( \$ I, R5 ` SHIFTL2:: H) H) ~6 J4 r% v2 Y& D0 \4 J( [8 L
! Y+ K2 c+ C- y0 w MOV LED_BIT_1,LED_BIT_2
( _/ P0 N; e0 P3 G% [ MOV LED_BIT_2,LED_BIT_3
. c0 c: a) p/ L$ R MOV LED_BIT_3,LED_BIT_4
: T/ j- w1 b$ H$ I. \; o MOV LED_BIT_4,LED_BIT_5
9 X0 b1 j5 j) G6 r, T MOV LED_BIT_5,LED_BIT_6
; L% }, {4 {" V( n, B6 k7 B MOV LED_BIT_6,#00H
# |% i2 t6 b1 v1 T1 { P& M9 G- W MOV KEY_1,KEY_2 L- L1 `2 i% b
MOV KEY_2,KEY_3% P8 U( n% G4 Q2 R! X
MOV KEY_3,KEY_4
6 O2 s' v' `/ {$ X MOV KEY_4,KEY_5
6 @( |+ E# |' A MOV KEY_5,KEY_6
& \- |! R5 X/ w MOV KEY_6,#00H
4 G0 j0 B G( q) h5 S: |+ H6 L" ?. S( ~5 {7 O
RET
! a" R- C2 F8 y9 m! Z
; D% }/ p* I/ F$ {0 V
. n }. `) `5 [* o( ?3 Z3 ZDISP:CLR P2.7
1 M5 U6 Y* Y5 D MOV P0,LED_BIT_8
4 ~5 o1 R @9 I |* U LCALL DLY_S
( m6 j' ], T7 f0 x SETB P2.7
8 s5 C; ], ^; E* q CLR P2.6
$ N, x6 W; p* g, S+ z6 \ MOV P0,LED_BIT_7
& `5 [# n0 n7 G4 Z/ Z+ m N LCALL DLY_S
4 T; E8 C; I" E! q SETB P2.69 B( {# M4 C. v* k
CLR P2.5
# ~/ R. ~: I2 B5 w5 d! c MOV P0,LED_BIT_6; r0 w) H3 u% `% I6 y0 @1 a
LCALL DLY_S9 a+ }/ C9 W# R& I2 P: K
SETB P2.5
0 p& b. i: p) j* O! ]% t CLR P2.4, h9 t1 D5 F ]( E# q! A$ G
MOV P0,LED_BIT_5
- G! j3 J p. p( H LCALL DLY_S! W4 i E; d7 v. F- F9 V; [
SETB P2.4
# L: L( d5 ^$ T) ]3 A1 O) X- g CLR P2.3, r( }4 m9 o' S" M3 P* q. p; t
MOV P0,LED_BIT_4- N& w( p- b% C* u* W
LCALL DLY_S- A% y b3 C7 f3 i5 w7 r
SETB P2.39 N* K- [3 e2 G. @3 r, f& ^' X
CLR P2.2
" w$ x4 Y! I5 a9 t: D" ` MOV P0,LED_BIT_3
. J, ]+ v; B8 h5 z LCALL DLY_S
$ ?6 o- H1 g m, `$ ~+ s. [2 a. \ SETB P2.27 |$ p1 q2 A* p2 U
CLR P2.18 W2 ]6 X6 g6 W
MOV P0,LED_BIT_2
8 Y) t" ~( L/ w/ H* ^3 r) l LCALL DLY_S
8 `+ _& c/ G6 s$ x8 ` SETB P2.1
7 @9 r' K8 P- t7 L CLR P2.0 {1 M* ^ Y+ p* B& m- e2 T
MOV P0,LED_BIT_1$ v+ s9 d- }- G
LCALL DLY_S
2 c1 G/ {; o6 N0 v9 Q2 H0 D: ~ SETB P2.02 s$ n1 z3 l- ~# X- q
RET' N. G- m& D7 r3 Y. z& D
DLY_S:MOV R6,#10
|0 t' r3 B/ H! e7 {6 Z D1:MOV R7,#2504 _% i( E+ ?; _0 s6 J' c3 ~4 Q
DJNZ R7,$8 g& w1 J/ }/ }+ ~
DJNZ R6,D1
4 v( L8 Z/ ?) B, c
. j. o) b& ~* v/ K! F
3 K4 m0 G( p9 P9 t! c/ ?…………限于本文篇幅 余下代码请从论坛下载附件…………
1 ?$ y) a3 y# S( k; ~* G( m4 ^ x
0 I E. K8 w& p$ Z, W/ g' H2 k1 P% c
|
|