|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机密码锁proteus仿真和汇编语言源代码 数码管显示
) k' L( c( k. W1 n
9 c' [/ w6 E) W' _单片机汇编语言源程序: G/ @- r( ~6 G) L6 r, X
LED_BIT_1 EQU 30H( ~) ]0 f9 s( G' w7 i* ?& l# E% t
LED_BIT_2 EQU 31H1 B: H" G9 T& r# L4 X! y
LED_BIT_3 EQU 32H. }/ r: z# I2 C# I! t \$ n
LED_BIT_4 EQU 33H0 t% s8 j4 r6 S0 ]* y
LED_BIT_5 EQU 34H# A$ ?( y* j1 R* H* |6 ?* {
LED_BIT_6 EQU 35H
: B5 y, A, q* w3 z LED_BIT_7 EQU 36H
% D2 e* ~8 r' o# s& v5 G2 h) m LED_BIT_8 EQU 37H
( _$ @$ u% R0 ^WORD_1 EQU 38H- |1 S) R- K+ P% ^: w
WORD_2 EQU 39H
% M$ }7 b- s& y! T0 F0 BWORD_3 EQU 3AH1 T8 m% L- V% @ K3 x- D, K0 J
WORD_4 EQU 3BH1 X) @5 Q3 R8 M9 L- l7 u
WORD_5 EQU 3CH
/ u& W: n4 [, Q y" O; [3 S- G TWORD_6 EQU 3DH4 v# Z6 K- s- v2 j5 u9 i; N. I8 d
KEY_1 EQU 3EH! X! p2 d" g/ }6 o+ `, w" t
KEY_2 EQU 3FH
# }7 |5 | D9 lKEY_3 EQU 40H
4 q8 M+ h" W8 E2 t9 w- E: A7 A3 D+ @KEY_4 EQU 41H
4 s5 L2 S" v& r6 E- x. {% KKEY_5 EQU 42H# {: [* K. d P. l8 v) T
KEY_6 EQU 43H
: e. D. Z! G% Q! yCNT_A EQU 44H @7 l# }# c" v" A1 T2 Q
CNT_B EQU 45H D ?7 B* z$ ] |# |" K& F0 _( R
KEY_CNT EQU 46H ^9 a- O# T. J! Y ?1 @
LINE EQU 47H
/ [, ?# O2 L6 l; E$ G/ x P+ \- yROW EQU 48H
4 f1 k4 A0 r! uVAL EQU 49H& ~ `! s5 O1 c! u$ T
ORG 00H
+ n% m9 e* u. |SJMP START% L9 \8 L; }+ s: p3 Z$ y+ J
ORG 0BH0 N9 {" s* c0 C; O- K2 m3 O2 h
LJMP INT_T0! U- P( T/ i2 e. O! ^3 R: ^
START: MOV CNT_A,#00H
; A2 m) F5 s/ c! ^ MOV CNT_B,#00H: f1 C0 ?5 v+ k1 A; }
MOV KEY_CNT,#00H. h8 s6 d% G: `$ X0 p3 a
MOV LINE,#00H0 `9 m/ g' c) e0 m8 q9 x/ u9 ^$ a/ ^
MOV ROW,#00H
! e$ J9 y* |7 \ MOV VAL,#00H
' _. z q8 ?& t3 v9 m SETB P1.01 b4 I. w& D' L7 X9 z
MOV LED_BIT_1,#00H, C' [8 _8 B, |1 w# \& P
MOV LED_BIT_2,#00H
! i h n* L+ c7 k( D2 y4 _ MOV LED_BIT_3,#00H
5 t- P. Q: D. x6 O1 T4 w5 q MOV LED_BIT_4,#00H
; t( A) A4 R, P. g3 ^ MOV LED_BIT_5,#00H
1 E4 c" R7 J- L MOV LED_BIT_6,#00H+ R/ \+ U i* `# g* u; f
MOV LED_BIT_7,#79H
8 q8 F& _- y" E. ~& g MOV LED_BIT_8,#73H& }1 I- ?! m u0 E8 B
MOV KEY_1,#00H
+ C; t, u3 F9 I0 t. [9 d: e. h MOV KEY_2,#00H
2 }( e& @8 ?" j* b0 a, e& I MOV KEY_3,#00H0 J, H$ O8 V+ B) U+ V* i7 S
MOV KEY_4,#00H
" D% O1 O9 O' V+ s1 K MOV KEY_5,#00H
, _/ C5 y" c& Y! p E" Q MOV KEY_6,#00H, w+ l" y3 w* z; _
MOV WORD_1,#6# j1 d7 ?9 I2 j. m6 x z. v" w9 D
MOV WORD_2,#5: a) ?% _- t! ]; O' C7 d/ ]& }7 J
MOV WORD_3,#4
9 \' M5 |" Q: ] MOV WORD_4,#3. V2 f L) p' L+ G! g y
MOV WORD_5,#2
0 J+ H( v, V% u MOV WORD_6,#1
7 o8 V7 Q3 u8 r0 g$ R0 B* { MOV TMOD,#01H4 V, C; [9 L7 q1 Z
MOV TH0,#(65536-700)/256
# i8 d9 `. A& g% L" } MOV TL0,#(65536-700)/256: e+ O0 G- r! M( _" a6 {5 U7 S
MOV IE,#82H
$ c6 t- g* `' I" q0 fA0: LCALL DISP
! D3 Z n5 d4 o
: |3 E6 ?% l# a1 {( P/ r& F
. h T- u' Z2 b2 vLSCAN: MOV P3,#0F0H
Q' j7 X4 y* Q0 N2 cL1: JNB P3.0,L2# T( b9 F3 t' B+ P# O# u$ v$ Z
LCALL DLY_S
! }# T7 |! L4 S5 O3 U JNB P3.0,L2
5 v# H% P+ G5 A A+ a1 [5 q$ O6 m MOV LINE,#00H- G2 d2 P! e) B n' h
LJMP RSCAN3 l3 H" H) j( V% \9 }7 h
L2: JNB P3.1,L3/ A* S" Q( ^& |5 L' C9 e
LCALL DLY_S
: v$ K7 `% w& G* | JNB P3.1,L3, ]: _1 Y1 X4 P2 i, T' h0 E+ s
MOV LINE,#01H8 C- k8 t5 c; T1 O, b5 L
LJMP RSCAN- [3 Z# m8 x3 l: t
L3: JNB P3.2,L47 F; b4 |+ w- N" u2 h5 ?7 p6 W0 u1 h
LCALL DLY_S. Y$ d: z, s/ E
JNB P3.2,L44 X* s4 W) C' j2 d! U1 l! c+ T
MOV LINE,#02H
1 R% C1 s1 T- l! q LJMP RSCAN% t5 y+ f+ G- E2 S5 z. T4 G- k
L4: JNB P3.3,A0
, f7 N, m& ?+ E/ r2 l LCALL DLY_S+ t. ^2 B: t/ I4 I+ y& {; c7 }
JNB P3.3,A0
6 ?( E! Z2 ?8 m; h4 N- V MOV LINE,#03H' k5 h- i- w3 d1 y1 A2 @
7 y# q! ?9 D# u* r6 ^3 ~7 @$ N' e
RSCAN: MOV P3,#0FH! H9 W) [" H0 C5 f; }0 @3 v9 H0 q
C1: JNB P3.4,C2
) F7 {' O l! b7 w% v) E MOV ROW,#00H
; \6 r& W8 G8 |( |8 W$ S+ Y LJMP CALCU5 J" y( v- d3 V( Z
C2: JNB P3.5,C3& c* |0 q9 {/ N8 }% G1 h! m( X
MOV ROW,#01H
3 W* }9 p" T# ]" e LJMP CALCU
0 L4 s7 o' D" T- s/ B0 k3 F C3: JNB P3.6,C1
( R! t' [( R9 }9 R. N MOV ROW,#02H' `9 V ?- z! J n
CALCU: MOV A,LINE) `: B$ @7 S" {! @/ Y9 B4 q
MOV B,#03H% f3 Z* P- B( {* z. D6 i
MUL AB8 L, o$ f- q7 ~! r
ADD A,ROW( R5 q3 R. J) u/ c% i
MOV VAL,A
3 e' t) @5 j8 ~1 P1 I CJNE A,#0AH,J1
, I t9 I( K3 p MOV R1,KEY_CNT, T; @' M( Q+ {8 V: J
CJNE R1,#00H,J2
( q7 x! E2 K( m4 ^4 J8 }2 b LCALL ALARM_1
0 H9 v0 a I' X/ G+ [ LJMP START
3 i3 ?; o9 l2 K* t$ E) U4 G* a1 _5 y% |/ X- B) B
; s" Z, O7 D/ K0 I
: D" V8 e+ K" I' ], J9 Q' C
J2: DEC KEY_CNT
! i$ s$ q/ f7 b6 N) X/ j
( q3 s# t- W S+ a$ \) @* X LCALL SHIFTL2) A) ~! n4 W. i8 |9 ?
Z; q7 X$ M, g; c
7 k, C$ B* ?; H0 N5 {( ^9 ?; R9 W6 ^( O! z. z0 E4 m
- d; }( r. H( n" [( Q J
9 b* a9 s% B( h% g8 X) s2 K
/ b. {7 g9 D, y4 y
W00: LCALL DISP
( O! Q8 s$ v: v4 Y1 B9 o MOV A,P31 {1 q' @ _9 y. z6 ~& {
CJNE A,#0FH,W01
; h; ]% G q+ _) ?# D LJMP A0# w) J6 c0 q7 r ]7 y& F& V3 P4 V" `$ j
W01: MOV A,P3
, j0 W& b; h2 C+ w$ B CJNE A,#0F0H,W021 P5 l' a+ L9 m$ s) h
LJMP A09 b; T. {' [0 F3 I
W02: SJMP W00) B/ M5 ~8 |! z7 W+ E
J1: MOV A,VAL
$ [) L' |. _' X& A5 A- j+ r CJNE A,#0BH,J3
9 B( q* w6 x) g% O" K ] MOV R1,KEY_CNT
# L; u9 `8 S# H- N. j; G CJNE R1,#06H,J4* Z# F3 K( I8 x5 j$ r7 L$ b9 U
MOV A,WORD_1 k0 w! X6 q9 j
CJNE A,3EH,J5
6 O& s/ f3 ~0 b9 N: o MOV A,WORD_29 @5 ?2 H7 P _+ H" l# U
CJNE A,3FH,J5& e1 L3 y+ f; t: o
MOV A,WORD_3
8 D' H0 K7 i+ X+ l, |) v CJNE A,40H,J5; g$ Y& e0 I; w9 X* }+ C3 a f. A
MOV A,WORD_4
1 L4 o9 e/ t- m$ W+ r CJNE A,41H,J5
% _% X+ t" ?! F q. h2 y( J9 B MOV A,WORD_5
& e+ y4 g. s7 c6 R8 ^% ] CJNE A,42H,J5
$ L+ _1 w& ]% S MOV A,WORD_6
% H* y- }! r/ ` G) x. O D8 ~ CJNE A,43H,J5' z& F: Z1 J, {7 _5 A
CLR P1.0
# U0 A3 C8 B# N; s: {2 t# O LCALL DLY_L
2 M( C' ]& `0 K! Y! \) j- ]6 p8 A LJMP FINI
" z% E) r1 W9 h3 f3 u6 tJ5: LCALL ALARM_2, x+ @) y8 a* D# E' g5 [
LJMP START% J3 @4 o8 o$ O) p: }
J4: LCALL ALARM_18 e, X1 b6 T( G( e; h% Y, i% _
LJMP START
: t5 f2 P: w+ {6 `. \J3: INC KEY_CNT
6 J0 e/ E0 A/ q" P& | R MOV A,KEY_CNT
6 c9 `) n2 [6 j% M CJNE A,#07H,K1
) e2 h" T# u8 P; E4 F4 B: p+ b: R& D LCALL ALARM_1
/ J1 x4 O I( b4 z8 l; j( zW10: LCALL DISP
- z/ c) r8 z# _: i; [ MOV A,P3
4 _2 w+ L, S0 j9 P" Z) ? CJNE A,#0FH,W11
. ]% F6 J+ k0 z$ n* n9 U# O LJMP START0 }/ U' H6 y2 m0 D+ \6 S. ^ ~. S
W11: MOV A,P36 d. n0 x5 E$ Y* {; l% k
CJNE A,#0F0H,W12: t4 j" ?6 ?! X
LJMP START
8 A$ B0 v. R. } FW12: SJMP W10* @' q8 Q+ O. m& N1 _
LJMP START
$ L/ u) ?. O" X' b- E LJMP START
. ~! S* a+ E0 P* a. w: qK1: LCALL SHIFTL
2 R; b6 N! y% k. ?7 }1 lW20: LCALL DISP
- D, S$ A8 ^8 _ I* N4 ~, R MOV A,P34 d! F8 h4 F3 y( o0 M ~
CJNE A,#0FH,W21- E3 j# [; }* z. Q+ t
LJMP A0" Z* C/ Z4 Z1 D0 A2 h4 \% _
W21: MOV A,P3
6 _: [8 v! ~6 c6 w CJNE A,#0F0H,W22
6 p `, v% D* n; J LJMP A0
, W. [% b; a+ e2 M6 R, S/ V. w+ WW22: SJMP W20
" M5 `) P1 R( Z8 R6 {% F) ] T8 U LJMP A0# z. j6 @1 U2 @
ALARM_1:SETB TR0
9 G* R" N+ A6 E JB TR0,$
d& T6 x) t' U% P- j1 } RET
; F) y0 f% s9 Q* \) F& @ALARM_2: SETB TR0
^' ~: C' s3 G A* Q2 T# i JB TR0,$
% U1 A+ Q9 v0 ? LCALL DLY_L
- l' H5 H8 h- X2 c$ x' M+ l+ p RET$ v0 {6 t" s; i X$ j' {
4 @9 Q! g! ~2 o+ b
INT_T0:CPL P1.7
9 F' A. R+ s2 w, NMOV TH0,#100
2 ]3 w, V# k3 j( e2 sMOV TL0,#2536 m: z" k1 Z6 w- U
INC CNT_A# C4 y8 h! W, n- n; x
MOV R1,CNT_A
$ F2 v, ]5 x" z, E8 UCJNE R1,#30,RETUNE
) |) e9 N! `3 K8 r. w$ sMOV CNT_A,#00H$ f8 d1 F5 _- A- @7 }! ]
INC CNT_B; f+ h# r1 ?# e3 }
MOV R1,CNT_B
! ]& a( R; H7 w' o9 ACJNE R1,#20,RETUNE* D/ {0 U9 E0 c/ R+ n& J
MOV CNT_A,#00H
K a' e1 o& t6 l: H$ ^MOV CNT_B,#00H
{( F. _) ]6 h: _1 _0 ECLR TR0
], O8 H/ Z/ l( oRETUNE:RETI
' h4 U! w( e9 T+ x1 O, D2 g9 |) Q& D5 \0 n( p e v+ o, J% n
* U# R# H8 Z* I& v! K1 T& W6 gSHIFTL: MOV LED_BIT_6,LED_BIT_5
" d' i; x- w3 Q, X8 Q H7 W MOV LED_BIT_5,LED_BIT_4
" S: I- b O3 h3 z/ G+ q- i1 a, H4 Z MOV LED_BIT_4,LED_BIT_3& m/ a8 o' d' ^3 R
MOV LED_BIT_3,LED_BIT_2& s9 [3 k- p. v& O9 Q$ n9 a, B& F( p
MOV LED_BIT_2,LED_BIT_1
/ ?! t7 H0 I9 D. z MOV LED_BIT_1,#40H2 w" F5 O" L$ j' \
MOV KEY_6,KEY_5
5 y+ u. D1 G, d7 s8 [6 K- b MOV KEY_5,KEY_4
9 R1 u( M, U7 N; M/ j H1 } MOV KEY_4,KEY_36 }$ k$ O' C9 p
MOV KEY_3,KEY_2/ _5 `2 S7 T) z. K4 y( j Y
MOV KEY_2,KEY_1
2 h6 I3 N4 P2 v& ]$ u MOV KEY_1,VAL
6 E9 G" J8 t, [9 wRET
% e$ I1 {. X. M7 o) `; D# Z. Q! \# {/ A2 m6 P! o, v' v
' F9 v3 |' [2 n2 Z/ p5 b+ M: Y6 f
( ^1 i1 O2 Q0 Z5 V7 u
# B/ a1 }9 p: W0 v SHIFTL2:
$ o0 b% H6 }8 G0 v) G9 Q! }9 |; C K
MOV LED_BIT_1,LED_BIT_2
7 Y" [7 G7 z- p3 _( L MOV LED_BIT_2,LED_BIT_3
% n8 Q% x; c& ]4 B4 T& n MOV LED_BIT_3,LED_BIT_4; ~. f0 L1 Q O$ D* G4 e" F
MOV LED_BIT_4,LED_BIT_5
! r5 u5 l1 v4 F9 P MOV LED_BIT_5,LED_BIT_6( |5 n, w" d9 B" k- _6 n
MOV LED_BIT_6,#00H
6 J3 w N L/ a0 B5 q MOV KEY_1,KEY_2
4 `4 T$ {+ | k) e5 h$ o2 k MOV KEY_2,KEY_3( X: c; N: S! S) {& i2 q
MOV KEY_3,KEY_4- ~$ x- ~6 A' N5 X7 `& R3 J& ?/ p
MOV KEY_4,KEY_5
3 s* G# x# o9 `7 `; Z MOV KEY_5,KEY_62 f8 ?7 |* X" T8 a7 r2 P( K
MOV KEY_6,#00H7 j |( h9 O. g/ z; o
. Q2 B+ N1 s9 V. E) M; N0 h RET
& }: o9 c2 a5 T6 T: V- S" ~3 Z+ c+ r: `
/ W( m! i4 N/ p: e: O, f u( N# GDISP:CLR P2.7" r+ _) Y0 d A7 ~
MOV P0,LED_BIT_8
. y. n' b% Z5 j LCALL DLY_S
) w+ `/ o8 L; D2 w. u5 h+ E SETB P2.7& g4 i/ Y/ V# _8 w* p8 a
CLR P2.6
0 @, ~3 }0 z, P I1 [' R MOV P0,LED_BIT_7
\: B' w. d& V LCALL DLY_S, m7 o6 P/ k0 G( D: N
SETB P2.6
+ H' R+ E: D i! A CLR P2.52 w9 p5 E6 D0 C! o
MOV P0,LED_BIT_6$ W$ ]8 H5 i9 ~, n9 e9 i8 J, B3 p
LCALL DLY_S
' i/ ~) u7 E4 E5 J6 A SETB P2.5
5 g( ^- m, g9 V) _) |8 ?) H9 z3 U CLR P2.4
: e$ B, t# m: \. }* b MOV P0,LED_BIT_58 N* }" [6 k$ z. a
LCALL DLY_S; y8 z/ t O+ Q# @2 M5 A
SETB P2.4
) U) l# T+ R; T2 D- I CLR P2.3% T& f q) m5 B, L+ m# {
MOV P0,LED_BIT_4: s% {% f8 [7 ?! A3 D
LCALL DLY_S7 {. K' R& [, S+ B* Z, S
SETB P2.3
4 v; L d% `! X c( w CLR P2.2
! ]# y& K9 q3 L( C MOV P0,LED_BIT_3
1 }7 V* C5 M! @+ ~. { LCALL DLY_S
d% L' f! |% W- K/ O8 x SETB P2.2
- D; A& u. R3 R$ a' |3 w CLR P2.1
0 @4 [7 K) {$ p0 o5 i- E MOV P0,LED_BIT_2
: L. N: z" @, s% E) M1 L LCALL DLY_S
0 {2 H8 ]- i9 K7 n SETB P2.1
, H# {6 h l& W; V, p. L CLR P2.0
1 q4 n [5 w; Q MOV P0,LED_BIT_1 d0 L3 d: l6 J# t( M
LCALL DLY_S$ A7 l6 @8 W6 z9 Q" H5 C
SETB P2.0. H! w* n1 Z, o$ E
RET
' P* ^& y; P$ O: Y8 L- `" z6 H' S DLY_S:MOV R6,#10 I% q& c0 ]" L7 W1 x7 o L
D1:MOV R7,#250
# z' E1 D' w" ?, [! F1 K& w3 ? DJNZ R7,$
( P( l( v2 |2 G: b& P G+ x DJNZ R6,D1) P" }( _$ ^/ S z& \
, t( a* ?0 q* r1 N
. Z" D) H" ~% K3 V) Z…………限于本文篇幅 余下代码请从论坛下载附件…………" }& m% A' q( V4 {% m2 B
0 X8 P$ M q, k' q
+ C) |9 y5 }( V/ Y' H R
|
|