维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 380|回复: 9

本人刚做的时钟

[复制链接]

该用户从未签到

发表于 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,下面是源程序,有高手改下让程序小点为,多加一路闹铃,

手机扫码浏览

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
TIMERKEY BIT P3.12 Q* u$ ]7 e2 L  o- H
SETKEY BIT P3.2
) g: I3 W2 J! |: f. Y5 l) Z, WMODEKEY BIT P3.3  G, V+ n7 }) U1 C( s
BEEPOUT BIT P3.0
. k4 z/ J, I& J5 E- i
* ]9 m# d/ }4 ~SDISP0 EQU 10H
+ x# K% y- S0 u3 ~0 j' r) B# @1 c/ ZSDISP1 EQU 11H
8 e0 [- a+ u- `# ~MDISP0 EQU 12H9 d0 ~* f, W! c& T- ~
MDISP1 EQU 13H  A1 ~* k. w4 v6 v, a. H  g: g+ ~- x
HDISP0 EQU 14H- V3 i0 t8 B1 n5 d% x( a% p: g
HDISP1 EQU 15H. l1 S/ C4 h5 s% O

8 j( f. ^% O& A2 k5 ?/ lTIMER0M EQU 16H8 t5 a6 E/ k) Q( A# T, V3 H: i6 A
TIMER0H EQU 17H' O+ v5 H5 B* |5 n+ y+ @0 r  s
' Z/ l$ ~) c# _0 n. t* h$ O$ T
TIMER1M EQU 18H
1 K: j! A: ?# Z( I; A% lTIMER1H EQU 19H$ O6 ~) h4 M/ V- m3 h

. N; p7 u% @& b- X) d4 D0 HTIMER2M EQU 1AH
( j4 }- J" P4 x/ `4 d) V, N( l; H2 RTIMER2H EQU 1BH1 w5 g% H4 [- e( @, U. k4 G
5 W% J4 F. A- Z" \: N) M6 V
TIMER3M EQU 1CH
& E, b2 p$ ]& q9 WTIMER3H EQU 1DH
% \9 h8 l7 s2 g: n
! u9 O, ?. j. R: ~8 d, }TM0DISP0 EQU 1FH, y( u, V* y6 d( F8 v! I- o
TM0DISP1 EQU 25H9 D! x8 l* f8 v" k2 X7 |# f+ }
TH0DISP0 EQU 26H0 _: j' Y+ q* u- Y) F2 Y4 Z
TH0DISP1 EQU 27H
4 R& j+ {9 p$ u$ B1 I- d0 @( K. ~) i3 Y
TM1DISP0 EQU 28H
- s" F& @9 L8 n% ?" ^9 iTM1DISP1 EQU 29H
* Q" z2 ^0 V* }& E8 N% ETH1DISP0 EQU 2AH2 u, y; w! h5 x$ A5 U; b
TH1DISP1 EQU 2BH4 m% [: y% V; S' x& w

  y8 ?. c; t+ [TM2DISP0 EQU 2CH% Q/ l9 I+ \% U/ b6 ^
TM2DISP1 EQU 2DH
( k& Q3 M- ]5 U  j+ wTH2DISP0 EQU 2EH: x8 G! z2 [7 b  [! B" N' B
TH2DISP1 EQU 2FH 3 S8 x) y  M6 \" r
+ s) e( _; @6 e0 i, r5 F
TM3DISP0 EQU 30H
# ]0 ]) N) I0 ~- e0 E" i6 qTM3DISP1 EQU 31H
( `$ ]' S9 n$ _& [TH3DISP0 EQU 32H
: D& U2 A7 ]0 P' uTH3DISP1 EQU 33H
  T* I: Z* s* W" w. I$ T  J( T8 ~! q. e9 Z/ A6 a4 _- `

2 G- ?4 v5 q: ^- S5 I# \: e+ ATIMERTEMPM EQU 34H! f% M! s: S/ G: W/ E1 X
TIMERTEMPH EQU 35H
- Q; c9 M+ b' y; V3 H! e
1 b4 h( T6 `- M8 ?;TS1DISP0 EQU 31H
% {- w+ L6 A+ o. I1 W  Z1 N7 G/ ~2 y- ^' t7 w+ P* b9 D, E! x" f% ^* J# `& n

- f  ]# q- m& @& M4 j;TS2DISP0 EQU 1BH7 E7 R% G  H, u
0 B, z8 g: W8 }9 ^2 f

3 z" O3 \2 s% M5 CTMDISP0 EQU 36H
  ~/ I% Q4 ]& m: `/ }TMDISP1 EQU 37H6 D  h% l& [+ h- m
THDISP0 EQU 38H- k( G& a5 c' d& M5 r. w  h
THDISP1 EQU 39H
6 E0 k" T7 t5 A6 b6 aWEEKDISP0 EQU 46H
) [4 S* N" B* D1 x* l4 K- xDADISP0 EQU 40H* ?8 x4 D9 B2 {; g: Y6 f2 j0 V3 h
DADISP1 EQU 41H7 E: H, L3 N3 Z. ?1 T8 B  b' q
MODISP0 EQU 42H* N6 X: D8 |/ J/ z, V2 c+ C
MODISP1 EQU 43H
$ {, H  {& D+ L8 I/ i2 s! oYEDISP0 EQU 44H& x. b9 Q3 F0 e4 j+ p% f
YEDISP1 EQU 45H( K( \; Q, z- N: Y

( Y3 C5 h9 \6 ~9 _! A( w! cORG 0000H; V" z* s( j# S9 ]
JMP START- P$ L7 A6 }' {6 m
ORG 000BH  B" V0 p4 S6 K
JMP TOUT9 M! A" G: A3 M7 j/ h1 p% `6 W
ORG 001BH$ @/ Q0 ?- Y1 Y$ E- p5 B' c% V
JMP FLASHTOUT! i, S5 o3 O0 l1 p
) C9 z0 _3 D. N& z# n
START: 1 _* C$ m4 n; x' O1 _
MOV R0,#80H ;清寄存器, V" M. H0 D$ N8 {% ~
CR0:
2 A9 R' @! [4 L5 d DJNZ R0,CR1$ h2 b1 Y. e$ Y2 q/ n
NOP
' a: A* O- g. U  d& z) {/ {& B JMP START1
& t9 @% j! e) ~( N* \3 eCR1:
; l1 l1 o3 T! M+ ^1 \ MOV @R0,#00H* s$ D9 T8 N& N7 D+ a7 c+ Y; e
NOP6 M' {) Y' U. I# I7 d
NOP
* ^! f0 g# |& o4 y! y/ u JMP CR0
: ^% `# i) b7 Q6 FSTART1:
% c1 e+ `. n0 F3 Z: o  V MOV IE,#0CAH ;设置定时时间(100ms)
4 @1 X+ \: x  u+ p7 G MOV IP,#0C2H! g5 b' L' h5 N: \
MOV SP,#47H ;设置找钱地址/ D4 O7 u$ n1 o6 _
MOV TMOD,#11H ;设置定时器0为定时定时模式1
8 A+ D. P9 C& Y7 w" I MOV 0FH,#1
0 D- b% o6 H2 Q# I MOV 0EH,#1
% u4 M2 J! O( r9 r SETB 21H.0 ;DISPTIME & m' O/ m# b$ R
MOV HDISP0,#8FH0 ?, U+ m+ t% ~0 Y7 V2 A% e7 f7 n$ }
MOV WEEKDISP0,#7FH ;2007年1月1日星期18:00
3 e0 _. x9 ~3 \/ R MOV TH0,#3CH
7 z7 X* ~3 `8 G1 E) o MOV TL0,#0B0H7 K/ M" L- i2 x$ c) i3 O8 y6 @
MOV TH1,#3FH
  Z% A3 s4 y( [4 P, U4 P MOV TL1,#0B0H
$ x% J, Q7 {) w/ }8 O) ]8 n MOV R5,#1H
; w. R4 p, w( q+ q1 {$ W MOV R6,#20
# M7 L: h/ h6 K7 H MOV R2,#8
1 Q/ G7 D6 {/ U' G MOV 23H,#0AAH
, b7 a7 n( [' ]) v% T SETB 20H.0
$ D) \: |! m- v$ w) {" t9 a8 I SETB RS0" b* K9 c+ _6 k& ^6 O: p
MOV R6,#1
2 I3 d2 l9 {3 U1 B MOV R7,#1, O; e, t( T0 w& ^- k$ _* b
MOV R5,#02 H. ~# ]* u" `1 Z: G0 {- B; r6 |
CLR RS0% P$ [4 Q9 F# z" J
SETB TR0 ;开始定时
1 h1 s- i) C7 c4 B' d& h) d+ l( `7 e' j
CDISP:. J/ U  Q, {% `' t( r& W# J
MOV SP,#47H) y. r3 I% a  p
JNB 23H.0,KEY10;定时时间是否到
' G+ N. F6 p0 f- z JB 23H.1,OUTBEEP;定时是否开启
4 X' J" J4 C  S: @KEY10:
' {- `6 J" j0 z/ a* Q8 I% } JNB 23H.2,KEY20;定时时间是否到
; q* c7 X" {) A  _4 L# e% { JB 23H.3,OUTBEEP;定时是否开启# B0 _$ X4 q5 z) Q7 Z0 x
KEY20:
9 q1 Q0 e2 j0 } JNB 23H.4,KEY30;定时时间是否到
# v5 ~1 r3 X$ a% o JB 23H.5,OUTBEEP;定时是否开启3 ?, F. K, ?( `
KEY30:$ T% a' D4 ~, v
JNB 23H.6,ALTM;定时时间是否到" F* f( A) ?; ?1 Q( _7 `# J
JNB 23H.7,ALTM;定时是否开启
2 F, P; z# A' H2 U( w) Q% p+ gOUTBEEP:6 |% w! W  H; i1 J7 U$ N- D
CLR BEEPOUT;两个条件中考都满足,开启讯响器. `1 G2 r6 ~7 _7 r9 \* ^4 D  c
ALTM:
( u/ p* V7 V6 c* _+ y" _4 O+ n3 N JB 21H.1,ZZ1
6 Y% M) t9 Q/ H5 e$ W( ? JB 21H.2,ZZ2
6 a- ]- J) Q. `7 t- I0 F JB 21H.3,ZZ3
' N; ^) N% H9 }) R6 K6 }/ z JB 21H.4,ZZ4
) R9 T: S, x( ]9 r4 a% v5 S9 @ JB 20H.4,ZZ5; s" q5 [/ e5 P! s- f: d$ ^
CALL WEEKDISP
& F# {7 v2 U. _: y, v CALL TIMEDISP$ u- S. e; L, S$ I' T
JMP KEYSCAN! l* d  b# k- I8 O# R. d7 A
ZZ1:
/ L- n* T; z6 o% R9 p; k* m CALL WEEKDISP2 v6 J2 j9 Z8 K7 _2 p* X8 Z- R
CALL TIMER0DISP
( ^/ J) r, S0 J* z JMP KEYSCAN2 u8 i: U; z5 c) ~, `
ZZ2:, T1 G  T( b1 K9 I  u& x2 B* o
CALL WEEKDISP/ J- {3 q' k7 S& Z% V
CALL TIMER1DISP
& Z. k! r; e! t* |% {% I1 i JMP KEYSCAN7 \% x& x2 b" M; F4 s
ZZ3:! g6 @  \  i  W, M( G0 |; J4 `
CALL WEEKDISP
0 R6 \3 e8 p* [( l& {* j CALL TIMER2DISP1 q% e, a1 J! q  ~2 V1 q
JMP KEYSCAN8 X; h) `% @. N0 t2 l6 I. y
ZZ4:
; z, f; x) y" q' T9 J& E3 A9 A CALL TIMER3DISP
- a6 Q9 N5 W+ d! c' _4 F2 _ CALL WEEKDISP% n" `$ s" S. S% y4 I" P* c7 d
JMP KEYSCAN
4 C# E3 u, f9 P4 K0 DZZ5:
" \: e; h# F' e+ m# C+ H* d CALL DATEDISP
1 e  K, T) C0 [) X& l  D# z3 O0 Z& X5 B- w CALL WEEKDISP
4 \2 Z4 m; d, F/ K; a9 l* j* [KEYSCAN:
% Q0 G0 a  ]9 Q JNB SETKEY,TOSET# t2 j1 V+ U$ ?$ i7 H8 X
JNB TIMERKEY,TOTIMER7 C7 `0 {- a6 @3 G+ C6 a9 e' {
JNB MODEKEY,TOMODE;模式按钮 20H.71 h8 n- |  ^9 g
JMP CDISP
5 {! [" K/ E- _0 ]' @
1 ?1 A6 o& O9 T# S& bTOMODE:
$ i: I6 x) J8 Y/ T! A8 t NOP
3 ]: \) k: U0 U2 G2 f! c$ E8 L JNB MODEKEY,TOMODE
8 ]) Q" Q# t# y2 t( @( p CALL MODE
( _/ E, T2 r2 a JMP CDISP
. F1 R2 B8 g8 J7 ^) [$ f* u9 f7 ~. [TOTIMER:, y- t7 G( e6 d; o- p/ P3 N
NOP
7 J: `, ]& h3 v JNB TIMERKEY,TOTIMER. K3 G* L8 C4 C& c( Q# m, }
CALL TIMER/ v& p. P1 b' W+ \
JMP CDISP
0 z# q8 Q+ l( T* ~4 F& T) Q/ [TOSET:
2 |) Q* j2 ]% P0 Q! I* a NOP9 j9 M! ?% z& E( O5 k* a
JNB SETKEY,TOSET: k9 }2 X4 j, x; A) h
CALL SETTOSET
7 O* `5 r- `* i# f6 h2 w, }3 I% {; x JMP CDISP% d$ s8 `1 h$ w
MODE:
4 V, w+ r  _; X# O, g  W1 K SETB TR1
: O* T8 I! p4 n5 {4 S JB 21H.0,MODE1, s" V" }. H" i$ H
JB 21H.1,MODE2
( u6 {% d0 y: V0 {$ E! }! P JB 21H.2,MODE3) i0 ]1 e+ E8 R- c9 \( t6 S
JB 21H.3,MODE43 }+ j4 f, O- p2 V+ b/ F
JB 21H.4,MODE5( ~6 i, V9 u) c  L1 Z: _& b
JB 20H.4,MODE61
) F1 W1 e$ d* W RET
* N' D" i7 j& E, a6 M0 \, IMODE61:
7 X7 }( E" R3 |; Z/ j  g6 m3 h% C JMP MODE6
. W1 d( S6 Q" b' ^MODE1:
7 W- T; C$ ?* P- b, H9 _* {' X JB 21H.5,MODE2
. I4 V" h) C1 f4 }* }" U  m JB 21H.6,MODE28 U* a0 J' Z! X. u
JB 21H.7,MODE22 ]) W0 D4 V, |1 R" b
JB 20H.6,MODE2
& T# E1 c# {$ f3 `! k/ r' U CLR 20H.4$ x. y9 [" P7 p* h4 _4 s: a
SETB 21H.0
: W' M, d1 V8 y8 z! e CLR 21H.1
+ n* I, J+ w, `+ C CLR 21H.2" `+ _5 ?2 Q  }4 n; l7 k, N( R5 d
CLR 21H.3
; H: k  {: t. ]$ Y- h* W/ P& R CLR 21H.4. _/ L8 A5 [' W# D  _
SETB 21H.5
$ @2 @+ U- Z% d* U9 H4 ~5 C RET- v* |$ V' ]9 e& e  ^! O" O
MODE2:8 V) `8 p' k( w; M5 }
CLR 21H.5& f  O0 X- Y, |7 r3 I
CLR 21H.6
2 W  F+ v9 q  l) }; @# s$ U CLR 21H.7
3 C4 ], A/ Z+ O: \. J CLR 20H.6
. Q. X9 g' i& w* T  J0 f' M JB 22H.0,MODE37 q( ?- b7 M- i, q0 n8 _
JB 22H.1,MODE3
8 Q+ I  }0 J, F$ P' ~( H$ [, F6 D: ` CLR 20H.4. ~2 K6 @! n5 r7 L8 G/ }. W# k9 c
CLR 21H.0
; ?' J' {' v# C; P SETB 21H.1
! I5 p+ p+ G3 ^* F. d! y# k% H) b CLR 21H.2
& s  c& ]8 W& c: t  e CLR 21H.3
% r, k- w7 C$ u/ T CLR 21H.4
( R% T9 f1 o' S" Y6 K1 d SETB 22H.0: b* y4 e( ^2 N% @" @1 Z
RET, k4 z" Z& H. I$ u% a# n
MODE3:
) V: C% e- `  r& T5 ~ CLR 22H.01 Y& }  W( T; f" r- W8 U1 A1 J2 ~
CLR 22H.1
! Q2 g- l; U# } JB 22H.2,MODE4
) D0 R8 E& Z+ x& k4 ^6 u7 c; |7 n JB 22H.3,MODE4& ]: J( p$ D1 L1 C# [* m
CLR 20H.4$ U) h2 ]; ^4 t2 p! i  [
CLR 21H.0
1 U7 N: m8 a0 g" O+ b! D& C! S* z CLR 21H.1
- O3 M( o) b, H- j7 D( I. U+ a SETB 21H.2. B5 w, o6 }# c1 h
CLR 21H.3 3 b) y& d5 z4 e7 H5 C
CLR 21H.4
" M$ Z. m! z6 a  A+ o/ k) _& P+ H SETB 22H.2
: E- S9 |2 F% f& Q5 X2 F; G5 s RET) e) f( H, o' A: u7 E& N
MODE4:5 H. C5 z9 @" w
CLR 22H.2
3 f9 M: n* Y0 h6 h CLR 22H.3$ F0 c7 {* t; ?5 v- I
JB 22H.4,MODE52 s) h0 M; q" M2 v2 W
JB 22H.5,MODE5
8 Z" F& C; F5 x' V& c% q, V CLR 20H.4
) g, a$ E" v; r+ B0 t CLR 21H.0 : `; f. M' L5 j2 A0 ?- E" m
CLR 21H.1
0 W+ e; b2 @- X& n0 B# q7 K CLR 21H.2
( q6 B% v- i" M8 }. h& g SETB 21H.3) J" j) L- A' x8 x- r  Q+ {6 F5 ]3 X
CLR 21H.49 n4 }5 S( z& g% v- ?% F0 J" ?  D
SETB 22H.4
8 ?3 i# x3 @2 t: @0 S RET
- l( c3 [" o) E* ?, v! ~MODE5:
$ o$ G" E* @$ B: Z5 `" K CLR 22H.4
4 G( f2 J0 i+ J& P5 A8 T CLR 22H.5) q* ?( |6 V$ y
JB 22H.6,MODE61 ~5 ]3 M: A) p+ i" {5 O
JB 22H.7,MODE6; F: S+ ]: T, U) w
CLR 20H.46 K  T& l+ ]& G& j8 N/ Y# D
CLR 21H.0 4 O' U. B1 d4 x* H7 K8 c
CLR 21H.1" S& Q1 v4 D4 Y* g, J* J# V
CLR 21H.2
! Y  X5 A3 E4 B; w( T* H$ N" a$ f CLR 21H.3
4 p: K. T" \  A& i SETB 21H.4 # X! k/ U: Z4 [9 p: r
SETB 22H.6
  ~  i7 \) q! t2 k" f2 D- r2 j% \ RET
" s) x6 K8 s. i0 u" IMODE6:
* v) I3 V' e0 N2 o5 J$ v CLR 22H.6
  R; _* |6 U" L CLR 22H.7  V7 e7 r% L% x
JB 20H.1,MODE7
$ X$ l$ g- f0 G JB 20H.2,MODE7
6 m* \/ T* y2 m JB 20H.3,MODE76 {1 S- J5 U0 r$ P; B# m4 }
SETB 20H.4$ A* z, z  T& b4 M$ [. f$ A
CLR 21H.0 - R, {1 F6 h* x0 }* L/ [) G
CLR 21H.1
# b. w* s6 ~0 _# |, M' c CLR 21H.2
/ D) x  B2 ?8 N8 E& @6 b CLR 21H.3
8 g/ W. X! P; v CLR 21H.4
; t7 }; C$ L- A4 J1 U( S% e1 r* o SETB 20H.18 p3 C, r5 F+ b% D
RET
' `) }2 h+ E# o! Q4 T( UMODE7:" I& p: O* |, }1 B: k
MOV 22H,#0H
* N0 r+ D$ U$ L& K MOV 21H,#0H9 l( ?( O0 t; G9 B# S' t
SETB 21H.0
4 q: v- H, M  U3 r" v# }5 I CLR 20H.1 . O; D: g7 z+ @6 M3 s+ H, o
CLR 20H.2
# _% j% O( c/ o# x. j+ s7 X- U) J CLR 20H.3; g- v% b7 c. k6 {' I0 g! S" q
CLR 20H.4
9 j- `, W' W$ a$ \+ k& o1 B- d CLR TR1
# i( \. g7 D% }6 Q4 O" M CLR 20H.74 \: Y, S* a4 r. f0 f6 v, @) h( R1 }
RET
  j7 z0 B/ @# ?6 A9 A+ s
. p. ]# f2 m( m* @SETTIMER31:* r0 W1 k) O; ]2 G/ Z* b
MOV TIMERTEMPM,TIMER3M
2 f$ [$ l1 ]1 v* Z, h CALL SETTRM6 W* q9 Y8 d; Z" L2 b! `
MOV TM3DISP1,TMDISP1( h7 i( e- q3 X2 X3 h" x( d
MOV TM3DISP0,TMDISP0 8 |  b/ b* i7 I6 v: C' I
MOV TIMER3M,TIMERTEMPM
# J8 a9 f2 \2 y- ~4 t JMP CDISP0 ]* ~0 L, W) C
SETTIMER32:
% Z. L& H4 ]! O+ V MOV TIMERTEMPH,TIMER3H8 f" U  x0 G" s4 I
CALL SETTRH
- `6 e& e4 s; M5 U* ? MOV TH3DISP1,THDISP1
0 I" U; X% i) e# x4 R: E" d MOV TH3DISP0,THDISP0 5 o% |9 O* c5 j4 m1 I
MOV TIMER3H,TIMERTEMPH+ j8 x" ^( h% h, @) O! p' P: ?- _7 M
JMP CDISP; b' ?- b) h: q# C. N; y2 U
7 m+ k  N$ A$ b& B1 e& ]
SETTOSET:) r) j# \% p; a4 `7 h2 i7 |
JNB 21H.0,TOSET11 y! r8 [1 P( |  u* v( j2 L
JB 21H.5,SETM   m" d. D$ S' J) a- L3 I6 Y4 ]7 Q
JB 21H.6,SETH
  U  m: A. t3 W, O, o JB 21H.7,SETWEEK / \7 X' k2 u% M* s+ H+ T
JB 20H.6,SETS
2 \0 p0 k& W* D! T+ A& O1 L  ~; d3 n RET) v% R6 j% A) U( @
TOSET1:
" E/ N, q/ z# ?( O/ k8 g% h  \ JNB 21H.1,TOSET2
% ]1 N! P6 y7 R# e+ }1 {. S2 p8 W# B JB 22H.0,SETTIMER01/ E& w- u, }; \5 j$ [
JB 22H.1,SETTIMER029 L  b% y- J  r  G. @
CPL 23H.15 a! O) @+ i1 l5 x! ]
RET
; f9 }/ c( a2 R0 Z0 UTOSET2:
- n, i4 n, K$ Z( z& ]' _ JNB 21H.2,TOSET3' {0 e, G8 ~! R' l6 m' t; z
JB 22H.2,SETTIMER11
: w; t) Q- t' U6 `/ i" ~+ Q1 n JB 22H.3,SETTIMER12( U/ v( x' }* ?4 f* T. r
CPL 23H.3* Z- f, A, ^3 ~  n6 M5 y
RET( |. I) B0 C7 x/ S8 T
TOSET3:
5 l# o* N9 }7 U JNB 21H.3,TOSET4
3 H& e& ?+ q; l& u4 w0 Z JB 22H.4,SETTIMER21' R4 _. B5 A$ h) P# x3 w
JB 22H.5,SETTIMER227 J# T. N% M- C) V$ ~
CPL 23H.5: |( U3 t3 t; G* k- J! B
RET
$ ~8 i; ^' [. U7 w- S1 rTOSET4:& f4 A9 U6 [5 E- L
JNB 21H.4,TOSET5  M9 a' |; T; \# S5 d
JB 22H.6,SETTIMER318 L. \. X$ P6 p( f/ _  e
JB 22H.7,SETTIMER32
! k5 W9 ^' L. b1 m# { CPL 23H.7
% x7 r6 b+ t" ?TOSET5:3 R( A# B* \9 }4 E7 z* I4 z, @
JNB 20H.4,TOSET6
! s4 e8 I( Q0 h- u  ^. g1 t# j JB 20H.1,SETDATE
. C3 Y  a/ k/ L JB 20H.2,SETMONTH
; E+ Y4 t2 s: A) X( y) V( H JB 20H.3,SETYEAR* m' P: c, f' N
TOSET6:
, T$ `3 d% ]: D, m3 h  G$ k RET! j# ^/ E) O" F: a8 m3 f6 X
SETM:' M9 I: L+ O/ z7 V8 F: q
CALL MINUTESET/ X" M5 j* T. M6 \+ m: F- O
JMP CDISP
% u: |: S0 N# W( y3 c7 xSETH:& i1 d- s$ ^8 W: v" p5 c2 X5 a4 [4 ~
CALL HOURSET 2 |/ W- S/ p* e( f" J2 K: h; i8 T
JMP CDISP   j+ ?3 A8 m% y: K
SETS:
& V# h+ M9 B( ` CALL SECONDSET3 E' \; |, E$ f9 b
JMP CDISP2 [. S7 Y' q2 j* G& H& W& i$ @
SETWEEK:
: h- V; M# b1 M2 T$ Y, g8 x5 _8 G3 l CALL WEEKSET
6 M8 v; Y# h8 c6 D7 i JMP CDISP0 G0 k8 B9 x: l7 a  @
SETTIMER01:
) j, l) k2 ^- S3 }  }7 p6 j MOV TIMERTEMPM,TIMER0M
* r' b1 L; C% F" j9 X2 o/ `: s CALL SETTRM. b' f( A9 g- ^( x' K2 g8 u
MOV TM0DISP1,TMDISP1. h7 K, s6 ^( T- `
MOV TM0DISP0,TMDISP0
9 N  \! E  W- U, N8 a MOV TIMER0M,TIMERTEMPM
( D' \, F) H( E6 s% S5 V- F9 w JMP CDISP
5 t% v4 ~) l8 QSETTIMER02:
8 F- d8 `" s2 }% C  b MOV TIMERTEMPH,TIMER0H
" H1 D5 P% h& h. e" _ CALL SETTRH
$ W1 }9 C4 z9 ]; V! B6 j* C MOV TH0DISP1,THDISP1$ Y5 k* z1 J! c1 x; \2 I
MOV TH0DISP0,THDISP0 % A# y  w$ C6 t0 k" o
MOV TIMER0H,TIMERTEMPH) e# l/ m& m: U- i
JMP CDISP7 Q- i2 \! c( K& f
7 {" u3 ]1 j4 j2 e
SETTIMER11:
0 H2 l9 n+ f% i1 b MOV TIMERTEMPM,TIMER1M/ F* \; B, U& B! |3 r0 q
CALL SETTRM
) g& q& Z) C' `" r0 T3 \5 h1 V% h MOV TM1DISP1,TMDISP1' c2 E% c+ T7 H; h! A+ {/ G. L+ [4 d
MOV TM1DISP0,TMDISP0 2 e) g7 b" ], ^2 j  o% s
MOV TIMER1M,TIMERTEMPM
  u; C+ v! _; t" t4 P2 h JMP CDISP# V7 Z  ]. O+ }. g- q6 F7 p7 n
SETTIMER12:5 o) V- Y' y( Y
MOV TIMERTEMPH,TIMER1H
7 m5 M  [  s& B6 Y! O CALL SETTRH
# J& q* K5 D; Y( f' m* ^1 u5 {5 d9 R9 P MOV TH1DISP1,THDISP1% [* H' b! ]% q" ~/ {
MOV TH1DISP0,THDISP0
4 Z9 U: \9 B( [& r% l3 f; Y0 W MOV TIMER1H,TIMERTEMPH' S3 S8 N- Z; y3 B: j$ J* K0 c
JMP CDISP% `2 n% G" g" F; y6 W4 c

# g: z0 t' O# sSETTIMER21:
5 @3 o; y$ V0 v2 @, O7 N MOV TIMERTEMPM,TIMER2M
2 I4 B. B1 ^, N3 r0 } CALL SETTRM
" G! K" n/ u4 e6 M4 R MOV TM2DISP1,TMDISP16 ]6 j9 Q( t( M0 O  r: b. A
MOV TM2DISP0,TMDISP0 ! `) Y# {+ S  |* t
MOV

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
TIMER2M,TIMERTEMPM
" w* M$ _' K/ f7 C: c9 ^ JMP CDISP
4 a2 `4 h% |2 j+ u! g0 J. o8 O# jSETTIMER22:
+ M1 D7 l/ @+ C MOV TIMERTEMPH,TIMER2H5 n, u. \! U, S% b7 v4 c" s
CALL SETTRH
! m& H" C( g1 I4 B* m$ n$ H' B MOV TH2DISP1,THDISP1- t. W+ H& y( V
MOV TH2DISP0,THDISP0
  I9 W4 k  E+ u MOV TIMER2H,TIMERTEMPH1 U$ ?+ \  \9 z' S2 L* F1 _% j8 F" U
JMP CDISP
) F( z7 S9 @, D3 r; k6 L, Y! aSETDATE:
2 U5 v4 X) b3 k0 D0 E6 W% W. X( ^ CALL DATESET& W( i$ Y5 x, g$ ]# U) F
JMP CDISP/ {/ I' Y, O3 M1 |+ c; T" `
SETMONTH:
$ U9 g5 f6 x& f7 P# T2 ^% o4 P3 Y CALL MONTHSET
2 P9 A; W% n) r6 b% |1 o( R) e; d JMP CDISP: p3 g  R0 D0 S) k9 B* z
SETYEAR:4 O6 v' C. ~% W( A
CALL YEARSET
. Q8 `% z/ L" x# g JMP CDISP
+ y+ v! e# f6 }& C2 @* u5 ^- Y" D; B9 rSETTRH:
4 A6 x* a4 v7 g. Z5 X: \) _! t0 G MOV A,TIMERTEMPH
8 z. t; x* Q6 `7 o( H2 ~7 n INC A
9 }' ]/ U+ U2 t+ | MOV TIMERTEMPH,A
) g" |: M; }% L MOV B,#100  i% t& B2 }1 y( U2 x
DIV AB
/ r$ F' G: o7 n$ |% a MOV A,#10;余数继续分离十位和个位- ^- `! _6 r' B# E* Z
XCH A,B  _( K, f3 C( ^+ F
DIV AB
$ s" M; y0 v2 U5 S1 o4 M2 q# r) u0 U SWAP A5 M, T: s, ]# p5 K
MOV THDISP1,A: r% y- _. C" M" F4 @+ j
MOV A,B: D2 {9 Z( _+ d* w1 u7 d
SWAP A. O1 N9 ]6 [8 g) S- z
MOV THDISP0,A( `) Q! L, W. s
MOV A,TIMERTEMPH0 M' Z1 W( ], g) Z1 w" |! w
CJNE A,#24,SETTRHEND3 {# \% n: z" d  P6 T
MOV A,#00H! I0 b$ `8 G1 W7 A, k
MOV THDISP0,#00H
- P7 P/ ]% g" U7 u* ~  u MOV THDISP1,#00H4 U/ w( b, N# B" r9 a; P; m9 c
SETTRHEND:& g6 U. `1 |( W) A
MOV TIMERTEMPH,A5 J2 D6 i* q9 ?- I. e1 \0 k( h' f
RET4 ^2 [  n8 U! g5 A0 R; D% A, V  l
SETTRM:
: S! M4 p! B1 t1 i% b MOV A,TIMERTEMPM; E! ^  [+ u6 U3 |9 g9 C
INC A
  t9 w+ p( B3 N' Q' U MOV TIMERTEMPM,A  h% Z4 `( Z0 S# j8 N$ p7 k6 z9 @
MOV B,#100; `" b: q! \# A' \8 [0 \
DIV AB8 a* W% Q* ?* f- t+ B6 \3 f
MOV A,#10;余数继续分离十位和个位" b: n0 }3 w' e5 H2 ]5 I$ o9 w6 y
XCH A,B
& `! i- Z" g) v% p DIV AB
; ~0 S" x+ n' n SWAP A
4 F8 P% }+ \0 ?3 ~5 t. x MOV TMDISP1,A& R) I1 I3 A# @+ y0 v) }4 r: I
MOV A,B, `7 {( i6 x, q* I. f* [* B
SWAP A
, f) Y* v: ^& V+ u" U( A6 `# ~- a MOV TMDISP0,A
" a2 }$ C1 m0 K' e/ n6 _ MOV A,TIMERTEMPM
7 O. Z* W$ [4 c, K CJNE A,#60,SETTRMEND, l9 E( {& `& e& O1 t/ L7 R- w
MOV A,#00H
! n5 p4 K- \1 u5 D: L MOV TMDISP0,#00H
( k8 I) a. i& S# A& ] MOV TMDISP1,#00H
& N, X2 Y* S: G6 F. l+ [SETTRMEND:
. c3 v8 x8 s: R) O7 }0 n MOV TIMERTEMPM,A, `6 D% b1 d6 V, ]/ e2 R
RET- l; Y) y( _: A5 @, Q
SECONDSET:' f- p5 n3 D6 z3 N. ?7 L/ o
MOV R4,#00H
6 _" L0 z9 F% G9 Q8 M1 h MOV SDISP0,#00H
+ j# t0 L5 r* e7 K1 i7 N5 } MOV SDISP1,#00H
5 \( l8 ~( A/ I( } JMP TSETBACK, H- x1 G8 T( F' C' X) _
MINUTESET:; I2 r. z7 W  G5 e' ?
INC R3
! L# `- |2 X* n2 \! T# [ MOV A,R3) K- m$ h7 b: c* J: s2 j1 Q
MOV B,#100
2 \* N8 `0 i5 C% T, s8 h DIV AB
  M0 j8 [$ G# i6 `, t7 I3 R MOV A,#10;余数继续分离十位和个位1 Q$ E3 c( H7 Q5 }- j
XCH A,B
, V% h9 [/ l/ T# [: \' A- q DIV AB5 W7 T4 u3 j( R
SWAP A- ^& D/ [' _6 e( Z
MOV MDISP1,A, X! ], U9 `) e; t4 V8 `8 w% R$ r
MOV A,B
9 X1 B9 w' L5 ^& m1 ^ SWAP A
& P, q0 V4 w& z# |2 t  D MOV MDISP0,A( E) t0 O7 i1 T  D2 `: p" M) N
CJNE R3,#60,TSETBACK% ]$ \8 ]) ~/ l% ]
MOV R3,#00H* A3 b& H. q) I* `3 I' c* a! s
MOV MDISP0,#00H& ]/ y2 j: X0 u( ^$ K+ i0 E
MOV MDISP1,#00H& Z4 v, x, v( y5 L7 X6 [
JMP TSETBACK
2 _' u$ n( z5 L/ L+ AHOURSET:4 M8 r: M- x: w3 t4 s- {8 U+ u9 N
INC R2
3 K  x" A4 q( u+ V. W8 {1 q- N MOV A,R2
$ Q+ ?2 P1 Q% T& G MOV B,#100
7 r9 F: O; f" y, f DIV AB
" z8 F" y) z6 U: e: w4 P! { MOV A,#10;余数继续分离十位和个位2 w$ v+ f4 e, B3 D; {
XCH A,B7 h( e8 t4 k* q/ t6 }2 g
DIV AB! |2 D) n: j4 u% o# t9 L# ]5 e/ P
SWAP A; P3 q' \2 ^9 B8 a  y) Z+ Q+ p
MOV HDISP1,A, K) z( H6 [/ Y8 v9 v
MOV A,B) a4 ?# S% H5 Q
SWAP A3 @  M6 Q0 w" c6 K0 G3 a' t1 B
MOV HDISP0,A
7 G0 t+ }5 N2 f1 j CJNE R2,#24,TSETBACK& j7 H" O) U2 u% w. a
MOV R2,#00H
& {& z. G! c; k( X MOV HDISP0,#00H
2 I$ u% _" x6 @+ D MOV HDISP1,#00H1 e* T, @" D+ p) o8 w5 ]! k
JMP TSETBACK 7 s6 h) W9 y  y7 k! j4 N
WEEKSET:# q1 `4 k! A3 G1 A) `1 K
MOV A,WEEKDISP01 e4 N9 Y' G* X1 W4 R3 o
ANL A,#0F0H
  M7 a% I/ u% W* u* J- N5 j* M SWAP A : x; s# @- ]2 J$ V( m! }2 V# G
CJNE A,#08H,WEEKSET1
( U9 M* s+ x2 C5 c MOV A,#00H ! m% Y: t; a; |4 A& x
WEEKSET1:
7 e* t( E8 B5 ]$ ^6 ^; \+ i8 ? INC A, G0 q& N5 Z" o1 Z1 u5 ~0 ^7 A7 Y' l
CJNE A,#07H,WEEKSET2) R" U1 h3 j8 f* ~3 o( ]
MOV A,#08H 4 t0 u+ y; _1 j% [
WEEKSET2:
, i$ V2 F( n6 o" I% d$ V SWAP A6 [' x& z0 N2 ]1 k- ~4 w) a
ORL A,#0FH
, Y9 _0 A8 e6 @' ^) t MOV WEEKDISP0,A $ W5 d& H( O2 F: k
TSETBACK:
! I5 f  O% J6 t. U9 d& V' a4 w RET

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
DATESET:) l+ }7 J- m) k  f$ {
SETB RS0;设定子程序
- ?0 `- z" S' ?, ]; [ INC R7, {' I. B- k- g5 e) }
MOV A,R7- Z! T! v3 R# D% {: u* }* I
MOV B,#10
; z5 ~% |8 D% z. F/ ^ DIV AB
. Y/ f! F5 t  p3 K SWAP A
5 Q" E0 r' k8 r- t MOV DADISP1,A
% o) A" y6 }* ]3 }! W MOV A,B0 T( B/ w) w5 A* O, `
SWAP A! k. b$ N$ ~. C% E) @  {
MOV DADISP0,A ' h/ y& |2 \; E# d+ |9 y
MOV A,R5;润年判断* ?! Z( ~) L1 q. t3 A0 l- d$ b- o
JZ ISRUN1
, Z& W* j  I5 y4 C7 e; n MOV B,#4/ \& Z$ O8 H) _5 q
DIV AB. P* Q& M. U/ I6 Z8 E' G2 C% i+ P# F, l
MOV A,B( J9 \- a  @$ b! E% j7 \8 q
JNZ NOTRUN1
4 y* l9 k# P8 X' |: yISRUN1:
6 M0 R4 F6 {6 D! R CJNE R6,#2,MONTH11;是润年,当前月是否为二月2 S) T. W; x8 d. W/ |' F; ]
CJNE R7,#30,DATESETBACK;是润年的二月,到29天?* p' {8 L, ]( d7 F+ f8 I
MOV R7,#1;日第一天
3 c( F7 i' R! b9 U9 g& u1 f/ L MOV DADISP0,#1FH
' B  `( E3 s$ [% h MOV DADISP1,#0FH
) D3 X) ]( F/ B0 l5 i% i JMP DATESETBACK
! {& `* y$ A- mNOTRUN1:
- m; V  R4 w* b2 n4 ` CJNE R6,#2,MONTH11;不是润年,是否当前月为二月
/ L7 }4 v% m% g/ b CJNE R7,#29,DATESETBACK;不是润年的二月,到28天?
& P0 H6 y) P$ n  c2 h MOV R7,#1' _# E5 Y8 T. V/ V- _6 x) I/ O
MOV DADISP0,#1FH3 p2 ]# `' J9 P# T: Y
MOV DADISP1,#0FH
' U/ f; `$ u$ n+ D JMP DATESETBACK0 B! X& G* }7 k" @$ @' t
MONTH11:
' N2 ]1 {) Y. J- x0 ]' O& Y2 ?7 j JB 20H.0,BIGMONTH1;大月吗?, J. Q: G$ K  Q* T0 \
CJNE R7,#31,DATESETBACK;小月是否到了月底
. ~1 I, i; }; ^) x4 |* O2 O. U MOV R7,#1;日重新开始! h1 \) ~* q' \0 g* u+ ~9 v
MOV DADISP0,#1FH
) ]3 H7 [# j0 `0 ^; v) d  o MOV DADISP1,#0FH0 ^( o: Q2 h3 x/ A
JMP DATESETBACK;跳到月加一5 C' V& f0 G! ^
BIGMONTH1:
" a& I+ d4 P8 T/ W4 \! S CJNE R7,#32,DATESETBACK;大月是否到了月底
! n) Z7 e0 `1 T8 W% ^ MOV R7,#1;日重新开始
$ k7 _3 @, r! d5 P3 T9 d MOV DADISP0,#1FH
8 f0 W' R: h" @* `/ E: ~1 h) | MOV DADISP1,#0FH
% N* n( C7 o+ l/ E5 u9 NDATESETBACK:* d7 g2 h- Z; v' Q) ?
CLR RS0
, n8 T, c) w4 C6 l2 e. q' _ RET0 f4 f; k7 }8 O6 A

; ?' Y" [5 g$ e3 G, U  A& gMONTHSET:; Y- E, P' X& f
SETB RS0
2 e* P0 L/ ?. y# V  x( [# Z3 B' L( }9 b INC R6;月加一. L7 L/ c2 i6 C3 [" L
MOV A,R6: p# v- J  a, |5 e6 B) h6 y) n
MOV B,#10;余数继续分离十位和个位( B* M& B+ D, m* w! E& A( h
DIV AB( {' W' W. v+ D* {' r& G- w8 T$ X9 G
SWAP A
; Z) J: I+ E. ]5 D) } MOV MODISP1,A
# R; u5 k7 k6 |7 V+ c9 k9 _# ~ MOV A,B& E+ B$ |$ V; L; o
SWAP A
+ G) A1 P  {* a- G( R  B$ m- @ MOV MODISP0,A0 w! l% f7 b6 R  [( `: E) i
CJNE R6,#13,BIGSMALL1;判断是否到了年底# I. S8 Z! O* d
MOV R6,#1;月重新开始% {( C$ ?5 ?) }' z* k
MOV MODISP0,#1FH
  n6 C/ B( C& C% ` MOV MODISP1,#0/ Q' |7 k4 _7 G8 F0 S- T: E
SETB 20H.0;一月大
$ ]0 r3 M; h& z, x: a, W JMP MONTHSETBACK
% ^. y( B; |2 l% ?) ?& _: ^+ R% JBIGSMALL1:
& l' K- j$ ]0 u5 z CJNE R6,#8,OTHERCON1;是八月,则仍为大月; X& M$ M5 _  l
SETB 20H.0
( a! y; s1 o- i4 C1 D JMP MONTHSETBACK
/ |$ C7 M: `( w+ V' b6 G# pOTHERCON1:
- R! k* l0 P, |5 Y: X8 v( T. n CPL 20H.0;不是八月,大小月与上一个取反  }# Q+ t+ p) ?9 X- x4 q: u" G
MONTHSETBACK:
6 Z7 O0 z; @6 z9 u4 P: K CLR RS0
0 [2 F! q( Y2 G RET
; d; `' ~( ~: @  `# W0 I, `( v5 D1 o# \* u8 l
YEARSET:- ?$ q) H6 Y; z) Q
SETB RS0
: s2 Y/ G4 F+ H! E* r CALL YEARUP& I# ], Z3 k! f. i( I' z
CLR RS0% u1 P# _9 D3 u4 B8 h
RET
: Z4 D6 [2 f' E% ~: v% U3 Y  M& p+ }& O5 o$ P: M
;定时按钮
3 N, g, R4 c1 H) |9 N* v- ITIMER:
* b  I* h: L* W* y$ q JNB 23H.0,TIMER01; f- H1 q; W9 c& s4 W( d5 j
CLR 23H.0" r# b" F3 C* f) Z
SETB BEEPOUT5 M4 Z; d' v+ g" n+ N" d( b
RET
* b1 A' W) X/ E  BTIMER01:7 a7 U  y* m9 i) X, `
JNB 23H.2,TIMER02
& W  W& F* [; [- M! ~: i$ T CLR 23H.2" L6 H; F. i# K; @
SETB BEEPOUT
. a; u: {5 E, V  d0 X8 X% y RET
. G( W, Q) Y4 e" ?TIMER02:: L* X7 c4 b) b
JNB 23H.4,TIMER038 s. s$ }9 Z: E: u) }
CLR 23H.4
+ ?! Q  c+ ^$ { SETB BEEPOUT
2 N  J, ^, P( I; x5 B RET
' c6 G1 n. ^- M! u+ eTIMER03:9 p: r1 j; F. H+ {  Z( R
JNB 23H.6,TIMER1
4 n1 c& l$ G0 s+ c3 t4 d CLR 23H.6: q1 O! J4 _6 i9 S- v7 M
SETB BEEPOUT
& ~0 G) I8 B. L) b; r, [7 [# B0 R RET7 D/ J8 {. L" k2 i
# ~3 K# r  l& s0 b# s* r' u
TIMER1:
! e1 o  l6 q1 g8 b* I4 ? JNB 21H.0,TIMER26 D: m3 {9 m$ g; _. _2 r% L
JNB 21H.5,TIMER10
% h/ x* {7 L- H) C CLR 21H.5
8 u' s; `0 D9 A5 w& a  P SETB 21H.69 N/ C0 M) ]- _0 I) V- G
CLR 21H.7
, E6 K3 v( _& R" x' M& V CLR 20H.6
2 _) P% o5 g! Q5 t( w7 b, y RET  C5 m* j4 a& s4 p' ?7 `
TIMER10:2 b' u4 G: o# X9 L7 r2 R
JNB 21H.6,TIMER11
$ G5 A, a; b( V! C3 g- g( ]: T CLR 21H.5
" e5 X! f, n: j, n/ ~6 F& u CLR 21H.6
/ P' Z$ _- J& D  Z  O! u CLR 21H.7
( u) n) o0 H2 A) y; j! F) I: H# C5 N SETB 20H.6, O& i+ n" m/ S* F
RET
3 J: N2 H; X4 W2 q. h1 lTIMER11:4 Q- }8 M4 a6 |. s
JNB 20H.6,TIMER12
/ j  {) i* X- g CLR 21H.5
5 j' X) w2 L# T- Y% M2 \9 C CLR 21H.62 j: ?. O7 X; f. C  {$ B% q
SETB 21H.7
( w. c( A# Z6 g+ m8 }1 H0 ` CLR 20H.6
! m+ F6 j; M/ \ RET) [( P. x9 e/ [# D8 B
TIMER12:
6 E2 C/ Z- s( H$ _: w$ X/ ] JNB 21H.7,TIMER13
# o, C4 n' ?2 {2 V: Z% L% ]5 }6 ` SETB 21H.5# w# Z: o( K! l7 i8 y: J/ S1 E
CLR 21H.6
- q" d0 u3 W9 }) s CLR 21H.7
! m7 M/ s9 w5 A* g CLR 20H.6# p5 c: n% m# T: U. r0 d
RET' f5 \2 d1 b6 D( ~
TIMER13:
2 |- N" G5 r. `& \7 f CLR 20H.4; e, J5 e4 W3 t# t/ y1 _
CLR 21H.0
8 n* |$ m; I; s! J* v SETB 21H.1
7 z: \* D1 ]+ o- o0 D: d+ ^ CLR 21H.2
& I  @+ B2 l& M4 p CLR 21H.3% O& _6 a" S0 w
CLR 21H.4+ q7 q. F: d% @0 D5 V
RET
1 H% O+ U) r& BTIMER2:( W6 x  G7 [- {
JNB 21H.1,TIMER3% y0 F5 _* x  K! I, H
JNB 22H.0,TIMER20. `2 S/ V% D6 \$ q
CLR 22H.03 Q: I6 [" n: g; ~
SETB 22H.1
  p& `8 a: T& b+ X6 H/ O& F9 U RET' n& j' I, `$ s! D* Q2 S
TIMER20:
" M* {/ p  h% x& T- X- |' l JNB 22H.1,TIMER21& ], h5 \2 \9 N- c- Q; w
SETB 22H.0
. Y9 P$ ~, q8 Z8 Q* }) F CLR 22H.1
" h* V! d$ q/ Y2 A- S RET
# ^4 T, h; e) u# G& }& hTIMER21:
8 F, C" E. F+ f% z5 ` CLR 20H.4
* W+ ]* i* T% X' E. r# t6 @, W CLR 21H.0: v0 H+ L2 L( k5 e2 m" u7 o" F
CLR 21H.1! a. a' S9 Y+ T4 q. a
SETB 21H.2
& B# e  @. J& l. b CLR 21H.3: |. i: h: U9 J( K1 P
CLR 21H.46 K% s( G5 P" w+ Q  ]8 B& B
RET
4 x, q1 u! F& k0 ~TIMER3:
# U7 o$ ^6 A0 k" v  O JNB 21H.2,TIMER4
& Z6 Y: U# {# k JNB 22H.2,TIMER30
; Z/ }3 x# q5 n8 } CLR 22H.2
7 m2 a% \6 x: \) `6 V$ ~7 ]! Z, V) _ SETB 22H.3( Z' {5 Y1 G, N% [- t
RET
3 ?+ q. [* E' x) J. L1 GTIMER30:2 m% a1 W+ E# j  e
JNB 22H.3,TIMER31
, q6 H1 }6 s! r5 T' ^5 {! r6 p0 v! d SETB 22H.2  P# T4 a7 S, @6 ~. r& r" b# o9 |
CLR 22H.3* @" z; T9 X/ }0 t* _1 L
RET
+ F* z& f- m  R; z3 |TIMER31:
; F) I5 R& S/ r$ v6 U0 L1 \6 Z CLR 20H.4# ?0 K9 }' o9 X* S% M2 P
CLR 21H.0! x9 }+ ?8 n1 l& l" B5 K! `7 Z4 h3 P
CLR 21H.1
( I& _4 H2 `9 `- V" r CLR 21H.2# H+ v, a" }7 n/ x+ s! r
SETB 21H.35 l2 t, o& y* Z( h! W5 V: F
CLR 21H.4$ e) z: u- y, C" E* J. h' L
RET6 Q. q8 E3 N5 B* H$ X2 K$ F% q
TIMER4:, u  G' \# s7 }7 H# J4 ?: M
JNB 21H.3,TIMER5; K. I2 H' w, P, p: v& K
JNB 22H.4,TIMER403 }/ c) \& N5 }5 _2 @
CLR 22H.4
! G# J2 V0 F, |6 `5 f7 S2 D SETB 22H.5) S+ m8 y& Z, y9 F
RET7 y, D4 @& ]+ U
TIMER40:
! }# E( f3 R. Y, J3 K JNB 22H.5,TIMER41% {8 {" {- _/ t  f% T
SETB 22H.4
: S8 M0 @) a# g+ U CLR 22H.5
2 y! m( t: a. u! L RET
  |9 q2 y8 G, f4 ETIMER41:* x; R) o" `7 e+ A& @
CLR 20H.4# _) b! G  d) D: |# B7 e: W" a; E
CLR 21H.0
4 a/ y& {0 u2 Z1 i, q0 ` CLR 21H.13 K) I# \/ p7 }: L& f8 p
CLR 21H.2
3 z4 W" j8 `) L. r CLR 21H.3
7 `$ e! c/ `6 Z" p& I9 P; w9 @$ V SETB 21H.4$ `" k" o% V, ?+ C
RET
1 G" |  l& b& ?TIMER5:' i0 L4 G- i# Z4 Z/ ~6 {  c0 J
JNB 21H.4,TIMER6
4 k9 E; l) v9 W! d' h/ {- z JNB 22H.6,TIMER50- Z. o: @: G: z3 P. h/ [! Z
CLR 22H.6
+ Q# J' f8 F. ~3 R6 i6 v7 r SETB 22H.7
% A% y8 J  X" f3 e RET: A/ j. W) d( a  j. u
TIMER50:+ f9 ~/ i* N6 {" a% o
JNB 22H.7,TIMER513 H; c3 a! _+ f4 j% R# x* e
SETB 22H.6
7 [$ F# b( @" k CLR 22H.7: [+ g6 E$ T; b" R3 M1 K! E
RET
4 O$ p9 h- U8 V% E" |$ }TIMER51:% v* s% M7 y% O2 P5 r1 c
SETB 20H.4( h& q- d/ d4 `
CLR 21H.0
, \4 f( N* V4 L) V CLR 21H.10 p/ T- F+ a# r/ I9 |
CLR 21H.2
8 A; Z  n% G5 i7 P6 I! B2 r CLR 21H.3$ ~/ k' U  t$ M0 S( c
CLR 21H.4
9 |( o* x8 a; {3 c: C! V RET
1 r' M* d& h; L1 DTIMER6:1 [4 s' f: i3 ?% K8 z
JNB 20H.1,TIMER61& X! q4 J3 E0 X
CLR 20H.11 J! F3 i# b! @4 Q; N. e8 a
SETB 20H.2
6 `* _# B9 ?, u% Y0 a CLR 20H.3
' E' V$ {' u9 O% V: Z8 t- Y! l RET$ a9 \  Y! [% Z, i; v
TIMER61:+ ~- E) G0 r0 H* T# G& H
JNB 20H.2,TIMER62
" N$ X" C- k8 `: _, M0 Y0 J CLR 20H.1/ i' d+ e4 c  @
CLR 20H.2
% s0 k3 y. N, }1 d8 w7 S) @ SETB 20H.3
: b& V( L' X* b. Z& c RET! l: u8 H3 `) ]5 H- Z6 a+ L5 u
TIMER62:3 K( J/ L6 f: a. t( }. n3 \
JNB 20H.3,TIMER63
2 ?+ A4 i' n$ D9 r5 h SETB 20H.1& G3 M  Q( s) K: p
CLR 20H.2
) s1 f5 ~0 ]5 N5 M CLR 20H.3$ w5 P+ v7 L6 T5 d" u' z
RET# V; K) U& o7 |! d) m( n( i
TIMER63:
' b2 b1 p- A3 T! c/ P CLR 20H.4$ S: i- o9 ~9 _/ i+ J9 C8 i5 v6 }
SETB 21H.00 H6 G* w  ]- U, l5 i
CLR 21H.1
" ]) v* Y, s" @3 t. r" a6 S CLR 21H.2: W* F4 Y  g; D+ _# Q1 h0 \
CLR 21H.34 d  d. i! s' q6 R5 B; }7 v
CLR 21H.4
) H  i$ L2 V5 O% _& }# \$ y RET
- I- G7 h: {* g5 x+ _' J) i) t
$ v' f/ W: R: STOUT:3 ?  }2 M6 M" ^0 {+ @* \7 D" [
PUSH ACC
# `; Q" J/ ?. P0 k PUSH PSW
3 S+ y' N0 C0 l5 E6 `& P" N0 ? CLR ET0
5 W9 U5 H. I1 i4 I( u CLR TR0
# ?* I! [2 l& S5 N. h. n/ U MOV A,#0B7H ;中断响应时间同步修正
/ K5 x/ U# T( }' C% K' l ADD A,TL0 ;低8位初值修正
# ]5 O  w* E+ N! {5 S1 w MOV TL0,A ;重装初值(低8位修正值)
$ ~. A+ J; `0 ]% o( b( n. T) [ MOV A,#3CH ;高8位初值修正/ Y: l/ B8 M& l  {. k
ADDC A,TH0 ;) u  `3 `$ `1 p! {( \/ r
MOV TH0,A ;重装初值(高8位修正值)0 [1 g8 w" y$ P+ ]
SETB TR0
8 n3 Q  t5 y! l7 y4 [ SETB ET0 ( p/ l' G7 K1 k& H2 f
DJNZ R6,TRETURN
( W# w, N) u4 c8 r- }' Y MOV R6,#208 r3 a' n+ K- E6 m% x1 [
CALL TUP4 V8 t) g# T7 d5 j) c% Z& N
TRETURNOP PSW
5 |* R9 b! V: _0 A! z2 @- f POP ACC% D- c1 e+ r) Y4 J, w0 r
RETI
3 h$ x: t1 W$ t) u4 gFLASHTOUT:6 y* A  W: u' j9 S( b+ ]- A, E* p
PUSH ACC
( Y$ ~  o& L, M0 p PUSH PSW) ~0 I% Y; U2 ~+ N+ v+ V! Z
MOV TH1,#3CH
" k( t8 ~  Y5 Z" {6 R( c8 E6 A MOV TL1,#0B0H( y4 v3 }) B+ m) ]; o. ]' |
SETB TR1
% [" W+ L% \, @" R1 y& D DJNZ R5,FTRETURN
. n3 s1 Y+ T, H0 _' e% _7 S4 K. N7 G MOV R5,#5- }4 R8 I, _, [* n* k( T
CPL 20H.7
, q: F2 N" {, P1 V/ ]FTRETURNOP PSW
% a* B, [- z5 c5 V+ z POP ACC: B' p+ g/ M! b) x4 _8 }9 q
RETI* x" c( }( A6 y1 `9 Z
TUP:
% q+ _  ]3 b: x8 U3 }/ _  Y5 ^# w INC R4;一秒到后,时间加累加
7 Y  Y, p7 w) |& n; D: z3 H( } MOV A,R4) v0 w# v9 G" }' ^+ O
MOV B,#1007 ^- e! a+ ?2 ?$ M1 w
DIV AB
# d8 l, I# M3 W8 T MOV A,#10;余数继续分离十位和个位
4 b9 i5 Z! }  f) n) ^ XCH A,B
) W  l3 Y3 k% Z* r7 B) I DIV AB
' x, F' s; q. p# H  ?3 g3 _. t SWAP A- B5 s8 O- c3 e! O
MOV SDISP1,A
. C7 V- H2 Z9 u1 B% P6 n MOV A,B
! e2 g* X0 H- i/ Y3 Q2 M+ ? SWAP A* Z3 L5 Y# x9 r3 @
MOV SDISP0,A
0 _2 i. J: p5 Y0 v6 Y CJNE R4,#60,BACK
% w4 Z& }; K# ]+ ?. X, K MOV R4,#00
8 S) c" }/ X  Z- | MOV SDISP0,#00H
* j' ]  e) d! w3 a/ @ MOV SDISP1,#00H1 ^0 E/ G" P( j. B& S" X
INC R3;分加一
! O" c0 |7 ?3 g( A; v JNB 23H.1,NOTIMER015 }4 n/ I7 d; R$ ?% A+ ~) C  K5 K9 ?) W
CALL COMPARE9 B# X" d. M6 Z) d; r
NOTIMER01:
8 I: H8 T& S6 e1 s9 p JNB 23H.3,NOTIMER02$ {8 H0 b  {  R
CALL COMPARE1/ M3 ^# s! e1 o2 E4 z0 e
NOTIMER02:
& X/ t4 I/ b- S JNB 23H.5,NOTIMER03
9 o: L- a7 o& }0 C: v" c CALL COMPARE2
! b3 f6 d  I& {( @2 }: v% R, hNOTIMER03:7 ~; y- S0 G; W
JNB 23H.7,NOTIMER0
% `$ ?/ V7 z, \4 X5 `& j CALL COMPARE3- _% G% e$ A( S  A4 X4 q) d
NOTIMER0:MOV A,R3, t8 @$ p! O; |9 d6 |
MOV B,#100' A4 c6 a; o$ |8 J# n
DIV AB7 {( \2 l2 B% ]8 o) ?, c
MOV A,#10;余数继续分离十位和个位+ Y9 g% ~3 T% X
XCH A,B2 E: o  l. w9 b2 g9 O% q
DIV AB
. D0 E6 e. M5 P1 \. M2 H) r- F4 C SWAP A  E0 Q% f3 z3 s
MOV MDISP1,A
. r! H' x$ g$ e0 n& r' t; U7 Y: G MOV A,B9 f) u3 S: D4 A9 M% g
SWAP A
% R- R6 _1 r4 g+ [: E  m MOV MDISP0,A+ H2 R+ }( F+ F( g/ e9 i* i
CJNE R3,#60,BACK
- U2 w) a9 i* W/ m MOV R3,#00H
" A+ I+ U, k' y MOV MDISP0,#00H
* g: J8 s/ U1 {3 Z, c& {4 x9 O3 x3 L MOV MDISP1,#00H
3 D. b- n2 z$ i INC R2 ;时加一
$ K% N& G1 g  M( E; I8 n) |# K  Z JNB 23H.1,NOTIMER11
. t7 n4 n5 q. l- r9 C. q% ] CALL COMPARE& \" k7 m" _" a4 ]* F
NOTIMER11:- `) |0 ^% A( e! ~$ K2 e, Q
JNB 23H.3,NOTIMER12& x' B* s9 r+ s
CALL COMPARE1
. n. }; K6 g) mNOTIMER12:
( \( S- d' l- \! G  e JNB 23H.5,NOTIMER13$ z; d: z4 m9 O: |$ `
CALL COMPARE2
3 f/ _' D4 K7 q$ A9 cNOTIMER13:1 R: H: G2 k" G# t% R
JNB 23H.7,NOTIMER1
+ w% }) s3 L% ?7 `* b CALL COMPARE3) ~4 U& U4 M, G+ c3 a6 n
NOTIMER1:MOV A,R2
  ?3 O3 T8 n' S! V MOV B,#100
+ Q$ B, ^$ g: Q) h& v/ s" P& V' K: O DIV AB- b" \: l; ]3 R3 y( E
MOV A,#10;余数继续分离十位和个位
. R3 \& y$ q: ? XCH A,B2 z6 ?) U2 ?! w: G( H. m& G+ D! F
DIV AB
8 X5 p4 a0 A( E SWAP A( x2 k3 r+ E* S8 c$ e/ h
MOV HDISP1,A& z! O! B7 C+ h1 x. h8 i4 a
MOV A,B
" B# R0 L- ?0 [, Z/ [ SWAP A; L7 F2 H7 T2 J" O1 h" e+ H
MOV HDISP0,A
9 {: r; ^; L1 B9 y3 Y CJNE R2,#24,BACK
) J- j% {0 Z& ^# K8 |7 N: N3 q8 q MOV R2,#00
6 a# s0 w" C* ]. v! O MOV HDISP0,#00H- `! A1 N% Y! t% J$ U& T6 e
MOV HDISP1,#00H
/ y. K) a/ `) v$ K: t CALL WEEKSET;星期加一" y; K" ~9 \& M5 Q1 g5 J0 g0 f/ u" T
CALL DATEUP! P' j4 L3 n! f: _
BACK: RET

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
DATEUP: SETB RS0;用到寄存器组1, s. t- N" T- X  D/ `! G- |5 o3 g0 [! o
INC R7;日加10 |" J: [  E. F+ d( @: N
MOV A,R7( C% A% Z6 M* {- {7 y6 @
MOV B,#100
2 |0 Y% G3 x# f DIV AB
; H- G6 W1 i% m! S6 ?* ^6 { MOV A,#10;余数继续分离十位和个位
: ?* ]0 k5 x* T* S0 Q9 N+ K XCH A,B
/ v4 I& h( Y0 D( o! M& E DIV AB
' f. l/ U, V0 v# L SWAP A
: @' I; N7 ]7 p MOV DADISP1,A& j2 p) h2 q8 ^1 \" D2 \
MOV A,B
! j5 q1 z+ N. E1 @ SWAP A- R+ x( n! N6 A. k! ]; Q+ d
MOV DADISP0,A  a  D  D" f) _
MOV A,R5;润年判断: F% D3 X5 l: W. T( |% g7 @  L1 l
JZ ISRUN
* m" s# Z8 p( S MOV B,#4% S" y# Y! k, K: K+ g
DIV AB$ s2 M) A9 @0 y1 t, J
MOV A,B6 u( l0 ?8 x, f; N- S  V
JNZ NOTRUN
& Y2 }* x3 N- ^1 Y% GISRUN:. l& I4 r6 }0 \7 H% t3 ^+ B
CJNE R6,#2,MONTH1;是润年,当前月是否为二月$ Z2 t/ f% C, B
CJNE R7,#30,TODUBACK0;是润年的二月,到29天?
6 f' u' d+ ]9 g3 g; m MOV R7,#1;日第一天, Q3 v$ C4 X9 E4 r; x1 l
MOV DADISP0,#2FH
( C/ f6 `9 g1 K3 y6 T MOV DADISP1,#0FH
1 n0 S2 k$ P7 D' z9 u JMP MONTHUP;月份加一. Q) b* c: L$ ]3 i7 j9 Q/ k- c2 F* l# {
TODUBACK0:JMP TODUBACK: \5 _9 Z6 v) @
NOTRUN:
! c$ V8 [- L$ b" R  z CJNE R6,#2,MONTH1;不是润年是否当前月为二月. N+ x1 o4 f/ C7 i) j0 w; [
CJNE R7,#29,TODUBACK0;不是润年的二月,到28天?5 E% f' O  \6 l* S: F! F
MOV R7,#1
9 u) m+ Y  [, {' m5 o# R( w MOV DADISP0,#1FH' \5 q: U7 ]/ J- \7 h$ m) A# u1 c
MOV DADISP1,#0FH
+ J) n( V" Q7 a  w0 {: L JMP MONTHUP4 U0 B8 |0 B3 \3 g7 c5 K8 K
MONTH1: 2 U6 S! }" w& u1 ?# m# i
JB 20H.0,BIGMONTH;大月吗?9 G. i4 G2 Z; D  U  Z2 C. h
CJNE R7,#31,TODUBACK0;小月是否到了月底
1 W/ X% J4 h# N4 n. K MOV R7,#1;日重新开始
4 H+ _8 j# A1 _5 c8 U" V MOV DADISP0,#1FH
) F. e/ D/ ~9 U: j  z2 u6 v MOV DADISP1,#0FH0 z7 J& E  a* ^4 l) Q: D
JMP MONTHUP;跳到月加一% Y8 w% {$ [) G7 a4 R: z* C6 S
BIGMONTH:
- B" B+ c6 d. i( w CJNE R7,#32,TODUBACK;大月是否到了月底2 ]: ^8 k9 |$ S% t0 d" P0 @9 B
MOV 7,#1;日重新开始
9 x6 t5 c8 f6 F MOV DADISP0,#1FH
0 F0 T$ \+ C8 A% @' B MOV DADISP1,#0FH
4 i- t' A5 D; p7 f1 @8 U3 ]MONTHUP:INC R6;月加一
/ \! [3 q0 x" r0 f8 g/ I MOV A,R6
" H. \" P' J) o MOV B,#100: w. a* J% A8 k5 k) a; x- Y" c
DIV AB
. R6 Q- q9 w0 X) |) T MOV A,#10;余数继续分离十位和个位& |% g) C. R: F% q8 }
XCH A,B( @  m, W/ T# m0 _1 e: y
DIV AB
3 u6 c  q" F. z* S, x" Q4 f9 B- l SWAP A( m6 N2 @" k3 M! d" F
MOV MODISP1,A
4 A# @3 ]5 `( ?$ x2 V MOV A,B2 k; }4 S/ n% o$ b  q$ i( ?. d
SWAP A
( D" ?2 i% I$ ?" E MOV MODISP0,A
) f  S+ j2 @* n& ]; O CJNE R6,#13,BIGSMALL;判断是否到了年底
/ ~/ \1 X& n6 A MOV R6,#1;月重新开始
; y9 \3 @8 ~5 I MOV MODISP0,#1FH
. b$ @: s8 w  Z, a. Y MOV MODISP1,#0FH
2 H, L6 i- n. n6 f# e SETB 20H.0;一月大
( X7 K0 T8 f" _) K/ y1 G1 y JMP YEARUP
- {' K; A9 z( n" o, y7 G. aBIGSMALL:
3 q$ r7 |/ G* t$ z0 ? CJNE R6,#8,OTHERCON;是八月,则仍为大月/ c+ z, v% v, k! ~
SETB 20H.0
7 Q  y3 J2 ]/ i3 Z5 s0 k JMP TODUBACK2 x: F* r' d% e9 I% ~* L( X2 ~
OTHERCON:CPL 20H.0;不是八月,大小月与上一个月取反
: Z2 J4 y( z- n6 l. z8 f4 {* | JMP TODUBACK& r8 d! Q: K; z4 g" T
YEARUP: INC R5! W  j  B/ s! {( D  y/ v* X
MOV A,R5
& v" D6 g5 G" _* @ MOV B,#100! @6 S/ _0 D4 N' D2 i
DIV AB
" y5 F0 [" @: K% E$ _7 ]6 ] MOV A,#10;余数继续分离十位和个位
5 C0 N1 K5 _- A. v8 N3 z) J7 F* n XCH A,B# J8 y/ U# Y' D% T: p, X& H/ V/ d  J- R
DIV AB" k* f$ ]* R4 D9 i  |  \. y8 W2 v
SWAP A# p; h8 R  q. z1 V  M
MOV YEDISP1,A
, ?8 j0 G. Q) K  S2 t/ P MOV A,B5 t7 A& b1 J7 ?$ F
SWAP A; O: r; U4 h2 v
MOV YEDISP0,A
% _# h6 u! J( Z: _) P% _6 I CJNE R5,#100,TODUBACK
  Z; H  W$ L- F4 a+ ]0 D MOV R5,#00;新世纪* B2 \% Y; X! p, |/ I
MOV YEDISP0,#0
$ w' k" R$ _  p; P. G3 i MOV YEDISP1,#0
- T6 c# x" O9 Y+ q0 GTODUBACK:
4 R; b( ]) J6 g" _ CLR RS0" s. ^& T; _8 T  T! _1 i
RET5 w) v0 x+ @4 ~; M% q! [& P) z
;时间显示子程序
3 b; E" _# e/ |7 ^- S  p; i$ KTIMEDISP:! W( C* r3 ^) W; N1 a. d
JNB 20H.6,BB0 " L, e1 [9 G% }, x
JB 20H.7,SNODISP
' c2 G* |# M6 J, ABB0:
( x3 p' N3 ~6 @3 D1 |& u3 ~8 L2 Z MOV A,SDISP0
' ?$ k* Y8 y, A4 N; h* ? CALL DISPSIX" O0 j  j4 F0 M$ j; r
; MOV A,20H
/ I* y* a" L1 y5 ]4 g/ L) O0 V MOV A,SDISP1
) @1 u& e3 b) {  O6 } CALL DISPFIF/ |; x. ?9 W- Q
SNODISP:( d$ R4 k% w# m9 E- T
JNB 21H.5,BB14 x/ H7 p; i8 y) j
JB 20H.7,MNODISP
+ n  k# P, Z$ Y+ lBB1:9 n0 j7 B: n! T6 K4 p$ e( P# b
MOV A,MDISP0* u. u" c" W( }5 d$ [7 H4 i( L. a/ q
CALL DISPFOR6 ~* @3 [5 r- G0 r5 C% F
MOV A,MDISP1
8 G0 t: O* Y* `- J: l4 h$ X CALL DISPTHI- v1 L6 t! R2 R* O+ n& L% `
MNODISP:
* Z. v8 R, ]5 O* r4 H JNB 21H.6,BB2+ [7 }) i2 i. T8 g- q
JB 20H.7,HNODISP
, R# Q  s7 o. E( y* M) P% GBB2: 7 u+ c, J' o0 a9 m+ m  k: A/ \
MOV A,HDISP0
+ T* ]0 x/ H9 T6 [3 H CALL DISPSEC1 _6 o% {, X* c) U: K; _/ W
MOV A,HDISP1: e  }/ I+ _: |$ F  W
CALL DISPFIR
) C3 [( `5 y( S0 ~/ vHNODISP:RET0 e# A  S' M/ Y/ ~. y# c1 ], T
WEEKDISP:! E5 k. J* F  D5 t* s& e1 R
JNB 21H.7,BB3& F+ k$ ^" _& @4 q& j6 T
JB 20H.7,WNODISP
) g+ V: _* D' b& u% a: `BB3:
* B) ~3 d, q8 o# F. n2 s6 _ MOV A,WEEKDISP0
! B1 p0 b3 ^7 ^) h ORL A,#0FH
$ O7 [* O+ }  I/ Y/ o* R6 u ANL A,#0F7H
$ c2 f% m! Z; U6 Z3 o, o  ] MOV P1,A
. G: @, ]+ Q) u CALL DELAY; w& v8 O& a* d
WNODISP:6 [! ?- G4 W' A# w2 [! c+ s7 ?" X
RET& i* A( J" ?. `( O

' o6 B8 h$ T* i' g) l/ J2 v' }) p; n;闹铃显示子程序% D% e; S, z, Q; u: E9 m
TIMER0DISP:
; m* @& m; y5 M! O: k: g JNB 22H.0,BB6;设定分标志位6 I  s* |4 I/ G* P
JB 20H.7,TMN0DISP
; W4 ]: _6 {7 {1 c9 s6 }BB6:3 G9 C) K0 G  a
MOV A,TM0DISP0
6 @' {  l( y5 g! W# f# {, J CALL DISPFOR
6 ?( i& u: @  m' S1 q; Y$ }$ } MOV A,TM0DISP1
" ]' H; S6 i1 {2 R3 U8 x CALL DISPTHI" y2 s& I9 z2 E9 O" T
TMN0DISP:; g7 ]& i* X1 T; t
JNB 22H.1,BB7
" I/ r8 [) Z0 `, d( d0 E JB 20H.7,THNODISP- ~5 _9 j) V9 J7 w
BB7:
# `9 \, O* x6 h: U MOV A,TH0DISP0$ \2 c4 P; ?0 ~' j
CALL DISPSEC
% g' {& R; q. N MOV A,TH0DISP1
% L  i8 J4 [8 P, z6 G CALL DISPFIR
: j4 S/ K5 ~5 F. g. Y* u5 G) P; }THNODISP:
6 s$ B) f# M( Y! Y( F, k JNB 23H.1,TDRET;定时是否开启标志位
5 |9 S" ?8 G, ^+ u MOV P1,#1BH
+ i5 k0 Y+ T7 J: G' S CALL DELAY8 B' X) Z+ @4 n: |: U  o
TDRET:
( o3 n; E; C% |/ `4 i. X RET
5 ~0 I1 e8 |4 m9 TTIMER1DISP:
) r' q( w3 F) K1 P JNB 22H.2,BB61;设定分标志位: P, Z- k. @* @5 d0 v
JB 20H.7,TMN1DISP
+ O" J: }: F, s/ Z% ZBB61:
9 B" E3 Q9 W. P MOV A,TM1DISP0
, Y8 R: G% P/ E0 V8 T CALL DISPFOR# K! \8 [# [9 I6 y6 }
MOV A,TM1DISP1
( ~* M8 Q% Q7 V0 D CALL DISPTHI
4 Q+ d$ @" I# ~* P6 d% TTMN1DISP:
% a1 c2 S# d- `" M$ y4 u6 ]( M JNB 22H.3,BB71
; U' a+ S; q/ {$ R" C6 y3 P; G JB 20H.7,THN1DISP5 t4 X1 J% m9 g( e, c5 j
BB71:6 r' ]1 e. o' o) V( P4 I1 b
MOV A,TH1DISP0
! S7 f' R- y) g/ ~) i CALL DISPSEC' A( ]* }  H  v3 ^* o  W$ w
MOV A,TH1DISP1
, B# L& H, I5 R( P! l7 C) S* X6 S CALL DISPFIR2 v* i9 M8 W1 q. a3 @5 g, \, L- J! M
THN1DISP:
" s; U2 k- T( J# ` JNB 23H.3,TD1RET;定时是否开启标志位 2 W  a6 ~, @; [) u5 ~: n
MOV P1,#2BH) ~, ^- Y0 [, g5 R+ c& t
CALL DELAY ) l0 C% I  K" ^
TD1RET:
" L' N1 \7 r) H RET5 K- i9 f* \' Y' S) l2 I
;;;;;;;;;;;;;;;;;;;;;;;;
$ l6 @& J% J9 L% j. xTIMER2DISP:* e3 O8 [3 o, U) g* L
JNB 22H.4,BB62
9 U/ f! R9 `2 N  A JB 20H.7,TMN2DISP% Y1 P, |; K9 o
BB62:! d$ n( c9 n% A$ p+ {" U: Q
MOV A,TM2DISP0( c0 R  f# k4 k) Y- {
CALL DISPFOR  Y. J9 t5 Y' [
MOV A,TM2DISP12 E' e/ C* Y) u: c- Y0 H7 M
CALL DISPTHI
3 U0 @- ~" E1 i3 o* Z" L# u) OTMN2DISP:
2 b& h+ P1 G2 q) f5 Y9 \$ c2 V5 P" F JNB 22H.5,BB72" K% I4 C3 a# z# F. _0 O
JB 20H.7,THN2DISP
* s. e* X' U1 pBB72:. H" Q6 [9 J& X; m
MOV A,TH2DISP0% |6 h# y/ d* L- U1 G/ W9 Q3 y! o
CALL DISPSEC
! n' v) F/ k/ L0 _2 s) l MOV A,TH2DISP1
2 h$ \' X! s& f. B& L CALL DISPFIR
: Y8 E* }4 P' P, e# {THN2DISP:0 I1 y, ]) @, M2 A
JNB 23H.5,TD2RET;定时是否开启标志位
& t4 {$ N2 d& {* x: j  h& n( R MOV P1,#3BH
- h: W$ K0 G" K* [ CALL DELAY # F( X; i% T/ N/ u
TD2RET:
. s4 ~4 |0 Z  W; n4 w, L, K$ \! { RET
( t5 c# N) F3 d: S
9 h1 V( H( m& uTIMER3DISP:
3 G9 Y* p8 N  _' t JNB 22H.6,BB63
+ h; {3 \. P+ N" e: v JB 20H.7,TMN3DISP
- w6 N- y6 t. b- c- CBB63:+ G# x# A" Y, D: @# U# g
MOV A,TM3DISP08 @% E6 Z7 v- H& P. r# ~
CALL DISPFOR% i' A8 M# ^: h. ~% f
MOV A,TM3DISP1( A9 T; \& l* @( F0 O' _6 _# c
CALL DISPTHI
) c* t) c8 U+ z) N: jTMN3DISP:6 L1 J: D# n0 c* g! f; }- E
JNB 22H.7,BB73
) u! Q+ d; s. \5 A4 ^" p; L( h JB 20H.7,THN3DISP
: ^2 K$ G9 ~* _BB73:" H& Y, m5 F) i3 @- S
MOV A,TH3DISP0& h) E' \5 u: V0 N' ~/ B8 p
CALL DISPSEC6 H/ Y) w0 W3 X
MOV A,TH3DISP1
" f7 T1 g4 h4 J( \3 R CALL DISPFIR
8 G" l, f1 h6 r# R0 o1 xTHN3DISP:0 y# y7 e8 I# {3 b% L" n" R
JNB 23H.7,TD3RET;定时是否开启标志位 ' K; v% v. b# x% m
MOV P1,#4BH6 ?& ?* h6 b4 ?( s) A/ ~
CALL DELAY & u3 \$ C3 z. |( l4 w
TD3RET:
2 a1 H. u1 w" u8 A8 l" f RET# z* H0 l! E& T+ r! U
;;;;;;;;;;;;;;;;;;;5 {  e. X/ f6 N3 j  v% Z* H4 Y+ l
DATEDISP: 3 x  V* D* A) V; q# r6 m
JNB 20H.1,BB888 D' G2 j2 z& u* R& j# G' O& a
JB 20H.7,MONDISP" A+ }! D8 h: D# y9 T( _2 Q$ Q9 a
BB88:
$ S+ _$ s5 S3 d4 m& {" S7 u MOV A,DADISP0+ ]9 g( y. r* \/ a; Z6 q
CALL DISPSIX; D8 n! B+ @% l; S6 I8 {
MOV A,DADISP18 p4 z9 P4 }" i, k( [3 `5 o$ v
CALL DISPFIF' D. ]/ _; U1 r9 V# R9 q# K# a, z
MONDISP:# D& ]: Z4 Y5 ^4 U9 D
JNB 20H.2,BB99
- C2 h. s' G# W, B2 n1 u2 T3 d8 Q JB 20H.7,YENDISP
% I( g4 m4 E" `1 F$ z. x; `BB99:
8 O' a7 v2 L. Y- {5 q0 ^3 g MOV A,MODISP0
6 w% T+ i' i3 b/ v! W" L3 Z* Q CALL DISPFOR
# o$ p! D* D- R- {; N3 j1 c MOV A,MODISP18 M" ?5 O# r! i7 x  t
CALL DISPTHI
% H. p- x7 A$ ~+ ]YENDISP:& z# M6 B9 z, X- X
JNB 20H.3,BB89
; \. T& p% N9 b0 Z8 ?# i4 x JB 20H.7,YDISRET" h  r( h* Q8 Y: K! O
BB89:
7 ~4 m% _/ V9 \, U MOV A,YEDISP0
7 y4 }0 p5 E. ^* Q% M& b( ] CALL DISPSEC+ D9 |# h; R4 n% j: p5 _
MOV A,YEDISP1
; X1 M" i) r0 g8 s' U0 { CALL DISPFIR
5 \* E) t2 ]: GYDISRET:/ b3 o' G0 y& b$ _
RET
! S) k( S$ O% X% |& d9 d' R( ^0 g% [6 {* l/ N7 {; n2 s
;定时比较子程序
. h- H" d1 p5 Y# e) |( o& rCOMPARE:
* b/ C3 q( Q) J' f. p% F CLR 23H.0
( ?+ `6 V3 d0 P0 O; q' }. _* L SETB BEEPOUT0 A5 s' H- @8 f% J
MOV A,TIMER0M;取第二组寄存器的R4,即定时分的存放值
9 Q- }  }3 D" ~ CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较  X' D/ Q( ]6 h8 o
MOV A,TIMER0H;取第二组寄存器的R2,即定时时的存入值
1 ?8 a, G" A' r CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
; k  L# K& A& A5 v4 l SETB 23H.02 t  \) [0 h. s' w. {% w7 J. ^
CLR BEEPOUT" }6 K& |: M/ o" C- d) r6 B2 l; ^
RET7 \9 q2 z$ _$ ^- g
COMPARE1:
: X  T% w0 ~! Y# n9 P6 Z" B CLR 23H.2* y) \* R, ~, T
SETB BEEPOUT
6 q2 N" s# G% U+ z1 T+ K MOV A,TIMER1M;取第二组寄存器的R4,即定时分的存放值7 {; L2 c# A' U/ {5 v8 |0 H
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较
, G# L: Q  V5 J% @3 h+ }: n6 L  ~ MOV A,TIMER1H;取第二组寄存器的R2,即定时时的存入值* Z* `0 o: r' S" M% J- y9 Q" e
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
/ b- b3 z7 l0 O! y$ d6 l; v SETB 23H.2;定时时间到,准备开启BEEP. _: F4 K$ E8 w( r6 @
CLR BEEPOUT$ |( e* q, u) T+ u. w4 n. H4 Q
RET
! U/ I/ ~" A4 C: l& K4 t; cCOMPARE2:. m# C$ [) p1 O/ p- W6 ]! w
CLR 23H.4
# G6 u  f/ ?6 a- Q SETB BEEPOUT
5 I6 ?* Y) E% H+ c# t MOV A,TIMER2M;取第二组寄存器的R4,即定时分的存放值- J# O1 l4 [1 \) F  q' D) ^
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较
( Q5 V! K) ]) f) {$ j$ E MOV A,TIMER2H;取第二组寄存器的R2,即定时时的存入值4 Q+ I9 g. v1 p3 D$ F, I5 `
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较. D+ D; _" [4 N
SETB 23H.4;定时时间到,准备开启BEEP4 Z8 w+ y* F$ M
CLR BEEPOUT
; x' N" k  D# v9 X RET
; V' S8 a- w8 i( X0 \5 o3 CCOMPARE3:
# s) N4 g$ X: N. w- K" t- n9 z CLR 23H.6
' ?' g, I( b7 z3 J3 f' F: o* T7 F0 `' ` SETB BEEPOUT: I/ ^) v6 {" `! t4 }
MOV A,TIMER3M;取第二组寄存器的R4,即定时分的存放值
0 {* H( S2 J; a: r0 Z' C  v# E CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较3 K& v! |# [/ |8 _
MOV A,TIMER3H;取第二组寄存器的R2,即定时时的存入值
4 N* b: X/ T; G: z+ V- y' y" O CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
3 ]( S2 c, v4 d4 H( ?" W SETB 23H.6;定时时间到,准备开启BEEP  g. h  O! B" a$ f
CLR BEEPOUT% P) K/ `8 s2 O; D% D
NOTEQU:3 j: j0 M8 i7 u& \( L1 |
RET
  n( R4 ^3 E, [% m3 [& p
; k: s9 f; i( a! p9 a;延时子程序
/ @2 z# x2 D2 Z5 z$ n3 R$ o2 DDELAY:
3 Q/ Q1 e0 `, x6 J- y& @( D MOV R7,#05FH
+ y7 I# y) R  `& f' C# r6 r DJNZ R7,$
6 y8 e$ K7 @. R! B RET
3 `2 L; k4 a) Q. e2 X1 o) _: ^4 n  V( @
;显示
& u1 n! F# V$ `3 C. {' Y& B5 B/ e. \* D
DISPFIR:. q/ r, W& ^; b% {
ORL A,#0FH
6 x1 M7 o4 C* N' }( n" i ANL A,#0F1H. h! \1 Z) o" q  b: b, B7 }; @
MOV P1,A5 J- m* v* e! X, R+ f; F
CALL DELAY" Y, z, [: H% I: h' G8 v
RET: ^2 T' C. `6 V  Z7 j

1 l* {5 E, A2 F2 k! {. tDISPSEC:, X& z, `' {7 H+ n0 ]( j. |5 a
ORL A,#0FH% A0 ~) R8 {. C. W2 E9 j
ANL A,#0F9H8 O* |& ?3 o0 M9 M/ o
MOV P1,A
" g$ ^2 h$ ^6 y: C  b( E CALL DELAY4 e0 E0 x8 O/ ^8 f) K
RET+ m; B+ I% {( L" T) z$ J

2 G# G$ k  n6 X! \8 CDISPTHI:- T# ^  B( c* \  `
ORL A,#0FH
$ O6 w1 G& {: Y) {+ b ANL A,#0F5H
$ v: ]5 S1 }  h! {9 N0 a MOV P1,A
3 [5 j1 N+ k6 M1 g) s5 v  P CALL DELAY
; T' ?/ [8 H1 {- y RET$ R3 b5 u6 @! S7 s: M0 z
* l9 g5 X4 B/ {' B! S7 ~
DISPFOR:7 U( o4 C! B# _; i, g5 N  \- X

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
ORL A,#0FH
7 }) y3 _3 w9 U$ A  q* E" Z/ ~ ANL A,#0FDH
+ C/ D  U% R) K/ R' y( p( f MOV P1,A& G6 z4 a/ k( N9 i
CALL DELAY
  v, q6 B! r6 Q8 d RET+ n5 Y5 r9 `0 `& t. h/ C* r0 R+ `

% W; w; w) g! @6 m3 nDISPFIF:
1 N( O1 L4 V8 [7 s7 D8 O( }" Q3 f8 P ORL A,#0FH: n  O, B  d9 c/ E
ANL A,#0F3H
$ C3 }" {! X$ z+ |7 P MOV P1,A
. s! i1 T4 J3 f4 m7 B5 ]  o/ s CALL DELAY, H3 O3 a4 y) F' L( a& |/ w
RET- e. J  B7 Y3 d$ s; G+ w2 n
2 t3 K3 s% W- L+ w: r5 k
DISPSIX:0 V5 L; ~0 V8 G( x8 N: C1 Q4 b/ p' c1 |
ORL A,#0FH
9 v2 E# w1 t  \5 J7 r3 ?- P1 L! r1 \) s ANL A,#0FBH
2 k5 I6 J+ B: W9 H MOV P1,A( S0 Y% l: W3 g" z- r5 N! ^
CALL DELAY5 C! b2 z0 o* u0 K
RET
( h) ^% ~: k0 S% |  B' j  |) V! z
8 U' [$ t* n2 l; FEND

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
用到的几个 标志位:" k0 I& {) t% z$ D, h$ @2 B, z
: }- K3 p! o* D4 E1 @
20H.1 日设置标志
, c! F4 M8 y$ j: l8 ~' G# J0 n/ X
' C' \% b" b8 t1 \20H.2 月设置标志
/ p5 Q/ K& f9 q" n) I2 w. s
; N- x" G4 R. Y. m20H.3 年设置标志
- Z$ O, T+ z* _; Y
5 a0 K. K) H+ p' r20H.4 日期显示标志
" ]! Z2 x, q6 s& v' m+ v  n
1 R' d% z5 C6 T. {* b+ |6 o20H.6 秒设置标志4 g' V2 j, r3 }2 J* O  j; x

& `! w8 `4 Q4 {; g: F/ w20H.7 设置时的显示状态标志(闪烁)
/ l! l* T- R0 f. ]( u0 |' H8 x! D$ Z! I* o
20H.0 大月标志6 M) U: u! l6 K8 [

# n5 K5 X' A( T* x21H.0 时间显示标志
+ L: @: _0 A% \+ t7 Q
- ^/ e! |/ l! N21H.1 闹铃1显示标志4 B" d: b/ R9 N1 j1 \3 h; i

/ n3 z+ |2 E) E* j21H.2 闹铃2显示标志
0 C) c4 U, v5 ?( `+ g* s: k: l2 s$ T/ S5 {! V- ^3 p2 ~
21H.3 闹铃3显示标志
  T4 s. p9 J  s# |  x1 K2 S$ c) t9 t
21H.4 闹铃4显示标志
3 p* k! d6 L2 |7 \; O" g2 ~/ V4 e
" V+ i% ~0 i8 _5 M* M2 z$ N6 o21H.5 分设置标志- [" h; z1 e  X9 L1 V+ V: t8 i9 E' b

& t- K: j4 m+ t8 u21H.6 时设置标志
: W1 n% P  I: H7 s- m
- ]" s* g0 [' g1 _7 m21H.7 星期设置标志
! i1 j" t* y, h1 @! v
: s$ c1 a* P* C8 \# A- p22H.0 闹铃1分设置标志
0 R, }) V+ i5 M- ?9 Q! W1 p& ]7 }- T! u$ r
22H.1 闹铃1时设置标志1 p$ m: t8 h7 m# i0 G
6 d) G# A4 F) m+ E# H+ T7 G+ G7 E. a) }
........+ W& r0 B: M* U! x9 G. N5 j

  N* l: |) i* Y1 @5 b# m2 Y4 |22H.6 闹铃4分设置标志( M" M# e7 y0 ~7 z& H

! O8 [3 \9 r  J" \2 o8 N; h; ~5 I22H.7 闹铃4时设置标志
: O! E5 E  {$ d4 y; ?0 v" A6 E% h/ @. i; o1 z) {
23H.0 闹铃1时间到标志
" p3 X3 M% L* z5 T7 t
- x: P' s9 t5 c: S* h23H.1 闹铃1开关标志
, S% }2 v/ i& [0 F/ `# S# r; o3 q; L1 z  ~  J; B' i
........
, }: P! p4 B# U% U1 R) w* x& X0 Z+ ~" f( N0 v7 p' J, X
23H.6 闹铃4时间到标志3 o) Y: ^" `1 p$ E& W- }
" O/ E! J5 }; B/ s; o
23H.7 闹铃4开关标志/ Z% k7 E3 i* H8 O

, K$ [" y6 b6 [( l编程过程中遇到的问题是:5 o& X) d4 G1 T7 T; d4 e
9 X% B, R( ~) c
1.在按设置键的时候在按30次左右的时候,SP溢出,因此强制SP复位,不知有何影响 目前还没发现问题;! |; \6 w  O* \- ]5 x: t+ I* @: U8 B

8 t5 ]( `. m9 ^* u9 T# G& q2.按键去抖动的时候没法消除,因此用检测按键是否弹起检测按键是否按下,这样的后果是不能连加。
) {; W$ c+ U8 b, @& F8 M8 d4 `- |) ^7 K& Q. b
3.程序比较大,2051刚够用。呵呵,有高手改下会小很多的。. |5 x$ O3 Y/ D
9 t1 @" s7 z" M0 x* b  C/ Y
时间比较准,15天左右快了大概有40多秒,跟电脑的时间比较。

该用户从未签到

 楼主| 发表于 2010-1-29 21:12:34 | 显示全部楼层
印制板有误,仅供参考,我是用这个板子做的,做了些改动,段码连线应该下移一位,即,A-B,B-C.G不动,星期显示的由于管子不同,连线也大不相同,根据所用管子自己改动  + }7 W4 t) [, F( Z

: C6 ]) [: T, p% B8 m  b& N& u- e& e  z+ Z$ Z
55767db1.rar (159.19 KB, 下载次数: 1)

该用户从未签到

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

该用户从未签到

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

本版积分规则

QQ|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2025-5-19 05:20 , Processed in 0.931797 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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