| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
单片机密码锁proteus仿真和汇编语言源代码 数码管显示 
/ W- f2 {# K6 ~7 T, B5 T8 V; L% A( u5 _2 y5 Q 
单片机汇编语言源程序:4 x- u; C9 a' d' t( } 
        LED_BIT_1 EQU 30H 
1 t; r; P0 ]9 F: C& o, e6 A        LED_BIT_2 EQU 31H 
. ]4 U) Q- i% e        LED_BIT_3 EQU 32H 
& F7 L' A9 p2 I5 U3 n# M        LED_BIT_4 EQU 33H 
; N" A2 K2 ~/ y, F        LED_BIT_5 EQU 34H 
9 I9 L+ I: j) a: @: x        LED_BIT_6 EQU 35H* c, D' v- J* |1 P1 t  h 
        LED_BIT_7 EQU 36H/ D0 X# ?# p: |9 o  B: p6 e 
        LED_BIT_8 EQU 37H 
8 H) l% L% B) {8 Z' f; z6 }WORD_1 EQU 38H 
) G* b+ R0 ]  fWORD_2 EQU 39H. x$ ^8 q$ {' P6 V 
WORD_3 EQU 3AH$ i$ Y- O2 l3 s' T: P 
WORD_4 EQU 3BH3 r) f( _" E* z% O, Z; Y 
WORD_5 EQU 3CH 
. n' O3 D% a/ [- _' OWORD_6 EQU 3DH 
& P+ Y/ O& X( ~% M  R/ l% H, OKEY_1 EQU 3EH7 i% I5 Z2 d7 j 
KEY_2 EQU 3FH 
+ b$ T0 P/ ?' v( CKEY_3 EQU 40H 
8 b; d$ h8 j$ y  B8 DKEY_4 EQU 41H 
8 K5 M; L! _; Z. q% S, u" hKEY_5 EQU 42H 
% s- E) [7 f6 i) m3 e  dKEY_6 EQU 43H 
9 B+ d% L# P8 @2 m7 @8 ^9 O  aCNT_A EQU 44H8 }& Y/ x0 L; t7 S 
CNT_B EQU 45H8 T: K6 ^6 a$ ^% { 
KEY_CNT EQU 46H; G# i- h! m% J* M- a 
LINE EQU 47H& g1 G* [8 H+ u% l- V3 Q3 S 
ROW EQU 48H 
, i# C1 U0 j6 s9 `# |# ]1 e2 aVAL EQU 49H 
9 e5 ~6 W1 c# n/ u6 w+ KORG 00H2 E" ]" c& l- O" A' S 
SJMP START 
0 D( k0 _/ ^1 t  aORG 0BH$ k& V8 N) X& M/ o+ E& T% {% w 
LJMP INT_T09 f1 Y  y# `/ N 
START: MOV CNT_A,#00H 
. B( ~' c+ g- K9 Q/ K% G            MOV CNT_B,#00H9 v$ y1 }) k+ B: k4 S  \ 
            MOV KEY_CNT,#00H: y0 {. V$ A* N9 [ 
            MOV LINE,#00H8 {- a) C  h6 Y2 N! W 
            MOV ROW,#00H6 r- r  ^" _. n4 ~' E. A2 S& H' x, F 
            MOV VAL,#00H, x: x) B* _/ x* a% s0 P! M1 Y 
            SETB P1.0 
; ^! @! c9 r/ R8 @            MOV LED_BIT_1,#00H 
3 i$ u+ n6 g0 q7 R/ Z/ K0 @' J# S( _9 f            MOV LED_BIT_2,#00H/ P  T: w- O6 n8 g$ J# f2 m 
            MOV LED_BIT_3,#00H  o; t" u9 N( m$ ]2 D 
            MOV LED_BIT_4,#00H# w# G+ M- h% O+ q7 m 
            MOV LED_BIT_5,#00H) U' b/ ^1 ]1 ~+ ]* Q 
            MOV LED_BIT_6,#00H& S& O+ t2 E( m9 E5 q6 ` 
            MOV LED_BIT_7,#79H 
' g% \; u, x& h! x" f, {, g            MOV LED_BIT_8,#73H7 E' D# H( Q6 N  n 
            MOV KEY_1,#00H9 f- l5 e* s3 S: O4 d 
            MOV KEY_2,#00H 
  `% t" E  }( L5 p; j            MOV KEY_3,#00H 
7 d9 F1 N1 q: C( V% K  B7 D            MOV KEY_4,#00H! o' J  T; W/ c 
            MOV KEY_5,#00H 
% T2 L  L* b' \' [* o% v            MOV KEY_6,#00H& R+ _8 A7 F4 g& a5 @ 
            MOV WORD_1,#6 
! N1 U# j" C. r! Y! \' Q            MOV WORD_2,#5% P" D. j7 S$ C 
            MOV WORD_3,#4 
# t& B/ U0 b# K) [            MOV WORD_4,#3' y' r# r1 L  G, @( e0 ` 
            MOV WORD_5,#26 \4 I' v7 O) }) N8 {) S9 N; p9 g 
            MOV WORD_6,#1# k5 Q: ]- @* j' t% P4 B 
            MOV TMOD,#01H3 R! X* W9 B6 l* a# k: ^ 
            MOV TH0,#(65536-700)/256: f  }: {- ~! E+ K 
            MOV TL0,#(65536-700)/256! p- `% ?. I4 Z- n  ~ 
            MOV IE,#82H 
# ^% T, G- k9 Y9 v. a* n+ k; mA0:       LCALL DISP6 H; I8 D+ I5 S 
! D1 x3 U# J  Z- A 
 
; M2 D: d2 b. n' |3 zLSCAN: MOV P3,#0F0H1 E" l: F# }5 g; X; Q 
L1:          JNB P3.0,L2 
0 ]  v8 ?4 X7 s, O7 _             LCALL DLY_S, i5 Y& I, F+ z: W 
             JNB P3.0,L2 
+ ^+ P  n+ ]% N- D: d             MOV LINE,#00H 
3 k8 p- n+ q3 H. S2 @8 F             LJMP RSCAN 
1 J8 k5 u: b/ s1 J5 k- i& H: kL2:        JNB P3.1,L3 
- M' Y0 g- ^% y: l             LCALL DLY_S# C( }6 {/ u& k6 n* H+ N 
             JNB P3.1,L3# q5 P2 o9 }' i; k5 @2 F 
             MOV LINE,#01H 
4 ~8 R6 e2 B4 J             LJMP RSCAN 
& A  Z# {. ~  }! P# d  O4 P8 QL3:        JNB P3.2,L4# X$ O& S2 P; @  \0 ~! r! n 
             LCALL DLY_S$ _: J) S% n" r! N2 r* ?3 W+ @ 
             JNB P3.2,L4! w4 A& s& q, z/ j8 N 
             MOV LINE,#02H3 T' i* Q: L+ Z7 l+ _$ r 
             LJMP RSCAN 
  Y2 Y2 s9 x8 ^L4:        JNB P3.3,A0 
. j- `( \9 @# p% a             LCALL DLY_S 
* @9 u+ L+ ^7 v; y             JNB P3.3,A0& D  c6 E# S& ^3 L8 l1 b+ s 
             MOV LINE,#03H 
7 p! M5 _) e! g3 h! d! ?3 V) q8 c3 x- k5 @! ?9 ~" |; D8 U 
 
  [$ c5 E. d% @- |                RSCAN: MOV P3,#0FH 
0 N/ s( H6 l/ q% B! p                C1:         JNB P3.4,C2 
' a$ J! {4 H+ n" p/ m# N                             MOV ROW,#00H 
9 a8 S2 N; O/ \! _8 D( h                             LJMP CALCU 
2 [! k- t) p9 P9 S' A                C2:        JNB P3.5,C3 
" S8 }* E# }9 _0 y5 k) @                             MOV ROW,#01H' ^! t- @4 k4 z* A5 S; z; g 
                             LJMP CALCU/ L- Q- W4 v  ~7 S5 M' ]1 [ 
                C3:        JNB P3.6,C1' j* l! A, c- I/ K1 i" G1 K# ?; ] 
                             MOV ROW,#02H4 q( b9 H6 A8 d  S4 Q6 b) K 
                CALCU: MOV A,LINE6 G8 s4 a1 Q. o8 W& v 
                             MOV B,#03H 
8 E1 ^4 `, J$ H2 ?$ X( s" Z                             MUL AB 
6 Z3 n& S' }* D$ D0 l$ k# {- z) w& F  W                             ADD A,ROW 
( Y( z; S$ j3 H" r& \8 D                             MOV VAL,A 
; F/ J* S1 [4 i" E) c                CJNE A,#0AH,J10 \' G: t4 p) Y6 M 
                     MOV R1,KEY_CNT% E, T5 a; m/ O8 C8 ?' M* Y" l 
                CJNE R1,#00H,J2 
, f. g% s2 b& W  V; C                LCALL ALARM_18 o# W9 N' r3 n/ B. ]- p0 C 
                LJMP START 
7 l0 |  J3 D7 O. V3 ^1 y: f% H' f# k- s- y 
- @% O/ R# t; Q; E 
 
, M9 Z2 ^/ S" B1 d2 {) H+ TJ2:          DEC KEY_CNT 
. @7 k% ~5 U3 Y7 p/ K 
1 f* N# K# T: u0 D      LCALL SHIFTL2 
& ^" U# G+ r" X9 S# w4 ]+ J 
) E3 m; p8 L- s' o1 R0 q  o 
$ ?, X* d' K7 _, ^: s& g  s: V# ?  @ 
 
6 o  H9 _: K) ]' A% G 
  L! |' E- }1 p4 c3 }" u. x( B7 o* y. [" N 
W00: LCALL DISP. o  q# H( Q4 r 
           MOV A,P3 
. C- A1 j. y# d: n% b1 m+ I           CJNE A,#0FH,W01 
4 D' B7 ~5 G( B+ R           LJMP A0: l( k( K7 g$ e, V4 s4 s: f 
W01:   MOV A,P3! y- z7 L# y- l- Z 
           CJNE A,#0F0H,W02 
$ h, Y( s' G6 v9 p           LJMP A0( q' g: r" Q+ T4 W 
W02:   SJMP W00 
% o3 L. c% K3 ^& u! T8 }0 `J1:       MOV A,VAL  f' s5 H. a) W; `0 `% ^' b% H8 v; a 
           CJNE A,#0BH,J3/ ~# W' H; R5 i4 L 
           MOV R1,KEY_CNT( J9 l% L( s. L1 t 
           CJNE R1,#06H,J4$ }: c: S8 S% V# o) @ 
           MOV A,WORD_1 
8 n6 S8 G2 z2 T: L7 p           CJNE A,3EH,J5- A/ B) S' I- W) m2 {2 U 
           MOV A,WORD_2 
; q1 ]. [" z6 G# S; n. V           CJNE A,3FH,J5 
& X" h9 `. B1 J7 F! ~           MOV A,WORD_3! r: h* V; ]4 J' }/ i 
           CJNE A,40H,J5/ N5 s/ [6 z2 F( Y+ X" v, L2 s 
           MOV A,WORD_4; K: o( D9 ?4 R9 ~1 R1 M( J; I  f9 R 
           CJNE A,41H,J5: v& t: J' \3 |9 {$ ~ 
           MOV A,WORD_5& u2 G( r; _4 E$ @% ]5 }' I4 ] 
           CJNE A,42H,J5. j! S5 Y3 K3 o4 p' } 
           MOV A,WORD_6 
  R4 K, Y# q' r% E           CJNE A,43H,J5 
2 h* v/ J, C6 G           CLR P1.0( v9 C2 t. @; d: s! {; H5 j6 l 
           LCALL DLY_L 
4 w7 N: g( |% ~& {           LJMP FINI 
4 f+ @0 {+ m: C9 T) j: i2 \J5:       LCALL ALARM_2; m3 n: j1 F7 j: d( C3 s 
           LJMP START4 E% o' Z. U% j3 J1 k1 [ 
J4:       LCALL ALARM_1 
9 Z3 M6 Z* W! E           LJMP START 
- @4 k( s' i: L2 DJ3:       INC KEY_CNT 
+ a' G: y# o; x% I           MOV A,KEY_CNT 
  Z( i: Y! h% K$ l- o           CJNE A,#07H,K1 
' D: X& M6 ~1 A5 w3 d           LCALL ALARM_12 Z. O0 B$ l9 x. Q, X* ~ 
W10:   LCALL DISP 
( i2 g/ ~: N& d4 Y# ^           MOV A,P3 
0 a) a8 z3 T; ]% ?" ]! b) C1 F. l           CJNE A,#0FH,W114 ?. Y: s# W4 |# `" ` 
           LJMP START 
3 ^* e/ \7 q; G9 _6 X3 A+ V5 \! kW11:   MOV A,P3 
  a4 V! p% T+ ?9 J, p           CJNE A,#0F0H,W12/ t. {! N- W4 Z) w 
           LJMP START 
- M1 c  ]0 t  Q. O, {; hW12:   SJMP W10* d& d0 y6 e: @1 L# x1 a& ? 
           LJMP START( F7 o: j0 Y" O 
           LJMP START, g: x$ V% A: x) J* r' u 
K1:      LCALL SHIFTL 
9 n5 z/ X8 `0 ^W20:   LCALL DISP 
4 i0 C( T# A+ |* P, _           MOV A,P3 
7 v9 ]  W9 G" H* l           CJNE A,#0FH,W21: J: l) W$ d, f6 [  j 
           LJMP A0! e; ?( c  p8 j& W# T0 Z( d% b 
W21:   MOV A,P3 
* s4 U# F9 l  @$ K           CJNE A,#0F0H,W22# m( ?0 e4 p5 I- W  f 
           LJMP A0. M, i5 H, g$ [* I 
W22:   SJMP W20 
" {2 w) K% Z* j           LJMP A0: }- I( _. `3 J 
ALARM_1:SETB TR0 
8 |+ B7 j3 t5 f& P( b6 K                 JB TR0,$/ o1 e; q3 i+ S1 g  |. K2 \ 
                 RET7 y, K/ ^) j7 d( { 
ALARM_2: SETB TR0 
( }* E" C, _0 j" f- Q         JB TR0,$% h( y+ t" U, n; w7 B% R$ I# c: y 
         LCALL DLY_L) i4 I9 ^0 `( W9 b; a% N. Q3 {1 n 
  RET: A" b( N2 d9 v5 n& V& P0 q 
 
6 x) |" b* }9 S. `INT_T0:CPL P1.7- n3 z' l1 n1 _2 l; S 
MOV TH0,#100 
7 T8 ]* g/ v* x2 F5 r8 SMOV TL0,#253; P( t) {3 ]6 T1 ] 
INC CNT_A 
3 |. a+ H7 V* J# N3 B7 FMOV R1,CNT_A 
3 P  ?. x. F; g( T: cCJNE R1,#30,RETUNE- l; w) L5 a$ N1 [, l 
MOV CNT_A,#00H 
1 ^8 f  ~0 O4 R; P7 B4 e, iINC CNT_B 
4 l- \- u, s( B5 M$ eMOV R1,CNT_B 
; z/ Z& `( V' J' I# S: iCJNE R1,#20,RETUNE- C: X4 H# F" P 
MOV CNT_A,#00H/ Q% c6 O: K. V 
MOV CNT_B,#00H 
  P% g2 e, Y- O$ iCLR TR0 
5 S; ?. P, E2 URETUNE:RETI  l& o6 y1 r% X1 L, s4 Z 
! V' Z) y" n( R 
 
( f/ O: G- u- ?- Z0 m% q5 t3 f+ B* zSHIFTL: MOV LED_BIT_6,LED_BIT_5 
, y, v# X* \4 H1 O+ C+ {        MOV LED_BIT_5,LED_BIT_4 
4 l: G" `# B1 V+ i1 [        MOV LED_BIT_4,LED_BIT_3: A( ~! W, F7 \& d: U* U1 N 
                MOV LED_BIT_3,LED_BIT_23 X: @$ ^' {# n 
        MOV LED_BIT_2,LED_BIT_1 
7 y2 }8 Q9 K8 |        MOV LED_BIT_1,#40H+ p, w2 U) }/ T: O, ?  L: w 
        MOV KEY_6,KEY_5 
. o: W: j$ D# p, b5 r% I% s, _' k5 W+ b        MOV KEY_5,KEY_4 
4 h, ~9 z& y& h        MOV KEY_4,KEY_3 
. N( w- K5 C: G2 [( [" R* A3 d' U1 J        MOV KEY_3,KEY_2 
" }, _. i7 X5 X7 ~! u5 m5 l        MOV KEY_2,KEY_1 
9 O& W  g% ~  t) B        MOV KEY_1,VAL3 T; B; }+ S* Q/ F5 M3 v 
RET; `% b* c. `: I' u" @2 U( E) d" B 
' W4 m5 q0 C: p+ f; W 
% y# j2 k8 ^) `& ? 
 
: m3 V! s- P% L4 U$ m9 N- L 
( O2 _! J  @( c  _( r1 ]1 i        SHIFTL2: 
) H9 C$ y. X7 v, I+ | 
" j8 |' c4 e( F% a) c# f$ z                MOV LED_BIT_1,LED_BIT_2 
( ~* A4 R" k+ N, z. h5 ~$ O                MOV LED_BIT_2,LED_BIT_3 
$ a6 J* W  h* {$ X5 b$ U                MOV LED_BIT_3,LED_BIT_4 
  V: n/ |+ W% c; f# d                MOV LED_BIT_4,LED_BIT_5  |/ v# O% P3 L2 l& h 
                MOV LED_BIT_5,LED_BIT_6 
3 X) H7 @6 v' D  P( T! y& z4 b                MOV LED_BIT_6,#00H 
3 d3 B5 N. j" W( D# z, H! R                MOV KEY_1,KEY_29 f5 h3 {' @3 y$ k 
                MOV KEY_2,KEY_3 
' D+ o3 y- W- o, [) N. x. _                MOV KEY_3,KEY_4. e! p: {2 i( y9 k; Y) J" S) E 
                MOV KEY_4,KEY_59 O6 ^! R6 L7 W9 K/ ?. d: p7 j 
                MOV KEY_5,KEY_6 
) \9 Y; `( n/ Q* h% l  B/ _                MOV KEY_6,#00H 
# |3 H( E. w$ p 
( \1 @8 ~1 |; F        RET 
2 d# ^. L. v9 g+ S- @4 H8 }* J7 l6 s 
 
) M5 n  Z# J7 Q$ n+ Z7 VDISP:CLR P2.7 
6 y9 a& g1 [: R+ F# Q( c     MOV P0,LED_BIT_8 
2 f8 q9 z2 t( i. @: J' `, V     LCALL DLY_S 
1 ?( X: K+ I. i7 A     SETB P2.7 
/ Q% X- c) s7 n2 j. }1 v5 e; W( y. `3 e     CLR P2.6 
& h8 V5 o4 g- ]0 l. j/ [5 }1 u5 X     MOV P0,LED_BIT_7 
3 {; d& Y) W# ^) Q     LCALL DLY_S' D+ k5 A  S& [, S5 r' Y: B  ~, y 
     SETB P2.6: @  _- S! N! C: { 
     CLR P2.53 I5 w) p; [  D2 D" J* ` 
     MOV P0,LED_BIT_6 
6 _4 w' V) X& D0 l     LCALL DLY_S 
" g& c1 {# E# y     SETB P2.5' N: Q8 s2 K* \( S9 x% f" F 
     CLR P2.47 C3 F, g8 t# n3 p' b! j; N, p 
     MOV P0,LED_BIT_5 
) ]% e. _9 y' }9 e9 h: J+ p0 P% p     LCALL DLY_S+ ]/ e' I$ l3 S 
     SETB P2.4 
% S% h# @6 _, r     CLR P2.36 E0 H& _: W7 k' j 
     MOV P0,LED_BIT_4 
+ K) f( J3 M7 i' h     LCALL DLY_S5 O* Y/ U: o+ J 
     SETB P2.31 Q6 N# q, ~! b- O& t 
     CLR P2.2 
! K' M9 z! a- A/ p: @% a     MOV P0,LED_BIT_3$ W: N) F0 L, }7 F! z; Y 
     LCALL DLY_S/ y, z8 k' p# W# @  G' |; C" z 
     SETB P2.2 
! J  E2 s4 Y4 L& z3 ^     CLR P2.18 K% i2 ]) ^. s) x# z 
     MOV P0,LED_BIT_2 
" J0 J0 x" ^( T9 `; C2 ~. v     LCALL DLY_S 
# `+ t) l" \( r; k. y5 T     SETB P2.1: V# ^# g9 ]' F5 f; L. P' q 
     CLR P2.0 
- R% f' a  s3 p( F0 ]7 p     MOV P0,LED_BIT_18 P$ t4 p) u4 R: @ 
     LCALL DLY_S+ v: J5 Z2 E) d7 S3 M 
     SETB P2.0 
" L, q4 \# g/ D5 l     RET 
1 B- o5 c3 I' W& I0 [7 \: ^        DLY_S:MOV R6,#10' J% L1 W/ L. P6 K' a: h8 ~ 
        D1:MOV R7,#2501 Q' q$ e; ^, c* f8 n$ r 
        DJNZ R7,$ 
& B- [* I( J6 K2 ?" D2 V        DJNZ R6,D1. ^* r3 N% w! \# }: c 
# @& g% Y7 T+ H 
/ Z$ F# |5 \8 _, m1 U' H. y 
…………限于本文篇幅 余下代码请从论坛下载附件…………$ l. F8 N  N1 h 
/ X! _$ Y( K& H$ {( \ 
: C2 U+ b9 P3 ~ 
 |   
 
 
 
 |