维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 363|回复: 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.1
2 U0 z7 ~# V7 P: t# gSETKEY BIT P3.2: k6 F4 f: U; @
MODEKEY BIT P3.3; I3 G( u8 S0 |8 E) S5 n
BEEPOUT BIT P3.0. Q; a+ n2 S+ {
- J1 K# [/ Q' R* [
SDISP0 EQU 10H) p4 y! J" o- V$ [* U2 H
SDISP1 EQU 11H* z8 g. v& U; r+ F
MDISP0 EQU 12H
! K- o' e/ i) O: SMDISP1 EQU 13H
* u8 y. P6 v9 f( @) B( SHDISP0 EQU 14H1 e4 L$ j" @4 Z" R' L
HDISP1 EQU 15H
: `; I8 j* e. A. N
7 \' t  Z" C% B  Z! m  ATIMER0M EQU 16H
5 m$ M- \& V7 X7 R+ Z/ P$ I. ZTIMER0H EQU 17H8 o" Z9 {2 |- i. p- N( |

& H% ]3 a% `! \, E  ^TIMER1M EQU 18H; Z: B5 y' E& R7 \1 G- D1 o4 f
TIMER1H EQU 19H
- u* Y5 w) ~6 h. y, D2 c7 B& E; A  }& n
TIMER2M EQU 1AH% F  I" N+ Z/ w7 N, E7 v
TIMER2H EQU 1BH
$ o, x5 H2 c9 l3 Z& B) D: N
- J9 @" Z* h1 m9 y% qTIMER3M EQU 1CH4 ?! `8 D  Y/ T8 Q  z% b! J. q
TIMER3H EQU 1DH
/ j, }0 V5 y  f; C; j# F2 f
& M- H9 V# ]  BTM0DISP0 EQU 1FH( C+ V; C; V9 e& Z! V, C7 G
TM0DISP1 EQU 25H
6 v& u  p6 c5 G: a5 {) L% JTH0DISP0 EQU 26H1 @+ e7 d* F' k4 N& Q" U
TH0DISP1 EQU 27H! W! v, u' }. a6 ~$ D

7 c9 `7 V5 W# K7 G5 hTM1DISP0 EQU 28H; n6 A% X# g# V  j
TM1DISP1 EQU 29H
5 [' I$ Z4 ~- x  YTH1DISP0 EQU 2AH# a2 i" i7 k8 Y1 q
TH1DISP1 EQU 2BH+ ^7 V0 f" b3 ^

4 }! |% r1 _  |8 `! o7 h7 ~' GTM2DISP0 EQU 2CH: a! f7 W# c  N7 h/ ~( K
TM2DISP1 EQU 2DH  R* J, s( s- j" r' f* Y
TH2DISP0 EQU 2EH0 D8 a7 A3 z) f! f$ O1 w# `( |
TH2DISP1 EQU 2FH
$ a, a: I$ a) e" W) ^1 f) \, E( G; o- ?$ d/ M6 l
TM3DISP0 EQU 30H# Q6 r( f  F( `/ E) S2 [
TM3DISP1 EQU 31H  b, A% I9 M5 A9 H0 I! V" ?/ ]
TH3DISP0 EQU 32H
" [! Z" @1 w5 T: J. g# MTH3DISP1 EQU 33H4 {! ~( a$ D  t: x8 ]8 Y2 z
! f7 I2 `4 C' h& T8 E- L9 [8 q

* k2 w1 v" L' ~+ v3 @) q8 cTIMERTEMPM EQU 34H# k. c, n& w9 M0 p9 b' O
TIMERTEMPH EQU 35H
1 a# b; U4 Y* e; V+ _4 D7 E4 K: H+ k- o+ ]4 L
;TS1DISP0 EQU 31H% j( h; V( h" S) a

" J5 Y8 N4 m  [) I6 l1 t0 p( m8 }3 c0 k& y9 i/ ?8 o: J
;TS2DISP0 EQU 1BH
" U# e  D# O7 h% ^
: Y) R2 m! g3 B2 A0 i/ t/ r' o; T  A
TMDISP0 EQU 36H
6 W  {+ J. m6 H, F4 W8 P4 XTMDISP1 EQU 37H; H& i' j, Q- V+ o# l$ a
THDISP0 EQU 38H8 V% P3 r: i  t/ z: z% d
THDISP1 EQU 39H
7 H  z8 H5 j* Y9 w0 c  ~/ N9 yWEEKDISP0 EQU 46H' x+ N7 N# j" x5 i# r9 w  j
DADISP0 EQU 40H
; P' y& x1 j. NDADISP1 EQU 41H
& l3 V* o! G/ l4 @% w: vMODISP0 EQU 42H
; _+ V2 i1 Q# w3 m$ o4 W( ~  v1 LMODISP1 EQU 43H  x0 S" B* q5 W4 `: U. {2 E! u
YEDISP0 EQU 44H
' u5 r: W8 y3 S$ z- D4 O: OYEDISP1 EQU 45H1 T, s% I5 A3 z" H

* H6 k' t" ^  B/ [. x7 Z% O2 [ORG 0000H
2 E" w$ G2 U/ c3 y& h+ iJMP START" J" {" i' s/ ^$ x) d) p
ORG 000BH8 q; t7 T. N1 `  Y
JMP TOUT
! J" R: m$ ^7 k" uORG 001BH
, k% ~! q- @4 [+ t6 q6 ]& NJMP FLASHTOUT
. i# r. U2 D, o( {5 S$ U  j/ a, C9 v, |, G, a
START: ' H' p6 D7 \5 u
MOV R0,#80H ;清寄存器- _5 I" p9 }* ?1 U4 P
CR0:4 i, N' r" d; o
DJNZ R0,CR1
7 |: X3 P: s" j* c  I4 X NOP5 s: x4 G4 l* W* E$ ]: S4 e2 S
JMP START1
+ g$ V2 }! r+ A& S- M5 F" VCR1:3 B" p% L8 `5 y2 w  C" \8 }
MOV @R0,#00H
# V( h$ |' O% v) z, S NOP
% V& j- z2 [( z, `# V NOP' G" ^7 ]9 M! L6 I( v+ D5 ~* m
JMP CR0
" b, _3 j' X/ SSTART1:4 ^% b7 R" M( n
MOV IE,#0CAH ;设置定时时间(100ms)7 B! K* V! J5 V. Z4 F! x
MOV IP,#0C2H
- G" R4 ]% G" C# r( L+ p MOV SP,#47H ;设置找钱地址
5 T7 f6 @3 h  B& i. j MOV TMOD,#11H ;设置定时器0为定时定时模式1
; U; ]# O% Q3 s/ Z& c( [  |- R MOV 0FH,#1
9 r+ n3 d$ e7 A  d MOV 0EH,#1
1 Z( }, Q  C7 |5 u SETB 21H.0 ;DISPTIME - B# }/ z' D* {/ p5 S6 D, |
MOV HDISP0,#8FH& d! h1 ~* I' S- L; H9 k& J) z2 ?
MOV WEEKDISP0,#7FH ;2007年1月1日星期18:00+ ^) X7 X7 \4 t
MOV TH0,#3CH$ Y4 x# g% a' a
MOV TL0,#0B0H2 ]( k" o$ ~) n' \# V
MOV TH1,#3FH
0 K1 h6 H% g* |" u2 C MOV TL1,#0B0H! c7 f( L+ {1 y8 K' E
MOV R5,#1H
0 X/ ^; g* Q' u( O3 h% p; |5 t$ Q MOV R6,#20
0 u% _5 ?$ ]6 b: m MOV R2,#84 @( G! {& Q5 g5 C# A5 l. d
MOV 23H,#0AAH- u9 I" e8 e" s+ `/ X4 D0 n) Z. e  h! c
SETB 20H.0! {. b( [) Z4 W- R
SETB RS0
3 v0 H* ^9 b. G$ O, @ MOV R6,#1& U% S, s/ i" W0 `9 `4 a1 g$ ^" Z/ G
MOV R7,#1
( V: M2 Q9 }2 i1 @* }. F1 e MOV R5,#0
8 I6 z! d. Y* A5 K2 E6 h8 s CLR RS0- Q; P6 F2 e; s; K7 W; `
SETB TR0 ;开始定时
) K' K  \) j* ]* ?4 k5 c; Q. W% E: k. P! n! m7 Q
CDISP:
& c- ~0 w( V2 l MOV SP,#47H6 |$ u/ A4 i8 O* `: e5 t1 m  s
JNB 23H.0,KEY10;定时时间是否到
. v* V% E3 i& y" L# X& c# l  ^ JB 23H.1,OUTBEEP;定时是否开启
2 R0 [% O$ ^7 P* `/ yKEY10:6 k" g7 L5 O: {
JNB 23H.2,KEY20;定时时间是否到
: @/ Y, r- G6 l! f( w JB 23H.3,OUTBEEP;定时是否开启
. s  \. w( x7 _1 P( oKEY20:
, J7 k" b  ~5 l$ V! J8 A JNB 23H.4,KEY30;定时时间是否到( e4 H  D, Q( f. E% @/ M
JB 23H.5,OUTBEEP;定时是否开启) X) b" A) j, K6 e" j* p
KEY30:
% k: \% g2 T5 t) [ JNB 23H.6,ALTM;定时时间是否到: i' d6 k. v6 T  w
JNB 23H.7,ALTM;定时是否开启3 w6 z6 u9 o9 Y5 k
OUTBEEP:4 o' V- c& Y) s4 ~
CLR BEEPOUT;两个条件中考都满足,开启讯响器
# \9 `1 K5 [( w2 jALTM:
1 q# E( K" N3 Z" ?3 l JB 21H.1,ZZ1
1 T0 G% I1 t8 s6 G JB 21H.2,ZZ2   ]4 T2 D' ~: K2 z
JB 21H.3,ZZ3 0 M; }$ ~. p& R5 r: y* T
JB 21H.4,ZZ4
$ ~* S2 B) h; y1 c9 h JB 20H.4,ZZ5
8 d6 n" |2 C% y# i, l8 b, g CALL WEEKDISP
' H( X5 x5 z9 M* z+ a- |; t. | CALL TIMEDISP' E) {* h( y9 Z, n1 R
JMP KEYSCAN1 f8 m# M% s; V" S
ZZ1:
( G! S. r/ g  z$ X CALL WEEKDISP  k$ Q3 Z! A1 b& \! }- p5 u# j
CALL TIMER0DISP9 z. \* D" Y: h5 b' N
JMP KEYSCAN
1 Q4 `1 ]- V  R: }4 Z5 fZZ2:
( i( A, H! D+ V* w CALL WEEKDISP
5 i1 g. Q1 y7 C' a" u/ Z3 V0 m CALL TIMER1DISP
* K" x8 l& a% u JMP KEYSCAN, J' g" r# ?1 J7 w6 R
ZZ3:
; U. A3 a* z4 O* B; @2 U# r' O: z CALL WEEKDISP* Y  o7 i: J2 m: C$ y
CALL TIMER2DISP' i5 l# I4 w& K1 p9 I2 z  Z) S; j
JMP KEYSCAN6 T: |/ @3 b' K* Y3 A
ZZ4:. v! p& Y( I9 {! i2 ]/ O/ q7 t* y
CALL TIMER3DISP+ w( E& o% U# o% c2 O6 `  c
CALL WEEKDISP% o% i" G3 l. R9 L. A8 y; ]
JMP KEYSCAN% V; ?7 a& v$ A8 W
ZZ5:/ H8 A' z  `4 e* q# n+ j2 C) e
CALL DATEDISP
( ~. M* ?( U6 {: ]  a4 q9 a. ~ CALL WEEKDISP( Q+ D- ^" c( B. U. C
KEYSCAN: 3 a! A+ S2 N- k' m% J% X% Y5 f
JNB SETKEY,TOSET6 J7 D5 z0 h% @
JNB TIMERKEY,TOTIMER; [$ Q2 `; P5 ^5 P+ W7 K0 V" b" f
JNB MODEKEY,TOMODE;模式按钮 20H.7# r! ]3 Q- T: F
JMP CDISP- ?. [/ E' b, Y7 H0 Q' p

" G" ]* B! i/ s5 @6 n- |- PTOMODE: # s  C7 j2 A  h7 ^5 ~
NOP
, e: v+ Y8 Q% T JNB MODEKEY,TOMODE 7 ^. ^6 D/ l1 B6 u
CALL MODE' _3 ?9 N( j! b
JMP CDISP/ E' t/ N* g9 x, W3 z5 N
TOTIMER:
6 s- I; L! d7 V/ u( @% a NOP" x; m( y1 F) `* ~- q
JNB TIMERKEY,TOTIMER
' g8 j- i' P- R3 ?2 r& U" i CALL TIMER1 w& s% {, b( N* q9 K+ k
JMP CDISP
# F7 \; P# E' p4 h! W, BTOSET:
8 I. e( T1 {8 |8 U1 l! H, ~) J1 W NOP
4 ]) Z- _; i' F/ a1 n5 q JNB SETKEY,TOSET! ~6 ]  S/ `( v
CALL SETTOSET
" z$ `+ T1 j; o8 ]$ @# Z JMP CDISP
2 w  c3 a) [' Y) C6 {+ Q, ~5 eMODE:+ ?6 l% w/ M1 J) T! J/ W6 M3 q
SETB TR1
- R- M% m4 G0 g$ V  e JB 21H.0,MODE1" D5 K3 C" o4 [7 \5 Q
JB 21H.1,MODE2
4 R' j5 q8 Z. a5 e) v JB 21H.2,MODE3
; G- r7 L) ]+ ` JB 21H.3,MODE4
0 K3 a. _& n& p% w7 ]& q0 e JB 21H.4,MODE5
6 H" F/ |9 H7 P3 u' e JB 20H.4,MODE61
$ `9 z' ?5 q/ o/ Z/ v- _ RET. M5 d/ D. G' q6 v4 T8 U$ b
MODE61:/ m/ B& S9 j0 G" L
JMP MODE6
7 O0 `3 @3 |6 b+ z0 }5 H8 M5 Z* MMODE1:
) y6 P0 V$ H! j  k JB 21H.5,MODE2
% G* [, Q! C' H1 Q( k) L JB 21H.6,MODE25 `+ T* D8 I5 F- h' C2 z) t
JB 21H.7,MODE2
% M" z; S3 j3 d. L; U JB 20H.6,MODE2
6 ]+ K5 _& @: q2 \ CLR 20H.4* O! X# q+ f5 D. a3 |  B0 E( B
SETB 21H.0
  m' A: `# O1 F CLR 21H.1
; T2 V" u9 {2 D  _! T& p CLR 21H.2
$ h5 |# l  M* i6 R/ t0 }; T* ~ CLR 21H.3& i" e$ Z5 I4 K1 I- R7 v( U
CLR 21H.47 A0 T( e7 B# t+ W& E
SETB 21H.50 I" @+ o) x& A* S
RET
/ q% d5 K1 j( P; k# j6 SMODE2:
$ W- _: H0 l+ l9 W2 e CLR 21H.5( I4 R# j0 _* ^2 @) @  n
CLR 21H.6
4 |0 |4 U+ T' |, A: a* l CLR 21H.7
9 @0 W2 {! ~1 a3 a& g) b, r" O CLR 20H.6
+ G% C2 k% P- p6 Q JB 22H.0,MODE3
0 q  i2 I; n2 N9 P+ ?" E JB 22H.1,MODE3 ( X6 w2 r9 d% z
CLR 20H.4: C% f& m# B$ K. C' Z
CLR 21H.0
5 e! F$ s0 w0 G. J/ }/ J8 D; y SETB 21H.1 : I+ o/ J6 d5 y  \
CLR 21H.2
% X' i9 r% o+ `- T1 F: z CLR 21H.3$ H+ _7 T0 e, j, O
CLR 21H.4: c9 G  f/ n- J* u$ G* Z& ?
SETB 22H.0
) w  t% ]9 ^6 `& }1 x) y/ ? RET& V( ?6 ^# T7 s! ~0 j1 h  y
MODE3:
) F! K  k# S) i: j2 m9 c CLR 22H.09 }8 M! R" m/ C6 {
CLR 22H.1
) R- _& n3 i- a JB 22H.2,MODE4) V2 H% H: t1 F
JB 22H.3,MODE4
8 E( C* e2 q' t3 |& \6 T# G3 F CLR 20H.4
/ a* U4 d3 Z8 N$ E CLR 21H.04 R" k& _* w! ]- q6 M$ }( f+ O$ a
CLR 21H.1) i0 u+ S" l$ K7 `
SETB 21H.2. S3 a) s' c' o/ a; M5 ~
CLR 21H.3 4 ^. w3 }3 A* W! P) I
CLR 21H.4- E' z  f- l" H! t" b6 r2 B) a
SETB 22H.2" B1 E* a" r( S- Q  w8 d2 ^+ f; ~  l
RET+ m1 ^* Z% y7 A& \3 z# l
MODE4:8 V' j; i/ a6 I5 f0 @8 S
CLR 22H.2
  ~9 D8 n* `5 o/ k: U CLR 22H.3- U8 }8 }: C1 |# D, t% ]3 t' p. ^
JB 22H.4,MODE5
) P% h1 u) |, F( \ JB 22H.5,MODE5( b9 v6 ?  q* x2 @# U5 G1 V
CLR 20H.4
4 {1 L0 b6 k; ~# P CLR 21H.0
+ O1 f% S" \" f, g$ m CLR 21H.1
* g, l# w5 n9 J% e; B" \5 d0 B CLR 21H.2
6 q- f: H) B4 \0 w, X- }+ s! ` SETB 21H.35 m8 ]& i: }1 G% e% n7 a) V
CLR 21H.43 K% d/ h& d6 O6 a2 L- B
SETB 22H.4
, I' ^4 e2 I2 u RET5 W  U+ ^1 x; I! M
MODE5:  F% `5 n2 J' I& P! A
CLR 22H.40 H% k" ~& x0 R! F& W7 F
CLR 22H.5$ c6 P- a! X; H- z! h
JB 22H.6,MODE6
/ e6 H; P4 g7 s% d0 u# I JB 22H.7,MODE6( q) n% Y6 M1 M
CLR 20H.4
; F' b$ F9 ]' h5 Z+ z- Q' Z+ ^ CLR 21H.0
6 U% h* q* @1 ]4 k1 [; r CLR 21H.1, b6 m2 w% c6 n1 e
CLR 21H.2/ ?, o6 F/ i8 @0 d; b6 ^9 }
CLR 21H.3
* a' F. s4 N. d3 s5 R2 W- ^5 c% ^ SETB 21H.4
1 _8 ^+ D! j3 x) G+ x5 R; S# x SETB 22H.6
, m; c5 `; Z5 C0 H- |3 w0 C RET
! v; \3 u* p+ @" JMODE6:7 j; ~0 ~; i& l
CLR 22H.6) c$ m# Y+ m+ ^3 N  I& {4 B; K
CLR 22H.7
2 E7 j5 T- A  [4 T  n9 \ JB 20H.1,MODE75 I+ E" L& Y9 k
JB 20H.2,MODE7
+ s+ E/ u5 q" S& I JB 20H.3,MODE7
3 C. K( }  n) J4 h2 |, c1 } SETB 20H.4
" T* ~8 p6 q; r CLR 21H.0 ) P% R3 ~% `2 G# W0 ~
CLR 21H.1
" U# }0 U0 c; u2 M CLR 21H.2' Z. c: ~3 I$ X! ?
CLR 21H.31 p% i& v+ O7 u* }& q
CLR 21H.4 " b; e4 B: H9 c! B! U
SETB 20H.1
9 S1 L% A% L1 J RET # B. J) \; k  Y
MODE7:2 ]* n9 ^( D( ?3 i
MOV 22H,#0H7 b0 ~5 I9 S1 {- u# Z2 e
MOV 21H,#0H- w) o% o# h0 d
SETB 21H.0
' d: g+ S# `  l. j- J CLR 20H.1
6 H/ w- Z+ S* K. F) S& E CLR 20H.2
! u( ]' l5 S# o& A& i2 M) c( D CLR 20H.39 W) _. s% ~# ]" X3 Z/ F! j! i
CLR 20H.4 4 J0 d4 |8 o  u, D+ ?2 p
CLR TR1
6 `: u- a, T- } CLR 20H.7' ~, [. G" v3 ^. R5 [' L" [  T
RET4 g- N0 K- l0 J8 X  Q: m7 t
" W5 j( ]$ g1 [
SETTIMER31:" C* r7 t% F2 K& n! y' E
MOV TIMERTEMPM,TIMER3M
7 J1 o% E: r: ^( \5 z6 v( {4 H- n CALL SETTRM
+ K" k8 M0 X9 J6 _( q  P' x MOV TM3DISP1,TMDISP16 g/ D" ^2 e0 R
MOV TM3DISP0,TMDISP0   k6 y/ V8 V/ _0 ]! f# S
MOV TIMER3M,TIMERTEMPM
9 H7 H% x$ H% @2 w7 R JMP CDISP
! G( s9 {; h: `6 x/ ]SETTIMER32:
8 K' w( P% |  S( A" s7 S MOV TIMERTEMPH,TIMER3H
! U2 T  V6 ~  v CALL SETTRH0 o' m9 v9 k: B- j9 j4 A( E
MOV TH3DISP1,THDISP11 d& S) l5 x' t/ f
MOV TH3DISP0,THDISP0
$ t* r8 J$ S4 w MOV TIMER3H,TIMERTEMPH1 L- V& J6 x, ]# }
JMP CDISP
0 W' F  C* P  D2 C1 O' b5 B
- k: D- u% J; v: LSETTOSET:, m& M" }/ _; R3 z. e2 b
JNB 21H.0,TOSET18 `/ D, T. ]* y$ \. c
JB 21H.5,SETM
  ?: s. q6 Q) f/ n! Y JB 21H.6,SETH . C' x9 h6 I6 m. c7 }9 G
JB 21H.7,SETWEEK
' F% A' ~- H; F6 |  t# k+ R JB 20H.6,SETS) I/ I. @: q! D" s4 h6 s# {+ K' V
RET2 |% p6 n$ ]1 W
TOSET1:
5 ^2 s: J. e1 t: C JNB 21H.1,TOSET2+ D9 m- C) D  n6 B% a- {
JB 22H.0,SETTIMER01
; I' f* T& d. l2 o JB 22H.1,SETTIMER02) u$ A  H$ _& ]* M+ `' d6 _, n4 u
CPL 23H.1! x+ n5 g+ Y7 v6 q& O  V% D8 A
RET  J0 e$ {7 [: c* g, B" o* T
TOSET2:
( T9 |# b2 j- o4 t4 l JNB 21H.2,TOSET3
5 x, }8 l1 `) W8 z" t8 m* F& k JB 22H.2,SETTIMER11
& g0 h$ f% G: R% s JB 22H.3,SETTIMER12  k0 k3 w% a- W' K7 E
CPL 23H.3
# h# l! c; G+ ~" ?* a* S; G* @# n: J RET! K$ c/ g2 m, F, L% }
TOSET3:
- d$ R  m" f! n JNB 21H.3,TOSET47 B3 H9 O) M4 G$ x& {* p2 u  L
JB 22H.4,SETTIMER212 v" i$ x3 B# A% }8 e5 u$ Q
JB 22H.5,SETTIMER22" s1 D2 q4 F5 I( S6 n
CPL 23H.5- I6 A- g. ?5 y  M% j) O
RET
0 j3 T5 n; Y" d7 g5 U$ I$ Y4 Y' YTOSET4:( S3 K" D' ?, h- S
JNB 21H.4,TOSET5# X& [/ C3 o$ }
JB 22H.6,SETTIMER31  ^2 I; S. |, m8 D
JB 22H.7,SETTIMER32
% Z/ Y# ]# r! C5 S1 `4 B# D CPL 23H.7
9 x& }1 E5 c+ a) a4 dTOSET5:
, ]% w/ ?" K3 l2 s JNB 20H.4,TOSET6' |+ V0 s7 R6 d0 d! |" X
JB 20H.1,SETDATE
; i% l* @, R& k: V  d( ~# e JB 20H.2,SETMONTH# l0 y( V9 \& Z, u0 T) J+ b
JB 20H.3,SETYEAR
" `$ h' G% k+ a  K3 C# ZTOSET6:/ }/ v5 V' H, V- o
RET
2 A5 r$ C" W6 F! w5 KSETM:; ^8 X6 k8 A: X- R  S3 @
CALL MINUTESET/ T% M2 f# @3 n* [% J
JMP CDISP2 ]7 a+ l! v: l# y
SETH:
" j+ w, s, N7 |* i4 ] CALL HOURSET   n8 |2 Z3 W- {% R2 s
JMP CDISP # e: o0 F# V7 R" y2 Y
SETS:3 A7 y3 Z7 o  D4 T5 O5 w. Z9 i+ w
CALL SECONDSET
% y" N! w0 j5 M$ \* R JMP CDISP  `! Z8 _  M" M
SETWEEK:
% @/ M$ A& B$ y CALL WEEKSET
+ @- r  q9 z: g! T$ o1 ? JMP CDISP
7 z2 @1 p1 m  ?SETTIMER01: + @/ L  |" \1 |6 T( i
MOV TIMERTEMPM,TIMER0M+ k# f$ F7 ]0 \
CALL SETTRM0 Y( r, N7 m$ F4 W! l
MOV TM0DISP1,TMDISP1
8 E1 N) d" J: m" m+ l7 E2 a MOV TM0DISP0,TMDISP0 # ^7 J8 o1 z7 U. A8 ]- [
MOV TIMER0M,TIMERTEMPM9 N* N7 n* s* F3 J' o) l
JMP CDISP
, W: v" g3 I% N8 O$ YSETTIMER02:
: Y5 P$ J9 e# w4 h; G1 S! | MOV TIMERTEMPH,TIMER0H
& j$ @, r4 x# z5 q CALL SETTRH
6 v2 S& f6 Y" X; ?) }2 O MOV TH0DISP1,THDISP18 v# g3 V' p( J; z  S+ _$ a
MOV TH0DISP0,THDISP0 . k( y, O) |9 J. q# c6 R% [
MOV TIMER0H,TIMERTEMPH; @- T4 u9 F8 p& A' q/ g3 \! R% V/ n
JMP CDISP
9 Q4 g+ c- c+ n: r" a( z  u- h9 o" ]# H2 H5 L4 d6 e: `& Z
SETTIMER11:
* m/ T) b& s, o MOV TIMERTEMPM,TIMER1M
/ r2 }. J6 h1 R3 z CALL SETTRM
2 c4 M0 ]/ |' L9 \4 R MOV TM1DISP1,TMDISP1, f9 T, f" R; L( ]4 D9 ^
MOV TM1DISP0,TMDISP0
3 [1 E1 J3 j, t0 z% t MOV TIMER1M,TIMERTEMPM( A1 P8 e7 b( R8 e, t
JMP CDISP) Y; I: e5 ^, R) j  P  @+ X3 D
SETTIMER12:
* v. S5 T3 [% ]8 v( E8 @" G MOV TIMERTEMPH,TIMER1H  W- P% A1 Q! E8 S# O
CALL SETTRH
# ~6 Q" c5 O& O* o3 M) I- k MOV TH1DISP1,THDISP11 E. h# C3 g8 [" P8 ^" q2 }
MOV TH1DISP0,THDISP0 * g$ ?9 d2 d" W# q
MOV TIMER1H,TIMERTEMPH" R0 M. W  s" U0 y
JMP CDISP
0 W0 ]5 ^# o! |/ E) b
2 ]( `* q+ g& J/ J1 A2 i+ K7 }SETTIMER21:
6 ^1 g4 g4 G: Y6 t! d MOV TIMERTEMPM,TIMER2M6 j' y" y9 G. ^4 [* ^4 a4 w
CALL SETTRM  _( e# X4 o* J3 p
MOV TM2DISP1,TMDISP1
+ v" H$ t% u! }, @1 k MOV TM2DISP0,TMDISP0
; F0 z2 f. }- p2 H MOV

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
TIMER2M,TIMERTEMPM( B8 @; v+ i0 r  \, K0 H1 _
JMP CDISP
. Q2 Q+ ?4 K5 ]+ x9 E; _SETTIMER22:4 H& i3 y. n. S0 N. {9 M$ F
MOV TIMERTEMPH,TIMER2H
) E9 b! ]) O% V. F" D) H" {4 s CALL SETTRH
0 g. t: N/ R5 z8 Z MOV TH2DISP1,THDISP1) |! i  c  q, a
MOV TH2DISP0,THDISP0 8 p: I/ d. H& J0 _
MOV TIMER2H,TIMERTEMPH
4 s$ \$ |1 ^1 \, L6 ?( [3 }& l JMP CDISP
: Q+ z: }; {. ]* {SETDATE:2 i5 r) O! D' I# n% R" O
CALL DATESET. e; R% g; v* z$ {. N* E
JMP CDISP& W& J8 F' ?2 g1 W9 v* `( }- }# L
SETMONTH:/ r5 k- q' x5 `0 @8 g+ P
CALL MONTHSET" ~$ Z0 h: W% F! m
JMP CDISP
, \" l# l" t5 g& h3 }) q6 l2 FSETYEAR:0 G- v, j; g' K; H6 O7 H! f* W
CALL YEARSET
2 s8 t! ]% g  S( u  c1 v JMP CDISP4 h3 J1 R- b! W" j" ^+ a) f0 H8 N
SETTRH: 0 @$ Z* A& l( h) A" [- H) n
MOV A,TIMERTEMPH
+ j9 @+ j4 Z& k& R9 \ INC A
; T% c$ A) ~* v& Z5 W: y9 o MOV TIMERTEMPH,A ' T  u5 S; G+ S
MOV B,#100  {4 p" H' o" z8 \
DIV AB0 R' [2 P7 S3 w6 p- g1 L
MOV A,#10;余数继续分离十位和个位
1 K6 }: W8 `( k. l" c( d. T. l1 } XCH A,B- h4 [& m2 S# w3 e& p
DIV AB  }2 F/ O, z% Q% A. X. C
SWAP A4 b8 B/ p( Z: ]
MOV THDISP1,A4 Z& I8 ~8 @: f- r& n. A7 F! g
MOV A,B
5 [3 J) C" S3 T+ p SWAP A
. v+ _. n6 E6 \( g% L4 j! z MOV THDISP0,A0 s( j6 [/ y# p3 N9 n4 L, o
MOV A,TIMERTEMPH( W/ R$ C& L% T! ?, j, i
CJNE A,#24,SETTRHEND& r$ y$ _* F' t* P
MOV A,#00H
- Q+ n+ L" X" S' f: g, K) x+ C7 y MOV THDISP0,#00H/ |, {9 J, z% y" O! p
MOV THDISP1,#00H
+ q! W1 M  p  aSETTRHEND:* c9 u6 F& W& {. l* c
MOV TIMERTEMPH,A
# h; i$ g# N; o+ P RET
: v, F, s/ z7 B5 R, |6 OSETTRM:
1 J8 s- M2 d  K0 @ MOV A,TIMERTEMPM
7 |9 x% ?/ i1 {7 c/ j$ q6 i INC A2 u, y/ N0 q( Q! \; k0 M  X1 m. j! O
MOV TIMERTEMPM,A+ r# d3 \/ i3 v
MOV B,#100) W6 V% I9 e3 l. A/ f- `- S- E7 n! }; c  _
DIV AB+ y( m7 L$ A' [) U. K4 [5 k
MOV A,#10;余数继续分离十位和个位& f" K! [0 o  U7 ^; K- a
XCH A,B9 t) R6 o* [( Y  S, e
DIV AB# S, R0 V* O5 M( I; j# x* Q
SWAP A) S& [9 A6 l; i/ B8 f  d3 N2 i
MOV TMDISP1,A
; S5 O; N! M$ f. d MOV A,B
* V! `+ d4 Q) W# v3 l5 f; c SWAP A
& U. Z0 P' S# N( S. \  [ MOV TMDISP0,A2 u: q, A& ?  Q. P8 n
MOV A,TIMERTEMPM
7 {/ r4 d7 E4 B  ~' I7 @ CJNE A,#60,SETTRMEND
3 N3 m# _  g8 q& p1 i MOV A,#00H
  M0 D5 [- [' L MOV TMDISP0,#00H1 G  H4 C' F) S' k, @8 Y& D
MOV TMDISP1,#00H* V9 z# J- ~+ A" R7 |: {) E
SETTRMEND:
$ z- D; ?5 [6 P; \ MOV TIMERTEMPM,A
! Z& R, e/ P) h RET0 l  ?% _( N& h5 n3 J7 @
SECONDSET:4 Z- g* Q6 n. M! g
MOV R4,#00H
! U5 M' p$ p2 s4 m1 N8 E MOV SDISP0,#00H/ M" j, \5 O, M& a0 A/ O
MOV SDISP1,#00H, A! V6 c" J* t% D" k
JMP TSETBACK+ o6 Q1 j" o/ J. {9 o
MINUTESET:( g; q) N. O+ p8 F
INC R3
1 J: V  K$ N6 F! |. H+ y) P MOV A,R3
8 o! C- q9 G) F4 {, ]0 h MOV B,#100
4 x' ^# R% x% S2 k: C8 T DIV AB
3 N- H% G' \" y! O  W) g MOV A,#10;余数继续分离十位和个位
+ P0 E# a" L! e5 n3 D* I' g XCH A,B' }. k5 x3 D( `7 S. |# k" x
DIV AB
3 H! p) P" x, u8 ~9 [- k- h SWAP A6 v) r" A3 T! O/ r" ^1 X
MOV MDISP1,A
$ F9 A4 a, z) f( t, D0 n2 Q MOV A,B4 r: n& g$ _" J9 j6 v
SWAP A
; p' \2 z8 m! P& w MOV MDISP0,A+ M" l$ I9 Q6 x
CJNE R3,#60,TSETBACK
* h; c+ ~) b$ k4 p  D9 X1 }6 S5 V* O$ e MOV R3,#00H
* @6 b7 S3 n9 w+ M; d MOV MDISP0,#00H
$ _3 ?! {/ N$ @/ b: p MOV MDISP1,#00H
6 V; F& y( B5 L JMP TSETBACK, {- l! P" _2 q0 n" t9 O: e! V6 b
HOURSET:. F& h# R  c2 I# j/ F1 V
INC R2
. }/ y& N7 l4 t- O/ ^' N4 I. x MOV A,R2
; x* V) g5 _% e MOV B,#100$ {* @6 T0 ^7 d1 T/ E- Z$ n
DIV AB" `# E) e9 O, v8 u
MOV A,#10;余数继续分离十位和个位
9 \9 l' ]7 @' @% m. F! ? XCH A,B, c! ^  f3 K, ]
DIV AB
! j- d( t  }7 H" C  ]- c: Z/ X SWAP A* H9 ]! j3 _  G4 J/ o: a
MOV HDISP1,A5 n" H+ p7 y5 R" f: b/ b
MOV A,B
; P2 l4 E& c& C* f1 {) Z, O SWAP A, [$ F+ y% K6 ~6 N& s: \/ o! v% B
MOV HDISP0,A- ]. ^3 O1 G0 e
CJNE R2,#24,TSETBACK
) |$ _8 t2 s: e% b" Z; p MOV R2,#00H
1 j4 M$ r* S/ B0 J MOV HDISP0,#00H: }) E9 q7 X5 I: _& G4 V5 y' }, @
MOV HDISP1,#00H
" c0 h( W8 b( _5 u1 R JMP TSETBACK 5 F3 w; `( X! T# z  h
WEEKSET:8 i  F9 A$ ~# X8 f) k
MOV A,WEEKDISP0# w2 }# d. k* u2 h7 s, s$ P# L6 l
ANL A,#0F0H
# t  e1 U( _% L( N4 p6 T4 y) g SWAP A
8 L+ I$ K+ d& z6 Z: |1 _- w! _ CJNE A,#08H,WEEKSET1) f# d" I9 R" P$ }
MOV A,#00H   e4 T+ h2 m% T
WEEKSET1:4 n( Q- y# [: H
INC A
% j% h1 x7 [/ @9 W& z+ N CJNE A,#07H,WEEKSET2
3 t8 T" j. f! p& ] MOV A,#08H
7 B' ~' M) |, ~: R1 x7 |2 mWEEKSET2:+ J1 p/ ~, a( D! J! \
SWAP A  \3 b! d7 E  F5 V
ORL A,#0FH
7 f7 ~# o) |  m2 t# R3 W MOV WEEKDISP0,A
* m9 b5 ]  x2 P: y6 d1 bTSETBACK:+ l! h7 L9 \/ p* B' L% j
RET

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
DATESET:' m3 x/ q1 q) u
SETB RS0;设定子程序 # _8 v, T' ~6 f2 n) G5 D. u1 [, U
INC R7
/ c+ ^: c0 X. s( h6 V6 O MOV A,R7+ Z9 ]3 ], s; ], Y
MOV B,#10
1 T) f  s3 F! t- c: E4 ?5 P4 h DIV AB
7 `/ ?; @3 _) f& L3 x SWAP A
" p2 v# S9 P2 ]- V* H MOV DADISP1,A: J9 x8 o0 c' V
MOV A,B
0 V( u" e2 A" q SWAP A! ]  L) M  M" n4 ~) M$ p+ j5 I
MOV DADISP0,A ( H1 y( K7 P4 E- D1 F% u
MOV A,R5;润年判断
0 m9 U; e9 N8 _ JZ ISRUN17 l+ |! C- x) e2 W4 |: [9 j  [6 X" m, J
MOV B,#40 P4 |/ Z- K! h( ]% }
DIV AB
; |/ ^: b% j* K9 b8 t& m6 ?% v MOV A,B
3 R! N4 P2 M1 s) q% v JNZ NOTRUN1+ T: b$ \' X8 l
ISRUN1:4 F6 m( X; h4 N9 n. @
CJNE R6,#2,MONTH11;是润年,当前月是否为二月
$ c5 i& `% ~( _" N! s( R" H* x CJNE R7,#30,DATESETBACK;是润年的二月,到29天?
) `( n9 k: I' G6 \5 {/ J MOV R7,#1;日第一天- Y& K' x6 b7 @# r6 S2 e
MOV DADISP0,#1FH4 z7 U) U: }1 p
MOV DADISP1,#0FH6 @) Q3 {% F' e: D6 ^2 R- l
JMP DATESETBACK: T" J6 B: v$ Y
NOTRUN1:7 o) U) [4 H& p; b5 _( Z
CJNE R6,#2,MONTH11;不是润年,是否当前月为二月5 o7 |2 L' c- l, K2 N3 Q1 v7 M0 Q
CJNE R7,#29,DATESETBACK;不是润年的二月,到28天?: C) j  U. z. P: _% H" P0 e
MOV R7,#11 h) a: w3 T* g
MOV DADISP0,#1FH* M& u# t- }' V9 G! g, H$ J
MOV DADISP1,#0FH
4 F+ {$ [: z5 B& r2 B" ^/ e JMP DATESETBACK0 |( |, Q. [  M
MONTH11:% s# w+ M* N* H) q: r4 Z
JB 20H.0,BIGMONTH1;大月吗?" [. `" B' C  Y- Y6 q
CJNE R7,#31,DATESETBACK;小月是否到了月底
" m* k+ Z, l! d4 C MOV R7,#1;日重新开始. o+ ~* O( f/ D) ^4 V9 u
MOV DADISP0,#1FH
4 G% q9 b7 k% Q# @/ O9 Y0 ^ MOV DADISP1,#0FH
! K2 i, }4 q- j5 h/ Q7 V" B/ C JMP DATESETBACK;跳到月加一0 i/ N: L$ V, w& r! v
BIGMONTH1:, G0 K9 t$ V0 D4 B# m% c
CJNE R7,#32,DATESETBACK;大月是否到了月底2 f; }9 a0 H) u7 r
MOV R7,#1;日重新开始
$ R7 P; a# _' s MOV DADISP0,#1FH' f- H, o- L6 `1 y+ Y1 `( ]
MOV DADISP1,#0FH, `& K# M# K( U; i& |! {/ {8 x
DATESETBACK:
$ d. y: _; p# [+ T, o% B% }. M CLR RS0& {" K8 O: f; u; F: b0 j
RET6 C& Z" X- M2 p

( u" `4 R9 I9 T# u2 F) CMONTHSET:1 R& I( F% [( u9 @) L
SETB RS0( v  G* o/ Y! \' r
INC R6;月加一
+ }4 c& D7 M9 u/ ?) _" A; t MOV A,R6) y+ z5 Q7 V4 f/ ?/ `/ h5 u
MOV B,#10;余数继续分离十位和个位
7 z* a) l6 f' H9 o: y% r DIV AB9 l( I* ^. R5 G5 S8 A
SWAP A ! W$ J# ]7 o# j. W
MOV MODISP1,A
: C6 ~) ^3 A3 u MOV A,B
( U* U8 O/ F% t- z: @ SWAP A
  w; S: l  V3 t; C MOV MODISP0,A
# v+ Y# C# ^5 e CJNE R6,#13,BIGSMALL1;判断是否到了年底0 ]; w# b. g3 V) ^& ^, E
MOV R6,#1;月重新开始% M7 O/ H) F3 `- W
MOV MODISP0,#1FH
: C) p) s6 r/ C6 X, U4 G MOV MODISP1,#04 D8 `# i; P; t$ |) C
SETB 20H.0;一月大9 A2 \! x0 O& {( W7 m
JMP MONTHSETBACK
) k) w' K% f0 s* p. E% a3 d6 hBIGSMALL1:( W# U' C% }. [: \9 {
CJNE R6,#8,OTHERCON1;是八月,则仍为大月5 Y% h! Z1 W  A6 B
SETB 20H.0
) m$ w6 k* \, @+ p& i9 X# @: n JMP MONTHSETBACK! Q) N8 R( k, U2 }% a+ W
OTHERCON1:- |/ G0 Q4 Z% q6 M) m" V
CPL 20H.0;不是八月,大小月与上一个取反# V$ i2 T5 C9 b3 g/ I
MONTHSETBACK:
- g: H. b% o, Q+ q CLR RS0/ m7 {  w$ Y3 k. H
RET2 m. g/ Y$ H+ M% s) r8 |) |5 ~' f

3 i7 Z' a$ ?$ X  TYEARSET:# g$ X7 W" w, @3 M
SETB RS0
5 |5 ~. }5 D" [. o CALL YEARUP
0 u  O( U2 @4 v2 s. k9 e: w CLR RS0
* ]! _2 Q4 x; P8 S) c RET/ C7 _! b; L. t4 f# \$ j" v
; j$ G' k  t' A+ t& V
;定时按钮3 n3 Z8 e2 Z5 x3 U
TIMER:
, o/ c/ j& G0 o" i8 T6 J$ T% I JNB 23H.0,TIMER01! p9 |8 R- x4 j- d$ b
CLR 23H.0
1 y9 l- t4 T5 T6 A: y SETB BEEPOUT
$ \# X+ |# E( B; O8 M. Y, m RET
- O' ]3 R. V, K1 v1 B  h, V0 `TIMER01:! ]$ K' \, _& u4 q
JNB 23H.2,TIMER02
: t* I' ?# B' g7 r, v CLR 23H.2
$ a) |, @% |  y6 Z! M SETB BEEPOUT
, ~$ H, t2 T7 U9 G5 ^# P6 `; |8 G RET
2 \* W3 z* Y4 Z0 ?  ?/ ^* JTIMER02:
0 V) l# S. R0 e. o JNB 23H.4,TIMER036 p8 x9 A1 z; G4 m( [1 B
CLR 23H.41 v1 ], h- t! T2 e
SETB BEEPOUT
1 F& f. O  q! v$ Q" Z RET; z2 F* H# E0 D% ]$ Y2 d
TIMER03:' S1 r( z4 X: ?7 M7 e
JNB 23H.6,TIMER1
4 Q3 B9 W1 `& M4 n( A5 V$ F0 Q& m CLR 23H.6
& |' \/ a5 q+ [! J! ~ SETB BEEPOUT
& G3 J% U! Y5 K0 Z2 l1 a RET
2 d# k& A& U: z; V- c$ U+ G+ d- Q+ }/ D
TIMER1:
" Q1 m3 A* V- W0 G' M! e! c3 X JNB 21H.0,TIMER2+ _- l# q5 I! V+ I) ~
JNB 21H.5,TIMER10
) v5 R/ q* i$ Z( k+ B CLR 21H.5! ]$ {" S" a9 m" u( F5 W6 M- \
SETB 21H.6/ ~* U7 m/ M# m6 |$ p" i  s4 M$ {
CLR 21H.7
2 N" F( Z$ k: h8 Y/ O) ~ CLR 20H.6
( Y! |& c7 q4 Y* d4 t' l, p RET( u. y; R1 ^! n
TIMER10:; ?  a0 [/ T9 `: z1 H
JNB 21H.6,TIMER11
, P. Y' g7 G7 h, p2 s/ y CLR 21H.5$ S; _0 |/ o, J( K2 f# |
CLR 21H.6
# k( }* y4 H% Z5 ?. ^( N CLR 21H.7
7 \! c6 i% R# F SETB 20H.6
3 B" m1 A  P; H* |. j! H RET3 z  I& B5 j/ u8 }7 D: ]
TIMER11:
+ c" J+ ]/ Q' K, a# C9 k JNB 20H.6,TIMER12; `3 b- [5 h; r8 l) R6 M( E
CLR 21H.5
6 f4 g- y, d- P. l# M( T CLR 21H.6
3 c1 P; P- Q( m* L9 ?) W, o SETB 21H.75 g2 U: X) w8 E4 i. g" G
CLR 20H.6: u& Y* t( `8 b3 @' A, P
RET
4 d- z) ?( o7 a+ C/ u# MTIMER12:+ _+ s" V; J) Z7 Y! @
JNB 21H.7,TIMER13
! n- @* f$ r; v$ B# d SETB 21H.5
1 I) K! l% h% }  ^) F( ]# A CLR 21H.6
1 H! I9 E- u% F; W& K CLR 21H.7
# E- l) J) g& c+ n* g: t0 O6 [ CLR 20H.6+ x* l* }6 M( D8 ~& P6 `' F$ ]
RET' H6 q$ O0 N% f+ ^" M
TIMER13:/ S: \% T( s! u4 \, L$ s$ Q# P+ |
CLR 20H.4
& e) y3 m1 }0 h+ Y! B1 A/ @ CLR 21H.0
7 ]& r* s+ N4 \$ T/ Z! y SETB 21H.1. E( e4 H* ~1 X1 C0 e* ~: y
CLR 21H.28 F' `, X; g- F$ V
CLR 21H.39 s5 @. T3 E* B+ P" P7 \
CLR 21H.4; A" E( R+ u  V% Y
RET
4 A2 W8 e1 [/ mTIMER2:
2 |% N! J+ t4 m JNB 21H.1,TIMER3% D2 W% U( u& [: t( |# D8 `3 G4 A7 E
JNB 22H.0,TIMER20( a& m# _% n: \5 d  W& G
CLR 22H.0
: P4 N# \" z6 B8 J% w& H, D SETB 22H.1
1 i1 A; P6 G: K8 @6 h2 R RET: r% f8 U; c; {8 B
TIMER20:
8 t9 i- T! T9 K JNB 22H.1,TIMER21$ v$ T& z6 o' D5 S- `: y. N
SETB 22H.0
- u$ b3 x' X' @" C% i CLR 22H.1
, a) z" B. l& Y7 I0 d$ a RET
9 R/ V; T4 L" f- h- F2 zTIMER21:, O$ H, G) |9 q3 ~
CLR 20H.4
! o; z; ]6 U5 ~0 r- c8 d. A CLR 21H.06 q7 x. z% i; L
CLR 21H.1) Q2 q# k( t: {# U# o! Z. A
SETB 21H.2
9 @" O. l( |+ }( O9 _ CLR 21H.3; ?' ]  _, I0 H5 L
CLR 21H.44 Y( _3 N$ g7 K, ?- n1 l4 L
RET2 T' A+ e0 L% s& u' h
TIMER3:
/ N: R2 l# e( h JNB 21H.2,TIMER4
+ V$ E4 ^9 C# Y JNB 22H.2,TIMER30
7 z" d5 z, `1 {" |3 O+ z6 A CLR 22H.28 y8 W- S# r% I3 q- I
SETB 22H.3
% t$ [2 \! M4 N3 y! I RET
, S3 J5 \" K; \5 ITIMER30:
' Z- u9 x; o4 Q6 Y3 \ JNB 22H.3,TIMER31
- s; p6 V3 E) z3 q SETB 22H.2- f3 q3 j* o4 Y* F# \1 |
CLR 22H.3
  X$ f# W# g! [; i9 w3 p# a! M RET: r9 }" \+ X9 i* t' |& E/ m& P- Y
TIMER31:) q0 t9 U  D( X) p1 G
CLR 20H.4( B# |) V( r# E  l9 Q; I3 d
CLR 21H.0
) }- p$ O# B, R/ x: ~+ d8 O3 Z CLR 21H.1) ~3 A5 V% p  J/ I
CLR 21H.2
$ j" Q* _9 o1 n  Y1 P4 Z6 t SETB 21H.3" o/ ~  G3 Y; @2 k
CLR 21H.4
8 ~- a+ v+ }0 ]2 J% Q3 h RET: O* o9 Q/ A' t# c
TIMER4:
0 ?% s% p$ x/ H& ]! c JNB 21H.3,TIMER5  a+ d1 G# |/ q  ?. y5 C
JNB 22H.4,TIMER40- e- T/ f3 W; U& n& D
CLR 22H.43 F5 b, P; f. G
SETB 22H.5
, ~  ^% p( U. ~/ w" e+ N RET
8 T, v2 k$ _1 k( A3 NTIMER40:! u  y- i3 e! j
JNB 22H.5,TIMER41
1 b) P) J) x* F' g# D SETB 22H.4
/ w+ r* ^/ h. U; T5 i CLR 22H.5
" G- [) e$ M4 r  O, \) G RET
0 ?7 o# Y/ R( O+ ^; _6 nTIMER41:
, J) G; q/ D/ j* A8 S! ~1 B) } CLR 20H.4$ Q) a. y0 P! u6 m* I
CLR 21H.0
5 G$ L2 z' C$ F+ N CLR 21H.1+ }* c: {1 R/ A& ]& @
CLR 21H.2
5 i$ z' h7 D4 c9 i' z$ o CLR 21H.3
! f, a+ a- ^8 K/ }* C SETB 21H.4$ t" z* h7 m$ s
RET
9 a" j3 {; t. U) ~5 a$ `5 gTIMER5:
/ V9 K! S1 J  s, L JNB 21H.4,TIMER6
) G. a7 p; z# C JNB 22H.6,TIMER50
; b$ y3 k: C% f3 E5 _# Y CLR 22H.6+ K$ h- C, w' ?
SETB 22H.7
& w6 \; ?# T# ~" T RET% F* Q: y, O: \( K" n( V' ?7 \
TIMER50:
2 N; G+ j3 s9 {: N/ S( H& _ JNB 22H.7,TIMER51
+ R( z$ I: b% q2 T7 o SETB 22H.6" `& O1 F! B  {; y6 ]  H/ ~3 E2 E
CLR 22H.77 D8 P7 U" y1 R' l! y, ~( P; _
RET- d) a) r- o3 X9 F
TIMER51:( N. T1 D; _. q
SETB 20H.4+ b0 r5 Q$ @+ x( P/ N- A
CLR 21H.0
3 M( H  z; c5 p0 z6 l CLR 21H.11 c; v; l2 X& C7 F! L
CLR 21H.20 i3 d5 k4 B% b% z& A* L1 y7 N3 |
CLR 21H.3- Q. B" y9 q; O; v
CLR 21H.4
) o; |# h( c( \1 n- B, v+ w* Y. k7 A RET
% Z2 i# S4 ]: n2 ]! Z/ rTIMER6:& u" c: V5 c6 ]' \2 C
JNB 20H.1,TIMER612 J4 R8 ~" s4 a8 Q5 U
CLR 20H.1  I/ t  T: |# j, I
SETB 20H.21 M0 _, D4 |$ F( \  Z; f  U
CLR 20H.3* ^: E6 R& Z: c- f, D
RET2 g- N* R: x8 @2 ~" ?4 R
TIMER61:
8 z' \# h2 ]" l( o0 z! m JNB 20H.2,TIMER62
& y7 w! `( @/ t- d CLR 20H.1" m+ F, k6 ~5 F4 v
CLR 20H.23 E/ z$ z6 t% o* L( P3 |
SETB 20H.3, g$ i8 U: ?3 ^
RET" B  x$ u# Z4 i) `5 ?( n
TIMER62:. _% I$ s- T, j& u! u
JNB 20H.3,TIMER632 M2 u1 i! T, Q# D
SETB 20H.1- e+ n7 f7 o- C  N5 F3 C
CLR 20H.25 K0 j% f8 s" C4 K0 g9 T- @* C5 q# R
CLR 20H.3
+ y! a: n% W( S! B2 P, p5 `6 Y) [ RET
0 q+ {0 S% [% B5 DTIMER63:
9 g! K7 s$ g8 w5 p CLR 20H.4
/ [( ^1 t; v# X! _+ W/ C! g SETB 21H.09 x! R1 s" x6 M+ I% R6 u) b$ D& j6 u
CLR 21H.1
; \) e  ]; c: M4 x& P7 C+ r+ ~3 k1 b CLR 21H.2  u; M0 Y) f, k1 _
CLR 21H.3
4 N9 L3 w& l, Z5 }4 q5 v7 s0 K CLR 21H.4
6 w. J& g( ^% L RET
/ d) y( z* e2 K0 \7 g# Z' U# `, h: l' ]7 y6 u0 x; F
TOUT:
6 F% q6 Y" X. p+ F2 z PUSH ACC; ]7 G1 I% i2 |' Q
PUSH PSW0 G$ ?5 y4 i! y0 e
CLR ET0) t6 H  r  \8 j
CLR TR0* d2 i( [( H" B1 e+ k
MOV A,#0B7H ;中断响应时间同步修正# ], O0 G, d0 {6 c8 O4 j" T
ADD A,TL0 ;低8位初值修正
1 n5 [. h: \' B- j  d% p2 a2 `1 H- ]/ ? MOV TL0,A ;重装初值(低8位修正值)( _8 _% f) |- U0 O
MOV A,#3CH ;高8位初值修正
' \+ d; Y" N5 m# D7 P* Y ADDC A,TH0 ;
, P5 z8 \3 j- S) g* ~% \ MOV TH0,A ;重装初值(高8位修正值)' a! _0 [, B) v6 G' D) M- O* v
SETB TR0 ( k7 H" b$ T& V- }" ]9 ]; j
SETB ET0 + E* U7 x5 ^, c( X
DJNZ R6,TRETURN- {" I; l! i3 l! z, H4 [& Z! E0 @
MOV R6,#20
( z& D6 h8 f. ]; v2 L CALL TUP
" X7 J* d8 a, i9 j# a2 `7 oTRETURNOP PSW
& S, Q& ?+ N5 r POP ACC5 w9 O# f9 g7 r1 [7 v0 q
RETI. _+ X2 ^2 F3 g! o) d3 v* j
FLASHTOUT:
. h8 t" X% R; t PUSH ACC
$ B4 ]" B; B& m PUSH PSW! g, Y/ J  K5 N2 ?; A3 d
MOV TH1,#3CH. ^# n- V( i3 e; ^2 J
MOV TL1,#0B0H4 d% L1 }+ h4 N0 _5 s
SETB TR15 V, @" ^: F$ H
DJNZ R5,FTRETURN# M3 g, f9 ~) Q% T# g% `: C) E% P' e
MOV R5,#5; w3 P% v5 M0 R% _
CPL 20H.7" R8 f- l& x& d/ B
FTRETURNOP PSW4 s( [; C" ~5 d, G4 ~
POP ACC
; O) W4 K8 ?. a, K) |2 h RETI. f0 |) q! Y9 @8 j/ G. Y( r) M
TUP:) Q" t, N+ |+ ~9 x, [! B  {
INC R4;一秒到后,时间加累加# L1 s! ^5 i& Q4 C( b
MOV A,R4$ I0 L4 G) b0 C) @  Q
MOV B,#100
+ t0 Y- f& F% P# C) f# S DIV AB
5 e# L4 s" _" c MOV A,#10;余数继续分离十位和个位7 d( A6 O" C( k; h1 |' I9 t
XCH A,B
) L# P. v0 t$ R) W0 R DIV AB+ k  i6 L  Z1 r% Z# [; m
SWAP A6 }2 B& ^4 |; k+ U& ]$ l& f
MOV SDISP1,A
2 r8 j4 q# S/ A- S+ W MOV A,B
: |4 i' e1 D/ {( x$ @2 t& w SWAP A& c) }+ l) H1 R8 }
MOV SDISP0,A
! D, t* R8 Z; } CJNE R4,#60,BACK
5 r& Q8 `- x& n; F9 e3 H  l5 g% ` MOV R4,#00$ x% x, M! Q' l. i% s5 B
MOV SDISP0,#00H
3 X- @! i  w4 U) m5 g: Q MOV SDISP1,#00H) D4 ?9 ^  c, l2 e
INC R3;分加一
* y+ i) B' u! j1 l; X# W JNB 23H.1,NOTIMER01
! X) y/ l9 z) x CALL COMPARE
& U, l/ o% \, [1 T0 lNOTIMER01:
7 _. q, y% B( j JNB 23H.3,NOTIMER02+ \7 J" K6 R. T7 g5 l
CALL COMPARE1+ j& {% v$ N* ]
NOTIMER02:
$ X& Q3 a3 I5 W- `" {% L( V JNB 23H.5,NOTIMER03# O& I1 B6 e9 D+ \8 v- J: w0 {
CALL COMPARE2
6 \7 i' ~. K. e7 zNOTIMER03:7 q4 Q! g- g$ e8 e
JNB 23H.7,NOTIMER0  S7 a( h# L& v  c
CALL COMPARE3' _6 A7 d; I( D. Z5 v
NOTIMER0:MOV A,R3
. P9 D" Y7 \' G( L$ I- R MOV B,#100
8 K: t; i- @4 w; s. i8 D DIV AB
3 K. ]7 D4 K5 h5 E8 N/ ~/ n5 p MOV A,#10;余数继续分离十位和个位7 b* ]* k) K: z/ S4 E* P4 U
XCH A,B
3 g/ ]4 ~9 k$ L: \ DIV AB
8 W. ?" x' [7 j% p6 q  | SWAP A
3 p4 B0 B( E4 D2 A$ f, J MOV MDISP1,A
0 ~* p  O3 m+ Q3 m MOV A,B* W" M8 @8 e# Y$ {) ~
SWAP A
& W3 Q# Z2 H' a! \9 ?! D' u& ^ MOV MDISP0,A  h( Z5 E( B  V; E1 L8 a$ U
CJNE R3,#60,BACK
5 g4 G2 r  b6 H0 f: p MOV R3,#00H
5 y- c3 F* A( \. W+ `$ q# d3 A  V* { MOV MDISP0,#00H8 u/ f# D  r. h. o/ r
MOV MDISP1,#00H
3 n" V2 D9 G% e INC R2 ;时加一( T3 [/ U, {* N. q& }8 f! F, E5 n
JNB 23H.1,NOTIMER11: s6 Q0 c# F7 R9 b( D
CALL COMPARE
% d  }# D0 b0 ]% C' }: eNOTIMER11:
4 }7 _- [: b& T7 x JNB 23H.3,NOTIMER12
# j* S3 ^' q+ w* @' u CALL COMPARE1
. O4 C1 I! g& o# GNOTIMER12:
2 w$ F; {) k. p" M1 W# } JNB 23H.5,NOTIMER13$ [6 n9 s* ~) _* R; f
CALL COMPARE2& e& F1 \) O! x2 R
NOTIMER13:* ~6 Q: m7 X, q- e
JNB 23H.7,NOTIMER17 p7 h( r6 O8 @' n+ w$ {
CALL COMPARE3
* o: T& Z" E$ _2 S2 V$ qNOTIMER1:MOV A,R2
% Q+ ]" r; B; K5 u! i  T MOV B,#100+ j6 }, J* t0 t" q
DIV AB
" t! @9 r6 E7 a1 A0 e MOV A,#10;余数继续分离十位和个位
& m6 N) w1 d1 V4 l7 t9 M XCH A,B
8 q+ m& X+ n3 K2 ^. J8 a DIV AB. q5 R  V+ B+ O2 o
SWAP A
/ u. o. I. j! q3 g/ ?8 ~& v MOV HDISP1,A
) z" U5 d, a% ^ MOV A,B# k8 V8 s1 r0 Z+ I
SWAP A& B$ E* P/ _& a& N' B7 y
MOV HDISP0,A
! l3 Z: O, Q) P' P CJNE R2,#24,BACK
1 |3 H6 U" n8 z MOV R2,#00
7 o& F, B& G, B7 O, V8 G/ A MOV HDISP0,#00H
$ Q8 B# q' l9 e MOV HDISP1,#00H
' V! S# K  g: o6 R1 l7 h CALL WEEKSET;星期加一
) F& \2 _  J8 j CALL DATEUP
+ R' w& B, A! R  b6 H/ yBACK: RET

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
DATEUP: SETB RS0;用到寄存器组1! }' a" y7 i- |$ q1 s8 g8 b
INC R7;日加1! r6 p% l! {& }* ^; @: M9 D$ m
MOV A,R7
" k1 p" S9 S* B/ W, p) N0 T4 U MOV B,#100, r; P, l. Y# t, _0 b
DIV AB4 B6 X# I8 o& G
MOV A,#10;余数继续分离十位和个位
1 V$ `& G7 \* n0 h; E XCH A,B
( v) T) Z' h8 x  e$ e DIV AB; p! M+ o$ P$ g. Q
SWAP A& c% S: Y8 z, r3 y6 D- O
MOV DADISP1,A$ e  y+ I8 T+ I7 _4 B, v
MOV A,B
: Z5 y/ y( o, c3 e3 h. _ SWAP A
! s3 A) l- Y, v; P6 l MOV DADISP0,A
6 D+ Q. l" l2 x, |% _9 L. v MOV A,R5;润年判断. I. q. U0 r' N5 X3 n+ d; S
JZ ISRUN
8 E- M+ g# B; F0 C* ~. n2 L) } MOV B,#44 \0 O! |4 c6 F* |
DIV AB9 r, D/ \8 k& ^$ l; l0 X
MOV A,B
! G$ E  [4 R' g* F# d( S& } JNZ NOTRUN# w3 n) ?" O6 I6 u1 m) m3 ~5 A4 j
ISRUN:6 ^9 {, }2 A0 a- |6 _
CJNE R6,#2,MONTH1;是润年,当前月是否为二月
- D( r+ y' J6 u2 W) J CJNE R7,#30,TODUBACK0;是润年的二月,到29天?, O$ a$ I! S& w% `
MOV R7,#1;日第一天
* A1 k, @4 m/ {2 h MOV DADISP0,#2FH
9 E. \  T4 Y! w, e MOV DADISP1,#0FH/ C0 g- j/ ^! Z1 z
JMP MONTHUP;月份加一
) t' s+ b& F* HTODUBACK0:JMP TODUBACK" q: Y2 J, w, a
NOTRUN:
% n! F. x( w. m CJNE R6,#2,MONTH1;不是润年是否当前月为二月
: i, B/ d2 ~- t( `4 @ CJNE R7,#29,TODUBACK0;不是润年的二月,到28天?$ E' r' r$ R( }" C' E# V
MOV R7,#1% [+ A4 t0 s+ W' O- |9 H9 L' Q; p3 G9 B
MOV DADISP0,#1FH
' `* u4 n& Y; ^/ f3 u MOV DADISP1,#0FH
$ z' h- P) U3 |4 @" ]5 F JMP MONTHUP
# y5 `; N& k; ~& @4 }2 @MONTH1:
+ d5 h2 g/ z" ?1 ?5 a5 M- P JB 20H.0,BIGMONTH;大月吗?; H0 h& E" r5 a) n2 [
CJNE R7,#31,TODUBACK0;小月是否到了月底4 J# q9 r% W9 A  U: N* M" K; g
MOV R7,#1;日重新开始  z: Q: B8 P/ R/ b, j; V
MOV DADISP0,#1FH* G2 [  M! q9 X; s: O- R
MOV DADISP1,#0FH/ z2 j' H. U: I0 k: r. x; g
JMP MONTHUP;跳到月加一' r" R2 N% {8 I4 l- d2 K9 a
BIGMONTH:# i0 X5 O# C% ]5 B1 m
CJNE R7,#32,TODUBACK;大月是否到了月底
+ j8 K. n7 v# B0 S MOV 7,#1;日重新开始
) N( G  I1 J' L' l' X3 U, | MOV DADISP0,#1FH3 Q9 V! L; c+ G2 @3 V
MOV DADISP1,#0FH
+ |* G0 J! ^2 S. P( qMONTHUP:INC R6;月加一
# M' S) \6 Y# O1 s MOV A,R68 f6 s% |% {4 o: _. c  Z
MOV B,#100
( A. m- C; k, O) e3 `, i/ M# E DIV AB
" I# ^% K' u6 G) \) C* b0 v/ M8 n MOV A,#10;余数继续分离十位和个位0 T, j3 c  g( p' |" T- @' I
XCH A,B
- B5 b' r& D5 C* L! H DIV AB9 c$ |& F  M/ p7 o1 ^- O3 c; e! Q
SWAP A7 u' |. Y: U  S4 {; d& _4 g9 C; q$ M  G
MOV MODISP1,A
0 b/ J1 N" h+ ^5 g( v! u& G8 ~ MOV A,B- |7 Q) v4 }3 {1 I, {8 U
SWAP A
! q3 l8 P" e7 X5 f1 }. E5 k  P# J) A MOV MODISP0,A
; U6 W& a' J" w* l4 W6 K CJNE R6,#13,BIGSMALL;判断是否到了年底
) t* @0 n9 N1 ?6 V( a6 s- r9 a5 ~ MOV R6,#1;月重新开始' x3 S  J) W9 E+ L
MOV MODISP0,#1FH
. [: f. W! Z; A; w: d; t" A4 g8 b5 Q MOV MODISP1,#0FH9 c% E1 c) B0 Z  a
SETB 20H.0;一月大
- Y2 D! S4 b7 U! x8 [6 Z" u; e3 B JMP YEARUP
5 o' p1 }: J; J5 aBIGSMALL:
. z  S( ^- L0 k+ }2 x/ O CJNE R6,#8,OTHERCON;是八月,则仍为大月
$ s5 q  k) G; [2 z4 W SETB 20H.08 y# C' z1 K8 j- f- d
JMP TODUBACK  ?9 i+ q) P( b- t- }) ]
OTHERCON:CPL 20H.0;不是八月,大小月与上一个月取反( ]$ E3 u# }, {
JMP TODUBACK
! t; q& }9 ]+ {+ QYEARUP: INC R5) r) h( z5 `2 k; Q2 D' F: z
MOV A,R5; ?" m. |$ l* V1 Z+ s
MOV B,#100
7 k2 }" z. i; _9 K. O  { DIV AB
4 I5 T7 L5 r" d! v( e2 b MOV A,#10;余数继续分离十位和个位2 u, A/ I; b9 [. Q# O9 E. j
XCH A,B
) E  r& O9 G: V' o! L0 s! b4 s. o. t' X DIV AB" f- R# K4 s4 u, s+ t5 l
SWAP A. t' p4 b7 E. Y9 L$ u# L
MOV YEDISP1,A8 l$ N9 H4 `* M9 `' U3 ?
MOV A,B9 m% D2 ^; G9 W  q
SWAP A
, I" n# r. O! y MOV YEDISP0,A
" ^) [9 V: _4 Q, Y, ~, u CJNE R5,#100,TODUBACK7 M1 z) k( ?- U4 E0 S* w
MOV R5,#00;新世纪' V. X  `& B$ S% |0 x, L
MOV YEDISP0,#0) ^4 j: G( A, G2 g; m) I
MOV YEDISP1,#0$ `, e1 L8 \" F. R% T
TODUBACK:! q. B7 U0 T5 k6 }
CLR RS0
$ g& T+ C/ p  q3 P4 R RET
0 B( x" \8 T* w;时间显示子程序2 \! p  e8 u5 M: u# Y/ Q
TIMEDISP:! D+ G' U% S- j- D9 B
JNB 20H.6,BB0
  w! t  v' f' B. [! I JB 20H.7,SNODISP) H7 G) t! T$ D7 a3 R, D
BB0:
2 L  u) ]3 H1 t# i MOV A,SDISP04 U0 c" m, f$ f- S4 g
CALL DISPSIX+ r" @$ L9 N3 m/ X, m# t
; MOV A,20H
! h$ ^' p9 X$ C/ Q MOV A,SDISP1* T% }/ z& K2 Z) Y, [! v
CALL DISPFIF
& A4 D- a. m- t6 a6 [9 B* oSNODISP:
5 g( N" b9 a' \& U% A JNB 21H.5,BB1. X2 p0 V, X0 R$ E" U$ f
JB 20H.7,MNODISP6 p6 ]" O0 v  N, h% x' v
BB1:
/ [* h( Y' q1 Y; ~. o MOV A,MDISP0+ i" p8 _. [5 P8 v) n  j& S
CALL DISPFOR
& ]- N8 _- F' i- p' @ MOV A,MDISP11 o- x4 v4 }) K3 J3 Z. d
CALL DISPTHI( E5 ^9 \! n5 e+ D  e3 X8 M
MNODISP:
$ @6 z% L( E$ [* t8 L; r JNB 21H.6,BB28 w* A3 |$ z2 e) c
JB 20H.7,HNODISP
5 U0 |5 ^# ?8 r" ZBB2:
+ l  @1 a! S) s0 K) z MOV A,HDISP0
. F9 Y/ C1 P+ z5 E5 S CALL DISPSEC
$ T, V/ s9 T/ b' y MOV A,HDISP1
. Y0 ^& S4 {9 T4 X CALL DISPFIR
" P$ S- k& O% p1 A: A, W$ a8 ]HNODISP:RET
5 k6 v7 U" `+ _WEEKDISP:4 T( i  q+ N0 W7 q, a9 Q2 z6 z
JNB 21H.7,BB3
, D# M$ z3 S$ I7 U JB 20H.7,WNODISP
' G) v& J6 g: kBB3:
* t# i  U6 o2 |- b+ G% h0 k MOV A,WEEKDISP0/ g6 o. E. R, r6 O5 n7 B- n; j
ORL A,#0FH
9 h: e& v% i$ t0 }; p0 o* X3 Q( d ANL A,#0F7H
, I3 j. I, T5 i1 ? MOV P1,A
9 ^! n8 ?. [, k/ r! _ CALL DELAY
  G7 G4 \$ x1 d) o1 r/ J; mWNODISP:
* p% u5 {% I" \  V7 F RET
5 s" A" X# O  U7 `/ E4 b1 t& C  m0 g' u2 M' @
;闹铃显示子程序
- o3 F3 t1 T' Z" j& `: hTIMER0DISP:
$ \! d  N  U; h+ Z, D; b JNB 22H.0,BB6;设定分标志位
- U6 r* b, _' @" D JB 20H.7,TMN0DISP' Y) \1 G' P  b* C
BB6:
) Y+ S* Y! P' u7 e% J' [: d, U MOV A,TM0DISP0: _8 W1 \0 }( I- ]
CALL DISPFOR
$ A( C' h$ Q7 w7 |0 P* f5 O7 p MOV A,TM0DISP1
( O. X4 U; C3 O) K: M" l: {0 ]( a CALL DISPTHI/ @, e' M. f1 e, }+ g
TMN0DISP:- ~2 r$ D, t' |: p" ^
JNB 22H.1,BB7- O0 S+ [) q8 S8 g! q+ M
JB 20H.7,THNODISP( g7 B6 {+ d( @" z
BB7:
/ y2 {" s% E, t+ H MOV A,TH0DISP0
1 ~# a, O* h, G CALL DISPSEC& f' a/ N' J) {5 m) {
MOV A,TH0DISP15 H$ G* [3 K5 |, i
CALL DISPFIR
7 ^- d# ^0 K2 J# P9 W& d& v4 LTHNODISP:
( t& o5 _  J( ^: p  c# ]7 u JNB 23H.1,TDRET;定时是否开启标志位 2 m% I+ A5 o- Q* w  R4 e
MOV P1,#1BH/ x6 |) t" i$ A9 u' l( r
CALL DELAY) i3 A& m# m: r) J/ {
TDRET:: ?2 S; Z* U8 ~9 o' U: o/ z& Y/ j. [+ C
RET4 E" T" f5 F1 q1 s
TIMER1DISP:
$ x, E+ r) `, w JNB 22H.2,BB61;设定分标志位
9 k7 Q: V* E1 ?/ Q JB 20H.7,TMN1DISP8 v( V$ j' v$ z, Y8 z
BB61:. j5 [$ k8 k4 s( b
MOV A,TM1DISP0( Y6 Z7 U6 {+ [  [7 U) f) C% M
CALL DISPFOR' x( n% Y8 ^1 Y
MOV A,TM1DISP1! ?6 k- G/ X: x9 B% T2 I
CALL DISPTHI# C& `- h1 K' p/ n8 ?6 z7 Q
TMN1DISP:
2 o8 k8 b" d0 o* n' o0 ^0 a JNB 22H.3,BB716 P- v* p0 v0 Z2 G2 _( f
JB 20H.7,THN1DISP
9 C1 ]* g( |; C$ ^' jBB71:
7 C+ I. ]) r2 b. F3 q' B MOV A,TH1DISP0- b+ p7 g6 ]/ {$ n+ v: b' X
CALL DISPSEC
7 p2 f6 d* b0 a$ |$ f; B MOV A,TH1DISP1
1 \1 p6 Z/ J( l$ |, E CALL DISPFIR/ H) P9 i/ a; s' \4 `( \# G2 c
THN1DISP:
$ y9 A5 u0 c6 r) ]; @ JNB 23H.3,TD1RET;定时是否开启标志位   w! E  y! s& R" d6 w( w8 o! }
MOV P1,#2BH# T! H% w: S  _) T8 Q8 x7 R
CALL DELAY 7 d* u5 o. b- d" i
TD1RET:. s  D, H: f) S- e6 L
RET
! H+ K: z- [  B) y0 t4 `2 Q;;;;;;;;;;;;;;;;;;;;;;;;
3 {% U) U$ q; M( J! eTIMER2DISP:
. j: H' T0 Q( e' q. u JNB 22H.4,BB624 h1 R! `0 d% n/ [" K/ y
JB 20H.7,TMN2DISP( f. \3 |$ K( m0 \7 D+ ?
BB62:
; ]% u0 B4 b( A4 F' z5 u# s2 U MOV A,TM2DISP0
8 ^0 Y8 }9 A% v& k1 S CALL DISPFOR$ j, R4 F+ b! Y
MOV A,TM2DISP1
. r% c: v9 B, F- ~" x( u CALL DISPTHI5 k' L& ^3 C0 _' V
TMN2DISP:' o' K8 b: L1 ^* u: n
JNB 22H.5,BB72
& l! w- j+ J2 ]& l  E% P! p8 l( { JB 20H.7,THN2DISP3 N1 D: u! X% v" r7 m! E
BB72:& {4 x5 h: `$ v8 J2 f/ @9 M( ^8 J- `
MOV A,TH2DISP0
* X" f: b) A: o& M, l* ` CALL DISPSEC
$ b; Z# ]1 A5 I, c6 |: g MOV A,TH2DISP1" Z9 Q6 E2 F+ l1 ]. |: o
CALL DISPFIR - c9 P+ E. o; @1 @
THN2DISP:1 X8 p6 K/ y2 [! n
JNB 23H.5,TD2RET;定时是否开启标志位 ) p9 h0 a! _9 G% R
MOV P1,#3BH; h% w, a8 n/ W; o! h7 ^4 c7 M) a
CALL DELAY
" d! u; x1 u  Y( e& m) M+ Z3 E, |TD2RET:
# q* |0 L. ^* I3 ^ RET
- [- y2 A$ g5 o1 q, @
% _' p$ d; v5 Z+ d0 wTIMER3DISP:
- Y" R: u8 d) r5 \+ l JNB 22H.6,BB63. [: |& P9 y0 c: K  L$ j/ X
JB 20H.7,TMN3DISP0 V& H, `% a/ \, b
BB63:
4 N0 Q, e9 g* ~/ G! @ MOV A,TM3DISP0& u) @% W5 m- B! J  S7 @
CALL DISPFOR
7 H7 y" R. c. X. g* o% ~5 p; v: c' i MOV A,TM3DISP1
' n  ~  T: }0 H CALL DISPTHI; A' l$ n) S5 O/ B
TMN3DISP:
- o/ T) a9 N' M  ]* } JNB 22H.7,BB73. t3 g6 g7 S3 p4 Y
JB 20H.7,THN3DISP
! I3 J' P+ \! B4 O$ P. N5 QBB73:
9 x$ l% o3 s& C MOV A,TH3DISP0
+ F; u6 z0 X7 T9 {7 s CALL DISPSEC/ ^: N. {; q8 G& [5 N2 B/ R2 \
MOV A,TH3DISP1
3 |8 m, _; g7 [5 x1 e" w CALL DISPFIR 9 m. q( f  p( N4 m* u0 k
THN3DISP:
, F, ~  X# u  ?# u' T/ R JNB 23H.7,TD3RET;定时是否开启标志位 3 X/ O( N0 w* r% ]6 k
MOV P1,#4BH1 A0 k( K( C9 w
CALL DELAY ) o" [- [* b) ]3 V0 P6 ?
TD3RET:! |+ x( y8 Z; e2 E
RET
+ _* r# ]  H+ `  {. U;;;;;;;;;;;;;;;;;;;9 D* Y7 Q: p! D8 S
DATEDISP: 8 Z9 d6 b2 P9 t+ }
JNB 20H.1,BB88; Q* g/ n1 N5 i5 H5 B  V9 e
JB 20H.7,MONDISP
- l% t* `! w" p  ^BB88:# D' ?" O8 F/ s4 |5 _( I- B2 h7 C
MOV A,DADISP01 q5 j! K& m; g8 W9 x$ h; a
CALL DISPSIX
) P- t; l, W8 D# A) @ MOV A,DADISP1$ S* F6 E% v8 Z& h7 V$ L/ T0 K
CALL DISPFIF
2 ^: i+ [" z& G/ iMONDISP:4 h0 l8 ]; M5 p% k, A1 q
JNB 20H.2,BB99+ b7 G' _2 y0 A
JB 20H.7,YENDISP; |+ T7 p) H  Q& E, R* g4 Z& X
BB99:5 @/ n# m3 b1 p
MOV A,MODISP0" X; z" H' s1 T
CALL DISPFOR
* U9 [6 x9 D, d$ [8 |/ D MOV A,MODISP1$ k% Q! U/ |, {+ }9 [5 i
CALL DISPTHI
: P) U. m9 @. zYENDISP:9 @4 [9 ]9 ?$ N% ^1 z# _
JNB 20H.3,BB892 o  H1 v3 r, P+ O9 k1 T2 u/ S- }3 [
JB 20H.7,YDISRET
+ s' F) E3 N0 \3 j; j& [& r4 WBB89:
) Z. S: b* l0 D MOV A,YEDISP0
. Z% E$ N" o& n) q CALL DISPSEC3 d+ n  V( r* L* @
MOV A,YEDISP1
' G% H! T3 {' {# y CALL DISPFIR9 l7 |: O5 G% o/ C3 w: G
YDISRET:
' H# S1 T. w" z0 X$ C  u RET* m! X5 G# ?# z$ n- I

( R! t' p) u" e1 Z- F- ~9 _;定时比较子程序
8 f* L& k3 B; B# K8 i' |COMPARE:4 b& ?  }+ a9 l0 w
CLR 23H.0! S+ I* b2 ?2 R! Q: D- w" ?
SETB BEEPOUT
  V& _. ~/ \2 f3 c. P/ a; n MOV A,TIMER0M;取第二组寄存器的R4,即定时分的存放值. N  h" l8 `* v6 ^" @* m
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较
4 E' `  n( O2 k. W- H8 q MOV A,TIMER0H;取第二组寄存器的R2,即定时时的存入值
  N) t) |; a& u  Q$ |- M6 [0 Q CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
3 O8 l) d$ Q" D" W  W$ R4 O SETB 23H.0
9 Q4 n4 ]% U! z3 _) N CLR BEEPOUT; U5 M1 d1 S& F' N3 ]
RET% `+ p2 i1 J3 O3 i. d% O' V
COMPARE1:
' |4 L2 O. k$ K$ G/ C7 p1 `# ?' {  e: u CLR 23H.2
! b( K, P- F( n+ L5 J4 n. E SETB BEEPOUT3 f* s+ {# _5 d. t2 A5 x! W
MOV A,TIMER1M;取第二组寄存器的R4,即定时分的存放值# D( s! }: j  B7 y: j! C
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较
/ ?# i) D- L; \. S$ j6 [ MOV A,TIMER1H;取第二组寄存器的R2,即定时时的存入值  f# T/ `6 D  O$ e; T
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较" _+ ~. u" k7 L! N: s, Y
SETB 23H.2;定时时间到,准备开启BEEP& e! u$ i- L9 P
CLR BEEPOUT
4 t" a/ n) j+ g" _8 {% L. u RET
5 U$ E. }, J/ A+ m4 X4 DCOMPARE2:
; o3 G( W* o9 z0 C4 n CLR 23H.4# M6 I* h* V( b
SETB BEEPOUT, k1 G8 C2 y  P+ W) s8 K. D
MOV A,TIMER2M;取第二组寄存器的R4,即定时分的存放值& \5 @+ G: k. w6 s3 y
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较+ x8 l( w' U& C0 y0 M0 j& w9 R
MOV A,TIMER2H;取第二组寄存器的R2,即定时时的存入值: H9 s+ X( S, o2 u2 v3 m6 k
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
( _: U9 x3 K7 g+ k/ f* L* b( ^ SETB 23H.4;定时时间到,准备开启BEEP) J0 q* n" H5 v4 q3 A/ d
CLR BEEPOUT% n0 c" ^$ v% E: U) o  O) Y& n1 g
RET* R$ ^: E7 b4 l# p5 N
COMPARE3:
" ~+ Y0 i, R2 E' V# K' Q CLR 23H.6
5 p4 [" K; a0 X SETB BEEPOUT( u- X( N; V0 I
MOV A,TIMER3M;取第二组寄存器的R4,即定时分的存放值, r  d6 {. r+ e9 J  o- N2 r: G7 d
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较, E2 F7 _, @% |% [& V% B) L
MOV A,TIMER3H;取第二组寄存器的R2,即定时时的存入值% O* o$ h4 o8 \, M# U8 f
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
- o3 I" R' o$ c6 Q SETB 23H.6;定时时间到,准备开启BEEP" q5 v( }$ E/ t9 W
CLR BEEPOUT  {# `/ B0 {4 c
NOTEQU:
6 m- J( i, \& V6 j/ v- o  E% d RET
2 W) w! T, F" o/ f6 }, h1 @3 N7 X" R5 G
;延时子程序; ?  Z$ @1 N4 s
DELAY: # B, u! C" N3 e' {0 C* @
MOV R7,#05FH
5 W; V( D7 C8 E DJNZ R7,$  Z* q5 {* O3 v0 Q
RET
' F  j1 @; F. C8 D4 m# X' t! @2 L$ q3 T1 P4 Y
;显示
( x' f7 J! @: ^& W4 Y/ a
- p( ]; ~# L, Z  r+ }& PDISPFIR:/ X, u5 l- a& a  {  [! y
ORL A,#0FH
1 U2 f: D* y6 V7 \7 Q* w7 b ANL A,#0F1H
9 Z5 W3 t; u  U4 _& R. i MOV P1,A
6 G& t  E9 r& I CALL DELAY/ B0 {7 t0 y- h3 R: q
RET( k$ d" [) \; ^% K9 U0 W# ^
% _/ _/ [& V* h3 C
DISPSEC:
$ Y  }: R  p4 j" {; Y ORL A,#0FH0 \; b5 V4 g' [, `* L
ANL A,#0F9H
+ f, h: |1 [, ] MOV P1,A' Y7 v/ p, H2 Y- g
CALL DELAY7 A) B% g& b- j* {
RET' M% a0 q3 }' U6 |- y
  Z0 V4 G: y' G2 o1 ^
DISPTHI:0 j! Y' ?6 S; I
ORL A,#0FH- a1 f4 J4 w/ H5 _
ANL A,#0F5H  J( X6 f# Y/ x' D
MOV P1,A
4 I7 y' G, b* e, D( P) y9 ` CALL DELAY% E" S/ H0 |0 N0 W5 W% R7 e) ^2 ?+ S
RET' g/ o9 n( H5 U- i" s. \6 i& @

# c5 X4 ]( M- s" f) ]8 S9 h- F+ V* Z3 LDISPFOR:
* a( {! ]% {# N2 E+ w% A

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
ORL A,#0FH
: U& A) t1 R0 [4 [4 f' }; A; ]! B ANL A,#0FDH) t4 v1 m, V: r+ o( {
MOV P1,A
" q& r5 f5 P6 W9 @& }. q CALL DELAY
5 M4 Y% l1 P# R/ W RET
& r: C* e/ A& T
& }# x# I# Z9 J% ?DISPFIF:+ K5 L0 @0 i. E8 m+ i" ^
ORL A,#0FH
% X, L/ r- U7 s0 B! Y: i ANL A,#0F3H" o7 c. s' l# m  G' U9 L6 p/ X
MOV P1,A
# u: X7 F9 ?1 \6 ~  s/ t: ] CALL DELAY
- ?$ A  |& X& C. Z* c' _; r RET/ e7 `2 w; t- I; q1 J' E
: z1 n- w+ F0 a/ L4 \; P
DISPSIX:
2 ]* `6 Y3 m7 O0 v/ P* b$ Y ORL A,#0FH
5 m5 \: D. f  K5 Z: e5 f" j ANL A,#0FBH. V+ O: G( c" A! ]$ @' k
MOV P1,A. Z* `0 G0 k, g8 o
CALL DELAY
* ?- F8 }! \! r6 @7 r" | RET
! P  {0 W0 c3 J+ q4 g$ P6 ?+ Z& q: N  }2 `& l
END

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
用到的几个 标志位:/ [6 ^. [; }& Z9 \

7 X* O' O: D0 A$ D* m20H.1 日设置标志: a, ~! H  {1 Y6 _. K& l
6 `, o. @7 o/ R0 a$ P6 A5 i
20H.2 月设置标志
; A# r; d. ^* K0 W! X/ K) r- j7 Q# \. ?5 z2 q* x
20H.3 年设置标志
* O( @7 S% W1 M3 u- @8 |& y  M; p" X* Q' z3 ^: m( r
20H.4 日期显示标志
; q, M/ f/ }2 Y7 ^7 h: \# X
! P/ b* u/ Z/ y7 T- z/ q20H.6 秒设置标志$ s' I+ L# m5 X5 s* f& f9 A( k% b' |

+ p! P( {" ]0 ]1 @7 o$ @! K9 l2 V20H.7 设置时的显示状态标志(闪烁)
% U% E) g4 F* U3 Z  D% J8 z  ~
+ P+ a8 l, G! h# C& |- e20H.0 大月标志
3 o+ r% N. @' _" L( q( x5 s, k( l8 R4 W1 x: ^! A
21H.0 时间显示标志) o+ m1 w; \/ `/ S9 W) E- _# ]7 g  b
8 F' R: x( R0 M* i/ |
21H.1 闹铃1显示标志
/ {' R/ o+ V+ r( S2 x0 P8 M* V( x) W% ?+ R/ _  g; `% g
21H.2 闹铃2显示标志
7 I" x* x7 I. O! f# U2 @  D$ r3 j6 A) m( R$ R) v
21H.3 闹铃3显示标志
( H, G- w7 V1 B( l8 E7 s1 [7 U" _: c/ A
21H.4 闹铃4显示标志9 H5 z' k; Q7 @2 U& w
$ `- @* v2 o  Y) O
21H.5 分设置标志
5 k" V- `. @6 W! E! t
& o. j3 T' u4 g* [1 e! o21H.6 时设置标志9 x6 ~1 j. o/ t9 F" S

8 P, d2 {+ x( s21H.7 星期设置标志+ i1 R4 R; \- T1 P9 x

& ~: t! k! q  ~) _; {+ b4 w' }22H.0 闹铃1分设置标志4 Q6 Y. Y! I7 C9 }
; J/ b1 }: C7 ]3 U% Q) \
22H.1 闹铃1时设置标志
/ t9 w/ k! J; m" A9 i' G
) h. |) k. f2 G/ F1 v........( V1 ?3 `: S( L6 B5 f; x% A
+ Q' Z+ @" w, ]$ y/ m5 x
22H.6 闹铃4分设置标志; M( O, T/ F9 @3 P
+ D3 e9 I/ N8 K) ^/ G( V
22H.7 闹铃4时设置标志
; [( ?; a! b- @0 W4 t; u/ m3 o5 l  _# f# ^7 N' v, R! ^
23H.0 闹铃1时间到标志7 i3 a5 E9 B; ?, X6 r; h3 S

8 n9 r' K* b* i$ p23H.1 闹铃1开关标志
0 L4 p; R" e% I& i. m% H
( O/ t2 q# H' m- ?# H, u# d........) ~2 d) l1 r1 X; v
3 Y' s( g6 S+ F/ v% J4 J# @7 X
23H.6 闹铃4时间到标志" w1 R& L" W' D( G) g5 G

9 k1 W$ T8 d1 J/ ]. c( S  M23H.7 闹铃4开关标志
3 n2 ?9 a9 I0 \! o( ^7 c# v; B* \. s: N/ x1 o1 f, p
编程过程中遇到的问题是:% ?+ H* K. D( B0 u+ h5 v/ ^; n
7 h& B7 _$ m6 I* |  n; M
1.在按设置键的时候在按30次左右的时候,SP溢出,因此强制SP复位,不知有何影响 目前还没发现问题;, Z9 B$ [3 ^0 k; c3 s; L6 A% P1 e
: y; @' {- b4 |1 U" B
2.按键去抖动的时候没法消除,因此用检测按键是否弹起检测按键是否按下,这样的后果是不能连加。# f3 W- S. P; P) G$ `7 T
+ S6 D5 F8 f9 H+ v
3.程序比较大,2051刚够用。呵呵,有高手改下会小很多的。
# s! d7 |7 p6 q# X. [" g8 ?5 T
9 r2 I. C0 ], @* H/ ?& G2 J1 W时间比较准,15天左右快了大概有40多秒,跟电脑的时间比较。

classn_11

 楼主| 发表于 2010-1-29 21:12:34 | 显示全部楼层
印制板有误,仅供参考,我是用这个板子做的,做了些改动,段码连线应该下移一位,即,A-B,B-C.G不动,星期显示的由于管子不同,连线也大不相同,根据所用管子自己改动  
, O9 s, B4 d2 L6 j3 N+ U
* X. G# k3 {3 T% L4 ^+ b
: v( Y5 z7 c9 X 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-6-19 05:13 , Processed in 0.281737 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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