|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机密码锁proteus仿真和汇编语言源代码 数码管显示: ^$ O% i7 \! [* f- N) O
5 _( O1 V$ K- j! d5 r单片机汇编语言源程序:
( _# U" F) i* v* ^! G! ^& J LED_BIT_1 EQU 30H' B( Z+ r4 H) X8 b
LED_BIT_2 EQU 31H* u9 e0 [$ P# G* M! i$ q
LED_BIT_3 EQU 32H3 u& y( Q8 }. o! j: b1 t
LED_BIT_4 EQU 33H
" H/ ]4 H7 y+ G& L/ S+ E LED_BIT_5 EQU 34H
4 T9 ` d, y/ i% j! K2 Q8 s LED_BIT_6 EQU 35H
1 }( o" i* W% y- s LED_BIT_7 EQU 36H: T- a% h3 F( z6 i8 O4 [9 W8 _
LED_BIT_8 EQU 37H3 E- W5 `! W/ y3 K; s- Z1 `
WORD_1 EQU 38H
, i: ]; A. Z5 [. I* b1 V4 tWORD_2 EQU 39H
5 D, |0 ?" G1 {+ Y! v+ vWORD_3 EQU 3AH
/ Z9 ?% `. R( qWORD_4 EQU 3BH
6 @$ ]# r/ z3 n, BWORD_5 EQU 3CH0 ^' ]- k7 {) L2 Y7 ]" C! q
WORD_6 EQU 3DH
/ ]; L b# m9 j& m+ ^1 [( |KEY_1 EQU 3EH$ S5 b! L2 G/ t" R+ x) |$ ^, F
KEY_2 EQU 3FH) V& `6 R7 E% U- p
KEY_3 EQU 40H
) l6 }7 J$ q* P5 bKEY_4 EQU 41H3 G- Y5 `4 W: |) I) B
KEY_5 EQU 42H
& L z+ s' Q; w/ {6 V. M: _% hKEY_6 EQU 43H
/ B. l$ ^* h: t; D& uCNT_A EQU 44H
7 l0 c8 W3 R3 n3 A. @+ F6 c9 oCNT_B EQU 45H& e9 X8 [5 v8 K) o
KEY_CNT EQU 46H; P6 F+ t0 o/ A* Z
LINE EQU 47H2 n# m& Z7 z) e
ROW EQU 48H
; b0 x5 X$ O+ EVAL EQU 49H( b7 ^, v& s; b4 Q& G
ORG 00H
' B. N+ x: V" ^7 n- ASJMP START0 o9 r3 Y; r( q9 Z
ORG 0BH* W1 I2 x6 F2 ^5 O
LJMP INT_T0" d) o( e Q7 R# S# t
START: MOV CNT_A,#00H
7 Q, h9 e3 d* | M5 o) |0 q, P% A# a MOV CNT_B,#00H: C. g* ^( {# x* t- a1 k
MOV KEY_CNT,#00H; T6 m1 M# k) B; ^. q" \
MOV LINE,#00H
1 c! n0 |" c7 j! u4 I, E# K MOV ROW,#00H8 m' D& S; W9 m5 B* _
MOV VAL,#00H
3 }9 w; j7 z9 J8 v0 j SETB P1.0
/ ?5 c( q) F4 o MOV LED_BIT_1,#00H
5 t" n7 c3 _4 Z0 Z' M MOV LED_BIT_2,#00H& N- g8 c$ L; z7 P2 J- a
MOV LED_BIT_3,#00H
; y4 B" J# c9 Q! _1 { MOV LED_BIT_4,#00H8 C) N0 F' d" k; _+ r! }, @' c
MOV LED_BIT_5,#00H
! P% m" `6 H) B e MOV LED_BIT_6,#00H/ T# [# J$ G2 b" \/ [
MOV LED_BIT_7,#79H
( ~# \- W" i9 R+ f2 h' i MOV LED_BIT_8,#73H$ a9 U' _, _ ?; V F3 i, ]. }
MOV KEY_1,#00H/ h% c$ o1 g v d. R' N* F- e: N& A
MOV KEY_2,#00H6 ^& _$ t+ ?- G7 |, y5 N6 a
MOV KEY_3,#00H. d( u3 l9 m" _6 ^6 ~5 h
MOV KEY_4,#00H
4 M+ o7 ]# g9 T3 D MOV KEY_5,#00H
) T f* T3 ^' c8 F MOV KEY_6,#00H
0 m) Z' I" p3 I: U j! P MOV WORD_1,#6
6 v k/ ~" y" \1 x- }" c MOV WORD_2,#5 b. z" v$ k/ }
MOV WORD_3,#4
5 R( U( u O$ {7 _ MOV WORD_4,#3
. a( T, V1 b5 H; J3 [( u7 z MOV WORD_5,#2
4 k8 } Q" k6 B! v MOV WORD_6,#1
; g! F% d* g, U% y2 O5 e MOV TMOD,#01H
& G! h5 h5 w5 ^* Q( |0 O MOV TH0,#(65536-700)/256) t2 `- ]' E8 D; W. Q
MOV TL0,#(65536-700)/256
! A+ @; z Y( O# X9 e% S, n MOV IE,#82H+ w- t" F) j. d
A0: LCALL DISP$ |$ B# S5 x4 m; O; P3 M
$ J% p7 \. r& Z. k' e, A' |
; e2 _- e" P. ILSCAN: MOV P3,#0F0H, b4 d: k0 ?& X1 ^2 ~ u; I
L1: JNB P3.0,L2
: z/ ^+ m$ F/ N3 Q; T; \" e! z s. @; V LCALL DLY_S
" [# W$ ?# n6 X) U7 L' u JNB P3.0,L2
, c& o3 G( U1 [ c4 I! G+ k MOV LINE,#00H' M! Y5 M2 C/ t& s# n
LJMP RSCAN
1 u* O1 h" o& `3 ?L2: JNB P3.1,L32 S0 [. ^1 X" R
LCALL DLY_S
5 X1 }1 n. Q* ~& \3 a; ~ JNB P3.1,L3
) @/ r' l/ a0 d& J9 g7 q6 n MOV LINE,#01H
& G2 @0 ~) e2 h LJMP RSCAN
6 D' f. W0 w+ o/ vL3: JNB P3.2,L4) S Z: M2 P, y. W7 R n! M
LCALL DLY_S
: h2 i1 Y3 v# \2 J JNB P3.2,L4
; L+ F: a' S0 K R! w! Y9 i MOV LINE,#02H& J: y9 p5 r9 \5 M
LJMP RSCAN
/ \9 a- k( [/ V, XL4: JNB P3.3,A0' [! b* p7 b4 @$ [! F: ~
LCALL DLY_S# T% G# X& V: E; ?7 n7 L+ f
JNB P3.3,A0# \( i- t& m% \8 O1 j5 z
MOV LINE,#03H2 i7 _: a" H2 t. R8 ?9 D" A
% Z4 k u9 B. a: Y. j
1 V$ l& E; w9 g3 P RSCAN: MOV P3,#0FH
( B. ^/ n+ W. E. E. N' g C1: JNB P3.4,C2; ?7 L8 ~3 N& T
MOV ROW,#00H+ T- s' h& v& _# B' S, s; T
LJMP CALCU
* n- A3 f0 l# k& l% n C2: JNB P3.5,C37 ^& T# y3 @& {- w
MOV ROW,#01H4 G7 h, ]: S# f+ p- [
LJMP CALCU" l4 b, J! Z# Z2 P! b. }+ p) s: p6 s
C3: JNB P3.6,C1, N) N* {* m6 L3 U! D
MOV ROW,#02H/ k$ U# e* D+ T6 C6 E
CALCU: MOV A,LINE
6 D8 g( \1 I' q2 r& j8 _+ l MOV B,#03H- A D* v5 h# X0 b
MUL AB' P- W3 M+ u8 t) m1 F% p% _4 C- F, O
ADD A,ROW
- y) ?5 `# F7 J: i! |6 b MOV VAL,A0 l# ^+ |8 ^7 }/ c1 }/ O
CJNE A,#0AH,J1
3 a, c! z! K/ s! {0 q8 i MOV R1,KEY_CNT
. A$ n2 m9 @% q/ ?% \( `/ L5 R5 } CJNE R1,#00H,J2
& X2 U, E( u4 c, N7 V$ P LCALL ALARM_1
) w5 ]. Q# j$ d/ t' l LJMP START1 e9 R" r, G) d' t& m
) V# d) |+ I% A3 l: [+ C% P+ ^
* i3 ]6 H: L. y* X! a/ ~
! S( ]0 p4 C3 m7 o/ A2 @6 f
J2: DEC KEY_CNT
+ _" h, A; B6 [ \2 o( t% o* f5 R+ L/ x5 k
LCALL SHIFTL2
, V$ I1 J$ W! o- Q. a! K7 S6 [8 [" P" o9 z- v7 E
! I! b$ T% b H2 Y! h
6 D1 \* ~; i3 ]1 r2 i1 C" Z* X% s: r) W4 e
6 p3 i" ~6 `0 R0 [
4 h) l! G$ o2 c! \W00: LCALL DISP
! X2 y1 Y6 |, @/ C MOV A,P3, I$ L/ V. b/ E5 H8 p8 d
CJNE A,#0FH,W01' v$ A) R6 H5 y8 p' O, j& J2 c* a
LJMP A0) ^- k$ Y3 g! w9 y1 X- g1 g
W01: MOV A,P3) V! r1 v0 ]6 _& _3 W
CJNE A,#0F0H,W02
' E0 U3 P; u7 @7 ?6 }& F8 B LJMP A0" n( o. G7 N% p9 ]$ E' _0 W
W02: SJMP W00& `8 g5 u, X4 x, P- @' z, p" z
J1: MOV A,VAL& o+ R3 k' a7 S- U
CJNE A,#0BH,J3
: ?. p7 @" a4 _; M& l% o& J8 T! ? MOV R1,KEY_CNT: R5 w8 _; D' w, n, @2 K
CJNE R1,#06H,J4
/ {# k6 h% Z$ _" D3 ]4 J% C6 ? MOV A,WORD_1
1 e5 y0 B$ |# N7 D CJNE A,3EH,J5% |( b% y7 k: L- t3 v6 B
MOV A,WORD_24 R* K8 v% M9 ]. X z4 s. m# b) R
CJNE A,3FH,J5/ K# z, p- w/ O) F
MOV A,WORD_3
4 d: K8 `+ T5 K% H$ K' W CJNE A,40H,J5- p9 r2 w" i% m" X; G8 _* [9 U! K. s
MOV A,WORD_49 a: h% A- I5 ^7 J# ~
CJNE A,41H,J5" z& j3 ]: Q( c0 T9 R: Q
MOV A,WORD_5, f6 N8 E) ^; n( ^& d2 g$ }; R
CJNE A,42H,J5
. S' p) g3 m- c7 V( h8 Q MOV A,WORD_63 n8 H5 L4 W+ j; m
CJNE A,43H,J5
( z* z7 { L/ J9 _5 ~- h h$ u2 A CLR P1.0 |1 \* d. i$ x0 U
LCALL DLY_L
8 H2 ?0 z" W8 @1 h7 n/ w: w LJMP FINI
% q' Y& M# \; Y' F s4 bJ5: LCALL ALARM_2
" o2 Q- q" s' g9 s& q& s8 i LJMP START1 V% t d& g5 A8 O9 G" g3 C+ {
J4: LCALL ALARM_1
; L/ e6 g$ |; |3 l, M; e( z" F2 I! a" u LJMP START$ p# \ K6 E( e% S2 J5 m" P1 }; d
J3: INC KEY_CNT. O5 L8 U+ x- A n' N0 m
MOV A,KEY_CNT
8 ` b0 c0 c* F6 y9 [ CJNE A,#07H,K1
% G( y: b/ X4 j" _- y! o LCALL ALARM_1
/ m" q, _# T$ V- `' L! CW10: LCALL DISP& }4 c7 n, ^0 |+ _
MOV A,P30 _- }5 f) l; P8 {( K7 S
CJNE A,#0FH,W114 m. z1 l7 B+ N( ^" I
LJMP START' I5 l2 }; f- A4 {
W11: MOV A,P3$ _# o1 _6 ^ \* ^. z% C3 u( A8 U
CJNE A,#0F0H,W12) M* q4 b T7 q
LJMP START
5 h0 x5 y1 o' b0 Q7 QW12: SJMP W10 L4 [! X* e3 O& m- v4 n
LJMP START& j3 ]6 f1 R% ]
LJMP START
- s0 d2 l8 A y( F" ~4 C- ?K1: LCALL SHIFTL/ h8 @+ B1 L! a$ G
W20: LCALL DISP1 X7 r* v |* N4 C2 h2 }! Z
MOV A,P3
U! P0 S+ H+ ~3 T7 t% Q CJNE A,#0FH,W21: T% i: V. p* A' q+ Y
LJMP A0
% A) A& Y! o, f4 \# J, MW21: MOV A,P3
/ y0 Q' E& W3 Q CJNE A,#0F0H,W22
3 V- K; y( Q. L2 E) q LJMP A08 W% l! Y; T3 b) y
W22: SJMP W200 R" H3 s% @( e6 F
LJMP A0
; \! S" l6 v6 f2 a+ h4 HALARM_1:SETB TR0
1 ?1 T$ l( ]; M* E JB TR0,$
: v* M7 k" _4 _5 ?( |9 } RET( a9 Z( g& p6 i: ^/ H F! `( Z" Q
ALARM_2: SETB TR0
1 h1 ?% y$ [# i: [* P7 E- ~, w+ L JB TR0,$+ E9 @! ^: Q+ {, P' {# {
LCALL DLY_L
9 W8 m: D+ D0 G+ y, N Z' q RET y9 w& v- B4 q
% q: s9 t( q( ~2 q8 v- P7 i# zINT_T0:CPL P1.71 L6 P I, v7 @$ c& S& m$ r
MOV TH0,#1001 i! _- i1 {1 V4 z5 K8 x7 R
MOV TL0,#253
4 {" e- G( w3 s# ?; b) S7 GINC CNT_A/ D$ m; }$ T0 y$ K; u, z3 S( j
MOV R1,CNT_A" n5 T) b. t6 E
CJNE R1,#30,RETUNE0 |& @8 L$ R( ~! h) ]; T
MOV CNT_A,#00H
0 N/ t% i0 ?8 J; b0 `8 K' j) mINC CNT_B
5 R6 A1 Q- K1 t( k# ]* o+ GMOV R1,CNT_B
2 ]% z, Y" L! {( W' x2 A0 y- a" J. Q: DCJNE R1,#20,RETUNE4 P0 f: z& |! J8 ^, R
MOV CNT_A,#00H
Q* w; K% |, y" }+ p2 l, qMOV CNT_B,#00H }+ |( d( X' _7 ?4 [
CLR TR0
* ?' }' h5 L& |; pRETUNE:RETI
' c$ M% |: Q. q& e" B9 U @) K4 x# @( z& T# p: `# j9 L. ?$ }0 e% G
/ g' }0 Y" z, g1 e
SHIFTL: MOV LED_BIT_6,LED_BIT_5; K/ `$ h* c( @5 B/ Q& M4 @' g, ?
MOV LED_BIT_5,LED_BIT_4
0 I1 r0 C/ ]% a. P9 k8 G MOV LED_BIT_4,LED_BIT_3% |# ]1 Q. [ F# }% z9 l7 G
MOV LED_BIT_3,LED_BIT_2: ]7 f- L" A+ y/ ~! {- o) [
MOV LED_BIT_2,LED_BIT_1# p- D/ e) X1 y3 `0 h' x
MOV LED_BIT_1,#40H
o: y$ K) a7 t5 b* `2 h$ u MOV KEY_6,KEY_51 B7 E. _! q8 H6 \* a4 v
MOV KEY_5,KEY_4
5 G5 g/ _! _" a/ R MOV KEY_4,KEY_3: B1 v4 J6 ^* n6 t3 B6 X
MOV KEY_3,KEY_25 Z$ {: a& A2 l4 D
MOV KEY_2,KEY_13 Z7 O' R0 d7 Y3 Z. U( {% O
MOV KEY_1,VAL2 v7 o" ^' _ @) d2 q. U
RET. s4 }- t9 s. j+ l) W, Y( z" ]
. B& I7 q* P5 g# I2 O% `3 E
% n) q7 B( @' U1 a, Y4 B; P% e1 V6 ]' p7 F4 z3 q r" h
4 L0 Q! E" p1 \7 |3 M( @* [# _ SHIFTL2:
* a+ w" e' d8 j8 M, }; \$ ^: X; q1 | ]7 l
MOV LED_BIT_1,LED_BIT_2% {& X/ G7 J+ G; y) D4 u
MOV LED_BIT_2,LED_BIT_3
$ r! b6 j5 f/ y( n- g9 `$ y/ I1 { MOV LED_BIT_3,LED_BIT_4
5 F% U% @8 R% N5 p( V+ d MOV LED_BIT_4,LED_BIT_57 f7 F( s( x0 R% o; ?1 Y3 V7 Y/ Y
MOV LED_BIT_5,LED_BIT_6, J' K! @/ q+ |9 Q. I$ g" }
MOV LED_BIT_6,#00H1 E. R7 L& M3 D8 T
MOV KEY_1,KEY_2
4 Y+ x3 {$ q8 f9 d) D5 q& ?7 r MOV KEY_2,KEY_3
" V& \& l, O, ~/ R. P0 [. q MOV KEY_3,KEY_43 V) @% @% Y5 N e) [9 D
MOV KEY_4,KEY_5% [; U: }' _& |! {' ^
MOV KEY_5,KEY_6
3 P& o' i; H# O5 i3 S( [% Y# \- r" [ MOV KEY_6,#00H- i. \7 Z5 l2 U
2 u& e" g$ y- r7 [+ p* |9 O RET- ^, L! G( v# ~4 a E5 k4 X
+ T3 J2 T2 i7 V, M X. j+ F' I) d; U+ C0 b: Q' z
DISP:CLR P2.7# H3 a# [( T7 k+ l
MOV P0,LED_BIT_8
' ~* Z( ^8 u, _# I" ? LCALL DLY_S
, j; q# W' v" b0 O* e SETB P2.7/ m6 Q, \& G) F+ j
CLR P2.65 q. C0 \( a T% S4 L! i! n# X
MOV P0,LED_BIT_7) ^4 L$ }$ |6 J, e7 O: i; R
LCALL DLY_S
~; p( W( e5 L; w SETB P2.6
1 C( ~7 A# q8 {: `% i! f' J CLR P2.5
% u# l& S: t. R' T0 ^9 ?$ l% X MOV P0,LED_BIT_65 a _- y! \8 w% E. `
LCALL DLY_S
' \# L. J3 q- t' V SETB P2.5
) F [, V t! ~+ n+ W$ r- H CLR P2.4
- K1 G8 j- l9 y5 _ MOV P0,LED_BIT_5( S# n+ L3 M9 ?$ j
LCALL DLY_S
7 N) y8 ]* J* a4 f& J$ }) l: h SETB P2.4
# k/ d: d% `& i7 ^7 L& x$ _5 y CLR P2.32 ~" Y5 _6 [' |. v( X: _+ |
MOV P0,LED_BIT_4
/ @* l6 D; Y8 z$ ~ LCALL DLY_S
4 \1 u A# N" }4 E3 D SETB P2.3
8 ?1 Y+ J* u( B! @7 `' n1 x: ?2 E CLR P2.2
0 ?9 J6 T' Q3 i: a* J1 E. y MOV P0,LED_BIT_3" r, D- X' |4 e q
LCALL DLY_S
5 q$ Q3 h: L: U8 x SETB P2.2
u% P( g9 |# i: F$ g CLR P2.1
_8 t+ @ g5 Z) M" v" V5 t% g MOV P0,LED_BIT_2
! Q$ e4 Y a1 Q/ G# L2 M8 D7 h LCALL DLY_S
: b1 T+ P9 X2 \* j+ x8 _4 j SETB P2.1/ ^* ^, [" m" b' n, @; g& H- L/ P! e
CLR P2.08 F3 R6 N7 Y! T* Y+ v8 x, @9 U
MOV P0,LED_BIT_1
9 R* K3 b% D% H( H6 [' \6 g LCALL DLY_S
6 n( t& Q) V; m) z! F SETB P2.02 o' a% \, J) X. l5 t7 B+ z
RET
5 P" z1 G: Z5 N6 O0 j8 f) R DLY_S:MOV R6,#10
7 |. _# S3 k- b; U0 v9 a D1:MOV R7,#250
( S; O9 I1 a5 _ DJNZ R7,$8 b& z. G8 f# s1 c) j" L$ y$ }
DJNZ R6,D1
[: Z5 w8 s. }
, D' r# e- u6 B: h) e0 t5 c* n4 I0 V& \
…………限于本文篇幅 余下代码请从论坛下载附件…………
c ~! `% A% A' ]; M. _' t
, ~% E: q, b0 C8 M& g0 q5 p7 ~7 Z; W8 _
|
|