|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机密码锁proteus仿真和汇编语言源代码 数码管显示0 U1 @/ k$ ~& I" l
5 n5 G' ]9 `+ k" T% g单片机汇编语言源程序:
+ l6 x2 S2 y# K9 t6 ^5 I LED_BIT_1 EQU 30H! B4 F7 A" e3 r
LED_BIT_2 EQU 31H
- ~( ]+ _# j! `" D4 D3 V$ I# \& S. B LED_BIT_3 EQU 32H
% X- R/ I* V7 T4 L LED_BIT_4 EQU 33H
5 g# R! k: F$ O5 s8 k: @ LED_BIT_5 EQU 34H
* y, i; g/ d' T! E% l& h1 @' l LED_BIT_6 EQU 35H& p' ~. c+ F2 S$ z$ }
LED_BIT_7 EQU 36H* g: i; q5 k! f1 u7 l
LED_BIT_8 EQU 37H
/ l6 N" [+ b: X$ o5 C% G7 {WORD_1 EQU 38H
0 K3 N6 `- [% t! J7 vWORD_2 EQU 39H
. n7 L/ g8 ~; J8 f4 U; H4 M% lWORD_3 EQU 3AH# F1 t3 P1 T% G
WORD_4 EQU 3BH. D- R7 H) e5 F
WORD_5 EQU 3CH
! ?& t: _) v, e4 x& k# y( TWORD_6 EQU 3DH
4 s0 v! t; k7 n8 F! Z8 p4 BKEY_1 EQU 3EH# i/ c1 W4 N/ `8 L& r; n
KEY_2 EQU 3FH
6 X9 o2 y+ ^* U9 s& B, L; ]9 J3 qKEY_3 EQU 40H9 z, f: E% P7 M4 p) Z# j/ W
KEY_4 EQU 41H
+ N: [, o2 A9 ^! t3 mKEY_5 EQU 42H+ e; x' K3 O+ F5 I$ l
KEY_6 EQU 43H+ y& W! F$ K& f6 \
CNT_A EQU 44H6 {6 T& r" t8 \: U3 r, ^; v
CNT_B EQU 45H
+ H% I) h: ~3 ~7 ?, o$ k4 I# nKEY_CNT EQU 46H
' s7 S3 j1 j9 R4 p3 i( G; xLINE EQU 47H
9 k% L; i: M) _6 rROW EQU 48H7 c5 Y; P u- @ Q
VAL EQU 49H; ]' J4 F- A) I
ORG 00H4 k" ^2 d( B& K( G8 d7 ?1 p+ q
SJMP START. T* q$ f8 M# ]) A+ K' {% Q6 @9 m
ORG 0BH, \, C, }! m( g% M2 g1 O* q
LJMP INT_T02 f ~' _# j0 I, a7 W6 B
START: MOV CNT_A,#00H
E3 N# k& |% U/ |3 P6 j n MOV CNT_B,#00H
0 P* n Z: Z% E7 j MOV KEY_CNT,#00H
0 u8 L8 @8 C$ @7 i& P$ D MOV LINE,#00H
' F9 D# D- K2 H" T+ Z" _ MOV ROW,#00H
6 E& w/ _4 n* a' m' L; h MOV VAL,#00H7 M' k2 z( s! \' \
SETB P1.0. I5 D% x. y& v, U8 k
MOV LED_BIT_1,#00H" D5 |( I- N6 W8 @3 i% H
MOV LED_BIT_2,#00H% u0 K9 A& H1 [8 o
MOV LED_BIT_3,#00H
8 n' E8 r2 y- q$ P, }7 x MOV LED_BIT_4,#00H" t- b( ^! b, l$ ]( q" U
MOV LED_BIT_5,#00H
& Y7 V1 X$ {3 e# W! | MOV LED_BIT_6,#00H! g* L: T6 F. e# ~$ }
MOV LED_BIT_7,#79H4 u- t! o# j" n9 N% A: d0 m1 }! S
MOV LED_BIT_8,#73H
' S0 q! z8 e3 G6 H; P MOV KEY_1,#00H
; o) u! Z+ C y7 k MOV KEY_2,#00H
5 T3 o. O- n7 `0 k1 |1 p MOV KEY_3,#00H
- f% o6 q) `* p" E MOV KEY_4,#00H
: [7 S, R7 Y6 D MOV KEY_5,#00H
2 U* y5 B- X3 c! y MOV KEY_6,#00H+ t `. T" { J% n/ [5 |3 S
MOV WORD_1,#6
* B; l. L1 R2 Q MOV WORD_2,#5* f& ~2 Q$ X I9 m
MOV WORD_3,#4
# ^0 x) l5 Z a+ w MOV WORD_4,#3 G+ ?! t" l; S* _$ j5 j# W9 V5 w4 G
MOV WORD_5,#2
, X, @3 E4 M' v1 y' r" a$ } MOV WORD_6,#1. B- J8 m: R7 n Y
MOV TMOD,#01H
& }$ u+ `; Z2 T' B( X C MOV TH0,#(65536-700)/256
! q3 L4 A. s* z5 D MOV TL0,#(65536-700)/256 k" b, ?3 _! H9 [6 Z
MOV IE,#82H
+ E% r1 @3 I# F2 aA0: LCALL DISP
% v z2 }8 Z3 o, f! |( j. r2 f$ f* h
5 a2 J0 N* [. X$ Z
LSCAN: MOV P3,#0F0H. M6 L$ A/ h' W( H7 k
L1: JNB P3.0,L2# C# m% m5 `- ?3 {
LCALL DLY_S
! {) l4 ]: ]9 d' |% ?" c2 A JNB P3.0,L2
/ S/ F U0 z7 ~! t, @6 i1 N MOV LINE,#00H2 P5 O* P/ S* p* V
LJMP RSCAN9 x& Z X1 i3 @6 P1 A( Y
L2: JNB P3.1,L37 Z/ a( u c' e" b* \& O! K% [
LCALL DLY_S
4 M6 M0 ?! X8 h JNB P3.1,L3
7 L' a$ e9 A7 g' I& G/ W+ [/ h" c MOV LINE,#01H9 M3 x$ _) U6 l
LJMP RSCAN
4 Q: V7 N# |; {& ^& ]L3: JNB P3.2,L4. o# o. F- r$ d8 P- a1 }1 P
LCALL DLY_S
5 E* D/ w0 w Z& u( \/ @ JNB P3.2,L4# l. `4 Z# i2 p9 j) o# F. }
MOV LINE,#02H
" p& Y) J% N' j LJMP RSCAN3 Y2 X) Q& v7 C$ M
L4: JNB P3.3,A01 F/ l" x5 h- l) \7 q+ p, V
LCALL DLY_S
4 s, j7 x5 |1 {+ ] JNB P3.3,A0
+ H6 `7 F% A7 ^ G7 j3 n* [, @ MOV LINE,#03H
9 F4 f) A2 |) ~) V9 M( B6 p
& S6 _; D! s3 o0 D; }- H+ y6 H k
/ {+ o$ ?+ ?& E) | R- Q" q RSCAN: MOV P3,#0FH
6 O4 r' i* ^0 @8 C$ a C1: JNB P3.4,C2
7 ~4 V, ~. w1 k5 z MOV ROW,#00H0 q! }- K# i0 r* \
LJMP CALCU* N' Z9 ^: L8 q
C2: JNB P3.5,C3
, F) {& E6 P0 B, k MOV ROW,#01H
% _5 s3 V8 @+ |- y LJMP CALCU. V: `7 |8 J: J# P9 ^+ p
C3: JNB P3.6,C1& v4 i, E; n) k
MOV ROW,#02H) Z/ U' A" [/ t1 \
CALCU: MOV A,LINE
0 H2 N, U3 I5 ?: R B MOV B,#03H5 }" q( s: O/ B( B
MUL AB& l9 d# E$ V: k g4 q( y
ADD A,ROW) H$ m/ E1 i5 _2 |
MOV VAL,A
; T* S) g8 ~ s; s+ o CJNE A,#0AH,J1
+ N- L1 X! l) Z3 f% |+ C* f MOV R1,KEY_CNT
3 a8 m4 D/ b1 G' B; D$ P; n CJNE R1,#00H,J2; V4 |2 y" U1 ^; i) |4 J
LCALL ALARM_17 R$ i0 I. w" d, O% J. N* Y; n
LJMP START# A( d# B6 A* r( R6 u. {6 ]
9 f% z+ q, F. ^: q; I5 ~ X
y4 M, ^, v1 j! z: g9 a: S
+ `, J4 r, g l' ?* ]J2: DEC KEY_CNT
: K! F% D% r$ i( b5 \0 P4 w4 T7 P& @( ?4 h
LCALL SHIFTL2
' O8 V4 T k* _7 e% {- {
6 p l7 g/ a4 `/ s6 R/ r4 A# Z8 h2 I' l- v$ y5 G. M1 i2 Z
# z! g) Y, k# e/ _
: Y& E, r/ W8 I' m9 u4 D# z! V
+ y' B" T1 d9 g! Y
- g; J4 N( D& q3 J
W00: LCALL DISP
9 a2 G+ p+ w- i- `" @; Z9 S* h MOV A,P38 {: z' I8 w2 B1 x+ {/ R
CJNE A,#0FH,W016 {; q& J. B9 Z9 f9 q5 L" G- }
LJMP A02 g+ q" k2 v4 m* |0 R2 [5 i
W01: MOV A,P3
( q6 m s! o, k( L6 b CJNE A,#0F0H,W021 Q7 _4 I9 K+ I a; C. ^' y
LJMP A0" M* T2 |3 h6 p( U& F2 ~
W02: SJMP W00/ p- [; L$ s8 A+ {2 @7 v4 q* o
J1: MOV A,VAL- E0 p+ u" \, V3 c! o9 m) ?
CJNE A,#0BH,J3# c, f: P% e( o. Q4 ~6 S/ k' W+ M) b5 c
MOV R1,KEY_CNT
# e: S8 }( o# u( q& D" _# ?, }, Q CJNE R1,#06H,J47 x: R2 W1 U- N J1 _$ w
MOV A,WORD_14 w% }/ A, f2 m2 ^
CJNE A,3EH,J5/ \/ F4 R4 w: s# x
MOV A,WORD_2- Z/ q% L* r- U6 }8 L: Y0 R
CJNE A,3FH,J52 I5 K7 x. m4 Y1 b
MOV A,WORD_3 U* d$ L3 o$ Y$ ~- @# n0 i
CJNE A,40H,J5
( {0 u P6 n: G3 A MOV A,WORD_44 G7 J0 B8 H" ^. I+ V' _& |
CJNE A,41H,J51 ~5 _, g7 u0 T* {5 M2 b
MOV A,WORD_53 s) q) |* p) L# |
CJNE A,42H,J5
h1 |. C9 u0 U) a. m) C MOV A,WORD_6
$ Y* k: {. t7 I; x/ w1 C: P CJNE A,43H,J5% Q: u4 [* f6 c) z/ T8 e4 H. Q0 K
CLR P1.0! d+ m5 w0 t) M+ g4 g
LCALL DLY_L
# ^7 a" X" b. c- }+ ? e; A LJMP FINI
2 r5 S5 `# x9 G: WJ5: LCALL ALARM_2
' v( H4 q% V! B+ D; } LJMP START
+ c+ }+ Z. ^& p" PJ4: LCALL ALARM_13 l' b# c; ^6 w& q* X
LJMP START
8 r, C$ n: l9 T8 U3 Z! _9 u# ^0 l- UJ3: INC KEY_CNT$ ~: E: r4 Y- |4 M9 B6 K& s
MOV A,KEY_CNT
3 d! ?4 T- O* G7 {+ g. Y1 G CJNE A,#07H,K15 u% u5 }& Q+ q _6 g8 Y% I/ w
LCALL ALARM_1
( C( u1 }% H. PW10: LCALL DISP
& o8 ^, m! I: V0 N MOV A,P3
7 u- a# o% A4 }6 v" n0 [8 l' ] ` CJNE A,#0FH,W116 }3 t" E$ ]0 H/ p
LJMP START+ X/ u& S# D C; E7 R1 Q
W11: MOV A,P3
8 D2 q$ O9 A# V CJNE A,#0F0H,W12- k w! D" r! x5 z& ] V, f) `2 l
LJMP START
- H! B3 H. A. C3 t# B# iW12: SJMP W10' ?7 r( c+ z7 h* T4 R) |
LJMP START
O% q' Q; @- M4 i6 h0 _0 H T LJMP START
# W2 I; t! l6 X6 ~+ r, C$ \7 SK1: LCALL SHIFTL; {, Z k. F) x" |2 }7 g1 k' ?6 C
W20: LCALL DISP
* f( N5 V1 ~$ I9 G& L- t4 C4 f0 i MOV A,P3: Z1 I u, @( K6 K$ Z
CJNE A,#0FH,W21
2 j; \. [& o [$ n1 @ LJMP A0
4 Q; Q. ~' S, x4 \4 E5 p% @W21: MOV A,P3* M6 J/ J' M! e8 L( G
CJNE A,#0F0H,W22% E% K1 @# p8 _6 l+ m* p) c. V" O
LJMP A0
( W2 T* u( T, y; N& MW22: SJMP W20
3 J1 q1 G5 U0 m V+ C" d3 i LJMP A0
0 s7 n0 _) Y% c2 S9 ^. i+ A- hALARM_1:SETB TR0
3 K _ k' q; w9 {5 o) i JB TR0,$1 L% F3 w7 l$ c3 b' L1 u% N( j
RET. |6 W1 K! b3 H# J% Z9 i+ m
ALARM_2: SETB TR09 O N8 ]$ d. G2 P
JB TR0,$& V8 o# C$ z* D1 Y @
LCALL DLY_L
0 Z4 M- O" ]) s+ V/ H3 h! n( m! D$ l RET+ T% v# v6 t& `/ L
3 [8 {# T$ E. V& AINT_T0:CPL P1.7% o3 J s% h5 _/ A6 P. c: a q M
MOV TH0,#100
. |! M% l6 ~) X# p* N/ S j* C+ F" zMOV TL0,#253
2 |* D% x9 x- O* aINC CNT_A
) q: T: O5 @4 r" ^% \MOV R1,CNT_A
1 k4 w" }- e3 [ `7 L3 BCJNE R1,#30,RETUNE
2 t# x7 ?7 b7 C8 EMOV CNT_A,#00H! T: w4 t0 P( O" `' o1 s0 k
INC CNT_B
2 i( B+ r, E1 ^/ }: ]MOV R1,CNT_B
$ u* u) U& e! e1 g0 Q- sCJNE R1,#20,RETUNE& @7 a8 ]$ N2 e2 B
MOV CNT_A,#00H
7 I4 n3 N! G& wMOV CNT_B,#00H1 b2 N# _& b' n+ t
CLR TR0% |* S1 a9 `5 L$ x3 M
RETUNE:RETI
! P1 m8 H7 k6 M" b' C! s, O u" A! d: Y s! S; I/ }% S- h; `
9 y0 J' D1 {. j7 P; j
SHIFTL: MOV LED_BIT_6,LED_BIT_52 B" F$ i* ?8 u3 t
MOV LED_BIT_5,LED_BIT_4. q$ q/ Y6 D. Y2 x# h" N; b
MOV LED_BIT_4,LED_BIT_3/ \* v) n9 U$ L$ c
MOV LED_BIT_3,LED_BIT_2
5 R" f1 B/ h( L$ {$ s* ~ MOV LED_BIT_2,LED_BIT_1
; P5 P; b0 u0 D" G0 U MOV LED_BIT_1,#40H
+ K# {& O3 n) N, g% N& K& R1 U MOV KEY_6,KEY_5
/ q! \- m" M* r% B5 ]" Q$ J# H# q( k MOV KEY_5,KEY_4( D; N7 H0 ?: J# O
MOV KEY_4,KEY_3
1 R6 X9 x5 w+ `5 x4 ]# i MOV KEY_3,KEY_2& N& [; E) b/ ?/ D% V' R
MOV KEY_2,KEY_1; ~- n5 q$ |0 `+ [: I" B0 V
MOV KEY_1,VAL$ U5 b6 [0 }3 U8 s, j6 W
RET
1 g. Z' o, I0 v+ f, Z5 m% o8 V0 d0 Y) ]4 X: c/ I
8 o* Y7 T- F) T4 M
" H4 m, ~' l% ]* Q) l W* G4 X4 `$ t: w! c+ \3 L8 w, V2 q
SHIFTL2:
1 H; Z/ I+ j7 U/ M5 [; S: i6 V9 {( i, I6 E/ ^6 O5 z
MOV LED_BIT_1,LED_BIT_2
* E2 O: O7 C+ O7 e1 \5 Y" T6 M MOV LED_BIT_2,LED_BIT_35 s2 r1 d4 r2 T
MOV LED_BIT_3,LED_BIT_4' S( q+ {1 Q# ~3 `% [3 H) J. F
MOV LED_BIT_4,LED_BIT_5
$ Y; X, b7 d6 C: X0 C0 Z MOV LED_BIT_5,LED_BIT_6 ~7 o# c0 q) ?$ M
MOV LED_BIT_6,#00H* Y, C5 J' _$ x4 t1 S0 ]1 H
MOV KEY_1,KEY_2
6 R3 K' ? |2 p7 ?% \2 e MOV KEY_2,KEY_3
! \ n% ]2 O6 x8 f- s6 y MOV KEY_3,KEY_4
. @# \1 _2 B+ p0 J MOV KEY_4,KEY_5( v* G, c% L- ^ e8 r- I
MOV KEY_5,KEY_6
; w$ b, L# J' n: Y" J# N MOV KEY_6,#00H
, f, @9 `6 @* p9 l: \
; U. K! J# j: c ^ RET
, M6 O# O5 e* m/ S8 ^2 ~. V) L) s
4 G, B, h: E' o5 @6 sDISP:CLR P2.7) N! w" B. Q) u# n) ?, H6 J
MOV P0,LED_BIT_8
# _6 ^: Z$ K: a4 V2 j LCALL DLY_S
7 q( w) x& u2 w! W/ U' b. i SETB P2.7
3 g. O8 Z' F) v! W CLR P2.6
& m' t- w) G) ?, I8 D3 v, e MOV P0,LED_BIT_7
4 o& e$ c; f) d# \ G: I2 n LCALL DLY_S% B$ H2 v, ]. \6 }
SETB P2.6
% r6 ?9 U+ p+ Z V# p CLR P2.5
! T& ^( C' b! M& u1 C1 I MOV P0,LED_BIT_6
r; b0 D- O9 r* e LCALL DLY_S
/ v7 \+ S( Q P1 a d" _* P& b SETB P2.5
2 ?1 O( i4 y ~; x; o$ M, D CLR P2.4
1 K$ k5 x$ Y3 s' n MOV P0,LED_BIT_5
) l- F$ }: W. [8 f9 s LCALL DLY_S
1 M) d2 H3 V4 C SETB P2.4+ r& N% ~" Y. k$ m6 g( P
CLR P2.3
( y9 Z( X2 d( M( R- t4 S2 I* q MOV P0,LED_BIT_4' v$ h7 E# c6 ]6 d5 n8 K
LCALL DLY_S9 T9 J! U* Z0 j8 A
SETB P2.33 D9 L3 Z- Z& h: P5 j7 \
CLR P2.2
. A z3 W; B" s9 e3 u& G MOV P0,LED_BIT_3
5 E* q$ U; O2 ]9 b+ U: U! \1 j H LCALL DLY_S2 n: s. m v! B( T9 m( |7 D
SETB P2.2
' u; r- t9 m, R3 J8 ]+ n7 h( r1 c! ~ CLR P2.1
. X7 `: E" H5 w5 r# k. Y MOV P0,LED_BIT_2
3 n9 k2 z5 L% e LCALL DLY_S4 S5 T8 R8 D- |( j
SETB P2.1% ^, Q7 [" S2 [: F% c4 a1 J
CLR P2.09 r: ^% s. x3 v A* P8 ]5 y
MOV P0,LED_BIT_1
) D5 \+ q5 _ N5 ~ LCALL DLY_S
- m1 X+ K7 \7 t# e SETB P2.0
/ T3 K$ ^7 n4 f% l) u% ]. p5 G RET6 E+ v- m# J- @) k
DLY_S:MOV R6,#10
6 S! ?% U4 r6 j- }$ h, N7 r D1:MOV R7,#250
: v( |9 R G0 K) X' h' [ DJNZ R7,$' s/ g4 ]; s; T3 b; @$ n3 v
DJNZ R6,D1. V4 F' V8 i% K: u& n
t! { i/ Q/ Z
, U# o5 R( x6 `. b…………限于本文篇幅 余下代码请从论坛下载附件…………
3 t5 w3 F& F# v7 n
6 D- T) Q O6 P! m% h; t& e" `, {: Y3 x: Z8 f1 R" ]
|
|