|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机密码锁proteus仿真和汇编语言源代码 数码管显示
: G3 x3 [. C' X7 M4 o! L
- M3 @( x, a% t$ t0 K; f! l' l/ @单片机汇编语言源程序:
4 O% m! Y5 ^, G' [ LED_BIT_1 EQU 30H% M5 j+ |2 @7 E8 e
LED_BIT_2 EQU 31H
4 G3 T$ w# |7 k" u0 M; b9 d, p LED_BIT_3 EQU 32H+ Q& Z! x! ]' ]0 E% d
LED_BIT_4 EQU 33H5 E% a# L, L A2 Z2 l
LED_BIT_5 EQU 34H
: @0 i9 K& Y4 s, a5 A0 P LED_BIT_6 EQU 35H
! U" x, S7 ?( h I% r I LED_BIT_7 EQU 36H
6 k1 W0 f5 ]9 ?0 |: D8 Y LED_BIT_8 EQU 37H3 d- D* q0 {" P& K; F. l% j
WORD_1 EQU 38H
9 p3 V9 ?# C+ C2 k& RWORD_2 EQU 39H
. W: U1 i6 i& p0 f, d5 KWORD_3 EQU 3AH
% Y3 e+ N9 n+ s g8 p6 ~WORD_4 EQU 3BH! z! r6 z3 H% p2 s9 f
WORD_5 EQU 3CH
! C! A" I' N8 T" \0 nWORD_6 EQU 3DH7 @$ ~9 c3 M* N5 ]0 B$ X$ j
KEY_1 EQU 3EH
% q8 A) t( Q/ K; O' _" ~KEY_2 EQU 3FH
$ u* R% Z# X' l" ?KEY_3 EQU 40H
9 c9 h, Z3 }5 F" N dKEY_4 EQU 41H
" B$ m+ N9 L! F# B0 E& \KEY_5 EQU 42H
, d3 I7 |' Z. Q: m# I: e4 ?; B5 DKEY_6 EQU 43H
a+ U3 |; @) |- Z. ^3 @& z$ n: OCNT_A EQU 44H. j( i& j4 l( K! h% X+ {. q
CNT_B EQU 45H
2 \! k# H8 J( xKEY_CNT EQU 46H- l9 r3 e1 G) w# v0 t0 J$ M
LINE EQU 47H, p' ]( P) |4 j0 ^7 ~" B
ROW EQU 48H+ o) }# V! \5 S7 W E
VAL EQU 49H2 d) \, M, N- C( s& E7 N' L
ORG 00H
3 d L% J1 C$ J q& P; H( Q/ TSJMP START7 {- G; v/ P4 }; o L) _
ORG 0BH
, a# Z0 `4 j5 h4 C) q$ ^LJMP INT_T0+ \1 J& |5 O. T5 S) T) A( v
START: MOV CNT_A,#00H! M2 _4 S9 L8 Z; p+ z! k2 K5 D5 z, [
MOV CNT_B,#00H- F" P, }! R) c7 T+ j7 \
MOV KEY_CNT,#00H0 B6 ]! o1 B+ n9 D
MOV LINE,#00H1 g( w# ?# P3 D1 Y
MOV ROW,#00H( [) M7 A+ V* h+ f- {) A7 M
MOV VAL,#00H
3 h6 y9 k. {/ a- Y) Q( Z" \0 {4 F5 x SETB P1.0
$ I- Z6 a3 B7 W. f7 | MOV LED_BIT_1,#00H& l+ a/ f% L) A5 w# q6 }9 q
MOV LED_BIT_2,#00H4 Q4 V! a$ U+ B* `! c* _
MOV LED_BIT_3,#00H& _; u" O4 l1 @5 i
MOV LED_BIT_4,#00H! w( [1 w3 e( Z- i0 I* \) y
MOV LED_BIT_5,#00H
: d5 |1 t9 u" }) E# ? MOV LED_BIT_6,#00H6 J A) [9 D: W5 C; l) e( U! U
MOV LED_BIT_7,#79H
" n- s( B, G X: ?& i- Q# p' G MOV LED_BIT_8,#73H, f, K: {9 s6 H7 K
MOV KEY_1,#00H
8 y# C( |+ x! R. t( j MOV KEY_2,#00H
6 \7 K, {; A; r* i MOV KEY_3,#00H# m" O: |9 U3 \* G4 P7 x/ l" G
MOV KEY_4,#00H# T$ n7 s. c/ r# S: H
MOV KEY_5,#00H
5 L' p1 k2 a* L$ Z! H/ ~7 j MOV KEY_6,#00H
5 ^2 o o& o* g' [$ v$ ~! z MOV WORD_1,#68 V6 l4 s3 K* t9 e- v1 X
MOV WORD_2,#55 h {; x3 A2 f0 x6 A& E9 r' o
MOV WORD_3,#4
1 B) c$ F7 m' L# I& U& Y7 ^% P MOV WORD_4,#3
" _' b- O; F9 p/ ~+ g( a9 F7 D MOV WORD_5,#2
* c( C t" b+ I4 i) k5 Q" N: L MOV WORD_6,#1# m& p2 s U% `9 `/ @" q1 T
MOV TMOD,#01H
. Z- w+ X/ y; U( d5 h2 ] MOV TH0,#(65536-700)/256
$ s+ S, T2 `! m1 b% q, j- T7 R MOV TL0,#(65536-700)/256
5 Y3 ?0 V1 i' t! {9 l r, [ MOV IE,#82H
& G, R3 e& X) x0 S; h0 c. VA0: LCALL DISP! o4 r7 \ g; C1 [- Q: j
: h. K. N! n, p& n
6 _% t, I) E2 c
LSCAN: MOV P3,#0F0H$ F* S7 f2 J+ {8 E
L1: JNB P3.0,L2; j. \3 Z# s2 _$ i+ M i
LCALL DLY_S
7 b6 i h: Z/ @9 C% x. Q1 z. j JNB P3.0,L20 z$ ^2 c9 _* j' ~8 e. S* E* V
MOV LINE,#00H4 ^; T8 f' b8 R& R/ D) t
LJMP RSCAN# L n B/ R1 L6 W! n! z$ K
L2: JNB P3.1,L3
1 e5 U k5 q; v" u LCALL DLY_S
# }6 Q* N7 k- d) N7 G# e. ~( b: i* j JNB P3.1,L3( W3 i4 B9 \$ {2 f- d3 w1 m
MOV LINE,#01H
2 ~0 w- K) c, Q% e8 r3 r) t) x. s+ g LJMP RSCAN
% D/ k; ~2 h% u3 q: R& OL3: JNB P3.2,L4
7 n4 N- Z1 M2 T0 U LCALL DLY_S2 A7 |- t# z8 c! h9 r+ F
JNB P3.2,L41 j4 h" v- L3 t4 r
MOV LINE,#02H
) a* l: z2 V! w3 {: \3 j# `, e LJMP RSCAN
2 }& U8 G' U6 Z- y8 |6 PL4: JNB P3.3,A04 h# Q+ e: |9 [# B0 h8 l
LCALL DLY_S7 `0 c) {, g$ {4 Q8 Z5 |
JNB P3.3,A0. ^6 N, {, p6 F+ q5 I6 x' M
MOV LINE,#03H! u2 X% C U) z
4 q% O- v6 C' o6 i T
& k- V+ i9 U% t2 b/ k2 j0 K RSCAN: MOV P3,#0FH& a6 G* j5 w7 `1 h# Y D: Z
C1: JNB P3.4,C2
) o! |2 |4 S1 Y7 A( C MOV ROW,#00H
" M) e2 I4 N9 X: q LJMP CALCU2 Y% X0 \+ ~/ o& b, {
C2: JNB P3.5,C33 @' _7 ^9 e1 b9 r# g5 X
MOV ROW,#01H
. p+ J, \( i9 \ t' a9 M LJMP CALCU# A# I* _# X) j1 o1 F9 ?) O5 d. ?
C3: JNB P3.6,C12 \; [$ n. d# ^" S& @5 f6 x2 w
MOV ROW,#02H
+ ?2 i* l! H: u) F* x* @ CALCU: MOV A,LINE6 ]4 ]2 X4 J2 b( p
MOV B,#03H/ O$ f5 h: ~" `5 Q" ^+ i( w3 s
MUL AB
& Z6 V0 m2 X9 d! c* C3 N7 K ADD A,ROW
: A: p; G. L+ A. F MOV VAL,A
( V: J* y! X0 O* W6 h CJNE A,#0AH,J1
2 H+ Q( t2 g4 d3 ?- z* `, G& ? MOV R1,KEY_CNT
& y8 d( y F/ _! t* m9 f ^* e CJNE R1,#00H,J2& q8 l3 G1 x9 n* ^' E
LCALL ALARM_1
% }$ Y1 e6 [" }3 Z5 c LJMP START$ ~& _% n g3 J; | h d1 ~
# P+ [) G4 K6 \0 n5 z8 h
: p" t" V( S( N+ ?" C1 H" k
* E9 `2 `+ t3 G/ S: m+ E A( T @J2: DEC KEY_CNT
; @ I8 J5 b0 Y/ Q1 A& @" x* C9 I; Q) n0 I
LCALL SHIFTL23 j$ u. m1 i# @& A
: r2 e( ^" m5 d* K( `
7 O( J; V5 }, @2 }9 q9 Z5 b
S F# o& K3 k8 Z" t. X/ O
6 d+ z Q* w" `4 Z( E" w
. [$ _( c$ {# A: [7 u( j$ }: j' ?' I5 Q& G( S& l5 f- ^
W00: LCALL DISP
9 q4 Y% a2 h4 |* L7 J7 P MOV A,P32 Q6 Q8 |( \- R$ Z0 K5 ~
CJNE A,#0FH,W012 m" Q7 I* {3 u0 A9 X' j
LJMP A0
4 a+ L2 s2 {- N: nW01: MOV A,P30 @5 Y! O- y- X6 V5 Q) a. I
CJNE A,#0F0H,W02- ?+ h" _: Q: {8 B9 ]* t1 ^$ Z2 `
LJMP A0
! C! o F5 R4 G$ t! e' eW02: SJMP W00
5 a( y7 ]$ A) a- u& A7 a* OJ1: MOV A,VAL$ N6 C6 P4 W7 S/ a. Z/ Q0 \
CJNE A,#0BH,J3' ?$ c5 V% |$ g) {# D. e
MOV R1,KEY_CNT" I2 B( l% ?% T5 V) r1 C
CJNE R1,#06H,J4
- F! c& B' t# B2 f MOV A,WORD_1
6 ~- ~5 u! C2 _7 w* V0 N CJNE A,3EH,J5
3 S0 G2 b0 E/ Q. b7 i2 z MOV A,WORD_2& _( m9 U# S( @/ ~- z, R8 q* H
CJNE A,3FH,J5
0 X* t( l4 T x' G* B MOV A,WORD_3
, C& [, s* C( v CJNE A,40H,J5
4 u7 U& R d! _ M' q, t% {6 s MOV A,WORD_4# j r& X) G% P& _1 |, A z1 @
CJNE A,41H,J5
* C- B2 N/ x! g% n MOV A,WORD_59 x' V f; X7 a V7 e* ]1 c
CJNE A,42H,J55 R: m' G( R$ c- L& b/ r! Z
MOV A,WORD_6/ V& i' w) W3 j# r4 x
CJNE A,43H,J5
8 ?9 t1 f4 Y4 c% ` CLR P1.03 ~# |' c* ?8 U. i9 K
LCALL DLY_L
6 A. `" g6 ]; Q* S" ~ LJMP FINI
" N5 o+ A4 \7 w1 |$ k: [+ C0 \) x5 Z6 CJ5: LCALL ALARM_2# B I, n8 A5 o8 r: D5 k* J; i2 G
LJMP START
6 p, H5 @( p/ {J4: LCALL ALARM_1) X) U6 G' g1 ?1 P
LJMP START# ?, Q/ j- V1 n1 ?6 z+ ?' ^
J3: INC KEY_CNT2 X0 V+ S5 Y# G2 K) I% a) L) W
MOV A,KEY_CNT
- P/ ] c- l* b5 E! A" s8 z3 g7 i CJNE A,#07H,K1
0 d+ Q# X, s# f& R: e0 A$ m LCALL ALARM_1
( E }) y9 V8 NW10: LCALL DISP0 P& D; {8 r5 H/ ^1 D
MOV A,P3
" b+ y' p2 V. x7 u CJNE A,#0FH,W11& p9 G9 T8 p& D& p
LJMP START1 I) C0 W! {8 H8 u1 S3 x) N
W11: MOV A,P3
" f2 J( o2 b1 [ CJNE A,#0F0H,W12; K4 L4 a2 c2 [3 M2 \+ `
LJMP START
' M8 [2 d! F q3 t# g9 j) jW12: SJMP W10( j! N7 k3 X$ o* l
LJMP START
q3 q( t3 L8 O C* g, h LJMP START* I! h8 C7 }- a3 K& [8 i; Q* a
K1: LCALL SHIFTL8 ?$ [( L+ J3 Z/ C1 l( B
W20: LCALL DISP
" r& [5 k5 p, c, b+ k: s MOV A,P3
) _% [) C0 Y. [, F CJNE A,#0FH,W21
; N6 D; ?# v8 Y: I7 { LJMP A0
! \8 U+ u, v5 T1 {' R, R% TW21: MOV A,P3
+ t7 a% b; L2 T& V4 e# V CJNE A,#0F0H,W22- H) ]; r# u9 y
LJMP A0
' I4 |7 J' w7 Y8 V c+ H/ B. o- vW22: SJMP W20
7 o% U& G! ^0 b5 J' j( c* c LJMP A08 O! `% X% D- L0 b6 d# @
ALARM_1:SETB TR0
( ~4 p' Y6 f. w; N8 a* }1 W JB TR0,$8 t/ u+ l% D- P" R/ K8 g7 b
RET2 E$ `( K5 c5 Q9 e: C
ALARM_2: SETB TR0
& O: e* u1 c0 }& ~ JB TR0,$
% j9 x+ m* ?; a d2 K8 c LCALL DLY_L
: j2 c+ O3 v d* |# k3 q( s3 U4 G: P1 { RET
/ z% N7 i% ?! Y q+ K( y4 Y2 {* p. W/ b7 i) S% n
INT_T0:CPL P1.79 J0 ~: ^) p. J- _/ b6 K7 p& W {
MOV TH0,#100$ i) {' I0 Q- c0 D$ k8 ^- Q
MOV TL0,#253: l" G& y& G3 r# @0 C8 i: S
INC CNT_A4 E6 U. T* b4 P* _8 ^
MOV R1,CNT_A- W* W) M; Q* Z1 N. m( p! G6 F* F
CJNE R1,#30,RETUNE0 z! z1 ]& m6 ?7 N) Q9 G0 O2 J
MOV CNT_A,#00H
5 n- x+ O w4 b" k8 D5 T8 J# vINC CNT_B5 Y% ^( H. B9 f8 @
MOV R1,CNT_B' ?& V1 t1 Q: q+ d
CJNE R1,#20,RETUNE8 x" Q: t% T' o% `
MOV CNT_A,#00H
% n+ o2 b( n$ j" w, I( EMOV CNT_B,#00H9 B9 `. M1 w: U& X9 R- k; P, z1 s! W
CLR TR0
1 L; M) W% l# g- D& \0 zRETUNE:RETI
+ C( X9 E# `+ G" w2 e. w/ T, Y
) w4 l' }# X- q# s' i" u8 `1 v8 p, \7 a6 q
SHIFTL: MOV LED_BIT_6,LED_BIT_5) W: J% p. { k7 K; Z$ P$ t
MOV LED_BIT_5,LED_BIT_47 z, E' T* @/ u4 \ \
MOV LED_BIT_4,LED_BIT_3; S5 j7 l/ W2 o+ y
MOV LED_BIT_3,LED_BIT_2/ i+ n. ]+ z _4 L; ]0 H3 X
MOV LED_BIT_2,LED_BIT_14 R* o" @; C: m/ h3 C+ P
MOV LED_BIT_1,#40H
- |% U& D" @! P0 u# Z MOV KEY_6,KEY_5
" q! b# ~/ V, ^& v0 [ MOV KEY_5,KEY_4
1 n( b" q0 A, @ MOV KEY_4,KEY_3/ @6 F; D3 w1 o4 n4 i! O2 k# r! j
MOV KEY_3,KEY_2
9 e' A/ ?) t, S% Q2 b- b MOV KEY_2,KEY_1
# A P: A6 [1 I3 n7 K3 P) J MOV KEY_1,VAL* T( E2 S3 y, D9 k- C
RET9 s3 ^: N1 C% A+ I6 D
7 p N0 y5 i: B& s" c! K, B
3 b( [3 j1 h) ?1 D
( I. \ P: ^/ M, o+ B1 ~& c
3 R. U; T. R1 `) w
SHIFTL2:
/ C6 m8 e0 A8 S N0 F+ A
$ u K7 c8 m) m4 E4 z5 D! | p4 t MOV LED_BIT_1,LED_BIT_21 m, [; Q3 d' d$ x. d) H" q
MOV LED_BIT_2,LED_BIT_3( f5 v2 ^& T, { G& Q1 a1 N/ {
MOV LED_BIT_3,LED_BIT_41 U* P% z$ R( y, I1 v8 @9 r
MOV LED_BIT_4,LED_BIT_5
2 c# R& n G$ i' F MOV LED_BIT_5,LED_BIT_6
" v _7 T3 Z4 Z MOV LED_BIT_6,#00H1 K X- {; l' b* ~3 W
MOV KEY_1,KEY_2
+ R, h1 K% s! I5 e6 l0 X MOV KEY_2,KEY_3
* M/ i9 b! X* } MOV KEY_3,KEY_4
- M2 V# s* o5 N9 f MOV KEY_4,KEY_5; U$ G& t0 J! Z$ B R" y% f# d. h6 m9 ?
MOV KEY_5,KEY_6
' h# o' ]6 z: C# h7 I$ r MOV KEY_6,#00H/ R, j! L8 H9 h( w8 d1 b; O
: D- C$ |8 f! W+ T! B% O/ T: a3 g RET
7 r, z0 \5 i; g6 T" S6 b' q# [8 a) U: ?0 g% V
9 G: o& {8 t9 s+ qDISP:CLR P2.7
6 z, M. b' X) s4 O MOV P0,LED_BIT_87 ]$ e9 e( m1 B
LCALL DLY_S
: E0 K! Y! M4 V5 Z( I SETB P2.7, W: ]; p. m5 v4 } T
CLR P2.6
1 `$ v0 U' A+ j3 K+ E, \! z MOV P0,LED_BIT_7
6 D& h0 [( v6 y; B8 M LCALL DLY_S1 E; N) X+ z. H
SETB P2.6/ f$ [1 Y# t# y/ _* N) P
CLR P2.59 }' e% W% g! l* I5 P& Q1 J
MOV P0,LED_BIT_6
3 m0 L$ w( n" e' K LCALL DLY_S
, \# C3 [" }) \/ a/ x' N SETB P2.59 K3 K- `( e e7 y( f) e6 x
CLR P2.4
6 v( \6 O/ [* ?& D- T/ C7 V MOV P0,LED_BIT_5
7 `/ L' H& K2 \ LCALL DLY_S( Y! ^& ?3 B5 Z& B$ L/ K6 C# i1 \0 w
SETB P2.4 _3 \( P$ E% o9 {. G- N
CLR P2.33 U1 Q1 a8 W+ Q! }! R6 T/ x' ]
MOV P0,LED_BIT_4/ D/ r7 a9 n' G
LCALL DLY_S9 i5 N; Y7 M7 C* p1 y) U
SETB P2.3
+ ^ ?# J, i1 d; n6 _# C CLR P2.2; l) g9 Z0 t1 Q' x6 H
MOV P0,LED_BIT_3
* H$ T$ M6 `' S0 \/ W& ^ LCALL DLY_S
7 l" V6 f, Z; |; t# z5 d SETB P2.2
$ ]/ i, m% i# e" Z7 x, ~( t9 A. } CLR P2.15 t( |" R2 b) z9 E
MOV P0,LED_BIT_2+ j1 q; D3 B7 p& f% t
LCALL DLY_S; a6 @+ o; N& a& Z! W; q4 F- J
SETB P2.15 y+ m$ J6 z# X/ j
CLR P2.0. k0 m2 X2 y! |
MOV P0,LED_BIT_1
$ ~6 F6 e) K% ~# p+ y V LCALL DLY_S
+ A: E' n* n' Z' P9 ^' M SETB P2.0) i& n4 L& K" ~/ y
RET
9 R, y5 y3 {7 ^7 t; |0 i DLY_S:MOV R6,#10
, Q, U1 Y9 y6 R# p# t! X D1:MOV R7,#250. `; w' i6 V/ |
DJNZ R7,$
" b# v U7 ^" F1 x* C. P- L/ `9 ~ DJNZ R6,D1
1 j4 Q( w1 K9 t" T& L3 d
: M& P! f( C4 m! O3 ~# i
+ b* Z- q3 z5 q4 n" r…………限于本文篇幅 余下代码请从论坛下载附件…………
2 y( c8 C% R; e5 X$ a0 K+ d3 y+ I0 s5 }) R% x$ d$ ^4 R
% U9 x" A+ M1 m% J2 T. q
|
|