维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 361|回复: 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
1 K9 ]# n! Q( c/ ^! y; S& Y# A6 eSETKEY BIT P3.2
* S: U5 p# N/ X7 S  hMODEKEY BIT P3.34 {. v' @$ y4 C
BEEPOUT BIT P3.09 t, b7 W# G9 q7 _# V
# A* |7 ?2 ]: L( K" P2 W
SDISP0 EQU 10H0 }- I6 ^; y1 u% X1 L9 |; r; G
SDISP1 EQU 11H
: M, [" ~& A8 S8 v4 uMDISP0 EQU 12H
" ?( j: e  b. JMDISP1 EQU 13H% J% w# v, d& c5 o; a( G7 y  v1 Y
HDISP0 EQU 14H, G; i: `2 j  b1 J( e/ ~, Z& p
HDISP1 EQU 15H
+ E# W# q3 b% X- u% o" O$ V; R
. g: P& b/ ^' iTIMER0M EQU 16H+ B" z0 z0 P0 ]9 b3 }, D1 g% _
TIMER0H EQU 17H
, m. f: {1 M: H- G' L' r
7 Y3 c/ k2 _; J% fTIMER1M EQU 18H
6 |$ ^. ?- n/ Y# Y4 v# QTIMER1H EQU 19H& e. a( k0 r* n) |7 T( @8 T
; J$ Q7 x9 b% e* L, l2 ]
TIMER2M EQU 1AH9 C; z: i9 f4 S( `/ k# W, Q- |
TIMER2H EQU 1BH: K# _% X, }: c2 N$ Q

- f+ o  F' {+ B4 v8 ]4 M2 k! sTIMER3M EQU 1CH) k( N3 F9 C7 Y% r1 q8 H
TIMER3H EQU 1DH0 e( n: J  Y6 U( \
! K( V, V/ y" Q4 a
TM0DISP0 EQU 1FH/ `" z7 U6 m& ]/ i5 p5 ?- P
TM0DISP1 EQU 25H4 K0 x! p+ h5 v  ?. a% X2 u4 L
TH0DISP0 EQU 26H+ B' f1 `1 x6 {( v1 T+ `  k- |  \& K
TH0DISP1 EQU 27H
- a7 f; k6 S1 G7 n3 h" |/ U8 V; \1 y: L- \% G# |4 `
TM1DISP0 EQU 28H( z' y7 U, D5 m/ _4 G
TM1DISP1 EQU 29H
) W4 T5 _7 a: u' x- a& P2 K5 ~& @- FTH1DISP0 EQU 2AH
" X  r% n( E& \6 STH1DISP1 EQU 2BH/ n; ^2 A1 N. t- i4 r0 v4 _
% N* I  T7 b) ]+ z) x# g; f
TM2DISP0 EQU 2CH
( v1 i1 r8 p3 uTM2DISP1 EQU 2DH' S( w7 v9 r6 ^7 F! l
TH2DISP0 EQU 2EH
( i3 Q5 J$ Q0 NTH2DISP1 EQU 2FH
- h/ U5 X- E' v6 R/ T+ V' T) O9 ~; I% a! \/ O9 ~, t1 f- T
TM3DISP0 EQU 30H9 U: _/ W( g0 F8 \* z- }
TM3DISP1 EQU 31H6 E! q' x$ G+ n1 `: [
TH3DISP0 EQU 32H
2 {3 d9 y) \* S6 S" F' HTH3DISP1 EQU 33H
  J2 N/ [0 @1 k+ i) r# e7 @
& i/ S  Q8 L$ M/ S2 j5 o- h# e. W/ @; i( w
TIMERTEMPM EQU 34H
% Q+ |6 g+ \% f8 K; r5 ]  gTIMERTEMPH EQU 35H3 h2 k" U1 b* X  n# s& l, X

6 T  a; L: ~  F" L, V" e) V;TS1DISP0 EQU 31H
  J/ j; n/ r" {& N0 p" D2 ?8 k9 y8 T+ I; u$ |
3 s+ a, ^/ W: |, [" o0 t
;TS2DISP0 EQU 1BH9 W& o/ D# J& a8 Z
. O0 Y! y+ A' b. L: v

! K5 a" R; `6 J. b9 pTMDISP0 EQU 36H
# Z7 t4 k! {" n7 x' S% O# \TMDISP1 EQU 37H$ m( j! {& h! P, r! T1 u! c
THDISP0 EQU 38H
* Y3 J5 _; B0 H  C5 UTHDISP1 EQU 39H ! `( ^$ i9 t& n. g
WEEKDISP0 EQU 46H
! Q/ f# n4 q$ U7 K* D8 i: A* GDADISP0 EQU 40H5 H! L8 |8 j! k  B0 |
DADISP1 EQU 41H( x( P/ K0 V# a& ]5 d$ f/ X
MODISP0 EQU 42H" Z: C( L- j+ R
MODISP1 EQU 43H/ J; f& S6 F' }; ]4 h6 c1 A
YEDISP0 EQU 44H
8 P9 T9 z! b, SYEDISP1 EQU 45H
9 E5 z7 T- Y$ {
9 b! L) b/ u7 T; B. L& EORG 0000H5 c' [2 m( Q7 E1 s% o. }- ?
JMP START* y' z: E8 w# b4 P" Z! N
ORG 000BH7 ^" W% R8 q" y
JMP TOUT2 s6 z  Z5 s; B, O7 A+ p
ORG 001BH4 X" `( A3 r( m& @4 g0 x: z3 p, I
JMP FLASHTOUT
/ Q+ I/ c3 k1 l
3 M7 S. I0 r; P: Q  K6 VSTART: ! j1 q5 G: z  `+ g/ s! [7 ?
MOV R0,#80H ;清寄存器8 ]6 E# e2 \) k7 N( ^
CR0:
8 d- c/ V9 M6 {* H$ l DJNZ R0,CR1
9 T' s. X8 a8 [' Z" O8 E3 X' F: B3 n NOP
% j9 V1 b; o2 v: i3 @0 U1 t8 k. O3 X: ^ JMP START1" S" Y& K7 p) c0 @% v2 j
CR1:: l2 {6 e5 Y6 i$ \* S0 _4 u
MOV @R0,#00H
. u& y! `7 {2 p NOP
, b0 {+ ~8 q% |  q) g; b) C NOP. A7 a" n  j9 f
JMP CR0
  e: d) |. G2 i( S  J- f1 M, C( k3 ~START1:: u% _! R6 p: J& u; r" G5 J' d* C
MOV IE,#0CAH ;设置定时时间(100ms)
, _/ \7 y- l5 V' F% Y MOV IP,#0C2H5 Z% M8 z/ Z9 E# w: c% t9 v9 j  g
MOV SP,#47H ;设置找钱地址
; x- G0 C# V8 V% l1 s7 M MOV TMOD,#11H ;设置定时器0为定时定时模式1
5 I+ j, m2 z' q, w: I2 Q MOV 0FH,#1
% Y+ s: d( j* X2 e$ @. @+ q* \ MOV 0EH,#1" t; H( T1 _0 [6 ?; e+ x. r
SETB 21H.0 ;DISPTIME 6 u6 C1 _/ |% V
MOV HDISP0,#8FH
" J! G6 W: q; J9 \ MOV WEEKDISP0,#7FH ;2007年1月1日星期18:000 F  }, K5 r. _& D2 p. J
MOV TH0,#3CH2 ~3 F/ {2 s0 }
MOV TL0,#0B0H
2 ]% y: F. W$ t4 s7 u3 b$ e0 \ MOV TH1,#3FH4 o9 n. n! G# Z4 e$ C
MOV TL1,#0B0H
: x6 k0 G4 p  e7 X MOV R5,#1H9 f6 {/ k" i' v+ ^/ U
MOV R6,#20
4 e( Y+ ^( W. P4 s MOV R2,#8. t# U/ z7 R; c* l& |7 r* t
MOV 23H,#0AAH$ Y% R! B) d5 _0 p8 s
SETB 20H.0
6 s- i2 r3 S6 k& N SETB RS0
: Z; ^9 Z2 O/ E+ { MOV R6,#1) o$ v: I' p, M3 Y8 g
MOV R7,#1) ^) W) Q+ J6 S- @7 w
MOV R5,#05 `9 x; b) N# k
CLR RS0. [2 P; z3 z+ E+ W! x# f. K
SETB TR0 ;开始定时- @5 L4 E6 |; P9 b6 I0 i
4 O( C" C9 |1 ?" K
CDISP:
# D. r2 n% s3 g! d0 x0 n MOV SP,#47H/ J/ }* k8 M' M. S( f% m
JNB 23H.0,KEY10;定时时间是否到; W: a% g6 A. F/ i& e) R& R
JB 23H.1,OUTBEEP;定时是否开启- }% h$ ?9 ^& Z0 A( E; U
KEY10:
# H. F! i2 O$ C; J' y JNB 23H.2,KEY20;定时时间是否到
- g3 g# T1 e/ f& C0 b JB 23H.3,OUTBEEP;定时是否开启. M, v0 c( N! c7 J
KEY20:
" G1 g; O/ q. `2 A+ z$ c JNB 23H.4,KEY30;定时时间是否到  g! {8 ]  \( u; a( z  W
JB 23H.5,OUTBEEP;定时是否开启( D* M6 t2 @% H, A, E( P6 {
KEY30:
0 j5 p$ F- L, x7 U# D; s7 c JNB 23H.6,ALTM;定时时间是否到
* h0 o7 T) m( m JNB 23H.7,ALTM;定时是否开启7 G: D+ U- k, r) v' M- h$ _
OUTBEEP:
, h: ^$ o+ N& A( H CLR BEEPOUT;两个条件中考都满足,开启讯响器
( J: N: X" @. g! U$ K6 BALTM:
7 D& \0 F% S4 r% ] JB 21H.1,ZZ1
9 V# |; g- b$ b JB 21H.2,ZZ2 ( m# f* O+ R! f
JB 21H.3,ZZ3 , h- H' c  u5 ?$ u, Z
JB 21H.4,ZZ4
5 O; x3 `% Y8 {* e: q JB 20H.4,ZZ5
3 w/ V* m5 }' ~ CALL WEEKDISP
# b% S1 |, D9 f7 y: d CALL TIMEDISP* q7 A) [  N) D9 E+ Q5 E  y
JMP KEYSCAN7 Q/ s/ a$ q- M) j: s7 L
ZZ1: ( p: w5 t/ C$ P+ r: G
CALL WEEKDISP
. i, s+ ?( O- c4 g CALL TIMER0DISP
8 R( |; D1 ^# B, x0 [; n JMP KEYSCAN7 `$ L7 _- k5 W% G7 b9 e
ZZ2:9 i( S$ j# ^5 O* L7 F
CALL WEEKDISP
) E4 q4 y& L# s( L CALL TIMER1DISP
# x4 G% o# s" O JMP KEYSCAN
9 [+ S4 |$ ~, ?5 U2 WZZ3:
5 H: H& J/ @4 l( Z# k; C& O+ @0 P# f CALL WEEKDISP
" L! R  E# |0 j) | CALL TIMER2DISP
6 \1 F& _6 ]/ y0 } JMP KEYSCAN
* W0 g1 Y# g9 g2 p" {$ pZZ4:
7 q0 }, A/ m( q2 @" |9 s1 i CALL TIMER3DISP
2 N6 K' `8 f7 [' d+ T# z+ Z CALL WEEKDISP
# L3 Z: [. V! Z! u4 p/ z2 N" O; j JMP KEYSCAN
* t2 z! b; ~9 U1 OZZ5:7 Z. J8 L6 M' y5 b- `
CALL DATEDISP/ m* L; n. w7 i
CALL WEEKDISP
) }! H. W+ f" l. [3 q* R0 uKEYSCAN:
1 n! Z# V9 _: C8 f# j JNB SETKEY,TOSET
4 l( A, {$ S) c1 ^) O4 W JNB TIMERKEY,TOTIMER
$ Y% m8 a$ _  b2 k5 p) g JNB MODEKEY,TOMODE;模式按钮 20H.7
0 f' N# F! c8 i7 U& _; s% X" I JMP CDISP% B% O% K2 n* J+ r8 C  k6 Y

6 D  C$ V) W4 f; nTOMODE: 7 y& D/ K  l; m2 m$ {0 o
NOP
! F$ [0 `9 u0 |; {$ n4 o JNB MODEKEY,TOMODE
, A9 L/ _# r6 y# e4 C CALL MODE% J6 L: k* R" z$ T& {" Q0 t
JMP CDISP2 f1 Q8 ~4 j' l6 e# a3 Y0 e
TOTIMER:
! M: m  l" f1 ?& k: ?! J NOP5 t$ \$ ~2 n2 G+ [
JNB TIMERKEY,TOTIMER
8 h3 B- v- i9 b CALL TIMER& u$ S) h- U: U1 s4 t8 w* F
JMP CDISP
# J) ?  @" t7 nTOSET:
) ^3 E1 @! R+ X& B NOP
/ `+ m; n  E9 Y3 j JNB SETKEY,TOSET# a7 \. ?. {( Z/ m
CALL SETTOSET
; Q- R6 b3 W) T  P JMP CDISP% a7 r, x& U" p# ~$ R
MODE:* {: Q3 f" z7 {
SETB TR1
; ?# B" t, a9 L8 P) W8 F JB 21H.0,MODE1
  \( R0 y2 B/ B* s0 Y- | JB 21H.1,MODE2
  G& F  T3 n3 U JB 21H.2,MODE3
" o$ p  w. {# H5 H JB 21H.3,MODE4
( R. U/ k/ |, I: ^3 t" A- @ JB 21H.4,MODE5
( r3 ]* g( {$ n. M JB 20H.4,MODE613 \; g; W3 ?9 e" U* B4 h' F  n
RET
. n, g( `! l% V. q/ ^7 Y7 dMODE61:
5 G+ y7 V0 U) _# I" c JMP MODE6
4 A3 S8 Y  u- ^, @. z, WMODE1: ( V' @1 J4 E: \
JB 21H.5,MODE2
4 c9 }9 g. U0 U+ v( J- |3 Y JB 21H.6,MODE2' b( B3 D) T1 y2 d
JB 21H.7,MODE2+ R! E$ o- `, h7 m
JB 20H.6,MODE2( s3 v( c4 j) M
CLR 20H.4
+ n* X6 f0 G9 R( b SETB 21H.0' C& |: Q) h$ \
CLR 21H.1 ' b& \, W! @0 M1 V5 s& m
CLR 21H.2
0 F: I5 ]- `3 ` CLR 21H.3# m& ]; e% u. M/ w. L9 [2 }
CLR 21H.4
" y+ |" N6 e& c/ P& I& c SETB 21H.5
4 m3 g$ |: `! @  t RET
+ y% N1 Z% N3 R, s" ^  DMODE2:8 A9 {! {' x3 O1 D# t. z
CLR 21H.5
3 f) G( {3 r6 K CLR 21H.6
6 ]# p, P, E7 f/ V) t% m CLR 21H.7$ n# z& f/ o& w$ D" L$ a
CLR 20H.6 ) {9 {$ q6 l- h$ @
JB 22H.0,MODE3% Z% F3 n1 [3 L) t
JB 22H.1,MODE3 4 S) P$ n2 _$ G
CLR 20H.4
. s. }5 [% u( u# \; x. I5 f CLR 21H.0
9 J* M+ h! ]5 x2 s( R/ W SETB 21H.1 9 }+ n8 O' g7 Y5 w0 W
CLR 21H.2
" N, P/ r" `( K, B CLR 21H.3) v; W3 a  [: c- b+ Q, K
CLR 21H.4
6 E9 Z. C# u% K  c/ [3 o SETB 22H.0
9 e8 V- g% n8 V( X/ ?& D RET
5 u- s, c2 ~# m9 M$ t+ g2 y/ _MODE3:7 L6 j5 Z7 m- Z* y
CLR 22H.0
; E% i7 p$ d! M CLR 22H.1
- f0 c- {8 X' f* U% v7 W! _ JB 22H.2,MODE4, p  F9 q- e/ P/ e1 ^- V' w
JB 22H.3,MODE4
/ w; X6 L. B) V; M+ }9 q CLR 20H.4
# q. a$ E' u& [/ {) N6 O7 \ CLR 21H.0; ]4 d3 f; f1 F7 b
CLR 21H.1
5 ~6 P2 q8 d7 J( e SETB 21H.2
+ L0 l5 F$ e8 S/ |0 X3 R8 u/ } CLR 21H.3 4 z$ i6 T( l, ]& R: L2 d
CLR 21H.4* ?' o! W6 V: k! B6 B
SETB 22H.2, k& l' Z" F1 G2 U. L% y7 ^3 H
RET
- ?4 G( O- N" OMODE4:
( [4 V! Z9 ~9 d( n- W CLR 22H.2
+ h  b+ `, e7 }- s CLR 22H.3$ t* S" n8 g: ~- d9 c
JB 22H.4,MODE50 L/ i% o; W% p0 F$ p5 _0 R1 U
JB 22H.5,MODE5: f, n* a. ?, L% x
CLR 20H.4  _6 T- r& \1 I1 O+ U) s
CLR 21H.0 $ h1 z9 G. A" q. J
CLR 21H.1- s4 M" `( |% ~4 H& m' z/ p
CLR 21H.2
; R/ P& c, H/ I4 K9 a/ @/ a SETB 21H.3  R9 h0 t4 H" e1 ]
CLR 21H.4
+ W: g9 U% Y% C6 c! P; { SETB 22H.4
( h' R' w, k+ h) V" p: ]5 _ RET
% H6 E/ c+ L* qMODE5:8 u- ^- x, x* p5 O
CLR 22H.48 g( o1 k" W. M4 k/ n1 r7 [
CLR 22H.5, @" k6 v8 C( {  d% K" Y2 L" R* w
JB 22H.6,MODE65 l; }5 W1 W1 n: a/ i# O4 D
JB 22H.7,MODE6. g2 a( V) r! e$ A- ^; l
CLR 20H.4! N/ R* Q3 z2 y7 O* U9 h
CLR 21H.0
3 x# ~0 `  Y* G+ a  ~$ c% C CLR 21H.1. {* y7 W0 M1 m; |+ _) W1 p
CLR 21H.2/ x) R& I6 o* ^0 |
CLR 21H.3
. D" [9 b7 g5 c9 }! r& ^8 g SETB 21H.4 6 `, ~& h2 @: x2 s4 F! O5 S
SETB 22H.6
1 H8 d1 t# B( Q" F- F7 ]" \ RET* E/ n. v9 E. Q& @
MODE6:
/ I% T" r* e8 j) F CLR 22H.6
  K4 A, o' v7 D0 `5 o2 x CLR 22H.77 B3 v* F7 H: u3 W' |, m% q
JB 20H.1,MODE7/ G' @- A* e% x3 Q7 i+ Q' p
JB 20H.2,MODE7  x% i8 c' _. ^; K: v
JB 20H.3,MODE7& j3 k5 k: o3 z% S/ f
SETB 20H.4  O+ r) U* Q1 ]4 B9 T
CLR 21H.0
; a, M" e* h) \& b: J: l/ Z CLR 21H.1  v, v! I7 e  Z' t, K. G
CLR 21H.2/ \+ j. U2 T6 t) c+ L+ p
CLR 21H.3* @, r9 n; e3 u) I8 k! F& \
CLR 21H.4 - }( F- V0 m$ J0 Q" I
SETB 20H.1: \7 j2 |9 U" s5 f1 b
RET
/ R0 U; Q7 y1 N7 HMODE7:( x8 d4 D+ S8 U6 d+ d1 U# V
MOV 22H,#0H: d/ n0 L  X( D2 T8 G0 E% u1 T
MOV 21H,#0H
) b0 H6 }0 }" ?, {' j3 m/ Z: \# L8 |$ D SETB 21H.0
. h5 K! i8 _& b: }" G CLR 20H.1 , \: S# U/ {. J# s4 i3 `
CLR 20H.2$ N) }) a: E! L6 o. S. L- M$ U
CLR 20H.3
+ h  Q5 J% l2 W/ z/ Y CLR 20H.4
3 t& Z' E* u6 y" a, m* _ CLR TR1
* E* W" l; S6 u, t0 T* M CLR 20H.79 t7 J) [- C9 y" D( x% Q
RET
1 ~& ~* p& W9 `8 J- \* a! }- A4 [2 H" S  a4 M
SETTIMER31:+ @6 J! }, X* Z0 Y1 F6 v
MOV TIMERTEMPM,TIMER3M
% z" L  w! B( e- P' T' z7 v CALL SETTRM
6 X! P, _5 B5 T6 l# K MOV TM3DISP1,TMDISP1
7 I+ ?# }. x$ e MOV TM3DISP0,TMDISP0
  m3 {4 d6 C1 i* I- i MOV TIMER3M,TIMERTEMPM
* B7 `. o. t0 n% k' |2 n JMP CDISP
6 |% U' {! Y# M) Y1 M5 x* VSETTIMER32:
' D) s6 L* j: q: W MOV TIMERTEMPH,TIMER3H3 \, w+ i. B0 C( P7 N, u! V
CALL SETTRH' l2 f+ V0 K& ]  R4 L* N
MOV TH3DISP1,THDISP1+ e# }/ S: ]% c8 h0 S  d6 {
MOV TH3DISP0,THDISP0 : C6 }2 f. g% P1 H
MOV TIMER3H,TIMERTEMPH
6 j! Q: O& V9 F; O7 y5 e$ J JMP CDISP% E0 s/ Y) ^6 F7 r$ m  O5 J

. b3 T# d- c4 dSETTOSET:, y, m7 b) r# U* o" e% F
JNB 21H.0,TOSET1$ A) d9 N5 w& i. x; g% X. F7 h
JB 21H.5,SETM 8 v9 G0 S% r* W! H' y9 i7 H
JB 21H.6,SETH 6 k$ l5 c8 b" {- y, b
JB 21H.7,SETWEEK
/ e8 t7 T6 K. L& Q* Z JB 20H.6,SETS
6 P6 C/ x4 x& s RET: I" \0 F# ]! U* e2 v2 k
TOSET1:
6 g1 B0 |( j% e JNB 21H.1,TOSET2% C% U2 s3 P& G! ~5 f+ v" `/ m
JB 22H.0,SETTIMER01& c( A$ e: F6 R  E3 L7 k
JB 22H.1,SETTIMER02# m9 E) z& J6 V9 [5 D! s4 f' P/ u
CPL 23H.15 c# |' U6 U# _5 X, b/ W' ?
RET' Z% ~* u2 Z+ Z, W# z; e$ n( i" x) E
TOSET2:
( J7 b- b: O/ e4 f5 v- o0 P6 C7 z JNB 21H.2,TOSET3/ i' u5 z4 s* T
JB 22H.2,SETTIMER11* t+ Q% O2 i0 ^3 `( Y7 q
JB 22H.3,SETTIMER120 ^$ I, G) ^# G2 M6 z4 W
CPL 23H.32 f" \* w; K! \" Y' x; B
RET
; x& G2 z; c8 ]3 B; X. sTOSET3:2 \) f- V, M: d7 X0 w: q
JNB 21H.3,TOSET4' a6 K* _7 f# B3 K
JB 22H.4,SETTIMER21
0 b) g# U3 T( ~/ ?& b7 U' [ JB 22H.5,SETTIMER22
' r: P( h3 Z4 j! f+ E' A, i CPL 23H.5' s8 J+ T' \4 P  i8 M& F
RET
7 Y: Y- h+ A& V* M8 h3 i0 h# yTOSET4:
& H0 c, M+ r3 K6 b( t JNB 21H.4,TOSET5
) |9 V* a& f+ l JB 22H.6,SETTIMER31" F" o8 x6 U/ `/ k1 a3 \9 c
JB 22H.7,SETTIMER322 u% i2 b+ m. M& ~) y) v
CPL 23H.7
! B' G1 u4 h7 C  [1 b6 \' @/ n, ]TOSET5:
* E2 Y- T' C, \7 c- J- \ JNB 20H.4,TOSET6
! d- Z0 L- p" I! `" k JB 20H.1,SETDATE7 w; @$ k" A  F, H& `3 M
JB 20H.2,SETMONTH
9 J5 Q* x0 J5 z JB 20H.3,SETYEAR
% U+ F( n) U1 c2 s: tTOSET6:
5 C" Q: }# _( W, U RET
( ~4 s6 A/ z/ USETM:2 }. G4 r' J3 v' \. Z, G; H
CALL MINUTESET0 \: ~. l+ m# R7 ?9 V. z
JMP CDISP8 a" m8 T3 a5 z  H& W
SETH:* m0 h6 s8 w! E6 A
CALL HOURSET 3 W4 @3 B3 L! R" a* |9 U& e9 i
JMP CDISP
+ B$ ~, g6 o, Q) gSETS:8 D# s+ _# E# V  _  L+ f
CALL SECONDSET( x3 g8 C* [+ b+ a* d/ c
JMP CDISP  y  ?' ~. b( A$ U8 p: c
SETWEEK:
5 }& u6 X* k2 L CALL WEEKSET
: ^7 A' C+ v7 K9 I: ~9 A7 b JMP CDISP
6 x8 i" v) }# \+ h% D5 h. NSETTIMER01: ' w( X2 H" A$ n2 R: ^: H
MOV TIMERTEMPM,TIMER0M
9 ]6 w1 T& _! n2 R; F6 I9 u CALL SETTRM
8 U! }" t( u# ]" ?- N) \: i MOV TM0DISP1,TMDISP1
( q  [" z& f$ w& W MOV TM0DISP0,TMDISP0 # p$ e* V, |6 O: o4 t* P5 w
MOV TIMER0M,TIMERTEMPM1 j# Y! P) K4 k, [
JMP CDISP
6 B# _3 a6 h# g! c: l8 S  T, u1 FSETTIMER02:
- k) d) `5 X# c3 e MOV TIMERTEMPH,TIMER0H
0 N4 z/ R) E) k  u0 W8 o  o CALL SETTRH
  Y8 J+ n  Y3 A) G( R) T, Y" W1 S' H MOV TH0DISP1,THDISP1
* A/ e* i8 v( }; ` MOV TH0DISP0,THDISP0
1 x4 H: v2 I' O/ N, g MOV TIMER0H,TIMERTEMPH
, u. ]7 N# J7 { JMP CDISP
! C+ L( Q, U2 z& ^1 [, K! b: P
# l/ J  u2 Y1 G) B. Z# }+ ISETTIMER11:$ y! H! }! q8 J+ A4 T* |- s
MOV TIMERTEMPM,TIMER1M# C; u5 n* j& }8 v: C- u! ^
CALL SETTRM
* U2 L6 R3 ^5 Y4 X% G8 ^4 a3 F- \ MOV TM1DISP1,TMDISP1
( d/ B  [6 B; O  k MOV TM1DISP0,TMDISP0 9 u9 ~' G& `( Y) ~1 ]9 q/ {2 {, p1 R, X
MOV TIMER1M,TIMERTEMPM, f3 D) J7 N+ g6 b- q
JMP CDISP
! S9 R) {  b; n: D) g% D% FSETTIMER12:
  Y3 E6 }( ~. `& S( C MOV TIMERTEMPH,TIMER1H
' O+ O. S/ ?" h2 a" [. S% G  I CALL SETTRH
9 o. ~% j+ h" C& k7 W# \- s) b% o MOV TH1DISP1,THDISP1
( v0 r  f9 T3 a4 |& l MOV TH1DISP0,THDISP0 : h$ H$ o+ J9 Y4 I
MOV TIMER1H,TIMERTEMPH' Z( v% W# ?- p1 c4 I
JMP CDISP0 l8 g1 O) h7 u5 u
, Y1 d7 A' e. }6 Q, t4 v
SETTIMER21: 4 O# x$ \7 @' T) K
MOV TIMERTEMPM,TIMER2M
$ u+ D+ I! L; g3 I: t6 J. `: F CALL SETTRM& C3 O) z0 Q! S3 h
MOV TM2DISP1,TMDISP1* ^& n" w" ^: ^3 }' P
MOV TM2DISP0,TMDISP0
0 a7 P. k* j- }/ q( M+ u/ N, L4 ? MOV

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
TIMER2M,TIMERTEMPM
' ]8 j% n) X, C' G JMP CDISP, a2 K% x# D! A
SETTIMER22:+ d: w  F% P- T3 n
MOV TIMERTEMPH,TIMER2H
0 n: |% x& l1 O CALL SETTRH; F  _0 y3 H4 i; f- b
MOV TH2DISP1,THDISP1
, t; R3 e5 `1 P/ R! B( C6 i5 M MOV TH2DISP0,THDISP0 " |( e( O& G6 a: x
MOV TIMER2H,TIMERTEMPH& l& a! E/ a* K$ @( I- r
JMP CDISP
- r' y" E5 c" ~' hSETDATE:
; I7 U1 d9 J" g' W; ` CALL DATESET
3 }. {2 E; v3 M4 O% [+ g3 P JMP CDISP
- o, i! E, G1 Z' W. vSETMONTH:) V/ Y8 T4 [0 x7 B1 c' b# U
CALL MONTHSET
% b- q7 i7 g9 B1 N% {* I JMP CDISP) T( U* A  s8 f' M3 I$ ~) D, v
SETYEAR:
. T( f% N* `/ i7 _# Z9 @; a/ N CALL YEARSET$ ?1 V9 K9 p3 p* t7 Y8 o4 Q2 N/ r: G
JMP CDISP
1 `, v3 u# R" ^5 wSETTRH: - k( M5 i. T" a" X9 h4 X
MOV A,TIMERTEMPH
' F9 ^( N  F* _# q4 m1 q8 [ INC A
& Q+ E8 M+ I# I% H+ | MOV TIMERTEMPH,A $ |# x( t! k6 @1 _, n
MOV B,#100
: z/ {& I* x7 [3 u. X2 j DIV AB, a6 {$ T/ Z2 B; P8 y
MOV A,#10;余数继续分离十位和个位3 }/ w- `% [. g) g5 i
XCH A,B
6 F$ ]1 R( c% S0 ^ DIV AB+ {, e  X5 ]% i$ ~6 F
SWAP A- ?! `0 q: F* V2 T0 ^. W9 e
MOV THDISP1,A
- _: z4 V( w9 W5 w9 a+ ^5 r MOV A,B
* V# a5 h" M0 l SWAP A
$ y' s: [* E. g) @8 q MOV THDISP0,A
2 `; \3 n5 R. V9 @7 m4 M MOV A,TIMERTEMPH& n) I) h, S. _4 n& I3 p/ Q
CJNE A,#24,SETTRHEND, t+ b' L: Y5 _8 M
MOV A,#00H: n3 [. R" a9 {/ v) e6 @
MOV THDISP0,#00H
. X$ }0 u) s( d5 e MOV THDISP1,#00H, {+ L9 s& a1 H1 N: E
SETTRHEND:4 J# x+ ]" V. |3 w1 @
MOV TIMERTEMPH,A- ^6 s( _; Y* p& k! m
RET" i* {6 T$ C/ }$ F6 j
SETTRM:
9 ?2 o# V( A% |7 o MOV A,TIMERTEMPM
9 Q/ q- B5 J0 { INC A/ O6 L" Z7 B- y4 H5 G3 R+ }
MOV TIMERTEMPM,A% O, }* w$ k0 L. [0 x$ i
MOV B,#100
) D  x4 F; f4 X3 S1 ^) I  D DIV AB
4 h0 g) M8 V5 Q MOV A,#10;余数继续分离十位和个位
* u! F# W8 ]8 {$ d XCH A,B8 T1 y5 i4 u( I- p
DIV AB
3 R- h* M6 O4 K3 B( Y/ i# V SWAP A
5 z' J/ Z4 Y8 m+ y MOV TMDISP1,A
3 a4 Q2 a6 h( h MOV A,B
2 u; s! {* @4 _- y, x SWAP A1 |3 [1 H+ w5 j+ }! l9 f" j/ N% S; V' O) u
MOV TMDISP0,A6 u8 _+ a2 T: N" b. d" ^+ I, k
MOV A,TIMERTEMPM
8 k! S" W5 C, ^, o CJNE A,#60,SETTRMEND1 E# ?- z5 ]' ]5 V6 r+ R4 g% s6 Q
MOV A,#00H
! v% X. Z( ^6 t- C MOV TMDISP0,#00H
7 n  i/ X, e  e, }8 Y8 @- H MOV TMDISP1,#00H
/ @3 a# n& d: J8 |/ u3 j, l$ CSETTRMEND:
8 Z6 x  F; ]; M" z MOV TIMERTEMPM,A9 f$ I% R% [% I
RET3 W  @4 j& d6 U2 m
SECONDSET:
% k1 M& z6 W; d MOV R4,#00H
9 o1 I& C; o% @6 g) t. k1 W MOV SDISP0,#00H
" @) p) w0 ]$ Z4 r. k% }$ f* q MOV SDISP1,#00H, t- o" t( r# p, X8 C! [
JMP TSETBACK
2 F4 D7 h9 Q, L3 C* }MINUTESET:2 u3 n2 t5 B! s% ~! F
INC R3: j; u0 ?9 A) H' B. R  S: ?: Q
MOV A,R39 [4 V! Q  ]9 ~: n
MOV B,#100% B: w3 f3 v* k6 p$ C' o0 t
DIV AB
  t# N$ u& [* J5 @ MOV A,#10;余数继续分离十位和个位
5 B/ b: @) X  T# e* F3 D2 t- b$ C  V( a1 D XCH A,B
8 F3 s: [8 N6 { DIV AB
, l2 ~. M2 m# C+ a SWAP A! H" y$ G, x/ v  |3 @2 |( |% n
MOV MDISP1,A
, i+ D/ V% Z  E  x* x MOV A,B
6 f) M$ z1 A, B6 s' a& |- [/ X SWAP A
- m9 A4 x* e, G, B0 \5 ? MOV MDISP0,A+ }3 w# t+ P% b* [3 ]' K
CJNE R3,#60,TSETBACK
8 w+ S+ ~* ?. B1 b) M# d MOV R3,#00H5 b3 Y0 [! F$ R/ T% e% g, A
MOV MDISP0,#00H
8 L/ d+ }% k* q1 S$ E  W MOV MDISP1,#00H
2 G* u( _8 u3 N JMP TSETBACK
5 h/ [' X0 s' B) Z, h1 E( f# dHOURSET:' k' [- d# C1 S+ d% U# m: e% D- ^
INC R2
& O8 R# q$ U+ L" @) r0 q# f8 [ MOV A,R2
8 Z, V* w7 v  ]% e: D5 r8 L2 J MOV B,#100/ e6 T& Q( j( s" `4 a( V( m
DIV AB3 ~( V; U: H3 \6 M' }' z3 H  h
MOV A,#10;余数继续分离十位和个位
! J  z1 L' B8 Q7 B  W# _4 R XCH A,B+ z  |0 f* i* P. Y2 D. n* G
DIV AB! Y: z% z2 m3 o# r
SWAP A$ d$ q9 v9 }) W9 F! T" \
MOV HDISP1,A9 s- G+ N, _7 i3 O1 B
MOV A,B, e7 d: |  @  w' R: ?
SWAP A
# h5 F- Z* N  Q) R; _% }3 N MOV HDISP0,A
5 ]7 w, q4 |6 ~5 H& z. t5 f CJNE R2,#24,TSETBACK
+ {7 l& M* J) z& R3 Q- b7 R/ L MOV R2,#00H
4 f7 K/ f. H2 Z$ S% ~2 [$ ? MOV HDISP0,#00H
+ n+ T, q  S& x1 O MOV HDISP1,#00H
0 h+ q7 d0 m& {3 M2 M  M( Z JMP TSETBACK
. M$ N5 i. H( `2 ^% c8 TWEEKSET:+ B' f' |4 j* ^+ b, k; D3 K
MOV A,WEEKDISP0
, f* w* O1 I' s8 q ANL A,#0F0H
" Q: h8 d$ {+ J4 N$ K' d SWAP A 0 X7 @7 P# V. B
CJNE A,#08H,WEEKSET1" M! m5 w, X7 z' f* Q+ }
MOV A,#00H 1 w/ o+ z- V$ {) z. V( X
WEEKSET1:. X6 s) e+ a% b7 L0 @# u8 o' e
INC A6 B! a. w6 A! ~! ~3 o1 G  z
CJNE A,#07H,WEEKSET2
* L* n9 o: U( u; ~) D- x MOV A,#08H
& Y; S$ Z6 r+ g, X6 m- FWEEKSET2:
2 N2 S0 V3 x% y1 v& w SWAP A& Y  k) s' @* p: B0 d5 q
ORL A,#0FH' |4 s$ X' Q6 x6 ^
MOV WEEKDISP0,A
1 q- l+ S$ y9 F" hTSETBACK:: j1 r( \6 L' O9 V( H# X
RET

classn_11

 楼主| 发表于 2010-1-29 21:12:32 | 显示全部楼层
DATESET:
- v( R  b3 G: l& A- m, E9 R0 K SETB RS0;设定子程序   i0 c& g* x% o; j% p0 w
INC R7
: C7 r2 J/ }6 n0 W: ~; x  Y MOV A,R72 i7 m4 @& t6 s" Q: w
MOV B,#101 ~/ P: k2 C# _! ^4 j" K
DIV AB
  Z9 b6 M% o: ] SWAP A
+ `: V! V* i  ~+ O MOV DADISP1,A
* x) W& g, ?2 E' n. u MOV A,B
3 L5 S* H8 y0 F9 w9 x SWAP A2 b; q7 p* E* e5 Q8 i6 b8 f
MOV DADISP0,A 4 V, Y2 w/ D! K; O
MOV A,R5;润年判断
1 j! _5 X! q% m, r JZ ISRUN1
, t  h7 o) g  D$ f+ _+ v5 _ MOV B,#4
+ M2 D3 o  K; p$ D8 J9 P DIV AB
  P: c* G4 b  z' z3 J4 H MOV A,B8 u: K  K4 Q% r; l- U2 N
JNZ NOTRUN1
7 A! F+ V3 B: B* s8 y9 _' TISRUN1:" l3 c! f7 I% B+ m
CJNE R6,#2,MONTH11;是润年,当前月是否为二月& m$ ?" u0 w5 Y5 B9 p
CJNE R7,#30,DATESETBACK;是润年的二月,到29天?, w* G0 U& I8 z/ \( g
MOV R7,#1;日第一天. d) b$ ~5 K5 ]2 c
MOV DADISP0,#1FH. x$ [0 N4 C5 F- C9 a4 i' M
MOV DADISP1,#0FH" o0 Q( q7 ]& ]! m; d. V
JMP DATESETBACK/ H) L% z6 `( T7 n) w* _
NOTRUN1:1 I% i- _% ~, t9 a
CJNE R6,#2,MONTH11;不是润年,是否当前月为二月
3 r, k$ b4 k; {0 s CJNE R7,#29,DATESETBACK;不是润年的二月,到28天?
% d  C) h- E& [  r# b MOV R7,#1
5 z2 P; ^, Q* Y- W MOV DADISP0,#1FH
/ B, M4 u) [8 {) q MOV DADISP1,#0FH
5 p7 E3 A, G0 x+ l# X! m' ` JMP DATESETBACK+ }) H0 H6 h1 l' X- e* F" H
MONTH11:
8 b4 j9 T1 j( C) r* {" C JB 20H.0,BIGMONTH1;大月吗?1 D' }5 ]$ O! Q0 t) y# p5 T3 i
CJNE R7,#31,DATESETBACK;小月是否到了月底( t* `2 q0 }; j
MOV R7,#1;日重新开始' |, C1 Z& a& U% z* Z. N4 I: `. _
MOV DADISP0,#1FH
, t- U" o9 \0 ~3 z, q MOV DADISP1,#0FH% ?" r- |9 c7 g9 M
JMP DATESETBACK;跳到月加一9 m2 D' X4 I' |
BIGMONTH1:
7 r' e& n2 Y/ B; q, M: } CJNE R7,#32,DATESETBACK;大月是否到了月底
7 P/ E) ?+ Q3 c& S" u. h- w: g MOV R7,#1;日重新开始; R+ n% g7 a  s( P( V: u# P
MOV DADISP0,#1FH" ^* v) q5 `/ g0 o- g8 P" d- L( k
MOV DADISP1,#0FH% d) |! I/ W" g# Z& b3 D
DATESETBACK:
# |, D& i0 b$ \6 X6 T: \3 q; u( Q CLR RS0; \0 g: Z3 A) ^! \7 Y( O, b" L' [
RET% `+ @5 W1 p% }! ^$ n2 b
6 Z0 `" R5 G* q5 x0 B# y  g( Z
MONTHSET:
( n5 A: N5 C3 `8 a1 p* L8 N3 U- v; @ SETB RS0
" X8 Z7 q) \' m! m INC R6;月加一
) V' F7 z" F% k: G6 a+ h0 _ MOV A,R6* `% J1 [3 ?; F) l6 C& E
MOV B,#10;余数继续分离十位和个位
2 J! ^& X& Z: }, X. r/ M1 H DIV AB2 b" p- }8 p1 S& }. K5 w( l2 i
SWAP A
% [" P2 x! ^3 l) i; ? MOV MODISP1,A
3 z# N$ g5 z3 E; x! a  K5 K6 D MOV A,B
5 K7 {1 U" z# P) D; B) f, d3 l9 T0 p SWAP A
: V- x' C$ e* X MOV MODISP0,A
2 D/ E8 m3 y. _- W! B CJNE R6,#13,BIGSMALL1;判断是否到了年底, j7 h& J0 t9 i+ _. H
MOV R6,#1;月重新开始
5 w5 e( x- |/ x0 w0 `! I. p MOV MODISP0,#1FH
1 ?: ^, g9 t  l" v& q3 \; r7 U+ b MOV MODISP1,#0) O1 P8 G  B! L! h3 g
SETB 20H.0;一月大  S7 Q0 v) O0 h
JMP MONTHSETBACK
/ V# f& [: G( L4 l1 hBIGSMALL1:$ K8 s, i4 c0 r; U. V' o8 c% V; ]
CJNE R6,#8,OTHERCON1;是八月,则仍为大月- [! l- j" P4 `) _, f+ Z" [7 ~1 n  T
SETB 20H.0
, Q) U( i3 r2 ] JMP MONTHSETBACK; F2 H& L' ~+ U9 V
OTHERCON1:6 g% E% P$ f1 t: D; C
CPL 20H.0;不是八月,大小月与上一个取反
2 \) G3 D% S9 }$ EMONTHSETBACK:
( x2 b$ v' C: W CLR RS0
. ?4 _3 I( s5 p. E2 b3 T RET8 |6 V  w4 ], k1 f) ~9 F1 n

' p* t% e. q7 M; f9 j' GYEARSET:
+ B9 Y3 g! `0 I5 t# o' P9 ` SETB RS0/ k4 g  J( y* J+ k. K
CALL YEARUP
# M7 Q" u- B. Y/ O5 E CLR RS08 h, P8 M, s& D1 @2 |
RET( {. _0 Y9 h9 q  c

3 w+ W- X0 a0 y) X' p) Z5 J;定时按钮2 q5 Z& ~9 V: c* `) k( e  U) u' t  u8 i
TIMER:! M! _& @7 H: E. m( P, s* W
JNB 23H.0,TIMER01
9 U" d5 t4 ^: y4 T# q CLR 23H.04 _) [7 C0 o5 @1 A6 F
SETB BEEPOUT. @5 m4 V. H: S7 N8 G5 s
RET
& P" {% @; T' }; ^, N3 yTIMER01:
- x2 W. A# {2 m4 \ JNB 23H.2,TIMER02/ l* V9 T. o6 H/ L! j4 P3 A
CLR 23H.2! [$ e% G( Q# ?
SETB BEEPOUT
/ [. z) Y8 `" x; a6 N6 n RET& [! J: p# S: b
TIMER02:
8 J0 ?1 o* {: x3 ^- L4 p JNB 23H.4,TIMER03# e  i. p; b8 ~' Q9 D
CLR 23H.4
; ?4 i1 j# d2 i! k, T' ~3 R SETB BEEPOUT: l6 u+ x7 u/ H  d8 S1 p
RET
* J: ~" ?: B* N" ?1 s! g4 M' T: |3 GTIMER03:
9 J- D6 T3 T/ x/ ] JNB 23H.6,TIMER17 g. D# L/ h, N' P1 v- C7 Z. D' C
CLR 23H.6" k/ o1 D0 t& p3 `0 r6 o# a
SETB BEEPOUT+ k& H& ~6 u( o( @& n
RET5 T" `+ ]; k0 s1 _2 x
  ]/ {3 M, p7 J, b2 v( b
TIMER1: # R( q  \/ N1 o
JNB 21H.0,TIMER2( K/ P: b( }. S: r+ m* ^
JNB 21H.5,TIMER108 E% D+ z& z) R% A+ _3 T
CLR 21H.5/ u/ k! a! @8 g$ _/ D. w" ~
SETB 21H.65 P% A8 b# i" `- |+ h4 X
CLR 21H.71 r# H. L: f" S
CLR 20H.6 2 K  l4 Y& \* `. s
RET
! Y% o0 i. T* }, w" DTIMER10:
& t0 ?7 Q" ]0 Q8 I, z' F JNB 21H.6,TIMER11, S, c8 ?* o& `1 I& O7 |+ F" U
CLR 21H.5+ V6 O( ~/ A1 z6 o' I$ ^
CLR 21H.67 U& z) |$ w& L% I6 ~) x
CLR 21H.7
. d0 [# d& w, C) Q+ k, h3 A SETB 20H.6
: Y; e7 S- g# c: r: T6 R0 X RET# ?4 r2 m  n4 O+ a
TIMER11:
* e! n( R) O1 a* f* G* @ JNB 20H.6,TIMER129 `$ q. q# I$ s( R' u  N* n' A
CLR 21H.5" z& a' f3 U: _- e
CLR 21H.6
! }; i0 y( O1 p. ` SETB 21H.77 O* o# k" y; X
CLR 20H.6
  z! g  n: D* E$ j$ ], Q RET+ V5 L* Q& ?3 n1 N1 _4 g' o$ B
TIMER12:. r. w) L+ l5 C- G2 C( j
JNB 21H.7,TIMER13% b) @1 n3 q/ R) _2 M: r! X9 p
SETB 21H.5& }; r; M! q+ I) d! p
CLR 21H.6  _% F" [% T# V% M# D
CLR 21H.7& D& F) ^! ^* h# j4 k; p  P
CLR 20H.65 V/ J; y3 N7 s9 ?! |+ i0 I
RET
2 E0 h: o3 u" f0 {, ^, yTIMER13:
1 I/ @# w1 {3 ~% M: b1 X CLR 20H.4
& ]. t6 G0 {: `* c+ O, ^ CLR 21H.0
: Y3 U5 D& {3 ? SETB 21H.1
' G1 `2 `3 J9 I* G! C* I% Z CLR 21H.23 [$ k) B: M% ]) ?% J# ?( @+ f3 ^
CLR 21H.3' {) D$ _. Z' @4 T2 i6 ~
CLR 21H.43 h' i' p: R7 v! e# _; W
RET  n# X" }$ `3 g/ _3 p) j5 R
TIMER2:
+ ?7 G- v: t. d" S JNB 21H.1,TIMER3- p" _5 d0 u  @: l( ^2 g
JNB 22H.0,TIMER20' R/ S5 `5 t4 t9 @0 T# Y! i
CLR 22H.0! t9 h- Y# q# t. m; U$ u
SETB 22H.1) ^  y# q$ q! j( K" h
RET8 N4 j$ g7 g7 |) ^+ R
TIMER20:
8 R6 J3 A: K( v0 f JNB 22H.1,TIMER217 K+ c6 E' W2 w6 _6 b2 a
SETB 22H.0
( `: \7 _8 s9 Q* G- I0 T CLR 22H.1
9 J4 z4 h% u# c! m6 s5 f RET
! g6 K7 P) E+ g+ Q# k) R& mTIMER21:" x* m1 D+ X$ Y
CLR 20H.4& Y& T- e  L# d4 A  n8 N
CLR 21H.0
  r7 E4 g/ {. [ CLR 21H.1
, E5 c* R/ D) V2 c- S4 y SETB 21H.2
! X, e+ r# m! Y* v% A" l7 o1 v CLR 21H.3
, E) g) |& W6 s% Q' |! i' I CLR 21H.4
0 R- N: a. ~" {6 N; W' m! V RET& y0 X9 c5 h6 s2 H( m7 M
TIMER3:8 F7 T5 l8 \" W2 a
JNB 21H.2,TIMER4
4 ?8 ?6 R0 s( @; H. q1 x+ a5 ] JNB 22H.2,TIMER30
2 c: ~* _' f' S" X! G3 c CLR 22H.21 h6 G9 `1 P/ z+ r6 v
SETB 22H.31 e0 m9 [" o. j
RET
7 q# S3 t" b! S$ a% R, \TIMER30:
: h) x) S0 P, Z) V JNB 22H.3,TIMER31
5 Y( k( u$ K: Y5 K SETB 22H.2
5 `& {% T4 o7 Y; d" e9 g CLR 22H.3% F1 t6 u& {) b. w% v+ x
RET) k/ Q, O( n5 I
TIMER31:  N- Y3 z# M$ n- m9 K
CLR 20H.4
+ a, V4 [" G! w. T8 U CLR 21H.0' Q$ X  Y6 W# A% w2 Z2 m; X
CLR 21H.1* l  R+ F/ s  b; R% f9 [
CLR 21H.2
2 G2 h# M+ s7 K/ _; d' j, J SETB 21H.3! Y5 c0 D/ Y, |% v+ z( y
CLR 21H.4
# Y) E2 Y) a; ]0 t RET
8 O$ [; s, o# I, U. l' D- UTIMER4:9 j& n0 I# u2 n* ^# P" L3 Q
JNB 21H.3,TIMER5
1 j0 Q' [# h# D JNB 22H.4,TIMER40; }3 T; Y- V& E: \  X8 O
CLR 22H.4
6 c) I1 _: f* f  I' E& i SETB 22H.56 z% T% t3 t  O% x8 E
RET
! Y! \0 s* w, a* b, x" g, NTIMER40:& e- f2 i: L* ?% e% a
JNB 22H.5,TIMER411 w* L) K1 W& K' C  h
SETB 22H.42 U# u3 v! Q) @) N9 L& Y
CLR 22H.5! `* l3 E/ W  f9 w6 `- y5 i
RET
1 E4 v' `# a/ I" dTIMER41:
! r& |1 ?3 I3 q( @4 A8 d CLR 20H.4  y" L% B! `: m) y/ R
CLR 21H.0* O% P9 ]: C0 I( ?
CLR 21H.1
+ z8 ~# Z' a7 t/ P CLR 21H.22 B6 o8 T1 X, s( y1 A2 c
CLR 21H.3) e' W" @( Q2 l# V- s. h
SETB 21H.4
- G$ x2 \9 |! F! U8 v RET' {# v4 j, A- c# f4 t
TIMER5:
3 \1 n' B# ~5 ]  i: J3 x) x/ ? JNB 21H.4,TIMER66 e0 _' L) i+ |( X& D( k) N
JNB 22H.6,TIMER50
1 L, [6 [- ^, n9 ?" j! X4 \* K% } CLR 22H.6- l" Z% W, n0 v( B! y3 M
SETB 22H.7
7 g# O/ f, Z# d2 ?- g RET3 F% m& S4 `! n3 v8 [/ S
TIMER50:& d1 T# _- h, P+ d( t5 P6 ?2 t8 Z* a+ K
JNB 22H.7,TIMER510 M4 [( g6 H0 E6 K, p  r
SETB 22H.6
( ~9 z# r3 W- B4 G! N& }& j CLR 22H.7
  K  f* h, O; k8 I$ j, s/ K+ ~( C RET
$ a, j& b1 P( D5 }7 I! ?' I$ FTIMER51:
' y! [' x/ R( Z SETB 20H.4
5 H$ r( a, y& z! S$ u CLR 21H.0
' d% [. V% n8 p CLR 21H.1! h; E/ g0 J+ C, N' n; O1 n
CLR 21H.2+ _: b# h: w* D
CLR 21H.3
" r% f& v! o. ]' w. | CLR 21H.4
1 [0 Z! o, _6 i! s6 S5 j% ] RET
" u: G' _" U  T& H8 {  s0 R1 NTIMER6:9 _6 D2 V, S% ?( D) j1 N# P) q
JNB 20H.1,TIMER614 d: A7 w; {' N! X& N
CLR 20H.17 g" T- d5 P! ?5 L: f8 q0 x/ ]+ [& o
SETB 20H.23 L6 @7 {+ n- ~- A; @$ Q) M! t
CLR 20H.3
& p% ^/ ^* T0 s( Q1 j) l* R3 J RET
* a( u: D  f% _( e$ nTIMER61:' F' @* ~9 f: N1 R
JNB 20H.2,TIMER62
* \: v: _% c5 q CLR 20H.16 ~) N: }6 @7 F2 y- l2 q$ B% v- H7 k
CLR 20H.2
  c# j! {/ X: Y3 u5 } SETB 20H.3
- e! n/ Z/ o* j: l, r6 { RET7 t* ^7 x* V6 d, l1 |8 J; F0 ]
TIMER62:1 g& ^+ [, L6 R2 J9 w' I$ Z0 M
JNB 20H.3,TIMER63
; O+ `9 q- E( Q1 o, f SETB 20H.1* }  E) G# p! @# i7 G$ w+ |
CLR 20H.2+ j: l( p8 Y& J3 N
CLR 20H.3
% @: s) Y- Q0 Z, X% V$ |# a% O RET
+ R% s) e2 o, |$ K* u8 ^6 v$ HTIMER63:
3 T4 F; ]! k! \5 D- G) y3 e CLR 20H.4
0 S" n- r2 f4 o% r8 ? SETB 21H.0" D9 ~4 {, f9 {1 H" I% D! E# ]- Q
CLR 21H.1& |1 r) O1 @. f
CLR 21H.2  C4 f9 s* Z6 g/ L
CLR 21H.3+ `% j( f" k4 ^4 ]7 Z+ C4 i
CLR 21H.4
' C' |) O4 s5 n/ l+ ]. o( Q: W RET) i* @# b6 d8 O9 R  k

; v& r6 R# F- z) @: }' lTOUT:% R, _; ?. d! U4 c+ C+ g; x& D
PUSH ACC
, k) h" i' M1 h; g+ p5 q PUSH PSW
0 b1 X8 U1 ~# C CLR ET05 n" c+ A& g2 v5 h
CLR TR0
  `5 Q  h- c! k7 h+ f MOV A,#0B7H ;中断响应时间同步修正
8 b, R; \; w4 E+ \3 ^ ADD A,TL0 ;低8位初值修正
) a' L6 X- [! Y% g2 @8 l, a: N MOV TL0,A ;重装初值(低8位修正值)
( I, o# H2 r- A7 ~3 m" O" e MOV A,#3CH ;高8位初值修正
0 V% g( s9 p7 D ADDC A,TH0 ;; X; g$ n2 v3 Q; A0 d6 ?- M# L
MOV TH0,A ;重装初值(高8位修正值)3 C4 }+ C# b* Z" P5 _; F
SETB TR0
, R# N) C; V1 _+ M1 O4 g SETB ET0 1 v8 O( a$ e# ]
DJNZ R6,TRETURN
$ B4 [  m8 B1 W3 v/ ?7 c6 \2 a MOV R6,#20, v& T- h8 C# r
CALL TUP/ [( m2 O1 p7 n- j. k7 j
TRETURNOP PSW, u" n( Y1 O8 N; i/ ~
POP ACC
  K8 }, [' A- |9 Q( Z* V& v RETI
- O( P4 \6 b- V6 m1 ^; vFLASHTOUT:; \2 a; F5 d% G* t; I8 u
PUSH ACC
" J2 f& U) F) J PUSH PSW
9 {7 W* W7 W7 N4 e: {" m, E2 i/ U MOV TH1,#3CH
! l( j% x- V# Y MOV TL1,#0B0H2 d4 m" R( p+ Y* R" @5 Q& [# M
SETB TR1
6 v( I& z8 R) B0 a: j+ x DJNZ R5,FTRETURN/ o* P! K4 e$ H1 |, y2 Z
MOV R5,#5- _' {& P7 r5 V) Q( _0 g3 ]: h
CPL 20H.7+ X$ m2 H* F9 p) M( u
FTRETURNOP PSW
( d' w2 p. I; {( x( _3 G' O POP ACC) z6 N+ \8 r5 z. K3 S5 @
RETI& @# K& j* n- E# C1 \$ n
TUP:
3 W+ [+ N- y" G7 ?! ~! U; i INC R4;一秒到后,时间加累加$ L& k1 ?4 s0 F2 o8 w
MOV A,R4
# G8 D$ u" q4 \ MOV B,#100
; P* a  T* n" Z DIV AB: P% }  k* q* D, d
MOV A,#10;余数继续分离十位和个位
2 R) q3 G' U7 j# P XCH A,B
, O" U: u& k8 Y1 O" X9 S* w( C& v DIV AB
- p# ]8 A: l: h- ~' P. L SWAP A
6 i3 _2 f6 o- p$ ?+ d  Q: R MOV SDISP1,A
' S4 e' M0 p0 e; ] MOV A,B
4 D* k% n/ b+ B3 E% c SWAP A! `: t& @; w4 i% v( v4 B) d
MOV SDISP0,A5 Q  O! @% {  P1 O% ~* i8 n
CJNE R4,#60,BACK2 ~0 B+ k1 E) w! t2 Q/ i
MOV R4,#00- t' W* t2 Z  l2 g
MOV SDISP0,#00H; g' P( B& F$ n
MOV SDISP1,#00H
. q) t- `6 T6 ?6 U( P INC R3;分加一
# l9 Y- R2 @5 d# S2 r/ t, b JNB 23H.1,NOTIMER01
" ]- {+ H( o8 g7 R$ O CALL COMPARE
; R9 X# N, ]$ QNOTIMER01:/ a/ i% \+ f" d  c
JNB 23H.3,NOTIMER02
- k# d: r, r/ a( I CALL COMPARE1
; w( k* `8 Q5 Z3 i' |& [NOTIMER02:  z( ^' R4 b  h' K$ l' z6 u! G
JNB 23H.5,NOTIMER03
: n& [$ R$ M! u8 p: q  T CALL COMPARE2
+ _( J, N) x6 |" O$ W' WNOTIMER03:
+ B0 w* q2 H( P6 a( l JNB 23H.7,NOTIMER0- o* x1 ^% q3 S- L+ [
CALL COMPARE3
* a% s1 R8 L$ z/ ANOTIMER0:MOV A,R32 D' f3 W- D" C
MOV B,#100
+ t% V* S* \& S$ o1 V/ U6 s  o DIV AB
/ M% E: k- C) h# L MOV A,#10;余数继续分离十位和个位
8 I# ~2 o' |+ h1 p) H& t: R XCH A,B. B( N) b' d6 v
DIV AB# |: v) s$ \. o% B6 X; m$ i
SWAP A
. o/ W. @, ~7 u# Q# s MOV MDISP1,A6 {" Q4 m1 n4 |& b2 }
MOV A,B8 Y0 I* {' `2 C* d- @
SWAP A$ m$ q6 r7 n1 M# M
MOV MDISP0,A, `; c' `  D0 ]" S  n7 h' ]: V/ J! z
CJNE R3,#60,BACK1 _  {% T9 a0 H. `$ F$ K
MOV R3,#00H
/ e; ^  p5 V2 S MOV MDISP0,#00H
& r+ D, [1 s9 m( N! w' I MOV MDISP1,#00H
" X4 t5 U! s* u9 t' U' b; M INC R2 ;时加一( t5 C0 q8 U- [/ ?9 Y$ A- M+ s" I
JNB 23H.1,NOTIMER11  Q( `* G" D% c3 M! y
CALL COMPARE
( d4 c  ?# a- g, a$ `: [NOTIMER11:
* e/ a7 {: @$ { JNB 23H.3,NOTIMER124 T6 Y3 o! f5 r# [' L
CALL COMPARE1
3 }5 ^  y$ K+ b7 O# p. }4 pNOTIMER12:& t) [3 h% x" L; Z
JNB 23H.5,NOTIMER13
  d+ g/ b( X" R) h+ |+ n1 @4 Z CALL COMPARE2  m0 v$ i* |: B3 w
NOTIMER13:) H" l: Y  R& b: |; B
JNB 23H.7,NOTIMER1
2 c( o. c6 T# ]( c! o CALL COMPARE30 M4 D8 Y! |& r: n" z0 X
NOTIMER1:MOV A,R2# u; V6 y5 W# c9 H' Q
MOV B,#100
3 F9 g/ Y) o1 g" W# c2 `% k) T  a+ K DIV AB7 K+ l3 Y0 V; F+ g. K5 Z7 |' Z% b
MOV A,#10;余数继续分离十位和个位
8 q& R9 t) Z# e$ t& I8 u XCH A,B' A: X7 }) n* ~2 a2 k( k( O
DIV AB# }8 c9 q( z5 e/ @" H& R* `0 G
SWAP A
. [9 ^* e0 Y) m MOV HDISP1,A
$ {. o( O7 \0 Z8 y4 Y4 f) B7 l) g/ y MOV A,B: A' w& X( ~. e; q' b
SWAP A
- f2 c* }8 Y4 U0 Q! k# j) e MOV HDISP0,A6 U6 \8 g: n, a2 J8 W; J; c; _
CJNE R2,#24,BACK
+ {1 Z: C7 l8 n* t MOV R2,#00# Z4 V0 W, s% a4 W
MOV HDISP0,#00H
# t  p8 ^% o1 i! t$ u MOV HDISP1,#00H; |# {4 v9 |$ m, r  Q- ^
CALL WEEKSET;星期加一7 T8 l8 J: u* m  l7 i  E
CALL DATEUP- V- ]0 K; ~5 Z& n4 J0 F: E) B8 k
BACK: RET

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
DATEUP: SETB RS0;用到寄存器组1$ m- J! @. p; L% g: l# w
INC R7;日加16 K' Z' {1 p3 \. p& g; _
MOV A,R7, W: \# q- [! e3 ]
MOV B,#100) G0 {4 g2 D; [
DIV AB
2 t$ }: s2 U$ v) k" \0 n! W MOV A,#10;余数继续分离十位和个位& B4 D1 y. `& ?# G
XCH A,B: d8 C0 Z2 ?& Z$ ^) D6 W4 F
DIV AB
" U. K' Q  q  z# h3 z SWAP A
! ?1 O, i/ H0 E/ b( n9 ^& g. E MOV DADISP1,A
1 ^5 P+ L6 E7 X MOV A,B
+ t: t# \1 K6 s! U. k/ D7 l SWAP A0 Q$ m" a4 e" k( a( Z
MOV DADISP0,A
0 k, U3 J% p5 D, V MOV A,R5;润年判断  M0 ?% W( y6 r
JZ ISRUN9 K$ H6 D' N8 E6 w+ b/ y0 `6 _
MOV B,#4% V; u7 P8 t/ D
DIV AB
) `' w7 Z' a4 M2 K5 T MOV A,B
+ N/ T6 M3 W& j! J  [* B+ h JNZ NOTRUN8 c' e& Q) j9 _4 d
ISRUN:
. t+ t5 T% M: G1 ^# N1 n CJNE R6,#2,MONTH1;是润年,当前月是否为二月
: k& _2 d, A8 {, C CJNE R7,#30,TODUBACK0;是润年的二月,到29天?
: |1 e$ Y8 |( b4 y MOV R7,#1;日第一天( f; A  S8 j6 m# X0 @
MOV DADISP0,#2FH
( e; j& C3 a0 B MOV DADISP1,#0FH
# b, P/ A' T" R# }2 S, O JMP MONTHUP;月份加一3 u9 T; v% ]; m. S: |" K
TODUBACK0:JMP TODUBACK
/ J3 m  _$ ~6 HNOTRUN:) ^7 s/ M7 R& t+ }( g
CJNE R6,#2,MONTH1;不是润年是否当前月为二月0 Q  s0 F1 Q. k+ J5 s0 g+ P
CJNE R7,#29,TODUBACK0;不是润年的二月,到28天?9 y6 O0 M3 B% ]: M# D" t3 y  d
MOV R7,#1
% A' L; U9 e( ]* a* u& S( c1 O MOV DADISP0,#1FH/ r; c0 l6 B, c" T; t3 {
MOV DADISP1,#0FH
2 ~' \+ ]+ L( z. N6 q1 I! o- k1 q JMP MONTHUP& J, _) X& F- p: J& Q* u
MONTH1: 4 S/ ~. |# w  y  P: o% v2 r
JB 20H.0,BIGMONTH;大月吗?. Y6 b% Q" G8 m0 x0 ?6 H2 q0 h( ^
CJNE R7,#31,TODUBACK0;小月是否到了月底
* ^/ ]5 o, V- J. T MOV R7,#1;日重新开始
0 u% w9 }  L  w4 q* f3 M MOV DADISP0,#1FH
# g" t# |6 T% F/ {' E# u8 W MOV DADISP1,#0FH
/ }8 k) L# n- z3 X& c4 A JMP MONTHUP;跳到月加一# {% }. N8 n1 g' U
BIGMONTH:2 u$ Q. y3 a, y, e7 j& R" }6 _
CJNE R7,#32,TODUBACK;大月是否到了月底$ |& k9 J3 m. f+ A" S  \3 x9 [/ S
MOV 7,#1;日重新开始
4 e  I* F- L) i7 z1 q MOV DADISP0,#1FH: I$ z* {$ x/ N9 W! {- B
MOV DADISP1,#0FH
& `3 }5 f4 F6 T% P. ~5 {MONTHUP:INC R6;月加一: n3 [' f, }3 f
MOV A,R6
8 W1 T! {) X" L) [- m' | MOV B,#100
8 t( B+ f4 r2 t2 f. H DIV AB; T' c% h: y# ]5 ?: T( c! u
MOV A,#10;余数继续分离十位和个位
/ Q4 M8 U7 E5 U. l XCH A,B
  l1 Y  K& J" F DIV AB4 n+ g0 @: o  b" Z2 }9 j) t8 S0 ]1 x
SWAP A
9 m& Q7 L" y8 k+ }3 q8 ]  C: Z MOV MODISP1,A
! {# a' ~. z; F# O; l MOV A,B
7 _9 L$ L8 p6 S* x$ z, a+ ?. o/ V& h SWAP A
% q  P/ T8 A5 X MOV MODISP0,A
0 {/ M1 P0 X1 N; Y! G  L6 F CJNE R6,#13,BIGSMALL;判断是否到了年底1 i. P, d& @; H5 P' t
MOV R6,#1;月重新开始4 R: \8 w; I' F) m8 a: b* I9 k7 \1 x
MOV MODISP0,#1FH
/ z# i6 a" T: G0 | MOV MODISP1,#0FH& X" U1 a' N' M3 o: O
SETB 20H.0;一月大
$ `4 p: T8 f7 T0 i JMP YEARUP
+ M2 g1 }/ m0 _9 G9 t( G/ `BIGSMALL:1 f* a8 G8 ^! r) Z8 N/ I& r; J( `
CJNE R6,#8,OTHERCON;是八月,则仍为大月
6 @7 {/ l2 ~; b, `+ \3 v  ^" W SETB 20H.0
4 T0 q' r8 N* @) |3 [3 a JMP TODUBACK
8 a; S( ?. Y- [" GOTHERCON:CPL 20H.0;不是八月,大小月与上一个月取反0 p- Z  h5 A- ]- T% z5 V
JMP TODUBACK
6 s5 G7 s( o- OYEARUP: INC R5
3 R+ P' c+ _) I, I8 s, ^ MOV A,R50 D. ?6 v4 t  e9 q0 l9 Y4 @
MOV B,#100
, M3 X4 L/ s8 o! B DIV AB# L6 V2 E( R% b! g7 T4 h7 x
MOV A,#10;余数继续分离十位和个位
1 Q2 ?0 t; }" ]6 k* E" u XCH A,B
& @5 E) Q% O- I+ R/ t) w5 E DIV AB/ D' b; W8 T+ b# E4 `
SWAP A* t) g% J0 h9 Z4 l
MOV YEDISP1,A- `: r! T) C- [$ b' ?7 O" c6 g
MOV A,B3 [% K$ B. f$ c
SWAP A# i7 X, r. @+ ]8 ^) Q
MOV YEDISP0,A
# C1 ^/ B: n8 I  I; L* W' l9 p CJNE R5,#100,TODUBACK0 _6 \+ \/ C: P+ D
MOV R5,#00;新世纪
, P! l; p) T/ ~, C! j MOV YEDISP0,#0, k3 n5 t5 L$ D! \8 E
MOV YEDISP1,#0! H' O1 N2 Q5 \+ {6 u/ F. C" e
TODUBACK:: [) K/ Y2 G% p0 `4 ^
CLR RS08 C$ V) _3 Z" |0 q! s" C, w
RET- ?+ H$ Z' W1 j/ j, j
;时间显示子程序
$ f' s$ h3 g$ Q( n# uTIMEDISP:
7 @) Z8 {& V$ O8 {7 D JNB 20H.6,BB0
$ h- l& q( b! j: Z! X1 {8 A3 M6 o JB 20H.7,SNODISP
3 G) L  P9 H' w: c9 B9 o& V% B5 fBB0:
$ ?* t3 @$ f& v9 U2 n( _ MOV A,SDISP03 C' B! |  {# _# V& C
CALL DISPSIX& d( M4 D2 d/ M& ?; m5 z
; MOV A,20H% G5 c% Y+ F$ L' Z
MOV A,SDISP1" H" k$ f" b: s) P, E6 |
CALL DISPFIF
& g5 M/ h. k: YSNODISP:1 K) \8 ~* D8 a
JNB 21H.5,BB1' U/ E/ g8 J/ d1 {& T$ f' R8 d
JB 20H.7,MNODISP. y  ^' K1 R3 u
BB1:) j# a& F' q. p6 J- C! A
MOV A,MDISP0
6 Z  c' u3 s3 b CALL DISPFOR
/ u+ F2 v" E% W# U. g8 [+ ~ MOV A,MDISP1
7 l% l. O7 E8 u; b CALL DISPTHI
$ q# {' Z$ G) I+ i1 h8 {MNODISP:
- I! i% }0 |1 u JNB 21H.6,BB2
# B6 g( J# {. t( D  s6 F JB 20H.7,HNODISP
4 j- w) z, N+ _+ h, V& x# xBB2:
6 l% D2 K7 D( z/ }3 o MOV A,HDISP0
( e' S  R7 {! R CALL DISPSEC
( Z& L  C4 f1 {; g& v MOV A,HDISP1
& K- i2 U* p1 O# f8 s CALL DISPFIR5 X5 j- i6 Z. U
HNODISP:RET
' W* ~+ j3 s, k' b; m. |WEEKDISP:
6 a1 U" F3 a3 o' o( U- G, ~9 U JNB 21H.7,BB3! m4 P! \* d  T% n' o2 @
JB 20H.7,WNODISP1 o* \& q3 ?" j( \% G( W! r
BB3:" I* x& Z( U! t; _
MOV A,WEEKDISP0" S+ B! g" Y% l# d% @* D1 Y. ?
ORL A,#0FH
. g* p3 [' x  s7 y7 y0 b ANL A,#0F7H- y2 t5 P  E' p1 C3 K
MOV P1,A
* ^1 o; `8 f$ Z2 i) N  h CALL DELAY
. F. g$ I* o& s; C- |WNODISP:: r% z4 K2 s, Z7 y  @
RET
3 Z& {# Q) o- W: b; Z& V7 ?
+ ^) d- `- d# N. L;闹铃显示子程序
( {; Y7 l" ~$ {TIMER0DISP:
+ Y+ W- z# e0 m+ V6 K% X' v JNB 22H.0,BB6;设定分标志位3 K9 }& N: X2 h5 O9 D
JB 20H.7,TMN0DISP
8 P! Z, X  W& `1 f3 u+ N7 ZBB6:) g. V9 f6 V4 Z, A0 u
MOV A,TM0DISP0  c8 f7 U/ Y3 P0 T
CALL DISPFOR( G% W6 G6 e' ]" u  \' L; h3 H  P
MOV A,TM0DISP1
' A  F1 h% ]/ N CALL DISPTHI# U, V8 |& ~* `
TMN0DISP:1 [: Y; d- k  J6 t
JNB 22H.1,BB75 ]& z% k2 F- \: ]1 @+ Y
JB 20H.7,THNODISP9 s# B$ X% ?& M+ o
BB7:
: A! i9 U) I* D2 m/ n3 _6 r MOV A,TH0DISP0
& l* D2 O. N; Z7 e CALL DISPSEC8 E# Z; F# {/ ]' p9 j! {$ i2 L
MOV A,TH0DISP1
! i( n% E3 n8 [9 f CALL DISPFIR! z, \0 }: Z, w
THNODISP:
2 c; N" a9 N5 @2 P/ ]. K JNB 23H.1,TDRET;定时是否开启标志位 / w  z8 o, r3 l* A* \" X% y
MOV P1,#1BH
8 Q1 B% ^# k$ P& `; ?* j6 w CALL DELAY
; w; s- h! J( W: y* p" x4 QTDRET:. }1 I; l6 F$ f" l8 A" H) X
RET0 C( |) `0 S. O- k
TIMER1DISP:4 r! K" k; j/ Z, I
JNB 22H.2,BB61;设定分标志位
+ k! @7 n3 f1 }1 d: S, ? JB 20H.7,TMN1DISP
. t1 Q" v* T+ r4 E# _; dBB61:  A/ f, J2 o. C8 [4 t5 s% l
MOV A,TM1DISP0
* R/ @1 {+ _( e( t+ V1 c CALL DISPFOR
, r; y6 W9 x+ s% Y7 u) r1 Q MOV A,TM1DISP1. ~( O4 v5 k$ }3 L' h+ y
CALL DISPTHI
2 E5 p6 {9 t$ X7 [/ J( u. d' H$ PTMN1DISP:
& M% i% [7 E" X  c  ?# W$ F2 R  p JNB 22H.3,BB71
# v7 o5 ?0 L6 @4 C- P9 |" M JB 20H.7,THN1DISP" e+ H: G! q( ~( r  d# @7 C) S6 a
BB71:5 s% t! p7 t+ v  F0 F2 H
MOV A,TH1DISP0
% o' @: y/ n( s CALL DISPSEC
8 q: q9 O( K/ S/ R2 s MOV A,TH1DISP15 ^9 W- C  i- B; J8 _
CALL DISPFIR/ Z; f, A! I+ z3 O" P$ t: E4 S
THN1DISP:" [' s* J5 n" s  p; `: W* I# l3 b3 h: S
JNB 23H.3,TD1RET;定时是否开启标志位 ! I4 d  J; F& B' u
MOV P1,#2BH
+ f0 i$ i2 y* ~. F CALL DELAY
  j6 `5 N# t' M/ d0 ?. W) nTD1RET:, v% k# {5 Q% }: }6 X) _0 D
RET
: d: O3 Y3 `' x! ?;;;;;;;;;;;;;;;;;;;;;;;;
3 ^. e5 n9 C. y0 Z/ [9 |8 j9 R  rTIMER2DISP:
, \! `! Y# A5 d; d8 A: Q& w" q( t JNB 22H.4,BB62* b; ^" b2 r" V$ W4 h( z# F
JB 20H.7,TMN2DISP$ u: ?$ B; D5 }7 F* F& p9 U
BB62:! j# H1 J" A* |9 w% m; J( h1 f4 e
MOV A,TM2DISP0
: k2 S" U- B; _8 b* b/ e5 J% r0 I CALL DISPFOR
3 x! M% F! R$ m+ Y* r' R8 b MOV A,TM2DISP1. V! _0 f; w$ f! J) K4 M4 {4 I
CALL DISPTHI4 S; {) y9 y5 O1 Z
TMN2DISP:# T% U' `* A( c. h9 a& \9 r. g8 N1 c
JNB 22H.5,BB72
7 j9 A- o2 n9 y- ^ JB 20H.7,THN2DISP
! d# P. \2 U* [  }5 fBB72:/ X" U4 `9 ]" K- s# `! M7 y
MOV A,TH2DISP0
! n6 j* j8 m! X9 n9 D6 y1 G0 M CALL DISPSEC
6 f% E& S8 j  D, l2 J: e MOV A,TH2DISP1
4 Y  b. w5 S8 ?  U( W1 @$ F- S" d CALL DISPFIR
& k. N6 S7 ~; b$ X8 z0 J# h) dTHN2DISP:: \0 |, _  W( J7 z$ H" [3 ]
JNB 23H.5,TD2RET;定时是否开启标志位
7 @: S1 L. |+ V- b: n, M' e, p MOV P1,#3BH
/ x8 j" r$ \+ }& Z5 k4 x4 A CALL DELAY
+ ^2 k- Z- r) ~# B3 f8 RTD2RET:( L2 J4 x* ]$ `8 B' N& i/ x
RET
, M/ w9 @0 b. ]$ L8 Z5 d' D8 c* b3 `' O2 W
TIMER3DISP:
# T% p0 e9 l- H JNB 22H.6,BB63
  L2 f; E0 y% I% \" N' D$ c$ I! Q JB 20H.7,TMN3DISP
3 g3 Y/ O: A! {3 q* _BB63:+ i& C9 g2 M& @1 O" _" w
MOV A,TM3DISP0
3 k$ x. p) h. B2 n" M( X CALL DISPFOR
1 U$ F* M! I' T3 T, V" f0 b! ?+ j MOV A,TM3DISP1* A$ p4 p4 V& x% g/ P& H# q5 e
CALL DISPTHI
% o+ u; h0 b+ ^! S" H7 G, |) QTMN3DISP:  ^: S4 N: ^* D" N1 C7 ~
JNB 22H.7,BB73
8 A3 l6 |3 r9 p3 ?8 x. K$ B JB 20H.7,THN3DISP9 I- a( w1 J/ S, Z. f, ^
BB73:! }& T) \& b. U7 ?: L5 l
MOV A,TH3DISP0
& `+ g$ @: z0 I1 V# r& @7 o CALL DISPSEC
* A* k$ I  a4 B, |7 K, ~! g. I MOV A,TH3DISP1% Q0 }  Y& n6 {; w' @6 G
CALL DISPFIR 9 z5 B  [2 m# P( a5 `5 i
THN3DISP:
# J% J' W) @7 { JNB 23H.7,TD3RET;定时是否开启标志位
( W$ F. t$ ]4 j* l1 j: V MOV P1,#4BH
, J  P. X; i. H. u CALL DELAY
! q& r6 t  v# s' k$ G+ hTD3RET:* j. \  D, J3 @+ f5 `: l- K" v( W( E
RET
3 k% v5 x% }7 Y1 S& S% i' I, B3 ]% t;;;;;;;;;;;;;;;;;;;
0 U( x7 c: y  J. [  p7 O! vDATEDISP: 5 i2 b% c6 r: {: V& r
JNB 20H.1,BB88
4 q$ u+ p" K# n3 e/ W' D' j JB 20H.7,MONDISP8 R0 }+ f' U, q
BB88:
, a' p5 `( N( g: P, a MOV A,DADISP0
& O+ k' C( _' V( o: V& y CALL DISPSIX+ s2 [; v( I4 ^) n+ L
MOV A,DADISP1
. g4 ~9 P& q# @" K; @# m+ Z1 f CALL DISPFIF
/ d  h/ ]# @' B) _MONDISP:
( g# f( F0 w8 g# A& g6 P JNB 20H.2,BB99) r% O. ~/ L) r6 j" C% R
JB 20H.7,YENDISP( i# t  J* L! e2 I. z% k
BB99:
0 K" V* N/ A3 w+ `/ `: U8 } MOV A,MODISP0$ Z4 ~: h$ A- j  M
CALL DISPFOR3 b! F. L% l8 ?7 i
MOV A,MODISP1
2 v. y" m: C) F" o$ U* A CALL DISPTHI  N  F. t0 Z$ c- L4 G
YENDISP:
0 }' h7 x' i8 m/ J  Y JNB 20H.3,BB89
/ u3 {" N6 k9 e JB 20H.7,YDISRET
! T% \. z- U9 p: e& R2 ZBB89:
, i( e2 T7 O- T2 B6 F MOV A,YEDISP0
9 ]+ ?1 V# c4 U5 e) h CALL DISPSEC% s, I6 l. o/ B1 _4 [$ S% p& w
MOV A,YEDISP1
7 a. w* \" }# `. I6 y2 S CALL DISPFIR
2 m* P3 V# q, r) c: ?( S; AYDISRET:
$ N/ @. v$ {3 V8 I( f3 y. X RET
4 G- O& m9 v7 h+ ]7 X' d9 C1 z: q9 L$ B/ K. S9 \
;定时比较子程序
+ k* }8 o$ F- ~' n) e6 DCOMPARE:
& h, V" W6 O% d! Z# E% q" S$ | CLR 23H.0/ Z. R  g2 a3 G) k6 N: y
SETB BEEPOUT  }' \$ }6 Q$ S$ |, v' C
MOV A,TIMER0M;取第二组寄存器的R4,即定时分的存放值1 ?( r5 E- m; [( Z0 o- Q: U
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较0 u: u/ q: X6 f$ c2 G$ n, q, W7 x
MOV A,TIMER0H;取第二组寄存器的R2,即定时时的存入值: l% u5 t- O( d& g: A/ l, Y
CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较
/ i; s% [. k  r3 k% q SETB 23H.0
6 x' t- c& F  r CLR BEEPOUT! q  M+ |6 y. d  ?6 s  N1 m6 ]2 K
RET4 ^) N, [' O, R+ x" C6 `+ r& }4 ?
COMPARE1:
# @2 E8 n1 c* U! r! J9 ~ CLR 23H.2
% J# S* @! e1 m. J0 p: ?- |/ C- U SETB BEEPOUT
& T) ]& K0 h9 n! J. t MOV A,TIMER1M;取第二组寄存器的R4,即定时分的存放值6 ^  Z. m* M5 \- ^9 b$ v; u1 g' t! [+ u
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较2 G8 W. v: O* C% @* `9 o
MOV A,TIMER1H;取第二组寄存器的R2,即定时时的存入值
% f$ d# {# i* B7 ~4 t% a! g CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较1 x3 g+ s" C0 Q! u
SETB 23H.2;定时时间到,准备开启BEEP8 p& N6 B4 V. \- t/ C( j+ G7 l# \
CLR BEEPOUT
/ o  M8 ]" t6 U  U8 R RET" a0 g: N3 o" u& r
COMPARE2:" V% U, D! L0 O# ~1 B, l& K
CLR 23H.42 p2 n% A2 T# P
SETB BEEPOUT% ?% D& t8 [9 Y) j2 L
MOV A,TIMER2M;取第二组寄存器的R4,即定时分的存放值  S4 {8 h/ T+ ]% ^+ j
CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较
: S4 d" ~. E3 d! k MOV A,TIMER2H;取第二组寄存器的R2,即定时时的存入值
* `0 c4 s) d! u9 I  Y CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较! |! e* I5 y$ [! u
SETB 23H.4;定时时间到,准备开启BEEP& b+ w1 p2 S' l# |2 y) p
CLR BEEPOUT; A: U8 F6 a# u
RET
7 o: ]9 f% F' `, N* f/ |1 U* V: gCOMPARE3:
% r0 X( ]3 f! t% f6 o CLR 23H.6" E5 x6 w, k4 n/ T' k/ L) d
SETB BEEPOUT
# \+ X8 a  |$ U4 Y- x MOV A,TIMER3M;取第二组寄存器的R4,即定时分的存放值
( u8 [& _+ J; k  t4 l7 Z' D CJNE A,03H,NOTEQU;与寄存器第一组的R3比较,分比较! G/ u, v3 I& [. {3 J" {" j* U
MOV A,TIMER3H;取第二组寄存器的R2,即定时时的存入值
. c; {: {) C' q" e  Z, R4 N( l) p CJNE A,02H,NOTEQU;与寄存器第一组的R2比较,时比较2 K2 y; U/ ~6 p) ?" g
SETB 23H.6;定时时间到,准备开启BEEP8 l+ `' L: p* B5 n3 K- `+ o% S
CLR BEEPOUT3 v% M6 ~+ k. t. [! C. }
NOTEQU:2 p, S8 h, \- c; T, [# c  w
RET' l: ~. h; O6 k; S6 `! }

% ^" u1 R7 I' O2 w0 \4 D# R;延时子程序
& ~/ X# T8 P; ?6 p( UDELAY:
6 {/ w4 r+ ~' P' x MOV R7,#05FH/ e, ]0 m1 V( p' R
DJNZ R7,$
6 [* M2 S# s6 W; [ RET- h0 }: o4 P8 _) d7 `

2 ]2 A, O$ ^- J; {, f; f; o;显示  O/ e- x4 ?& F# o2 I2 U7 K

. u6 Y& r0 z) Z* VDISPFIR:/ p; a3 S1 \  ?, z, e# U% Q! f" ]  K
ORL A,#0FH$ y& ]9 N$ P7 n
ANL A,#0F1H
* q  d: t6 N' t  A MOV P1,A
9 Q$ P0 g, o- q8 _3 z CALL DELAY* L( I$ O4 Z) Q! z0 L2 x! B
RET1 K5 L+ [5 D% o7 K- ?
; c% [( v- T+ `' x1 {) T" T
DISPSEC:
6 N9 g! t; z3 D. H. q ORL A,#0FH! ]2 ^3 n7 h6 a* \" ?6 U3 ]9 o
ANL A,#0F9H
0 L  |; {9 H6 d& ]; K MOV P1,A% h3 z1 Z) q# N6 B' T* s
CALL DELAY& [, I9 `* Q( X1 \+ F+ p
RET
0 ?+ @' R& P9 f# f* W( Q' X0 G) I  p2 [
DISPTHI:
: E6 b9 S( C  B ORL A,#0FH( Q9 j8 D% \- C# C
ANL A,#0F5H
/ B9 @5 `( z4 @ MOV P1,A4 d: o- A# J. S# U: |$ @
CALL DELAY
# p7 P# a6 _& ~; p RET1 c+ h$ y, I7 b% |/ }5 X

; T& T* J, u5 H" [% e6 PDISPFOR:
4 w$ g, R. t# K. Q3 z% S

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
ORL A,#0FH
7 |' Z9 p8 _' K% p7 W ANL A,#0FDH7 D1 L& T5 p* ?  M. f" O% E, B
MOV P1,A
3 h* p( u) [( \+ W8 Y0 e! @' I CALL DELAY
3 e. t* [4 e9 B" t% i4 r) E RET
4 X4 z# O; X5 {# `* G: @3 j5 w4 v  o7 g4 T8 J3 o8 q. r
DISPFIF:6 _  m: w+ Z3 d% t# \5 j6 k
ORL A,#0FH0 A" C8 M" T1 D  {8 b- L
ANL A,#0F3H
% w( u  {0 s8 E$ x, A, ^ MOV P1,A% V- g6 w" p  N! I7 U* C6 D0 b3 F' V
CALL DELAY
6 V+ E; f( @, a$ _ RET2 r7 F, r* M$ N2 ]$ e+ w

/ E3 \5 C* t% P7 v9 {DISPSIX:
. n% r# v* h7 I3 E+ E# F4 d5 G ORL A,#0FH
0 N& I5 P* m% T ANL A,#0FBH
% k2 s% v) q" u% u2 x, m3 a MOV P1,A1 _3 a  l6 b% y& u( Y
CALL DELAY9 f) u- q& Q: d6 e6 T4 ~
RET8 }1 y1 Y, C7 i: r/ j( T

' a/ K$ _) |. u+ cEND

classn_11

 楼主| 发表于 2010-1-29 21:12:33 | 显示全部楼层
用到的几个 标志位:- T: f6 Y- Y$ @8 P. v2 F6 B
$ t# A8 Y: r% l
20H.1 日设置标志2 K+ i7 Z3 t3 l  |$ t3 l$ D6 K

- ^5 B) Y- `  [; V4 V20H.2 月设置标志  N8 J, `5 K, |7 v( k( K
# f) v4 c( d4 `2 l& N* H+ r
20H.3 年设置标志
" j; G( C* i# {9 f
9 g8 _9 H9 b  }) E; J/ o# b* N20H.4 日期显示标志! A  ^2 o  J8 G7 X. ?- `  }/ J
3 O# x9 E6 i/ S6 L# n/ }
20H.6 秒设置标志1 G: o! y" `' q. v% S: [7 S
+ `" g+ W4 V9 N) s
20H.7 设置时的显示状态标志(闪烁)! t6 c8 L- e: |

4 S# g" Q6 y7 k! M20H.0 大月标志
% x1 T/ |6 y" K; ?  C8 g  N. M# E$ W" i9 a
21H.0 时间显示标志
7 E& d+ I# |- x# M8 o: k& O; M/ D5 a& A) C5 O
21H.1 闹铃1显示标志1 r; E+ ?( D' ?2 a) T( l6 {  x
  z3 D& D$ p+ q
21H.2 闹铃2显示标志
2 ~+ q# b& c: p# M8 a! U$ k6 l7 U# o4 A! N, @5 J/ i) S' e7 w
21H.3 闹铃3显示标志, d, g& g5 {3 U' q1 n- a2 }5 d

8 Q" i5 o5 z, y% }; ~& Q" h8 e21H.4 闹铃4显示标志
& U/ i* y# D! X1 _- G# ?
% |/ }# }( P! C( `$ q) @21H.5 分设置标志
, Y: l: Q% X* o! q0 [; S, g* e! i+ r" ~4 f: Q
21H.6 时设置标志
: B+ L% J+ w# Y* h1 X* g8 K/ e* o$ a/ U( s
21H.7 星期设置标志/ H! N9 J* k" O6 R4 N4 t
$ _' g& e% W% b5 K. j- l
22H.0 闹铃1分设置标志
; a, f% H0 N9 y& Q: _7 [
2 c9 Q: J& V; v: o' l. n1 }4 u: ~22H.1 闹铃1时设置标志
* u7 y$ T' a8 j1 L  L! d9 \5 R4 |+ w; L4 J& Q& D$ y
......../ ~* r7 b0 ]8 l; F
! w$ {% h( g+ H3 G
22H.6 闹铃4分设置标志
; m5 D4 V" x. Q
+ w0 w  q# S( s% z! \; B4 y3 m, z! W22H.7 闹铃4时设置标志
. B: \0 q7 l3 X: h( O5 |+ v& m# Y! G6 O8 X; W5 W  ?
23H.0 闹铃1时间到标志- I: C. o; F& i+ }5 m$ i

6 v9 X& z8 _! g# w# i23H.1 闹铃1开关标志
; I. Y. O3 W1 W- {; i8 O5 g9 G% Q
........0 r  \5 d: C& M. e5 B1 k
, G9 z  v& i* A$ L; D' s) O
23H.6 闹铃4时间到标志
% s# S: ]6 |, K5 A& M6 i1 @. s$ b0 K% M
23H.7 闹铃4开关标志
5 f& E4 \/ Z1 @' a9 L
3 @1 q7 B3 ~" d% X编程过程中遇到的问题是:
; k( J9 i% _* `7 K$ C- V6 Z, ^2 e2 D: V, C
1.在按设置键的时候在按30次左右的时候,SP溢出,因此强制SP复位,不知有何影响 目前还没发现问题;
$ _/ C, u. T/ `; z# T& @
8 L+ [6 U$ H. R) t, R: [2.按键去抖动的时候没法消除,因此用检测按键是否弹起检测按键是否按下,这样的后果是不能连加。
; ~* D' u9 w% p0 g
- V) `. l6 {; P- |0 I0 n3.程序比较大,2051刚够用。呵呵,有高手改下会小很多的。
3 r/ i% g9 A0 ]/ M/ P9 O( C& e& M/ Q2 @( ~+ L2 z: s2 V5 J
时间比较准,15天左右快了大概有40多秒,跟电脑的时间比较。

classn_11

 楼主| 发表于 2010-1-29 21:12:34 | 显示全部楼层
印制板有误,仅供参考,我是用这个板子做的,做了些改动,段码连线应该下移一位,即,A-B,B-C.G不动,星期显示的由于管子不同,连线也大不相同,根据所用管子自己改动  
5 K9 g, ?! J7 T5 M1 H
! H" \- o) J7 J+ f' M
: B2 y" o& Z& P) x( |% P, H 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-1 16:11 , Processed in 0.288577 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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