维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 358|回复: 9

本人刚做的时钟

[复制链接]

classn_11

发表于 2010-1-29 21:12:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
2051,4路闹铃,6位时间及日期显示,1位星期单独显示,段码P1.4-1.7输出 位码P1.1-1.3+138+9015输出,为了布线方便138的A接P1.3,C接P1.1,下面是源程序,有高手改下让程序小点为,多加一路闹铃,

手机扫码浏览

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
TIMERKEY BIT P3.18 U2 M1 P8 B' f, x6 N" i
SETKEY BIT P3.2
# C8 j- {/ r  u; G7 X  H# _& YMODEKEY BIT P3.3
. n) Y  F% @: bBEEPOUT BIT P3.0' y  q9 G# Q$ W! H4 L

& a  s2 X" u" ~) K$ KSDISP0 EQU 10H
% x  ]5 h+ x* ~' u( A. `' ASDISP1 EQU 11H
6 u" @% `0 M0 v" x2 E" `MDISP0 EQU 12H
3 N1 E, a6 i' j* {* ZMDISP1 EQU 13H
) Y6 r, Q8 |1 l3 g8 c! @/ H9 C1 sHDISP0 EQU 14H8 }% [; S9 m; J* P7 t& r
HDISP1 EQU 15H
: |: I' h9 _. d/ @( N! h& E; t2 \  A. j
TIMER0M EQU 16H
6 T* f& H7 U  m1 OTIMER0H EQU 17H
7 ]% p  T  ?# n9 d5 K. L
9 S* h9 Q( p* |TIMER1M EQU 18H  M  L4 o4 s2 [( a3 j0 ^" r
TIMER1H EQU 19H$ n' n* t1 o5 S8 C% U. j7 Q) X2 g
( I1 H& V0 W2 j9 |8 b: I
TIMER2M EQU 1AH/ f3 l+ X5 E4 J8 [& x; P
TIMER2H EQU 1BH
2 {* y2 d+ _! v
8 V6 W, L! x6 Y( g0 cTIMER3M EQU 1CH
, a& M3 C6 B8 ^& ]$ gTIMER3H EQU 1DH5 g. Q6 F1 t: m4 g

" h& U# P( q' X' }; `8 QTM0DISP0 EQU 1FH
+ P1 `, j8 c) j9 BTM0DISP1 EQU 25H
4 x0 I$ G& N' c, o$ ~' v' |3 DTH0DISP0 EQU 26H
  T& u+ l$ y7 }! L- \& B! [TH0DISP1 EQU 27H
! p- q7 e3 k/ K9 Y( c# Q: C- a$ _+ Z- e& W3 U+ C
TM1DISP0 EQU 28H
8 Z" ~7 M- J# J2 I& YTM1DISP1 EQU 29H
8 P% w6 f+ L- R! \7 oTH1DISP0 EQU 2AH1 i! {- c; V% v* ?7 P# g- [
TH1DISP1 EQU 2BH
- F& M4 _' x6 W* H% C! P- P- b/ z/ V" Z# I) J2 Y2 x6 S4 [
TM2DISP0 EQU 2CH
4 B0 p5 d3 S3 h; _0 @- j, `5 bTM2DISP1 EQU 2DH# m! ^. j8 i3 H8 U& M
TH2DISP0 EQU 2EH& ~( Q& H! q7 Y; J1 {
TH2DISP1 EQU 2FH
+ u% K# W# w1 T/ ~! A! H# w; G* O6 ^$ H# i- @2 _
TM3DISP0 EQU 30H
8 ^: Z, O' j. F8 e9 r6 XTM3DISP1 EQU 31H
3 m) e$ r* `) |- d! L$ s# MTH3DISP0 EQU 32H5 T% t, A1 ~0 m; k: L
TH3DISP1 EQU 33H: ~- d, q3 k3 B
6 k% k& q% y1 Z9 ?2 S# p

! w& a1 f8 K$ p4 H5 O2 TTIMERTEMPM EQU 34H4 a7 Q; x- ~5 |8 X6 G4 u* f# b
TIMERTEMPH EQU 35H0 N# |( b4 S+ |8 G% x+ E, i
% r2 g1 n2 k2 V2 u4 h! H* i
;TS1DISP0 EQU 31H; z' {3 b+ q5 j, x$ p# x$ @

5 H# M) Q8 l: \% N9 V0 `+ J" `. y) \; y; U) C, U8 f1 t9 m: W
;TS2DISP0 EQU 1BH
( i( r0 X- d! V( c; D' r1 y$ k6 F& \  S- J& n" o

* c2 [! n. ~! C- N, [5 q/ zTMDISP0 EQU 36H* `1 z0 l1 a! W; s+ w5 `3 |% y
TMDISP1 EQU 37H4 D( Q9 J  X0 \5 _9 i$ l
THDISP0 EQU 38H. j& \, L  ]8 Q& T% T
THDISP1 EQU 39H
% j) l3 P5 P) q4 B! _+ m6 cWEEKDISP0 EQU 46H
1 K. f" S; k9 h" {3 tDADISP0 EQU 40H3 l9 ?! C) o. A( X
DADISP1 EQU 41H
& N+ }, t. q5 J: q6 }2 H- uMODISP0 EQU 42H
/ ]* k5 k5 V" p, ~  G( k) W- a7 jMODISP1 EQU 43H2 g+ X  Y1 D. O5 `
YEDISP0 EQU 44H9 Y9 F2 ]9 _' C" @% x! `5 U! e" O
YEDISP1 EQU 45H5 f- e1 W) C! a
* n+ b0 Q8 R0 N
ORG 0000H! \7 H; X1 J! X
JMP START( d& z+ a6 a( N9 t6 {+ C1 I
ORG 000BH
5 T* S' i. A& N1 k0 p- N- oJMP TOUT
, D" |+ [; [% Y5 U) T# E) w3 rORG 001BH7 M! l8 D3 f/ l2 |
JMP FLASHTOUT
- u. Z; N  B" _* @7 X" ^
) P; u2 i: n" I/ G- Q6 TSTART: 0 [5 W3 `9 x! M- W, `' w
MOV R0,#80H ;清寄存器% E1 g& p. M: v1 |& n
CR0:" |" [! Q) T! Z9 s) \7 X- r
DJNZ R0,CR16 P/ W/ v3 J& J) h8 V3 V) I
NOP4 L* z. ^/ M0 l7 w) l
JMP START16 C+ q) H& l* @- v- s3 y' }
CR1:4 j7 E! \' l0 y) c, r
MOV @R0,#00H
) w0 f6 n; T# F' b. Y3 O% F& n NOP# `& e" p+ H6 u9 [2 t
NOP. d0 w4 a8 G. m! `+ f; N
JMP CR08 O2 c8 c' V# k
START1:3 M) L; |* E* F/ z( n% N$ U
MOV IE,#0CAH ;设置定时时间(100ms)) A) H4 M% V" K
MOV IP,#0C2H0 a' y+ y6 [: P& ]5 F7 ^  m$ k9 n
MOV SP,#47H ;设置找钱地址
$ |5 ~; o  _7 \' W" g- E MOV TMOD,#11H ;设置定时器0为定时定时模式1
; ~* Q0 u& [7 \. d2 {- C/ r MOV 0FH,#1
( D, \, S1 ]6 c6 k) r- W6 W* M MOV 0EH,#1
5 R& c! [6 @  M* W1 M0 B3 I SETB 21H.0 ;DISPTIME 4 X+ y9 s8 R& X
MOV HDISP0,#8FH. H+ R; j, Q9 S5 d" N
MOV WEEKDISP0,#7FH ;2007年1月1日星期18:00
; ^3 `* e8 z% Y1 G7 } MOV TH0,#3CH
, B* G. K+ ^* F" s8 _ MOV TL0,#0B0H
/ k+ c) k9 m7 c% p MOV TH1,#3FH$ ]" S: y+ \- G; [, B  U$ L& s
MOV TL1,#0B0H3 H9 @: v$ Z/ d# j) Z/ K6 _: w  w
MOV R5,#1H
9 V! h1 U( X* C* q4 O MOV R6,#20
# \. I3 t1 e) h+ X) E2 T MOV R2,#8( _/ J5 m5 T# P; Z" H
MOV 23H,#0AAH
9 c0 D1 m4 }  ]; E" V SETB 20H.0
8 \! q4 z2 n, s- Z6 |2 o; ] SETB RS0$ l7 Y7 e5 o! Z
MOV R6,#19 D/ n& I# n& l4 G' J9 V$ U9 F, N
MOV R7,#11 Z* v# Z* e0 I/ s3 C+ M" Q. Z
MOV R5,#0
3 M  {3 r+ P6 Z4 V; n CLR RS0
, Z9 |" _) U% j# S; o& h; o2 j0 x8 m1 y SETB TR0 ;开始定时/ @) i2 l/ M0 N  @! g
1 S$ {: N5 ~' m* o4 G: v
CDISP:9 P7 w$ d* `+ u! z5 H) {
MOV SP,#47H
" |7 q; N7 m' r( a JNB 23H.0,KEY10;定时时间是否到0 P2 @: t; [$ c# O: q
JB 23H.1,OUTBEEP;定时是否开启' B5 i! K  H5 m6 K
KEY10:
6 e6 ?$ I" Q. ~0 V JNB 23H.2,KEY20;定时时间是否到
# k6 d" X' A+ L; v- w. T JB 23H.3,OUTBEEP;定时是否开启! ~1 \9 b5 H" K% k: @. k$ m0 N
KEY20:
+ G+ X1 Z4 f% {  h/ p7 g JNB 23H.4,KEY30;定时时间是否到2 c1 z6 k0 t1 y" s  L; V0 \
JB 23H.5,OUTBEEP;定时是否开启
. @2 T2 D  l" s5 a/ U% oKEY30:
( i6 E+ K! C7 l# r JNB 23H.6,ALTM;定时时间是否到
7 d4 P( |8 T, V& K, D$ z( s9 P. K JNB 23H.7,ALTM;定时是否开启
, Y; ?( n) p. EOUTBEEP:# |: r. }- b  Q9 i! P
CLR BEEPOUT;两个条件中考都满足,开启讯响器2 S1 x4 C5 l7 b. e4 K
ALTM:
3 D$ p: C+ ?) h JB 21H.1,ZZ1
4 M& m6 d! P8 Y( C6 M JB 21H.2,ZZ2
# f1 a( s% D. Z+ O7 u' ^ JB 21H.3,ZZ3 8 X3 a3 J: @7 s7 c+ c, E  b
JB 21H.4,ZZ4! S: J6 B" g: q
JB 20H.4,ZZ5
, k* j  @& b! u" ]2 t. D. [5 \2 B! r CALL WEEKDISP7 `% m; G: c) B1 ]4 x
CALL TIMEDISP. j8 e$ Y9 A9 n* {! S7 H8 f( A
JMP KEYSCAN$ l/ r6 z9 z/ c: b& n) f
ZZ1: 3 N- ?) a0 @, K( ]7 ?8 D
CALL WEEKDISP
9 ^2 u: n) m8 V$ `, C# Z CALL TIMER0DISP
  `1 }7 C: e- b2 f JMP KEYSCAN6 ^5 X/ q  Y: i+ t
ZZ2:2 R9 d( C: E9 y% s" @
CALL WEEKDISP
, v+ \: d" D1 v8 J0 W; y3 s. f+ P- _ CALL TIMER1DISP
7 b2 a1 s$ Y6 ~ JMP KEYSCAN0 k. n) }" h  n- U" c9 m
ZZ3:
6 ^! G2 A0 w: r3 c CALL WEEKDISP) l1 P" i% G, T
CALL TIMER2DISP
6 I! o" K# `$ u- n, \! l- x2 ^" K2 l JMP KEYSCAN
% M9 j, G7 E1 Q% B+ n, X+ I' dZZ4:
3 O, P7 `$ U0 j1 \- t  ^ CALL TIMER3DISP/ h1 @" n5 H; G
CALL WEEKDISP$ {. x4 k; ?+ e4 A2 u/ X" Q9 H
JMP KEYSCAN! W6 W" f5 o: r; C* t
ZZ5:  Z' |/ Z. d6 r2 T$ h
CALL DATEDISP
9 U# M1 c+ ~* ~( H8 Y CALL WEEKDISP+ n1 m, u& }: [, U. \( l' p$ c, T
KEYSCAN:
9 C7 ~8 P5 C. k- B8 X9 A JNB SETKEY,TOSET7 _+ ~" ^5 v5 a  j
JNB TIMERKEY,TOTIMER0 x2 U" `5 D. e% G
JNB MODEKEY,TOMODE;模式按钮 20H.7) d$ e, d1 d0 X
JMP CDISP2 ?) H% v5 }& V* h* O

+ t& q. S* J0 ?- X3 X' JTOMODE: 5 q! _5 X$ _5 S* `4 u! P
NOP
* ]9 c% n! z. X" c9 Q5 C! A JNB MODEKEY,TOMODE , R" |% \" O3 t, i/ Y& J% A2 I4 |
CALL MODE) i8 p6 S, S: u! i
JMP CDISP
8 l& w& V& q$ U0 }& M9 n& T& H- bTOTIMER:
! b7 r: R2 S5 b0 C) o! J NOP
' a- Q6 z% o5 Q8 }; C JNB TIMERKEY,TOTIMER
' X' t" V) i: t& j( _: ]1 X- o CALL TIMER1 K( z1 [5 p  J+ ]9 z- p' ]1 J
JMP CDISP
+ X  \* D4 \3 X$ N' w' g. X% pTOSET:
! }; {( m* _1 e+ E NOP' T6 @9 n0 N. w1 j; L; j
JNB SETKEY,TOSET. \  L: Y; z, Y, |2 B: }* V
CALL SETTOSET/ ^" t; X& t6 z* Z
JMP CDISP% Q7 o2 t1 p% [+ z, {; Y+ x
MODE:; z' Q0 K0 K: s; X2 F+ Y
SETB TR1
- r3 D2 _& c& M7 _( u9 B6 c2 Q JB 21H.0,MODE1# w( d0 z9 S' Y- c* |
JB 21H.1,MODE2
* b) o  q: a3 A" \3 [. B JB 21H.2,MODE3
: F% i8 O8 b  B) \4 ?8 ^% U/ b JB 21H.3,MODE4( {1 K  A& F  X: M2 H
JB 21H.4,MODE5% A- k2 z2 t. }
JB 20H.4,MODE61
$ G/ _( w2 ?1 o1 f; @. ` RET5 u. t$ A; p! w) [9 y# ^
MODE61:
1 R! _4 V7 S' Z4 b/ \3 I, b% ? JMP MODE61 f3 O, q& x2 N9 x! e- c
MODE1:
# r8 }% s6 Q. D& a7 Q JB 21H.5,MODE22 H+ b6 V" ^+ v! f
JB 21H.6,MODE21 {7 ?- a1 O" P( s  z  m
JB 21H.7,MODE2
9 x1 {: Z5 `1 j% ` JB 20H.6,MODE2$ j, r$ y. h2 I: A; @
CLR 20H.4! D. L' }$ n  d# v+ C
SETB 21H.0
1 L# H! y- K, e. d7 U CLR 21H.1
, t& ?4 W8 g( Q CLR 21H.24 q% X8 Y4 S* y( f( ^! r9 N' W! B
CLR 21H.3' e$ S) k) D% `3 z9 j
CLR 21H.4
2 E7 m0 r3 N6 F5 k SETB 21H.5
5 Z( j7 o* U" C) a( b! \4 L RET8 H. e% ]9 s4 F6 U9 g# \& }0 ?5 O. c
MODE2:
4 \" A5 [' H, U! ^  e( k CLR 21H.5# D8 Z( j+ E$ Y$ q
CLR 21H.6% P% ]$ F8 {; [
CLR 21H.7
  V. B9 m1 D' e  O) } CLR 20H.6 2 r- b% O# a5 s0 h
JB 22H.0,MODE32 T( l: I5 c# T, ~# x& k. a
JB 22H.1,MODE3 : l) ]4 \. v- |0 b
CLR 20H.4
! B. U5 T) ]" e' o# x) g" ~ CLR 21H.0! G0 W4 |3 i* ^1 v) T
SETB 21H.1 0 g7 x3 u0 v  p/ s% T1 X
CLR 21H.2
2 X, g: C; K4 O2 ?" C CLR 21H.37 P; \/ B- R7 B5 O/ U% ~0 u3 Q
CLR 21H.4& c8 A1 C  u- w. H3 g% S6 k
SETB 22H.0" j5 R; v8 X7 q; ?& R
RET
& P7 N1 u: D6 ZMODE3:6 d& Q8 |8 G' A) M
CLR 22H.0
6 W8 ]. x# }+ S1 S CLR 22H.1
2 [- V  w1 Y9 A; d JB 22H.2,MODE44 w5 V1 o3 M5 C  c! \
JB 22H.3,MODE49 M. y' l+ b1 Q9 {8 M
CLR 20H.4
" Q; {" S" O5 \8 g; r+ ] CLR 21H.0
( o8 j  `; v9 n5 g; u# Y$ e7 y0 C* }+ G CLR 21H.1
. @3 g* y+ T& Z- t1 @9 }( ~ SETB 21H.2
4 T  o  r! G& h% R9 \# g' ^ CLR 21H.3 0 p/ K" v0 U) R5 R2 d6 L' o2 v
CLR 21H.4! y! G( e% M6 j7 Z9 T5 g
SETB 22H.2
6 O" q& K- y0 y1 q, ?2 ^ RET
# M' [8 S2 I4 k8 ]$ cMODE4:
4 u* B) S: b) W0 y, ^ CLR 22H.2
, e0 \" G. `: C/ |$ g6 ^: a: O+ O CLR 22H.3
. Y1 V* {5 s5 r+ }6 a; f5 D+ S* Y JB 22H.4,MODE55 G* j: j$ M7 x; A
JB 22H.5,MODE5
, R1 g: G4 d7 p4 b9 x: x CLR 20H.4# Z( [; H5 O0 p8 N
CLR 21H.0   v. o( y9 u9 N. |$ `4 \& |6 N, M# ?
CLR 21H.1  ?6 ~' F/ P( |# j2 p6 ~3 g' P
CLR 21H.2. W  `! \/ j, |" Z. O* N# ^. q
SETB 21H.3
) X+ N. M% {+ c' p  b5 _ CLR 21H.4) F. u+ _  [- ]: u: T
SETB 22H.4
( t1 \+ `% d6 D3 M% h0 e) t RET3 r, P- t7 G& o* S- O# }
MODE5:
7 K; a  `- D5 n8 l, f CLR 22H.4
5 w, Y8 @- S* p; _; `7 T CLR 22H.5! r  K, P: F2 M: r/ }6 {1 t9 A
JB 22H.6,MODE6
% B& W' @& ?7 l2 Q0 v3 M+ C6 e2 x" S JB 22H.7,MODE6
& e3 i/ d- r4 l CLR 20H.4
' D( V$ k: t- F" v8 c( {. H0 `/ j CLR 21H.0
6 M4 Z5 w. @' b9 {# z+ d  p, B CLR 21H.1
# f6 g$ q" t) x CLR 21H.23 D+ }& f/ I/ N0 I9 z# N4 p" a
CLR 21H.32 l4 f1 c! }" c2 s! \; N! r
SETB 21H.4
; b6 P( b7 C3 i9 Z SETB 22H.66 r4 ?. G  \+ i" c- n# M
RET. ?3 w' H( i6 w  A
MODE6:1 \0 j  Z+ X! f
CLR 22H.66 y" {7 R; ~, I. C1 }
CLR 22H.7' o, m' I2 A" H
JB 20H.1,MODE7& ?, r; y( G2 D# y1 [
JB 20H.2,MODE7+ G% V; [9 d( ^9 w
JB 20H.3,MODE70 I0 u( p+ [/ M3 o, A
SETB 20H.4. P5 S0 h, }* R: {# R1 _( j
CLR 21H.0
8 N9 g8 h# Z. l# {$ {+ C1 f! M CLR 21H.1
* k; O% d' T3 a CLR 21H.2
1 b& U- S$ P: p8 g" q8 U8 B CLR 21H.3
2 m' q3 K7 Q' V( L CLR 21H.4
5 @- `: t. q; q+ S SETB 20H.1" W) s) y5 C. z2 @1 s
RET
2 J  }3 {. \. w' f, A* ^' `MODE7:+ Q. }: r: R7 J/ K  ~5 }5 o
MOV 22H,#0H2 }% D. c) z5 k& z
MOV 21H,#0H
; R2 L, ], p& B SETB 21H.0
: f! N, C! x9 d CLR 20H.1
, I5 b, k- ]( b2 k( c CLR 20H.2
1 m; E" p/ _& A6 a6 c$ t CLR 20H.38 C0 f6 q, I$ v+ Z
CLR 20H.4 2 c* Q8 C# l4 y! |, R$ Z
CLR TR1 2 D* |- t3 R, Z! n
CLR 20H.7$ q% |/ D+ q! Z/ X0 f6 k5 U" X
RET& f7 ?- I0 O3 `& W

( E' F$ X  w7 u  a: qSETTIMER31:' E7 V; C, V" p8 y0 K/ M9 J
MOV TIMERTEMPM,TIMER3M( [' q; M/ M1 U( L/ d& ~+ P+ m
CALL SETTRM' c, A4 j0 ]) m. Z. j: \" H* x
MOV TM3DISP1,TMDISP17 u5 d( Q) P& C, y6 f& d6 `
MOV TM3DISP0,TMDISP0
! m! [* {  a" O# b5 o- T1 A; g1 e9 l! O MOV TIMER3M,TIMERTEMPM3 H) a8 H* g/ j  [+ `* g4 R# c8 C
JMP CDISP) e3 m2 g8 i( q+ ^
SETTIMER32:
# K4 l* H& N" ?; d/ P( ?5 _ MOV TIMERTEMPH,TIMER3H
. H9 a+ O& ^, k. F' N2 o( g CALL SETTRH! W  z& f/ o: b8 w- e: f3 b: m+ d8 S
MOV TH3DISP1,THDISP1
- T9 [) z8 i4 }1 v4 q& V7 R/ q' w) A MOV TH3DISP0,THDISP0
+ C# t! B' u' a( [ MOV TIMER3H,TIMERTEMPH# [- }5 E' d6 o" Z
JMP CDISP
) U. c* `0 r7 d; g* g. d
/ g: U' _( ~2 M/ `1 t4 i4 i8 iSETTOSET:0 q, [; M( A1 R6 f
JNB 21H.0,TOSET1
% N9 k7 g$ S. w. N JB 21H.5,SETM
8 [, ~5 }: }3 f$ v JB 21H.6,SETH
! @" Q, i5 q; c3 W* ^ JB 21H.7,SETWEEK 3 a' ~, M) P5 j  h) ~! C4 m3 H
JB 20H.6,SETS
4 R8 p9 p  y$ a; Y; `1 F RET+ _& d9 x8 ]0 a( x
TOSET1:0 N$ P$ U5 I6 t+ T
JNB 21H.1,TOSET2
  T# k& D, a: ~$ ]+ m) o1 L3 @" W JB 22H.0,SETTIMER01
; n  F  V! Z" u. @  P/ c JB 22H.1,SETTIMER02& K8 m2 ?4 e4 H. t+ q- L2 x$ Q( E
CPL 23H.1
0 _! p4 o; _$ }* S RET! U; |9 B$ F3 Z; f! s* G9 [
TOSET2:
9 o  v: `# K+ E9 l" y( J# A& d JNB 21H.2,TOSET3
2 D) R' e- q4 i JB 22H.2,SETTIMER11+ Q/ M& C( d6 O* Y* ]  m
JB 22H.3,SETTIMER125 c9 e5 \! l5 m6 o4 ^
CPL 23H.3
( v3 _% f6 C0 V, v RET
# K5 v) g5 O8 M, W  ^# BTOSET3:( ~- v* j8 z8 {# I5 r/ ^' D
JNB 21H.3,TOSET4% l* f' o3 ~! j0 \- i: s
JB 22H.4,SETTIMER21
" N% Q' r+ Z- ^ JB 22H.5,SETTIMER222 Y$ I  t& E9 E7 b( l4 I
CPL 23H.5
* Z; j0 K6 y  |3 H! ? RET
) _: N+ P9 L: N; M' X) GTOSET4:- L% v. y! z: ]
JNB 21H.4,TOSET5
( w9 U2 E5 p& H, { JB 22H.6,SETTIMER31
" U# m6 D# @1 w6 W" Z JB 22H.7,SETTIMER32" A; h6 x6 i$ G2 ~  n, _$ l8 I( \
CPL 23H.7
& v2 Z2 u" c1 T* ^. {0 VTOSET5:
) x3 C2 V6 O' w4 G% s4 ^3 } JNB 20H.4,TOSET6% E" o9 e4 {$ t8 p! M) f3 N
JB 20H.1,SETDATE
) y' c3 `- ~1 O5 n9 Y% q* t JB 20H.2,SETMONTH$ b# o9 D, R0 Q% O3 A! l
JB 20H.3,SETYEAR
- \& w2 r9 K# ^$ e) L$ GTOSET6:
, i4 L, @. C4 h RET4 H% b% C! O. y2 F
SETM:9 _$ ^% P$ S5 r' f7 P6 u
CALL MINUTESET' |% X8 y9 n* I
JMP CDISP
3 H% q4 K7 m# i5 Y5 DSETH:# u8 U$ ~5 Q* f
CALL HOURSET
, V. b1 R; r0 h7 o! n3 i JMP CDISP
' O* N& t" P9 @: M- B" g+ N4 \' T! hSETS:
% a3 m- \& F1 h: p- b0 N5 A6 |! t& @" Z CALL SECONDSET# R7 c& M; N  Y; K2 [  t: X8 t
JMP CDISP  v2 [8 m3 J9 M9 `
SETWEEK:
  @5 ?  ]! Z* t$ X  }, `9 W CALL WEEKSET
) e+ B# d9 G- E0 ` JMP CDISP8 V3 m. a& q6 f7 a
SETTIMER01:
0 m- o5 R1 V8 T! D4 V- ]1 | MOV TIMERTEMPM,TIMER0M$ Z7 h5 e- e  l  z1 I5 C( c
CALL SETTRM6 m. |2 m, C4 A' Q, o1 x% b
MOV TM0DISP1,TMDISP1
- n# P! I6 D: E8 N# I MOV TM0DISP0,TMDISP0
2 E, y+ v2 r  H9 [( h# j% r9 x MOV TIMER0M,TIMERTEMPM0 w( C8 v: {9 V% E
JMP CDISP
+ `! K  v+ R3 C& KSETTIMER02:0 g! A: I7 d& z0 \9 d9 @$ I
MOV TIMERTEMPH,TIMER0H+ p1 K( P4 T, X8 v! a' ~" J
CALL SETTRH7 H+ Y  H# U' `9 J5 K/ a* [3 f/ Z
MOV TH0DISP1,THDISP14 H: @2 w- D/ m: }# P# k9 ]
MOV TH0DISP0,THDISP0 ( Z- P0 G( D) q* m. Y* ~9 G
MOV TIMER0H,TIMERTEMPH
# }, Y" e' c! R$ ?( H JMP CDISP
8 O. }% b7 d! H2 S, m  i* q$ G# G+ x0 Z7 k2 r8 a/ {1 B/ F, N
SETTIMER11:2 d9 Y6 K( O, ~0 X/ [
MOV TIMERTEMPM,TIMER1M' O  k7 m3 [7 }# S
CALL SETTRM
5 p6 u; e6 B$ M; b MOV TM1DISP1,TMDISP13 W6 g, \% X) o: d( C6 b9 ^
MOV TM1DISP0,TMDISP0 + f4 O& N0 |6 D7 C7 p3 r
MOV TIMER1M,TIMERTEMPM  w4 c* s6 X4 F' S, W- n8 A
JMP CDISP( M' E8 s) m8 c2 I: v" A" l
SETTIMER12:$ k! f& _# _! U- {, `: {
MOV TIMERTEMPH,TIMER1H6 s8 C; l9 h, D; d7 J1 s# K
CALL SETTRH* h  a6 B9 _" `: h( `
MOV TH1DISP1,THDISP1
7 w. x/ M9 Q3 F% J. {$ F+ J& q MOV TH1DISP0,THDISP0 * ?! h! X6 C" O8 W" l, |! D
MOV TIMER1H,TIMERTEMPH2 B% P" {0 j' A( H! j( B" b
JMP CDISP  e; ~% o$ ]9 T0 T9 @) [) n8 r
* f9 l+ n( h( Y' i( X* }8 ?6 V7 Q
SETTIMER21:
) I4 g8 k$ k- b5 R- Z/ f! b8 T, ` MOV TIMERTEMPM,TIMER2M
! ?, D' A8 M1 Z+ R' s  j; T CALL SETTRM
2 x. q! Q3 ?: u& O1 R& O) y* e( N4 M MOV TM2DISP1,TMDISP19 ^4 p: G1 T* i* t5 |
MOV TM2DISP0,TMDISP0 5 |0 r6 \7 g- t8 ^6 t
MOV

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
TIMER2M,TIMERTEMPM
# X3 I, x( m$ x* u6 H; O$ ]; v JMP CDISP
. s5 `) ~! U, G4 ~: M; r0 qSETTIMER22:
6 a2 n5 r4 ?4 c MOV TIMERTEMPH,TIMER2H
0 o# A# c0 D: ~ CALL SETTRH5 {  W: H; t) b  R1 I
MOV TH2DISP1,THDISP10 O! x5 T( x. G8 e
MOV TH2DISP0,THDISP0 ; M5 |, I1 s" A0 Z) q2 ~" {
MOV TIMER2H,TIMERTEMPH
) o- P( u# C8 a6 ?& l5 O( U& ] JMP CDISP ( s. q. ]8 f5 l; M1 j* r. N
SETDATE:: G% A, @/ G9 }2 U0 ~
CALL DATESET7 T6 C4 X9 S8 }. L$ r& y1 j
JMP CDISP
1 W' A5 A6 e! o1 CSETMONTH:5 W* {9 {) o0 J; W
CALL MONTHSET
3 n3 _, E8 ]; v/ w& S JMP CDISP
0 L" B3 \* N* U4 ~SETYEAR:. c" l8 B8 ?7 |* c
CALL YEARSET
" f( v# A" k/ v* B2 j$ ]. G" _ JMP CDISP
& `: L- S1 F  YSETTRH:
3 `* [3 [3 S* G* ^# u) n MOV A,TIMERTEMPH% v8 L% b- H8 ^% v
INC A
% b" g5 M, G4 h  \( Y MOV TIMERTEMPH,A
9 I  q* C" J/ G3 k( L MOV B,#1001 o8 M% k; w3 f7 a
DIV AB
) ?/ ?" `0 N( [ MOV A,#10;余数继续分离十位和个位* \7 p) s. U  Z
XCH A,B
3 H! c" z. G/ D' J! K DIV AB
+ k9 b9 t3 j1 [' g SWAP A/ r! }& j/ w( f: y
MOV THDISP1,A
& l1 U- H9 ?, N) ^% r MOV A,B
* b) y! H# Z: j" N; v5 a SWAP A
3 Y+ K. p  m* g1 T7 ~$ P" q' s MOV THDISP0,A
# G& n5 B" q$ u" |4 v% ` MOV A,TIMERTEMPH
+ [+ o; x/ Z% |. _ CJNE A,#24,SETTRHEND
# [, k/ K; [. N. T MOV A,#00H
, d9 B6 Y2 P8 ~: u0 ` MOV THDISP0,#00H
" N8 ^6 \3 }) J- }! n MOV THDISP1,#00H8 \/ j4 n8 G% ^) \
SETTRHEND:
+ o$ p! y+ s5 p; l; `. O: U MOV TIMERTEMPH,A
* X% O  A$ d1 V5 x# ^2 w RET
9 \8 Y: P) Z+ v" k+ c. r+ hSETTRM:
1 i( H/ M" S3 J8 ?+ u. n2 h MOV A,TIMERTEMPM
0 j( [& z: f( U8 ? INC A
0 I( E. \7 S8 [ MOV TIMERTEMPM,A
! U8 E7 U4 E3 A* z7 Y MOV B,#100
1 p& D8 X, U" p) h! W8 j# p4 } DIV AB
. v/ H3 ?+ j6 r' q MOV A,#10;余数继续分离十位和个位
# y* F! S5 L" \' Q5 I1 X XCH A,B2 J: N$ z. O( @% A+ _9 `3 v' v; h9 x' J
DIV AB
* N( x( n, K# g SWAP A
9 s' ^" B+ E" o" r( x% u MOV TMDISP1,A
$ ~0 f1 M: Y4 s' C MOV A,B
% K5 C0 t7 a" w6 h) J8 W9 v3 K2 c0 H SWAP A
( ^( M: r6 k9 ^ MOV TMDISP0,A" e; [* U. ?  Z0 D
MOV A,TIMERTEMPM! o4 R5 k( i" i
CJNE A,#60,SETTRMEND$ c( q! P8 X- t
MOV A,#00H" f4 Q) l# x) V" c' L
MOV TMDISP0,#00H+ }& c. i2 ^  h2 d
MOV TMDISP1,#00H
/ g2 h# w. c4 w; M5 H8 E8 jSETTRMEND:
: P+ }0 [) S3 X7 i, t MOV TIMERTEMPM,A
9 v! Y4 y3 b' I+ Q! H RET0 I: M% S! l  N
SECONDSET:
( V( V$ ^7 I; [ MOV R4,#00H
7 U9 w3 `0 ?1 }8 H MOV SDISP0,#00H
( S& k6 c7 q' N MOV SDISP1,#00H/ |  F! f, `% Y; v
JMP TSETBACK4 t7 g5 n- x7 D/ ?) y$ T
MINUTESET:
: e! ?; Q6 U4 [; o- q* @ INC R3, C0 U. a" V& G' a" V5 G0 z$ O
MOV A,R3% P  R% S2 v2 K, C& Q  {# B; w, X. K
MOV B,#100
0 S1 T( L* @. a- W* T DIV AB, f- ^6 V/ M0 K4 d  ~$ C
MOV A,#10;余数继续分离十位和个位
, C8 V4 F: |$ P$ I6 E XCH A,B
& j2 \/ y" p$ @) ?7 Y9 n DIV AB4 D& _5 |3 r0 D2 x" z# p
SWAP A
( g* e2 b/ _1 l MOV MDISP1,A
. e; P( u4 ?# U' z6 [+ E$ ` MOV A,B
; \8 O, b/ R" v- l  ` SWAP A( O6 s7 [! X0 H3 u* ]: t. i# `" E
MOV MDISP0,A- `& H5 Z( V+ s, W
CJNE R3,#60,TSETBACK
/ ^6 h- f5 T& l$ J7 F MOV R3,#00H0 J& i9 c/ v; }8 i* A* W$ k- i8 i! l
MOV MDISP0,#00H
0 I- J  E( N" v MOV MDISP1,#00H
8 y; t9 u; w  E# T4 Y" T JMP TSETBACK
- R: S5 C4 ~, w  p& jHOURSET:
8 l: `# J- g( M INC R2- \% b4 _+ y$ R2 k8 a' ~
MOV A,R2
2 ]/ k( C6 s. S1 ]/ D MOV B,#1006 u3 ~" B0 f9 D
DIV AB% R9 \7 T. h' ^' `
MOV A,#10;余数继续分离十位和个位
; _+ R% a! \# o! E. k1 u$ r& [ XCH A,B; ~7 y. ]+ c" j
DIV AB
; e3 Z+ G7 \5 q7 k SWAP A5 M( z2 n* ?6 m# x5 K5 l
MOV HDISP1,A" M# y! P- N3 j+ n9 @/ J
MOV A,B4 Q; r( z) J0 v9 [7 c" U
SWAP A
7 U, J' k  H/ a4 a MOV HDISP0,A
& T" w( v5 L: }) F CJNE R2,#24,TSETBACK
- V3 m1 j- L9 N7 b MOV R2,#00H9 P6 r$ A/ c) C) M7 K7 u1 z. \
MOV HDISP0,#00H% H; W5 M$ u/ T- v
MOV HDISP1,#00H+ q" F& D' g/ c  b' k3 U
JMP TSETBACK 8 B/ {7 b$ }/ z8 @
WEEKSET:8 y6 z9 x* m$ U8 c" V9 b, e
MOV A,WEEKDISP0
" K; i7 l8 M" S( {; G7 G ANL A,#0F0H5 ^  Y* B2 d  Q3 ^# m
SWAP A
0 w4 k: J4 N. t' {( R$ f CJNE A,#08H,WEEKSET1" `& X. X) E, d0 ?3 N
MOV A,#00H " a1 y$ d- G3 J' ]9 k
WEEKSET1:
1 q% f8 F. |( s$ q! G INC A7 q$ m8 e" z% Z# s1 v
CJNE A,#07H,WEEKSET2: M; B* V0 y; o! X
MOV A,#08H & T2 F4 J4 p8 Y0 P" T% e1 e
WEEKSET2:
1 `  s$ H6 `/ z% a( J, ~1 r) a6 _ SWAP A
( u" D" c3 c4 X1 T ORL A,#0FH1 W+ ?9 W6 \+ N& G& i
MOV WEEKDISP0,A : U( x- Z1 T( p2 O0 k( v. I9 q( Y+ E
TSETBACK:5 o5 N% K. O9 y. o* a6 O
RET

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
DATESET:; K* Z# o! o; D7 I6 V- _6 d
SETB RS0;设定子程序 5 r; j+ {% Z; V$ J( f( ?, |
INC R7
6 `' k, F* h& O MOV A,R7: ?$ x- f9 J, R  k$ t) T
MOV B,#10: I9 V# [* D# h% U
DIV AB
5 T3 C2 N' H- x; h% `0 q4 L# \ SWAP A; Y  ]5 q2 l2 ^4 y. D% Z
MOV DADISP1,A& y' }, v7 z" y3 m6 t+ g
MOV A,B0 T$ _, d# u2 H9 L+ r: ?6 L  h
SWAP A
; E# c- [0 ^$ P# U0 M$ Z( T) r. f MOV DADISP0,A
  c% S: G6 l3 w& K; o$ O6 [ MOV A,R5;润年判断; N" q: o  i! Z! `
JZ ISRUN1& L+ S: b! _& t
MOV B,#4  [: ?# K/ Q; j8 N3 T, F9 ^
DIV AB* `5 P9 i( Y3 g! j  k* h
MOV A,B7 E( Y( n" k6 B, T9 @5 P
JNZ NOTRUN1
+ d6 w0 o0 x' }9 m  f8 GISRUN1:, `; S3 F  \' N4 [* r
CJNE R6,#2,MONTH11;是润年,当前月是否为二月, D6 _9 w" M" B* R# H
CJNE R7,#30,DATESETBACK;是润年的二月,到29天?
3 p  k' [/ z4 s" [( M MOV R7,#1;日第一天
- D9 \8 G& G/ I$ b# _/ M$ c. C5 w MOV DADISP0,#1FH
' O% ]- f  n8 c* [& Q7 f+ `% a( J MOV DADISP1,#0FH2 d' Y+ A% d7 @, Q7 z/ _: v
JMP DATESETBACK- e8 }3 \) I3 a9 R
NOTRUN1:
: A& d9 ^$ p: b! O; s  u' { CJNE R6,#2,MONTH11;不是润年,是否当前月为二月
& i5 J4 M6 Q& C1 H, o9 ^* d CJNE R7,#29,DATESETBACK;不是润年的二月,到28天?
7 @6 h5 K- L. T) o$ `; W MOV R7,#14 h) @2 q2 E" N8 H& F' S
MOV DADISP0,#1FH3 L" h! T4 r. z8 ]4 X
MOV DADISP1,#0FH
8 l% z3 s) a! [' U JMP DATESETBACK3 v  g7 f4 [4 {4 Q! j6 D+ K1 w
MONTH11:
4 j6 d9 C9 \  u3 B/ k, J& E JB 20H.0,BIGMONTH1;大月吗?
7 X# A+ A# b- o$ i3 U. T  u CJNE R7,#31,DATESETBACK;小月是否到了月底
3 {& L3 k* `8 e  e- x. d4 m MOV R7,#1;日重新开始
( b4 d' W1 V6 k& G! l2 b" | MOV DADISP0,#1FH4 E/ m& u6 d5 N- P
MOV DADISP1,#0FH3 y3 Y' C; t  p7 ^( o
JMP DATESETBACK;跳到月加一3 V* M9 M( z! i8 j7 j
BIGMONTH1:
, a/ }( e6 v* |: @7 g3 G: T8 n- P" v CJNE R7,#32,DATESETBACK;大月是否到了月底
) K) T% n# z' `( X. y* C MOV R7,#1;日重新开始
9 e0 w7 N4 u& V9 U& i MOV DADISP0,#1FH/ g; M! h4 a: Y0 C  V
MOV DADISP1,#0FH1 x, ^% S0 X( |$ j; K
DATESETBACK:
& y  \( |) j/ [1 t- A5 ]  s  X CLR RS03 X1 V# `4 f8 J+ B4 _. w
RET
. d- D9 L+ c/ P6 C' `2 w! {& Q- b& |' A+ d* h" F0 g8 \( ]
MONTHSET:
0 x2 H9 |4 k  k SETB RS0. x( V1 o' }% m$ V  V) C
INC R6;月加一1 w- ]& U5 s) h7 \" _& f1 U
MOV A,R6
/ r3 T" u: v% {' j8 W MOV B,#10;余数继续分离十位和个位2 V. U) {) i# r" g! n) f7 L" ^6 w
DIV AB
: j2 Q$ i9 K0 c0 n. x SWAP A
- F" _8 q: w1 g3 f$ ?8 y# y& S MOV MODISP1,A
; o; b2 t  F5 x/ h/ T" a% u9 J MOV A,B
% z# J0 ]0 e4 a1 J+ b2 G  G SWAP A
% B6 {4 s+ q, J9 g MOV MODISP0,A* S" b: |' E0 P* X1 `4 L; g! w! S
CJNE R6,#13,BIGSMALL1;判断是否到了年底
% i4 Q) ~3 q! j/ C3 B% k& A MOV R6,#1;月重新开始
* F5 M/ ], A4 [: V8 [! h0 a3 Y. f/ _+ H MOV MODISP0,#1FH( v; O& u+ y* [0 t! ]
MOV MODISP1,#01 u. R+ M- v7 B9 G& S1 X
SETB 20H.0;一月大
; `4 ^5 R$ _" A! K5 X JMP MONTHSETBACK
' u0 C' C" e7 g* ~7 r' X/ _BIGSMALL1:
( D/ _$ O; _4 Z1 p8 ^0 G CJNE R6,#8,OTHERCON1;是八月,则仍为大月
6 S  f7 g+ V  E! `7 H% n" S" D SETB 20H.0
& I9 N: i: u+ r* R$ N! L JMP MONTHSETBACK; C; Y4 i9 w/ r' J3 l
OTHERCON1:
7 d) o/ _' h8 B7 g# z6 H- `; t CPL 20H.0;不是八月,大小月与上一个取反) E- V8 A* o7 o! z
MONTHSETBACK:
7 T2 V5 l" h' K" {$ w) b CLR RS0
" r2 m" K2 [9 U% y3 ?, T+ g+ v RET) z4 F. i- ]" e* M) [5 t0 o

/ e8 i  w3 A* |, g: tYEARSET:. B+ C: k3 Z& Q) w+ z
SETB RS08 e3 Y6 e5 I- a5 |- M* k
CALL YEARUP+ i, S8 Y6 d; ]/ R
CLR RS0& A% b$ I- D* H2 p/ @
RET
" L, f& V5 M0 `0 A
# |/ A, x+ ~' M0 ~% q( l. {;定时按钮! ^) ^% E: Q" V! [* b
TIMER:
5 }: u: Y6 i+ b. o. m1 Z# |' }- C) O JNB 23H.0,TIMER01) J& c- E0 {/ x% ]
CLR 23H.0
& C! i8 n# Q& [6 I) D# F SETB BEEPOUT6 I6 b' o' Q7 t4 M+ i, H& I8 y/ X9 h
RET& N$ E- v: h8 X6 k5 H' E0 B. \+ P+ P
TIMER01:2 G, z/ e+ s- `( y9 N3 a! \
JNB 23H.2,TIMER02
6 n- X9 @6 f, i/ p" A CLR 23H.2
9 p' V. |" H9 a* e% D3 V SETB BEEPOUT$ B1 g- k0 J$ `* G. y3 p5 D  g4 n; i
RET
! L, X7 i3 @' g0 Q9 zTIMER02:9 Z6 F& x) X7 O6 @* r
JNB 23H.4,TIMER03
3 `$ W: y& s/ J& j1 } CLR 23H.4! u/ ~( i) ?5 d! @) \$ G
SETB BEEPOUT
7 y* P7 S6 U7 C' D  `5 } RET
8 L: ?% F' ~& p8 C+ eTIMER03:; j  f, X9 D+ F8 p. [- I, O
JNB 23H.6,TIMER1
" ~, F+ i2 _' O# E5 X' @ CLR 23H.63 j. G* i, a# V, z3 d1 Z
SETB BEEPOUT+ R! u9 Q4 b. W( L# K6 C; W5 {
RET
7 k( v: |# d# |( T- U; R& E
1 G' v7 S8 J8 Q' F3 c* P. A# |  gTIMER1:
/ y" E4 R6 p4 [' E JNB 21H.0,TIMER2
3 Q7 O0 E( t( `! @' }) L6 r/ l JNB 21H.5,TIMER10
+ @/ |( q+ s" \* C* S; g# ^ CLR 21H.5
6 ~& e* ]8 b% [# c+ ?# }  L6 r SETB 21H.6& b2 f. S/ h" u1 _) |
CLR 21H.7
8 w; {2 ^* G+ ` CLR 20H.6 3 j/ m( n$ ]5 n+ I6 _4 A7 u, j9 z
RET
7 C% `9 Q  \2 r: F* ]TIMER10:
5 k# }8 h0 @( ?' s1 Y( I JNB 21H.6,TIMER11
& }, ~' j& |7 M/ Y3 r CLR 21H.57 b+ m5 e% N9 p5 s/ z
CLR 21H.6
2 j4 t" N- w. T1 }+ _, i CLR 21H.7
) K( [& d/ b6 D3 C) @1 O SETB 20H.6( |8 ~. _( x6 r* `" u& E
RET
1 d; M& p  {0 {$ J: q. f% dTIMER11:
! `5 n8 U3 X3 d, G JNB 20H.6,TIMER12% F; H3 Z. [2 p( H: m% M
CLR 21H.5( ]; p+ @6 Z! d# K  ^! d  a4 I
CLR 21H.6
$ O5 s# V* I% E$ ?  H SETB 21H.7
3 [3 d' B7 t  b7 n! v CLR 20H.6
. j! C* N# a8 t" l' r# T7 t6 T6 p8 S RET3 c  ^/ N: D5 f7 P- q0 \6 T
TIMER12:
4 a( [, z+ }' w! L JNB 21H.7,TIMER13
; F7 C" q( i6 e; f8 t5 W5 [ SETB 21H.54 V  Z, H( O+ z! z9 s( B; a% K, s
CLR 21H.6
" ^9 H5 m0 i) M4 H' | CLR 21H.7% K: n2 x$ B& K
CLR 20H.6
0 m4 Y8 q% `* F; H9 T! F; p RET! E6 l% E. @$ a9 [' V
TIMER13:( T$ Z: g& B) B" C$ y
CLR 20H.4
3 }% u, b$ K% Z1 z CLR 21H.0; L# _6 {& E( [4 x; n0 o5 u
SETB 21H.1+ t/ g: q  i2 H! B* c" a+ M
CLR 21H.2& E0 n# i, g; S) Z( J0 X0 n! v
CLR 21H.33 e  m) W# I$ \
CLR 21H.40 I( K$ P5 k4 s# ~1 M
RET& _9 V2 t3 U2 f2 Q; z& A
TIMER2:
3 W6 t9 }# K! e0 Q5 U# Z* j# R$ _ JNB 21H.1,TIMER3( u: N+ g  p- h" h/ W
JNB 22H.0,TIMER20* t; k7 B& t) |7 @$ T
CLR 22H.0
" m2 E" D0 f6 f1 K. c  ]8 g5 i SETB 22H.19 C9 {  J6 j+ i: b
RET% z2 f" Y: t6 J4 I7 e
TIMER20:
! O4 z- V# v5 B" { JNB 22H.1,TIMER21/ y% X; I/ P( V7 ^% Y
SETB 22H.0" t/ x  m4 P" k/ @  ]
CLR 22H.1- T1 g5 |: A+ [: A  W3 N* G4 q
RET( u+ d* ~( r7 X/ R  p9 c
TIMER21:% |9 U2 l# X  Y+ D3 y- c; H% n
CLR 20H.4, ~9 c" ~) ?6 n) [* t
CLR 21H.05 C6 V7 o' _, Z
CLR 21H.1
7 }5 p5 H! ^  _% @2 {4 G SETB 21H.2, R& }! }1 b+ h' r
CLR 21H.3
$ \' U- s7 z) O* {! H$ T6 d+ g% f CLR 21H.4
; c; c* Z/ L  n* F RET0 O& c& U, o! l
TIMER3:
  q) E! l2 Z+ {- }, F* ?( W+ i/ m JNB 21H.2,TIMER4
! A' {) W3 z, [# j JNB 22H.2,TIMER30  P8 ?! ~5 `9 \6 q$ H+ W
CLR 22H.2
0 h5 R3 x# i% S3 L, F  Q7 _ SETB 22H.39 n& z) X  V9 ?& `. g( w
RET
6 U7 Q3 e0 Q" [TIMER30:
' H/ H" F/ K: o5 X; j& M JNB 22H.3,TIMER31- F& x4 l: S/ |: @
SETB 22H.2% W3 Q# B; M9 f. Q$ Y1 L
CLR 22H.3
/ g( ]! K4 [8 k/ e RET
, i& ?6 y7 Y8 t! ~+ B$ n& Z* UTIMER31:
4 R3 m8 @* `" H CLR 20H.4+ V" F( Q: F( U, W
CLR 21H.0
+ e. u  ?0 A8 S, ^9 X  V6 t CLR 21H.1
. m! l) D( I- J CLR 21H.2
6 M+ X' w8 ]8 W+ Q, H SETB 21H.3
" F) H/ {1 p0 W CLR 21H.4
6 U4 J4 [: F, j- x RET
9 x2 ?7 P  R% p) kTIMER4:
2 P' }: R/ ?8 i( ^2 R+ A6 {& E JNB 21H.3,TIMER54 i1 h7 f3 j2 j% E) q2 u
JNB 22H.4,TIMER40
" c. {7 |! x5 _8 E+ h" X% h( B CLR 22H.49 O* H5 F  R0 i& P" x8 A, N: a' x
SETB 22H.5
  {" _4 X1 b2 j& I RET1 H& A5 Q4 r  d4 D( [. [1 F+ b
TIMER40:1 l/ G9 d. z4 E
JNB 22H.5,TIMER41
0 }0 p6 w" x7 K' T( ~  _ SETB 22H.4
$ }2 ^+ A7 D1 }9 E" R$ U1 y CLR 22H.5( {$ l: r3 h: L
RET
7 ?) N. M9 `7 ATIMER41:
* a* c3 x$ j: j CLR 20H.4
1 ]: J) t- H+ _3 v- I CLR 21H.0# t! t, F+ k1 C* O5 W
CLR 21H.1
/ n& a) Y7 A, T9 ~ CLR 21H.2
3 F; `5 C% q% W$ y3 L5 r0 k CLR 21H.3
6 X/ B# U4 C3 w9 |5 u( M& [/ b* h) J SETB 21H.4
' T6 \& T, e: K  [% X RET
2 t  T! F* h: mTIMER5:
' H+ W+ s/ X& B, z) F" X. }' _ JNB 21H.4,TIMER61 V' q& x8 _) Z
JNB 22H.6,TIMER50
+ e, m3 W  T8 Q3 ]6 s CLR 22H.6
% L0 N$ i: _) a! |2 } SETB 22H.7
# ^# G6 J, J4 M* `$ T RET/ X- V- H# F& e9 B: A7 v1 x" @
TIMER50:
( G* a( Q' [, c, @0 g+ f* ^# c JNB 22H.7,TIMER51( @5 N+ k* \3 @- A9 f
SETB 22H.6) O' Z4 |" \" L, C: O; {
CLR 22H.7
6 w2 t. [" g3 N3 B RET
. K* V6 X- i; a+ S" G) F5 dTIMER51:8 t* o4 F7 E5 K8 G% u
SETB 20H.41 s! G' q& F$ z4 o/ I5 y6 ?
CLR 21H.0- u5 x# O& \- n6 ^# B
CLR 21H.1' r' N. g; {+ m1 z  ?; V0 ?
CLR 21H.27 I; `$ B3 }( Z* ?3 l$ V- E! R
CLR 21H.3
* R, s; W  C) V CLR 21H.4/ J2 B' ^8 S, f. z2 Z7 p! K
RET, S1 R' k0 ]% P/ F
TIMER6:
: e! r& ]( y5 r5 u; g4 x JNB 20H.1,TIMER61
1 U6 w* y9 V/ J" m* } CLR 20H.1
8 p. W0 z% }6 K" b0 X6 ^% M SETB 20H.2: A# S: L/ y, {" X8 F8 u
CLR 20H.3( a. Z. B( ^- H) |6 |' B
RET/ }, [/ j- A9 p0 ~
TIMER61:, @+ {/ C2 G4 w! H8 x
JNB 20H.2,TIMER62( }3 X, a2 j' `7 c- n3 N
CLR 20H.1) ~0 Y( F; O' J. S7 @( x; H& j
CLR 20H.2
6 I. N0 w# _5 |1 ~ SETB 20H.3
0 P3 N% S2 D9 l# o RET
" j, }. G& \# L5 ]: j4 ~: qTIMER62:0 ^2 m- g  n& D8 k  E4 w
JNB 20H.3,TIMER63) x' u# N: r$ s% c, m
SETB 20H.1
+ G; s- j  R4 ]: j/ x. L CLR 20H.2
+ K( S3 V4 C' k3 b& O* ^0 X4 j5 k/ J CLR 20H.3
. G) j$ y. x4 x" ~. E( Y4 S; f RET- U" V1 ]+ ^  A8 @
TIMER63:# X( I$ e3 Q% \
CLR 20H.4
. k! [5 H" ~: m! H  r" s% | SETB 21H.0
& e* `: Z9 ^* P CLR 21H.1
. [* {3 ?; R6 V4 m CLR 21H.2" f6 y9 g) {/ t$ z
CLR 21H.3
! o+ D* b1 d" B/ c: D CLR 21H.4# @: X& b5 R# R* h! l9 D
RET' ?! a1 Z' C3 x3 ~

3 R' \- c! W/ [9 H+ _3 z' \. kTOUT:
6 N7 d4 d* B3 g/ t PUSH ACC& z4 Q. M* \4 w5 n% s
PUSH PSW2 Z$ l1 Q* V" K: ~* b
CLR ET02 M! I& q- v: V% U
CLR TR0
% V' X  ~! u3 B8 \4 a9 f MOV A,#0B7H ;中断响应时间同步修正
5 N  p4 d/ x" F+ I. ^) G2 g8 R9 M5 P ADD A,TL0 ;低8位初值修正1 g. b  O; v# i1 d8 h6 j- f
MOV TL0,A ;重装初值(低8位修正值)( ~8 p  k8 m/ e, t) o. u) J0 C
MOV A,#3CH ;高8位初值修正
% i3 A" Y0 o6 T  N8 K0 x5 n ADDC A,TH0 ;
  e0 u2 E% D6 V- k! x0 a" ` MOV TH0,A ;重装初值(高8位修正值)5 u) N8 X) \' P, G; f
SETB TR0
( N: {3 X0 G# i SETB ET0 1 m0 o3 C. w( X  h5 O! W3 V0 M
DJNZ R6,TRETURN0 h! M0 Y: ?. s6 T" k* C  p
MOV R6,#20) y0 W/ \9 b4 S2 |# B; }3 x
CALL TUP& o  K( U8 t  o" g
TRETURNOP PSW
# \8 d. D8 ?/ \' [9 D" S" g POP ACC: i% l6 H1 r7 i0 X3 ~* Y9 u, v
RETI) Q. t: k; V+ H) B* u& q
FLASHTOUT:! T% m: I1 v. ~' ?, \5 ]
PUSH ACC% j3 T; e& x# V) z& v* @
PUSH PSW
6 D3 @0 o( a4 g6 w- ~$ b7 p5 y MOV TH1,#3CH
/ `" J& g& n  d, {7 e* W MOV TL1,#0B0H
  X! l6 [7 |0 y- p# B8 A3 H SETB TR14 B3 ^% b  r. z9 ?! h7 |% _: [
DJNZ R5,FTRETURN; ^( [/ {' x) h% m( q
MOV R5,#5
9 S2 y# h% e9 {" n9 l/ C( X9 ] CPL 20H.7
5 X- S7 }* D' J7 DFTRETURNOP PSW
0 d& q; `. m6 g, @# p* w1 ` POP ACC
* P) H6 k2 I: b% D RETI
1 h4 P' G5 S6 q, `; R3 u* CTUP:
6 k2 o5 y4 M- P: o/ j7 H" H INC R4;一秒到后,时间加累加1 g4 F7 V# |+ |0 g) S/ g) F5 g
MOV A,R4
7 _5 u0 u! h) ~! u6 R MOV B,#100
/ W6 q8 M8 ?) i5 D: C* J% o DIV AB3 }3 H- v7 T1 `  ^
MOV A,#10;余数继续分离十位和个位# v3 E) c$ ~6 \$ b) o+ u( M
XCH A,B
, I7 T. g- S; D) \" G" X; a DIV AB+ |& W0 |! s: Q+ I) N
SWAP A" H" [) Z) ^) u( k. m, m
MOV SDISP1,A
+ i8 _1 I' N7 m4 k3 Z% x+ g MOV A,B
) ^1 ]* |1 ^- @+ F SWAP A; L: C: A1 h: X
MOV SDISP0,A: {/ W2 h4 w1 W4 f
CJNE R4,#60,BACK
  ?# }5 y' j8 W- k MOV R4,#00. X- ~4 ~$ C" X6 C% N' f0 f
MOV SDISP0,#00H
7 ]/ Y1 D( G* ]2 u3 p MOV SDISP1,#00H
0 n: P% k& E7 b5 Y INC R3;分加一5 g8 G4 n/ D  |5 G
JNB 23H.1,NOTIMER01( t. M+ K) W5 J( @
CALL COMPARE% P4 E  ~5 H3 w" R6 D0 \  \
NOTIMER01:
% Y& m/ k: ~9 Z* _+ f. Z; A0 ] JNB 23H.3,NOTIMER02
7 Y% ?2 ~7 P; O4 C- ~/ V CALL COMPARE14 }8 E6 K# e" s% f# P2 w
NOTIMER02:
" M/ N( e- L$ ]+ H: C. w# z JNB 23H.5,NOTIMER03# V" s2 K' X% i
CALL COMPARE2; B6 j1 _$ V2 h% M* {4 C9 q7 ?+ Q
NOTIMER03:1 t- e+ D: a1 z/ P, z5 Y( u
JNB 23H.7,NOTIMER0
7 U' o  c/ E2 b7 [ CALL COMPARE39 W) s5 c6 y1 O% _7 W* [. E+ o8 u  g
NOTIMER0:MOV A,R3
9 S1 {! Z% J' Y, L. z7 q3 ` MOV B,#100
* C( }5 @: G4 f DIV AB4 t; G* R- L9 y
MOV A,#10;余数继续分离十位和个位
! J9 c; h4 x: S" }+ M/ z XCH A,B- p8 P: Z$ f' X5 S7 w
DIV AB$ G( W+ c4 y8 Z: i
SWAP A' |% N& s/ J+ t5 S% ^
MOV MDISP1,A0 W! f1 s* |" T5 ?' Z5 a7 B- K
MOV A,B$ N. V' g3 ~/ m+ v0 a) C
SWAP A- Z: d  K' K! f/ f- _8 v2 q
MOV MDISP0,A
4 b4 g  B! t" q& G5 o CJNE R3,#60,BACK
. _! C! R, N' Z' Q0 h% _; w* k9 d MOV R3,#00H
! z5 q6 P6 d( i9 E/ m" t MOV MDISP0,#00H/ U* H% f* ^2 F
MOV MDISP1,#00H! Y7 i1 C" B, b- u9 q
INC R2 ;时加一
3 A8 N" G) L+ `" i! J  @6 S+ o- T JNB 23H.1,NOTIMER11; e# |1 C1 K/ W6 n. k9 y
CALL COMPARE
" w6 x- V; ?% u; LNOTIMER11:
8 I; b, ]3 \$ i9 r1 z JNB 23H.3,NOTIMER12
, x6 g" ]" a1 s9 P+ A' |9 e. M CALL COMPARE1
' F( t6 K. _7 m- Q" T1 Q" fNOTIMER12:1 Q$ B: X/ Z/ M; `% C/ G+ j
JNB 23H.5,NOTIMER13: r: @6 Y) [' Y
CALL COMPARE2# `4 ?. p; `+ d0 z. R5 u8 g
NOTIMER13:
0 Y% y' i7 X, L/ S- P4 ]* g' u5 d+ ^ JNB 23H.7,NOTIMER1; \+ F" @" Q# r1 R7 [& v+ [
CALL COMPARE3
% S- [4 s' V- Y7 u0 w/ t, MNOTIMER1:MOV A,R2
9 ]" s. O! {0 S  K9 @% k. f MOV B,#100. x6 {3 {) y& \1 p" }! |( v
DIV AB" T6 g/ n% o- J) y, c
MOV A,#10;余数继续分离十位和个位
( g; c' h: ]  U XCH A,B
! Y) s6 j1 _2 Y% U6 u DIV AB- b0 x; d* l- X. i4 Y0 m
SWAP A+ c* p. m' o- k! B4 `% {
MOV HDISP1,A/ @( `/ P( s! N  b. r, N+ M
MOV A,B9 Y5 g. u, T9 E# V7 m: I7 k+ s9 @  P
SWAP A
% k7 u) D6 H; r$ J/ C$ N MOV HDISP0,A" U5 ], }) j$ l8 V) V1 p6 [
CJNE R2,#24,BACK2 P- Y# T+ }" Y9 y7 L) I
MOV R2,#00
( s, J2 V6 s3 G' V MOV HDISP0,#00H
' F( V9 B7 r! l6 }; I MOV HDISP1,#00H
7 D" X& Y; H5 ^6 Q3 n  \/ M! E CALL WEEKSET;星期加一! p$ b0 A# j5 K5 x( u! |
CALL DATEUP8 G# B( _& d* C4 _, h- D
BACK: RET

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
DATEUP: SETB RS0;用到寄存器组12 a2 S% ^6 S' R. U# p4 k
INC R7;日加1
) j. \' Z1 E+ ` MOV A,R7
$ u9 y  I8 N* Y8 Z5 f MOV B,#1003 A: s- L; @! J4 K2 R. n
DIV AB
: U" ~* N: ~) N, r7 s7 k5 `# n MOV A,#10;余数继续分离十位和个位) }  Q% B5 U$ `) Y
XCH A,B( e1 A1 ?" M5 }: K
DIV AB
3 J# _& |. Y0 w4 O8 Y SWAP A
  L# b: R8 r, I MOV DADISP1,A
5 B8 w- R9 [& B6 c MOV A,B6 F, U; i7 ?6 |. }4 d4 [# {
SWAP A
4 q5 ~. H) Z- J" _. V MOV DADISP0,A
8 r  v0 f/ a/ t' m$ q" U MOV A,R5;润年判断  j8 w: P# k$ K& l
JZ ISRUN
4 `2 q! B" s1 W1 S' L MOV B,#4% v% t0 W% Q% ~6 X, @+ L. [$ f
DIV AB
3 E/ I* V4 ~! A- r+ t- h1 I MOV A,B
4 D# T# O8 R: k) u! A JNZ NOTRUN- i2 T+ ?% W% ~9 W& v! F$ F
ISRUN:: g. d8 Y# G9 M5 o
CJNE R6,#2,MONTH1;是润年,当前月是否为二月
7 b# g1 F4 ^% h" g# T+ b( y$ l CJNE R7,#30,TODUBACK0;是润年的二月,到29天?
4 y$ L0 g* m' R' q* ^ MOV R7,#1;日第一天
+ J- J$ t0 m; C+ `5 ]# n1 c3 \ MOV DADISP0,#2FH
5 k0 h" o' h# d: t3 X) R MOV DADISP1,#0FH" t' d5 H$ C* v: ?, O. R; [
JMP MONTHUP;月份加一/ w8 l! L* {, Z) ~. B2 c, u+ c/ G
TODUBACK0:JMP TODUBACK
  H) `, `8 ]9 q4 d7 {NOTRUN:
* h& X5 e  m7 K9 p; z& B3 g CJNE R6,#2,MONTH1;不是润年是否当前月为二月
. v) W" G, i1 O CJNE R7,#29,TODUBACK0;不是润年的二月,到28天?
4 ^: A' y- m+ [# j6 @3 ] MOV R7,#12 U) R! R/ V2 U1 M# k2 k/ _/ c
MOV DADISP0,#1FH, \) F7 Y# h2 ?- I* U: F
MOV DADISP1,#0FH2 L! ^$ D/ E: \# U% n8 x
JMP MONTHUP
& b6 O% w% Z3 I* GMONTH1: 7 t& E4 Q& R9 {$ i$ ?
JB 20H.0,BIGMONTH;大月吗?0 P( E% ?0 R, }
CJNE R7,#31,TODUBACK0;小月是否到了月底
5 A" M1 G4 L- P* p( A* a& a MOV R7,#1;日重新开始; G* i* K' @  |' J, u0 J
MOV DADISP0,#1FH
* ]5 Z) D1 D+ y% V. A8 w* { MOV DADISP1,#0FH& M; |/ |8 E% N2 `7 m
JMP MONTHUP;跳到月加一/ K. I2 \4 F. Q: F6 i/ f
BIGMONTH:
3 p/ W. q# _  ^) M1 m CJNE R7,#32,TODUBACK;大月是否到了月底
, G$ c) @8 m# G4 `1 [- \ MOV 7,#1;日重新开始
# r' |5 _+ J8 S7 i1 f MOV DADISP0,#1FH
$ `. V; V1 R. |) Y& j+ Q MOV DADISP1,#0FH
. g" \8 B# |$ q9 |3 w) aMONTHUP:INC R6;月加一2 K' e! Z- T' [$ V
MOV A,R6
+ b/ i  N! R6 Z5 N! Z% c MOV B,#100; {9 _: x8 D3 j1 w4 j, C3 `
DIV AB  t# T# n+ U6 Y" j
MOV A,#10;余数继续分离十位和个位# v! D" b% m. N2 A; U
XCH A,B
8 G5 g! X6 A0 O1 j4 `1 j DIV AB
( E+ G  @! i) Z/ Y4 J. l0 |1 _' e SWAP A
$ {; s4 W4 J, A, g MOV MODISP1,A
* z8 I' f; U% y MOV A,B# ?4 ?9 F5 z+ c, p. I
SWAP A# v* r) d& b2 K1 b1 B0 g+ i+ S) N
MOV MODISP0,A
% H4 M3 O; a" V1 Z CJNE R6,#13,BIGSMALL;判断是否到了年底1 B. W: z" `& k: D( H1 o
MOV R6,#1;月重新开始
# P* {6 J2 S4 L! @- Z9 V  M, S. H MOV MODISP0,#1FH
& p3 I: s0 P! q6 ^6 J: X2 \; Z MOV MODISP1,#0FH
+ _& L5 h  ^  z" e SETB 20H.0;一月大
/ B- I% }* G6 x) a2 L) d2 ` JMP YEARUP+ c  Z0 `$ N$ j) r- F
BIGSMALL:# r6 {. P7 P, z  V  x+ M
CJNE R6,#8,OTHERCON;是八月,则仍为大月
( x* o7 d% i% {, g& d+ m: L4 N SETB 20H.01 j5 r7 @. @. }. C8 S% l
JMP TODUBACK
# Q5 O% c4 A6 Q; P+ M# i9 kOTHERCON:CPL 20H.0;不是八月,大小月与上一个月取反( J  Y4 Y  \* j- a2 m
JMP TODUBACK
; `- S$ ~$ ^: J4 j( JYEARUP: INC R5
* l! w* r- i9 m" l; ~ MOV A,R5
* T0 B7 f. E- Y; C: I MOV B,#100
& K; X# h' C% X( s, d. w DIV AB" E) C* f/ F# ]0 H
MOV A,#10;余数继续分离十位和个位/ A7 X  c( }( j2 g  R
XCH A,B; _# |" q) B& X! S0 H; H
DIV AB
9 u/ v$ D# A& c SWAP A
) p. ]6 w9 ]2 S2 Q1 c* ~9 q MOV YEDISP1,A
# k" l8 Y6 f' e8 U MOV A,B- m: N. v# R: z0 n( i3 K
SWAP A7 x  C5 t1 o" n/ u) ^; n; G# {2 h/ e
MOV YEDISP0,A
3 x9 E1 A- n2 O, M$ ^3 @ CJNE R5,#100,TODUBACK
2 k  X3 w" ~5 r+ }  ` MOV R5,#00;新世纪
% x% u, }" L$ l1 K# I3 k8 E* { MOV YEDISP0,#0) W3 B2 _0 @* l0 O5 r
MOV YEDISP1,#0
  W0 W# {- S  g5 ^  G! fTODUBACK:
% P4 I3 d( r' l+ z! [ CLR RS0
; _. s0 Y1 y6 |) H  s6 u+ |3 V RET$ k  z' m9 N/ E6 U5 B
;时间显示子程序
5 Z7 T  l" M& k$ e" h; g6 fTIMEDISP:# i! Z1 F3 n3 M$ g8 I  t8 ^
JNB 20H.6,BB0
$ r+ i/ t/ U' G9 K% ]% M' ] JB 20H.7,SNODISP
5 u2 T' ?/ \5 t' t. }0 dBB0:  _  q; O$ p+ U: E5 }
MOV A,SDISP05 W1 t# G& u9 j6 B6 a1 I2 d! o
CALL DISPSIX3 d; M  i: L) }2 `& w, ?
; MOV A,20H
7 S4 m7 }7 M- P& a MOV A,SDISP1" j: {8 W# ?) i- ^$ f1 T6 n/ y
CALL DISPFIF
0 h7 S% f( p3 I( K3 r: \SNODISP:
: w3 P( S0 ]1 Q9 u* l" l) ^ JNB 21H.5,BB1
' g0 ^  F9 n7 N& ?( A; O0 V JB 20H.7,MNODISP6 ~) D4 p  ?: `" K  w
BB1:9 \3 P. j* g( {) R5 _! {
MOV A,MDISP0
3 U$ ^" ~7 n* E3 B8 w5 }: ?( G CALL DISPFOR1 h# _. p* K& p% \5 s% N% m6 }9 ?
MOV A,MDISP1
5 W2 A1 ?# U8 Y- {7 x- _+ X CALL DISPTHI
5 ^/ W* r, ]' qMNODISP:
& z9 q* n( @, Q$ |( L6 Q( J JNB 21H.6,BB2
0 o; |6 P2 C+ k1 M8 r: J/ t$ z JB 20H.7,HNODISP& g9 N( @) i+ b! D$ J, @
BB2: * e5 |4 x' _: \
MOV A,HDISP0
$ Q$ j  i4 X, T& A CALL DISPSEC& b7 [  U% h. H
MOV A,HDISP1/ N: T% w; w) K: I" k2 R4 ~1 P
CALL DISPFIR0 a9 g) ]5 b; \' p( q0 \
HNODISP:RET5 N5 C1 `1 F- s# b% N/ g
WEEKDISP:$ `" }  m3 @8 P8 a- L
JNB 21H.7,BB3$ [- @# T- M  p0 V- b
JB 20H.7,WNODISP
, h9 ?6 ~# A9 h3 l  c" }BB3:
, c1 L2 z7 ^% c" j# v2 d MOV A,WEEKDISP0
- _: ^) P& R- w ORL A,#0FH' S4 \. p- K$ Y
ANL A,#0F7H
5 ~% D) B* o; ~' C5 {- ]; \: z MOV P1,A
& I! u; P5 R/ ~* m0 Q+ g1 ~+ e0 A CALL DELAY) }9 ~8 V5 A/ F0 B# E
WNODISP:
: g9 z1 [) h+ |4 Q  W. L2 V RET
9 X2 [8 _9 A6 p; ^/ _# J( h5 s" A/ _; l" j( D8 ?% j+ {1 g
;闹铃显示子程序
( d) E( R4 N' tTIMER0DISP:
0 T  ?; y. H# {3 b: x2 n; D JNB 22H.0,BB6;设定分标志位
- `5 X% u$ B& r" y- Y% {6 s; n JB 20H.7,TMN0DISP  I0 S& _' j: y* t# y. q; x
BB6:
' b  r( c) u& S: j. L; h- M) R MOV A,TM0DISP0
: o* }7 u; G. L0 v- b0 R; l  G- W CALL DISPFOR
& b" q' c* B) |: B3 w2 t4 u MOV A,TM0DISP17 x6 R& G3 ?$ u- O. Z4 O; h' q5 j/ B
CALL DISPTHI
* n* y* v$ E* R2 G1 bTMN0DISP:& k5 q6 Z6 j! _% X# s, d3 s
JNB 22H.1,BB7
$ o+ f* Y# L& E0 }2 p, M/ u JB 20H.7,THNODISP5 B" K& q) V9 i# N. B! w+ ]7 m7 J
BB7:5 @( P8 w- {  h8 a* e
MOV A,TH0DISP0
  a; j+ R5 A9 d/ L CALL DISPSEC- e5 `4 ~$ K# y8 f3 O* a
MOV A,TH0DISP14 P6 d# ~& g! Z3 d7 b
CALL DISPFIR& B& ^' @: N; S8 B' n- V, I
THNODISP:) W9 m) W6 o' m- }7 M: y
JNB 23H.1,TDRET;定时是否开启标志位 2 X2 e& j% Q3 O& M6 Z( A" G: f# p
MOV P1,#1BH
8 _5 _5 i9 I( g9 [1 N CALL DELAY
. D" ?, n$ a9 G5 Z$ y2 LTDRET:
4 z7 ^* N+ g5 F7 r" V RET& `) C4 K1 L3 ]* x6 T  U& G
TIMER1DISP:! l3 [6 Z* t9 b0 i8 \% k2 S
JNB 22H.2,BB61;设定分标志位
2 Z* R6 g$ y* N0 |' G$ u8 `5 e/ G JB 20H.7,TMN1DISP# S7 d. N$ z) _+ Z9 S& t. g9 A
BB61:$ K0 _" C" h) R8 N/ c. W
MOV A,TM1DISP0
# c" K$ B! m6 R CALL DISPFOR, i* P, K7 G+ ^0 F
MOV A,TM1DISP1
+ I, Z6 S1 u) t% q6 n+ C0 W CALL DISPTHI- Y) `+ @+ a# v# H
TMN1DISP:& f; Z& B1 f4 c7 t& D' v) W
JNB 22H.3,BB71' d! Z  r8 Q+ l8 r1 n3 J
JB 20H.7,THN1DISP9 a5 U4 W# s! S; I7 ]
BB71:- f4 C4 z6 P8 j; ^& d! B; L; b
MOV A,TH1DISP0
9 ^2 W$ s) E: U! J' N3 G CALL DISPSEC" p5 Y2 f/ Z5 B+ j
MOV A,TH1DISP1- T( }4 ^0 a9 K7 F  K: A
CALL DISPFIR
0 [" R3 ]& j; _* S, }THN1DISP:' T0 x" U- D: M6 D) y
JNB 23H.3,TD1RET;定时是否开启标志位
3 E! S9 `2 W2 Q( M MOV P1,#2BH% E9 B! {. T. ~6 f4 u
CALL DELAY 5 N" ^+ F; {* V% X* Z; W
TD1RET:
; U/ k# w( T, y7 M RET
! C) k$ g1 F& |9 k;;;;;;;;;;;;;;;;;;;;;;;;+ l  q8 \9 X0 S8 Y9 p, R2 c
TIMER2DISP:
. g: ~9 {$ x  f) [* |) _. ~* E JNB 22H.4,BB62
+ X2 A) A; a: m1 \4 S JB 20H.7,TMN2DISP
; x4 P2 Z) g& A- \, \BB62:$ S! W: U6 }2 ?# A6 U) q: v" N
MOV A,TM2DISP0
% X$ A% x0 Z/ j: u! I CALL DISPFOR
% o$ g  X6 n" d MOV A,TM2DISP1; A1 S. [4 I0 l
CALL DISPTHI$ z$ L7 @& r# i
TMN2DISP:' m* m/ c' k) i2 K
JNB 22H.5,BB72
7 s+ j( ^' l3 d/ U: D0 H, \$ w JB 20H.7,THN2DISP
2 y) u( W6 Q3 r3 l6 N7 E% J* }BB72:
. ]. h" Z9 f. h0 h, J, E MOV A,TH2DISP0
' Y: d1 N* I: B7 C1 [6 f2 F CALL DISPSEC
9 o5 k2 s/ q, c MOV A,TH2DISP1' L! h( i5 g  ^
CALL DISPFIR
4 D' |  ]* W# W( {4 w& s3 UTHN2DISP:2 i1 a, G6 [! g, Z$ d- ~" B% W
JNB 23H.5,TD2RET;定时是否开启标志位
$ z+ G. F* Y3 y2 a. F4 p( f5 E! P5 S MOV P1,#3BH
* ~9 F1 \+ C( h" e) w$ t: [, G2 J CALL DELAY
: V' Z1 ?) L" u# a0 l7 c. K1 wTD2RET:9 k7 d! ^9 s4 u2 [. k5 U
RET; i# R: Z3 @1 {+ ^9 X- R

5 g2 m# ]1 @2 i- rTIMER3DISP:. R) y' X5 k- I4 j* n
JNB 22H.6,BB63+ a3 }+ Q% k8 \
JB 20H.7,TMN3DISP/ O5 V0 \+ ?; N; A0 O, W. L
BB63:( A5 S7 q( a$ L6 R: M% V1 e
MOV A,TM3DISP0; v; j+ [! R9 U7 x. L
CALL DISPFOR5 g* L7 q9 U# G5 Q/ l* t
MOV A,TM3DISP1
; f  l) I9 |) O- Y8 {0 x8 i CALL DISPTHI% K% N6 k+ \  |/ ?; C3 i
TMN3DISP:) Y" Z* B& D+ o) J  F* R- D. L
JNB 22H.7,BB735 }1 n% v; i4 V% {
JB 20H.7,THN3DISP  o$ V/ G& {, N* E! v* K
BB73:
3 {# _9 U: [' m% Z5 [ MOV A,TH3DISP0
3 [& B2 V4 I0 I# Q3 i% z CALL DISPSEC
+ H$ l) e$ c* K2 A MOV A,TH3DISP1
& ~3 p. w2 T# H/ ?9 W1 A CALL DISPFIR
% ?6 W0 Q% p) p; O, f5 rTHN3DISP:
- \0 K- R2 w" G1 F* b; k+ C JNB 23H.7,TD3RET;定时是否开启标志位 ( X& R+ B9 b% l! T2 b2 s  d8 P% m
MOV P1,#4BH
& ?6 o' c9 E+ y: g( L& V3 e/ }1 c CALL DELAY
2 c$ X" o' ^: g4 X* C6 o: C) C! d$ z" WTD3RET:4 q. g# |, z2 c* \, g3 f. z
RET
5 E( B- o# j3 E" }7 I- n;;;;;;;;;;;;;;;;;;;
* {" ?# Y0 m2 y  a* ~DATEDISP:
  y' e5 {2 z5 G6 z/ O: [ JNB 20H.1,BB88
% I( r& C; M1 \ JB 20H.7,MONDISP
) N' v3 a3 v' `% A- _$ aBB88:( }$ r4 i- N: K5 |
MOV A,DADISP0
1 H! v; c4 y; N# P% a CALL DISPSIX: s8 i& _4 `+ D
MOV A,DADISP1& |9 Z( S( @; P) T0 R$ h
CALL DISPFIF
4 H6 q+ _8 V) n6 r- P/ q' V& H. lMONDISP:
7 H! _' y) P$ x* r3 D JNB 20H.2,BB99
2 H. m& X' V8 X JB 20H.7,YENDISP, R! \0 C3 [) A( t* L3 R5 u
BB99:9 m6 M/ A. D# W, @8 \
MOV A,MODISP0( u) y1 U  O: L/ [' c4 X4 O
CALL DISPFOR
* D, @% b% @; f, I5 X4 b MOV A,MODISP1  Q( s! a: s' ?# \9 P2 _
CALL DISPTHI
; T5 J; a% i  M! B# I( T5 v( c" ^YENDISP:' B) j& R# q$ l4 Q" E3 r2 `( |
JNB 20H.3,BB89
) B, \8 A# i: Z; j7 F JB 20H.7,YDISRET
& U) r( v4 a* j- `6 ]+ PBB89: + |, \0 I& J; \& {0 X& a
MOV A,YEDISP0  }5 b" C, O. n% i8 b
CALL DISPSEC
6 O' U; l9 q, z& X, a4 o1 d' \5 ?# a MOV A,YEDISP1
! y- j5 u1 Z4 \" ^0 N% u2 e+ K CALL DISPFIR" G, @9 L- t$ M5 Y3 D" A( v  {
YDISRET:# u% t: l% Z- m" n- h
RET( i; D9 K& j4 s4 W# ?& W

& h1 L: _/ H& C% T;定时比较子程序6 i9 I  x1 e$ N& \
COMPARE:' S: z4 P! _8 Z. T( ~  x
CLR 23H.0! h! n( G) o& B
SETB BEEPOUT3 ^& [4 j; x3 W" |
MOV A,TIMER0M;取第二组寄存器的R4,即定时分的存放值
! {# e' k5 `# n2 C& B CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较2 ?+ F, L4 n4 E( Z+ c! w
MOV A,TIMER0H;取第二组寄存器的R2,即定时时的存入值4 E. B- J! }! D& S! N' \( r0 K" B* _
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较  k' l9 e3 {  O3 c; Q
SETB 23H.02 ]( Y2 W& ~5 O/ C
CLR BEEPOUT
* k- w! L& P: f. _& F! \ RET. Y3 b1 a7 z! S2 T8 s' g6 g
COMPARE1:# N1 C7 }5 j1 t
CLR 23H.23 S# y7 h8 [9 |+ y. Z6 Q/ z
SETB BEEPOUT7 @1 Y- ~& L( V, ]1 F+ X
MOV A,TIMER1M;取第二组寄存器的R4,即定时分的存放值
* c# F) r1 ~% b$ T CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较
6 [2 `7 K' b# O2 S5 e MOV A,TIMER1H;取第二组寄存器的R2,即定时时的存入值* h. o- ~8 B  x$ }3 F7 u
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较6 d3 Q9 ^4 s9 y
SETB 23H.2;定时时间到,准备开启BEEP
% x9 D; U! R9 i+ A CLR BEEPOUT
0 ~9 J( h0 h* ?# F% [; b RET% g6 s' ^& ]$ k: o, [  n, s7 I0 K
COMPARE2:
% J# I1 C" W5 w( X- a& q CLR 23H.4
, p7 {+ Z" Y8 B& U6 K SETB BEEPOUT% V: r; b! s; u9 i- Q5 x& n
MOV A,TIMER2M;取第二组寄存器的R4,即定时分的存放值
! n0 a+ b9 l/ h' C CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较  D" K, E1 k4 n4 `$ r
MOV A,TIMER2H;取第二组寄存器的R2,即定时时的存入值7 E/ z4 Z8 K# V- J8 |* d" j
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
0 s- N' f- w9 e( U  A SETB 23H.4;定时时间到,准备开启BEEP
4 s. }8 \/ {: L CLR BEEPOUT
( E! l4 o7 @+ w. B- [& K3 ?' R RET
% B# j& y* x3 s2 dCOMPARE3:
* o7 ^; u6 l! g8 ^# D: x CLR 23H.6
3 ^; b  x. V* u& }, C# v& ^ SETB BEEPOUT( _$ z$ X# U# _" N
MOV A,TIMER3M;取第二组寄存器的R4,即定时分的存放值
# G9 w( U/ d# r CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较7 x- v7 o$ o/ J+ |  Q5 H1 n
MOV A,TIMER3H;取第二组寄存器的R2,即定时时的存入值
- e( O$ N! u% H) b& W1 D CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
6 j5 \8 z% K* S SETB 23H.6;定时时间到,准备开启BEEP
4 |; N2 A- x/ J, l; R CLR BEEPOUT
6 l% ~3 S6 m5 A3 |7 ^( y' KNOTEQU:4 F; |6 w' F8 `0 e
RET
0 s: v0 [) ?; B! B( }5 P
' [3 w* \2 T& ]* n8 w0 @* F;延时子程序
  [+ D. q0 R6 F, KDELAY: , h4 f3 o& h/ O% b4 T0 J
MOV R7,#05FH
" v+ B; d7 O3 c. j2 O+ z3 o/ g" H DJNZ R7,$+ A5 T8 j3 u5 y5 q9 h5 A% g# z
RET
( g5 J9 n+ k: S; U* j
$ v" a$ D3 j: };显示+ d0 S, X/ U3 ?6 p6 p4 s

0 w4 k- [( B8 X/ {2 RDISPFIR:$ i9 |) ~4 a+ S2 p9 n
ORL A,#0FH
3 U. X8 ?. d$ H% E  O* d( T ANL A,#0F1H
$ \& Y8 Q3 B" l& X MOV P1,A
& R% e( W- y4 a/ n# E9 T% s) f% Y CALL DELAY: b" E+ @2 O: A" |; _8 J8 m
RET* i5 Y: K' \2 @* j) u9 t& x
# }, _7 |/ _& c8 w& H
DISPSEC:, t# u9 o. r! ^+ Y4 I$ H
ORL A,#0FH
0 D% ]: ^* g5 m ANL A,#0F9H
4 Z1 ]; H, j2 a$ R MOV P1,A
7 @& n- N2 {( \) j( z+ @. j0 y: T; C CALL DELAY
  W  C- e2 l% M; K4 L RET
% G) {  s- x( r2 {' d* x( ?2 [9 D5 d/ ~8 Y
DISPTHI:
0 O7 Q; u, f! B7 ? ORL A,#0FH
* s9 h6 q# v4 U ANL A,#0F5H
' F% w) ?; m/ S9 I MOV P1,A% _. m; q: v( \; J9 A+ W  H
CALL DELAY
  Q5 B" t4 Y' ]' S3 J: n RET: H# H& h( w0 b
3 r7 L7 G0 M# r4 C4 e9 @% w8 [! E
DISPFOR:8 \. f8 D  y/ \( {/ O9 ^& s$ \

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
ORL A,#0FH
, i0 F7 Q  B9 t, o' {; o( m ANL A,#0FDH4 d; D5 h, [! l- d
MOV P1,A
# J! M6 b7 T7 h, [' A0 i CALL DELAY
8 Y: `$ z+ s8 ^! j. r RET. C* n5 G: ~/ B5 ]" B3 s. G
4 K, h) E4 D' N! `" W7 J8 R& O
DISPFIF:
6 G( z* ]2 A- d! q0 y ORL A,#0FH: c4 m2 m4 \! V1 [% l" E
ANL A,#0F3H
9 b6 t0 r  V  U2 W! [6 O$ H* l( ^ MOV P1,A3 z  O( v, r0 e
CALL DELAY4 X/ N# i% Z( N' ^
RET( ?6 E0 Y6 v( O" n$ G" q, }& Z0 |% s$ k

8 l4 p2 |4 G0 |$ aDISPSIX:1 \0 i7 I# n) ]9 B3 }  @& n& H' P
ORL A,#0FH
$ r: Y3 A! ?2 j9 ~ ANL A,#0FBH1 e0 t4 V/ U$ _( ^
MOV P1,A4 c( O) ?  |' q4 W( Z" _
CALL DELAY/ O3 Q# ?3 c* [
RET( M( M* H: S7 v" l0 z( Q
0 D- F3 _, d# N# I
END

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
用到的几个 标志位:
7 w$ `6 }9 t' C% R' M% d, A' I) x
20H.1 日设置标志9 a  a8 S9 R; _: h  ^8 Z9 n
/ m  j, h: `' {  S+ n
20H.2 月设置标志! u8 _; w; g9 k- p; }1 C6 e& P
$ u7 Z* W& D8 z2 S, e6 }/ K1 Q# P
20H.3 年设置标志0 _0 h$ j; ]& T  L
: K2 P' ~4 z: v3 w
20H.4 日期显示标志6 ^) R4 ~, i3 L
+ L, ]- t! {& u0 |7 W4 c" I
20H.6 秒设置标志( v: R0 F( ~; p: k- A

! h# y3 C+ _* [2 Y/ I; D3 m20H.7 设置时的显示状态标志(闪烁)
! p8 J+ m# M* C4 f- z' ~: ~6 w. t7 y9 }/ N
20H.0 大月标志
: M. P+ X( Z, o- R5 O. K9 L+ a5 s, N  m$ f- \2 ^
21H.0 时间显示标志
0 ^1 C. B9 ?# \& t
& d( b0 Q: `! I! b/ M21H.1 闹铃1显示标志
5 M  Z' l8 m) v6 P! e! {% e
. d5 t8 Q* G& E- d( }21H.2 闹铃2显示标志
. @1 S* `% p' O# n6 t
: J5 I7 i$ c2 \4 Z2 f* C+ }: |1 n21H.3 闹铃3显示标志2 C* I3 x( z, b; x

* D9 |! D! M9 |+ z( j  u" i21H.4 闹铃4显示标志
3 F7 s& t' {) y9 k* N+ q6 t7 Z  v: }! T4 ~- S
21H.5 分设置标志, P0 q3 Q% l0 m5 K

: g5 [& ]0 w" h$ {& R21H.6 时设置标志/ v! H0 C- y! |. q

. u+ W# O; K! y, T: N21H.7 星期设置标志
8 I0 H# \. ^/ ~# [
4 Z, b/ g1 l4 e% D. ^0 K. F22H.0 闹铃1分设置标志
, ]2 U7 p% I! r* }: w. X5 \6 G+ n4 R: F* H' |
22H.1 闹铃1时设置标志
1 {  f5 G! J8 l6 V% @- R+ m2 ^
8 n4 x+ U, q. \1 i4 H1 g( n........
4 B' W4 ^5 ?0 |! P2 _8 @& |2 N8 m9 o7 X% d( w* K* K
22H.6 闹铃4分设置标志
% ]$ S4 n) r5 ~8 n' V! o$ f/ w0 ]9 b/ r1 n$ u: V7 U: c) A
22H.7 闹铃4时设置标志+ D) X. D  f% u# w3 o
  r( _& n2 A0 O- A6 k5 x% N
23H.0 闹铃1时间到标志/ }0 l% r1 x! g  A' v
, X: _4 H2 s3 U& ?! a1 U
23H.1 闹铃1开关标志0 ], J. @2 V3 w' K

5 v9 z! s- G: u- b........
1 I' W& ~( G, o0 [( b! g- V! b1 z) ~- Z; g$ b" B
23H.6 闹铃4时间到标志
* T) v* _9 ?9 }9 W+ q8 u
5 u1 ^2 a. v* F2 H: V23H.7 闹铃4开关标志% c" t* H6 f9 O$ }, D& P+ ~
* @' s# V+ K* o! Y$ g
编程过程中遇到的问题是:
) Y: |% U3 {0 S4 J% V5 H
8 s9 t( Y5 ~$ D; l# Q$ F1.在按设置键的时候在按30次左右的时候,SP溢出,因此强制SP复位,不知有何影响 目前还没发现问题;+ b  X3 G6 E4 U! W* J
' q' f1 N" z: w& n+ K
2.按键去抖动的时候没法消除,因此用检测按键是否弹起检测按键是否按下,这样的后果是不能连加。
4 q2 T( L8 @+ R. i4 O5 c
+ Q; |* J9 M2 x3.程序比较大,2051刚够用。呵呵,有高手改下会小很多的。
) g: F: m$ J7 l9 `
0 [1 O0 T% ?# o+ g) o时间比较准,15天左右快了大概有40多秒,跟电脑的时间比较。

classn_11

 楼主| 发表于 2010-1-29 21:12:34 | 显示全部楼层
印制板有误,仅供参考,我是用这个板子做的,做了些改动,段码连线应该下移一位,即,A-B,B-C.G不动,星期显示的由于管子不同,连线也大不相同,根据所用管子自己改动  9 g& d2 L' ^$ o
  K2 B( c5 |( Z7 M  v/ \

+ D. y; e' S7 n& t 55767db1.rar (159.19 KB, 下载次数: 1)

classn_11

 楼主| 发表于 2010-1-29 21:12:34 | 显示全部楼层
按键处理程序比较简单,有兴趣可以做做,2张单面板做

classn_11

 楼主| 发表于 2010-1-29 21:12:35 | 显示全部楼层
怎么没人顶下啊
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-5-5 14:14 , Processed in 0.511543 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表