EDA365电子论坛网
标题:
单片机密码锁proteus仿真和汇编语言源代码 数码管显示
[打印本页]
作者:
helendcany
时间:
2018-11-29 07:00
标题:
单片机密码锁proteus仿真和汇编语言源代码 数码管显示
单片机密码锁proteus仿真和汇编语言源代码 数码管显示
: W" E0 r" }8 |: X9 E* Z7 d8 D2 h2 G
5 J) z' P* C3 c
单片机汇编语言源程序:
9 T0 y/ A, X3 V" N
LED_BIT_1 EQU 30H
! J* ?) e. k7 F) o1 P0 P' @
LED_BIT_2 EQU 31H
9 e; I, C0 @! `9 R# q
LED_BIT_3 EQU 32H
. b. F* w) {' \9 m
LED_BIT_4 EQU 33H
0 y% y9 Z2 J+ p: p
LED_BIT_5 EQU 34H
' t' ?. @- v$ {3 {' A2 Y# {3 x) x
LED_BIT_6 EQU 35H
) A; B# a, S- z( V% n
LED_BIT_7 EQU 36H
5 b$ j4 N# L; T3 e0 F
LED_BIT_8 EQU 37H
$ o* q' ?" c$ h& d5 }, i
WORD_1 EQU 38H
2 \" J, u) y5 }5 s Z' L2 {$ w
WORD_2 EQU 39H
' \! u$ D! L$ q
WORD_3 EQU 3AH
- k: R% N: R- l9 c. o
WORD_4 EQU 3BH
/ v+ V8 B5 A& M# `' k9 e
WORD_5 EQU 3CH
% ]7 o; O$ V+ C/ P5 ]. Z% Q
WORD_6 EQU 3DH
, r* s/ [9 b/ W8 Q) |7 b
KEY_1 EQU 3EH
- Q% m. W# c4 ]. {
KEY_2 EQU 3FH
7 }& P+ @' X3 w$ G' j
KEY_3 EQU 40H
# B0 L* o0 c1 E# b+ R( X) M+ O
KEY_4 EQU 41H
; u1 c9 _. U4 K$ q6 ]7 X: j
KEY_5 EQU 42H
B1 Y! w; N- Y/ ^$ g! L- T
KEY_6 EQU 43H
& d8 Z7 S- v1 C; R: ^+ b
CNT_A EQU 44H
$ Q% T( z8 {3 c- S5 \
CNT_B EQU 45H
0 h4 o" d. j8 }3 b
KEY_CNT EQU 46H
0 p, ?7 x, j+ D9 S6 v
LINE EQU 47H
5 n# V6 F" P, D6 I( }$ J! [
ROW EQU 48H
5 d1 o! I1 x2 i. k
VAL EQU 49H
- f0 p/ |6 r! p5 [
ORG 00H
6 X; u) J6 H. _0 _
SJMP START
! y2 a/ V. } @7 J3 ?' f, N
ORG 0BH
2 r3 T" T$ [, H/ }
LJMP INT_T0
6 c- Q# `: c n2 Y8 V( h* d0 r8 Q
START: MOV CNT_A,#00H
6 q: Z& a0 p% I- p9 `7 M
MOV CNT_B,#00H
. N& B7 ] U9 O5 u( F# s* f2 Z
MOV KEY_CNT,#00H
6 \& u i9 E* s' E0 Q G! u% {6 i
MOV LINE,#00H
$ F! `# |, i0 `; J
MOV ROW,#00H
. q& w5 @) K$ ^! a! {3 P8 n
MOV VAL,#00H
2 U1 Z5 F& P: X, V8 A' \4 z# d
SETB P1.0
w% p& i! H/ C* X
MOV LED_BIT_1,#00H
% A9 Y6 y6 W i& t2 T5 p
MOV LED_BIT_2,#00H
" D9 E2 o* z8 _( f
MOV LED_BIT_3,#00H
- Y3 ? y- S) [6 @/ {; P
MOV LED_BIT_4,#00H
2 b1 i+ V1 m; A, A
MOV LED_BIT_5,#00H
8 H0 j1 e' d5 H2 Z# b8 V
MOV LED_BIT_6,#00H
+ D r* K; K. a/ ^
MOV LED_BIT_7,#79H
# R7 h- W4 k% ~. t0 p/ Z
MOV LED_BIT_8,#73H
, k' D& k Z" J `0 _
MOV KEY_1,#00H
& b1 |! z" Y+ U. V* @# U
MOV KEY_2,#00H
9 q5 ^% z! y* [) x
MOV KEY_3,#00H
]& z j1 w" ^( w
MOV KEY_4,#00H
6 L! y- n' q% ^2 d }
MOV KEY_5,#00H
4 w) h& P0 c6 S5 }+ V# h0 v+ O. V
MOV KEY_6,#00H
' [3 C7 n. a8 Z! o) J
MOV WORD_1,#6
9 a6 R8 a# X/ ~
MOV WORD_2,#5
. o4 `7 J3 n3 B% u" `
MOV WORD_3,#4
6 t) F& ~; P& N
MOV WORD_4,#3
! y K' b' U) p
MOV WORD_5,#2
8 F# t4 e& T# T) T
MOV WORD_6,#1
, f# Q' F; \1 v0 E
MOV TMOD,#01H
: m9 a- ?& R# ^1 L5 D
MOV TH0,#(65536-700)/256
3 O- q1 X$ H; T* j9 U w1 P
MOV TL0,#(65536-700)/256
3 X3 f7 f8 m/ R
MOV IE,#82H
$ i: p5 T* I- s3 {3 \& S
A0: LCALL DISP
" I3 K: |& `3 j+ @% j
) E& V+ _* R1 n# C' J2 J0 F
! a) y; ^( ^4 `" O+ u& x: S
LSCAN: MOV P3,#0F0H
( n, w3 k( W* x* k" o7 m
L1: JNB P3.0,L2
: p1 y8 Z1 H! |6 j1 P0 m0 v
LCALL DLY_S
5 t2 U% b9 @2 W9 b; j& Z: n
JNB P3.0,L2
) h' w! ?: E1 R- `3 D
MOV LINE,#00H
0 h2 G W0 } `* X) m
LJMP RSCAN
$ d" {2 s& D8 I2 B1 q# y
L2: JNB P3.1,L3
/ z: q) G3 w) i- W, x" ~0 A
LCALL DLY_S
g* P$ f/ `; P$ N U' A0 k- V
JNB P3.1,L3
$ U6 K; H3 R( g- u+ \
MOV LINE,#01H
# X& _# x2 E5 h! Q- s; Z6 {9 x
LJMP RSCAN
7 o/ v* a. D! d! }8 |! ?
L3: JNB P3.2,L4
! v4 @- ?; m( B& n
LCALL DLY_S
I% k5 G4 A0 ]$ h2 |
JNB P3.2,L4
- b, B& q- N4 h4 N
MOV LINE,#02H
1 N; U6 p- |' ~) h6 s
LJMP RSCAN
) K+ B: ]( R0 S" U6 u: Y
L4: JNB P3.3,A0
, w) `0 ^" ?7 c' c
LCALL DLY_S
/ Z( I/ Y) x2 j' }! L& U7 V: ^0 O
JNB P3.3,A0
3 T: ]2 Q1 m1 A! O
MOV LINE,#03H
/ [6 O. N" W5 n
L2 e) ?# T" z6 M8 N# {% e& B3 [
( Q. K* C! ?/ i$ c/ O8 J m
RSCAN: MOV P3,#0FH
+ c! q9 D. R2 K
C1: JNB P3.4,C2
( |6 C( ^0 { T" a! W1 D
MOV ROW,#00H
' ?7 B6 L4 [; R
LJMP CALCU
: F6 ?6 U4 `; D/ i, D( z
C2: JNB P3.5,C3
- ~5 b4 J/ J" z Z6 P) V; x( p0 z
MOV ROW,#01H
& b0 T9 W4 i ]* g9 @0 b
LJMP CALCU
) Q+ S" c; j" V+ w/ N
C3: JNB P3.6,C1
! L0 e! a P, v
MOV ROW,#02H
% o- ? X/ v' S
CALCU: MOV A,LINE
T; q# k: _' t: E9 H; W# F
MOV B,#03H
/ a# R% N( Y' w3 V: z
MUL AB
% }4 U( n0 C& ?; L1 e, V
ADD A,ROW
/ J, P4 ?, _, ?$ J# m `7 f
MOV VAL,A
5 j: C+ k$ ~5 a5 O
CJNE A,#0AH,J1
* P2 t' w# o' o8 i0 h
MOV R1,KEY_CNT
; ^( H3 g8 n# Y# P; p5 R7 D+ O
CJNE R1,#00H,J2
/ T8 n x$ H' T6 _" V( u
LCALL ALARM_1
( u. N! M9 l' M
LJMP START
5 F' B: G$ P; N* k7 c2 v
# s0 Y1 ^0 Z2 }
; o+ \1 R" X) r! u+ u4 ^% M1 m
% M& z! T+ r8 i) w& s' ] x6 Z/ D
J2: DEC KEY_CNT
) O& u, Q' |' F- | C: A4 S
- G% A- W0 q8 O6 p& ]
LCALL SHIFTL2
$ T; \' h& S4 y" o4 l
, h# b5 K6 Z) O L
& Q7 d6 E5 q: v6 H/ f* h$ K
! c, S: a9 V5 V/ R
8 t: z" H9 w7 ?! q5 p+ h+ s9 L
2 B, C8 K! L; J' {
( V/ v1 O' G* \! Y7 N
W00: LCALL DISP
( v( l9 d3 [) o
MOV A,P3
3 W$ [, F: Y h
CJNE A,#0FH,W01
' t- T- R9 ]7 u% q: t
LJMP A0
& i x& r7 q# [
W01: MOV A,P3
- _, ~& J; U& l6 p0 N
CJNE A,#0F0H,W02
8 L( a! g& E; |# H- o3 r8 s2 D3 X
LJMP A0
) G/ X2 B* G8 k% X3 L$ q! M
W02: SJMP W00
; G0 }# |) Z, J
J1: MOV A,VAL
- X6 j8 P5 V& }, g W; x8 t. y$ I
CJNE A,#0BH,J3
, Q* N( }& d! g! [' k C8 N8 F
MOV R1,KEY_CNT
1 H$ n, r8 l( u2 W$ g. p
CJNE R1,#06H,J4
' `0 Q# B! d8 y2 k" ?" @3 C
MOV A,WORD_1
, L T, W/ I# @2 A) T+ e5 v+ w m$ u
CJNE A,3EH,J5
% l+ P- H) r( P9 F3 p. @; N
MOV A,WORD_2
& ~$ ?5 {$ Z7 I1 s
CJNE A,3FH,J5
# y$ H* _0 O- u9 K- E9 R
MOV A,WORD_3
+ P3 _- W0 o" ^
CJNE A,40H,J5
2 |0 b+ U9 g- `$ Q
MOV A,WORD_4
6 G2 W# U) U! J" W
CJNE A,41H,J5
y! _3 l6 H% `* o4 Z# X2 a. {
MOV A,WORD_5
+ b6 P% j( c' c7 {0 j( C5 z+ n
CJNE A,42H,J5
- z U9 o/ b4 d6 m0 e1 U- g0 K
MOV A,WORD_6
+ g" X# w4 K B9 x
CJNE A,43H,J5
$ l9 j2 s' v6 v4 E) B# h4 z
CLR P1.0
% H1 u( ^ N. s7 \+ b& [1 X* l
LCALL DLY_L
8 Y1 q. a F) h- V0 |- ~) _
LJMP FINI
" o# d D& ]7 Q- p' u' }
J5: LCALL ALARM_2
( C6 i" X, i8 D7 \, H0 m+ }
LJMP START
7 E. Z" G( K' _# M( c" {
J4: LCALL ALARM_1
. d9 }0 p4 y, Y2 N( x. U; X5 m
LJMP START
# h& H7 }/ ^. R$ L2 @ j
J3: INC KEY_CNT
+ T8 e% N* P- e. h) S6 c" D
MOV A,KEY_CNT
9 @7 W, r1 f1 I& O
CJNE A,#07H,K1
% X8 Y' M6 r, a4 Y3 r2 l; c% E# S
LCALL ALARM_1
, F% w6 }, ~% R" o5 _4 w- X8 T9 ^
W10: LCALL DISP
- ]9 Y( T* F4 `9 Z+ x& L
MOV A,P3
* l5 `8 W2 s. U* r/ P% ?
CJNE A,#0FH,W11
) k7 u4 j8 j: W$ h$ z2 B0 \
LJMP START
# X' R) @; Q6 r" r
W11: MOV A,P3
/ k% ]: i0 r/ P
CJNE A,#0F0H,W12
; q; T0 n H5 y) Q0 v% |; K
LJMP START
% j9 J- T( P* f% t
W12: SJMP W10
* h. E' j% i, A5 R L. }( Q2 m
LJMP START
, \ K% ~% `$ D3 @" S; s8 C
LJMP START
0 ^" J4 S9 r, l _+ |- {
K1: LCALL SHIFTL
# }4 j" L) y3 u Z7 T* c
W20: LCALL DISP
5 L7 k; P, {. b5 c
MOV A,P3
5 {$ v v, I! U8 I
CJNE A,#0FH,W21
$ N; j) K! U$ b$ p9 r; T$ D
LJMP A0
1 r5 h9 W Y" J n& u2 _
W21: MOV A,P3
9 a/ d' o" S5 d6 z+ o
CJNE A,#0F0H,W22
5 e$ y( k _7 o: M* {+ t8 J
LJMP A0
7 `4 i3 T4 }/ ?( S. P
W22: SJMP W20
. J3 L, f: f3 [5 D% ]/ D
LJMP A0
) H( z% {4 E# R+ u, n) E" Y; V' F
ALARM_1:SETB TR0
/ {" ?% e! t5 ~6 K$ m. q
JB TR0,$
4 j7 }$ `- f( [; u9 ~7 Z
RET
; I: o6 n5 _, M/ A ?" F+ L/ x
ALARM_2: SETB TR0
) l e$ {. [' \/ h4 ]; I3 {" O
JB TR0,$
" ~: S, e J( l& z) n* D; G4 f
LCALL DLY_L
( k/ i% Q3 ?0 N4 s0 O
RET
/ i4 V: u. x% z: D+ O6 \ A
4 ^4 M [8 i# C. c
INT_T0:CPL P1.7
; Z/ A7 n8 n# I# m9 r9 K
MOV TH0,#100
. c$ Q6 u8 Y, k2 B1 v N4 y/ V
MOV TL0,#253
$ R: w: c1 G0 l2 q% t
INC CNT_A
* `4 z# m1 [$ s/ x W' I
MOV R1,CNT_A
; R: y' }+ y4 u2 M1 Q
CJNE R1,#30,RETUNE
8 S7 Y8 u! c5 F
MOV CNT_A,#00H
& x* y5 T/ L# k: c
INC CNT_B
1 i5 o# P& q' X, f, J
MOV R1,CNT_B
# L7 V" w d. O. N, z
CJNE R1,#20,RETUNE
. F" T! ?% `! _
MOV CNT_A,#00H
8 ?6 w9 t" @+ W' y5 x9 e8 b
MOV CNT_B,#00H
3 I6 S* N7 q' y$ E, s
CLR TR0
% t: M- p( H0 M" t0 }8 P
RETUNE:RETI
' r" @2 K4 u+ z) Q9 D) [4 i) c
2 F6 i$ }& _6 d
4 w [# _& t$ S* \0 `
SHIFTL: MOV LED_BIT_6,LED_BIT_5
! A4 n7 }0 Y- J# W
MOV LED_BIT_5,LED_BIT_4
. ^! N r: g9 f
MOV LED_BIT_4,LED_BIT_3
5 W5 x/ Z. j% ]: _
MOV LED_BIT_3,LED_BIT_2
/ E$ ]$ a9 @, Z; ^" x+ ^3 Q( O3 x
MOV LED_BIT_2,LED_BIT_1
" g6 s+ ]& U0 y' ]7 [
MOV LED_BIT_1,#40H
|% @5 a$ C! b+ y
MOV KEY_6,KEY_5
& r& B, p* G8 R5 z0 I
MOV KEY_5,KEY_4
$ o6 @ V: O! a. y5 g) l
MOV KEY_4,KEY_3
% m: ]9 Y# a# W5 |
MOV KEY_3,KEY_2
1 b I- ~/ ^0 Y8 d
MOV KEY_2,KEY_1
* _0 j# x+ C Z
MOV KEY_1,VAL
* Q, `' o" T! m M
RET
, I7 T. |( H7 l; q
; h. j6 `3 c v# e
3 ]6 c+ e1 B% m
& m& T5 q$ ?* ]$ s4 c
0 j r) A/ M ~
SHIFTL2:
) a. K0 d r0 d
' z$ R5 y, F3 F$ E/ |
MOV LED_BIT_1,LED_BIT_2
2 `( V; k' r" T, T
MOV LED_BIT_2,LED_BIT_3
/ _( ^: g- h1 R* W) J
MOV LED_BIT_3,LED_BIT_4
/ m# [! ]; e" f* t- G7 I) R
MOV LED_BIT_4,LED_BIT_5
9 v% p; |6 c0 C( n( ~: b
MOV LED_BIT_5,LED_BIT_6
4 V9 K9 x, ^+ C0 h- A/ f
MOV LED_BIT_6,#00H
! d. f" l! w1 q: E% i
MOV KEY_1,KEY_2
9 {! K! [( r2 h+ o# p
MOV KEY_2,KEY_3
" _8 S) J ^) b+ y
MOV KEY_3,KEY_4
5 i( x6 w7 g3 L) k
MOV KEY_4,KEY_5
f+ u: J9 k( A2 Y& M1 f* h
MOV KEY_5,KEY_6
" E! @( B, t4 T6 p4 X( N
MOV KEY_6,#00H
b/ f2 z# F- S/ |0 M
* s, D3 a& C( q
RET
* `5 |, n' f! l
9 X* |6 D* [% { x/ @
3 c: ^- x8 ]* U+ c4 t
DISP:CLR P2.7
8 r' g4 j) i. y n+ I$ u
MOV P0,LED_BIT_8
3 O9 N" h! N2 A& a* s P" {+ t8 A+ Z
LCALL DLY_S
- R' \4 ?2 Z2 r
SETB P2.7
3 m) j. u6 P5 N
CLR P2.6
- i4 N9 G2 A+ K1 _( ^# V
MOV P0,LED_BIT_7
/ `" c* s7 Y3 v+ }
LCALL DLY_S
: x; t$ V, r# S# k+ b& ?/ M
SETB P2.6
. S2 O" ~1 h! u5 F8 y: p
CLR P2.5
1 D& `6 j" o$ Q3 j: ?8 m7 P
MOV P0,LED_BIT_6
% Z( V# t6 r ^& r2 B, \! w( r
LCALL DLY_S
# g" L: H- M& g; X
SETB P2.5
8 X3 y0 Z% _, k" O4 Y$ Z, i" L: d& k
CLR P2.4
7 [; Q4 T1 F, V* F/ l
MOV P0,LED_BIT_5
" I! |! U9 i; K2 y5 h5 }/ p
LCALL DLY_S
+ _3 N: X @% }, ?' b
SETB P2.4
$ s2 s+ O" n: Y- D; G+ J8 H
CLR P2.3
9 N) u; p% f5 U2 O
MOV P0,LED_BIT_4
1 M8 c5 T* o% p6 E4 j
LCALL DLY_S
# k( u/ G: J) i2 J
SETB P2.3
& d/ J' x. l- I
CLR P2.2
. w& p# m I6 W) G& v8 ~' d
MOV P0,LED_BIT_3
/ w0 R" T' r; t! ~
LCALL DLY_S
, |, {& l, A, h4 P/ }+ A
SETB P2.2
3 f0 j7 q+ p5 }3 O
CLR P2.1
8 g, n. A$ W' X+ l7 v8 F
MOV P0,LED_BIT_2
6 p. p+ p# g% N: r) _
LCALL DLY_S
1 O" L4 R, m* e
SETB P2.1
( v% P4 |7 R8 S* z: s; A
CLR P2.0
, R4 J3 Z4 }: A; |# z
MOV P0,LED_BIT_1
9 r( N" b4 }% ]( D. Y
LCALL DLY_S
* N% m |8 }( j; S# _5 T! L+ c
SETB P2.0
' ]/ U# i9 W( q6 i
RET
: U- e; \0 g: ^+ k
DLY_S:MOV R6,#10
+ B. q; o3 C6 |- @
D1:MOV R7,#250
4 @3 y, D( }1 [
DJNZ R7,$
; ?# i1 I6 k9 d' F0 w. T
DJNZ R6,D1
& a* ], x$ B6 _* } u+ l8 p7 T; V: }( D& S
1 c: p3 B$ d) I$ Y0 }) M8 j9 \/ a
6 ]0 g9 a& J7 Z% w a- A! {
…………限于本文篇幅 余下代码请从论坛下载附件…………
9 I! Y- q( ?) k) _
: t1 S( s \$ q3 W
( k# ^4 P1 h) p5 |% ^
作者:
gaoxings
时间:
2018-11-29 10:07
学习中 谢谢分享
作者:
Dc2023122266a
时间:
2023-12-22 23:12
1
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2