|
#include<reg51.h>
! T- |2 Z/ @8 @3 p/ i#define uint unsigned int1 {9 N3 N- f$ M3 o( M* I
#define uchar unsigned char$ s% H) _/ z- ?- W, z
uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,
8 Q) u5 p! p/ A* A: e; V" G" X 0x99,0x92,0x82,0xf8,
0 x' z$ J4 L, n% L' S% p 0x80,0x90,0x88,0x83,( B$ U9 D( n5 T: n
0xc6,0xa1,0x86,0x8e};. Q, L6 R; G0 q" C1 R1 N* M2 j
void display1();& M. @. T- A E" i
void display2();
' S2 I# ]. H5 ~: k4 n$ cvoid scan();
\8 ~- c, Q2 H: m0 y! |! wvoid delay(uint z)
) t1 z+ j& Q% ~) m2 m, A! Q$ L{
& Y0 Y' S7 x: a2 v- ^7 I0 Z0 J% S uint x,y;
) w; H k4 g K$ d; a, p! i8 c for(x=z;x>0;x--)2 Q( g0 ]3 v% {+ S; C4 Y
for(y=80;y>0;y--);% c8 ]7 R" S) X% i
}# T: R* C- j( w+ X
uchar shi;fen;miao; a;f;
3 t6 X7 a% s8 }- Fsbit k1=P1^0;
7 o$ I) g8 D, J, x R: {sbit k2=P1^1;2 k2 ?5 n6 c) f
sbit k3=P1^2;
" l0 Y7 k6 X `9 g, Wvoid main()
" B ~8 _. i+ z& ^{ shi=23;fen=59;miao=58;
9 Q+ _+ h' O6 p8 S. `+ z EA=1;ET0=1;TMOD=0X01;
! r, n1 m5 F% p# Z8 a TH0=(65536-50000)/256;) }0 z C# j4 |1 X1 c
TL0=(65536-50000)%256;
: ^6 y: [1 q: m- t, |3 q8 c TR0=1;) G- I. t0 w6 B; K6 I+ M
while(1)
" ^" c! g. z; I) @ {
) v8 @. Y! D C: S display1();
# C* l0 {6 J9 M7 A2 c if(miao%2==0)
) A5 G1 f# a9 U3 O display2();
; g/ c; j$ W% \; B2 L3 l scan();
' N) {3 {' s/ u2 y* {/ V' ~ }* A" h( Q! ^: N/ o, W! K6 o
}+ l: ^! x' f; {% v
void display1()# b+ c: [; t+ a
{ P3=0x01 2=tab[shi/10];delay(5);
f8 B! V9 g- j P3=0x02 2=tab[shi%10];delay(5);
/ p" P1 ?5 N4 {
d6 t3 c& g- g! s- i$ W, c: b6 D P3=0x08 2=tab[fen/10];delay(5);% ]1 D. O4 \- U! x3 _) l3 w
P3=0x10 2=tab[fen%10];delay(5);. q# I' J2 c0 o
& P" o6 @6 G8 G P3=0x40 2=tab[miao/10];delay(5);4 V4 R+ v9 p: K2 D/ ] R2 c
P3=0x80 2=tab[miao%10];delay(5); ( ~7 r& a- S9 u3 G3 c9 }" f
}
5 f) x; m+ K" _4 A3 L# H% S& A void display2()
4 `- b+ _+ L2 W8 R! ?( ^3 W; s { P3=0x04 2=0xbf;delay(5);
) F$ N0 K" ^" f+ J P3=0x20 2=0xbf; delay(5);9 H- n0 _2 a4 ?5 K
}) S l& p# F* T& A
void timer0() interrupt 1 ) z* O) ^1 p# h% A1 i# G$ B
{ TH0=(65536-50000)/256;
% x) I! e T2 s& b, o TL0=(65536-50000)%256;
K. A' }6 p% y% F/ K3 g+ C3 ~$ x a++;4 F7 ^% m P9 X% T$ X2 V' K) {
if(a==20)
8 z G, T O5 m% ] {a=0;miao++;
7 M4 b7 v. T+ e4 h" Z( w% T if(miao==60)% Y5 d5 d z& V* B* u% x, x) m; C
{ miao=0;fen++;
$ G( |- J- X) U' V if(fen==60)
Z- H$ L7 ?( k, C- [+ @2 t { fen=0;shi++;
2 D9 D/ u& u4 n5 b+ `- q' C' n if(shi==24)
. }4 R/ j" \/ |0 r {shi=0;+ h' o' j1 }2 D. {! Y" t) |- \
}}}}* a) M& O1 x8 e7 u
}; z3 s. b- H: }) w
void scan()
" a5 l% `# s' j+ [- J" z/ q( X) @ {if(k1==0)
; c6 A" n6 F$ [2 ~$ D9 H {delay(5);( h" X3 [3 a4 g: Y: n; D" z
if(k1==0); Y) K6 k1 ]+ J: ^8 g/ p
{while(k1==0)display1();f++;$ E7 \! A3 p) C! h
if(f==1)9 G$ s7 n8 n* v
{TR0=0;}
! B' h2 S$ M. F2 u0 ]8 H if(f==4)' s5 U1 z, j- ]# C, I
{TR0=1;f=0;}7 G1 e" N1 b) Z; p' b5 S
}}
9 f6 g) j) j$ b7 x* o8 \# p/ L* t% b if(k2==0)
5 a& z( Y; l* w& g" M9 | { delay(5);4 g" ^( B% g( ?" s, d
if(k2==0)
) `$ O C* C6 t( ~$ x {if(f==1)
8 X1 b7 \! O7 M0 T. l {miao++;
5 H: s. v+ p0 ]: P+ N% y if(miao==60)' u0 q6 S( C' R4 _
miao=0;while(k2==0)display1();2 N- Z4 A8 |3 l
}
2 i" I7 X. V. Q+ H6 I; t/ H if(f==2)2 G' j' X) n( p9 X/ t8 M; K& q x$ v5 Q
{fen++;
! n, X$ @) e5 i; _0 v if(fen==60)
" Z+ N) Y, U. p& B6 A6 [ fen=0;while(k2==0)display1();
4 I" Y" k1 l: W" L3 s }- @" r1 B9 p4 i/ n" p
if(f==3)
% B6 ^6 R/ O6 y( A5 P% F" N {shi++;% z! g, N5 u; I3 Y, w0 M' e
if(shi==24)
% |; @' ~# J- e* _1 w1 l, {9 d9 w% _5 p shi=0;while(k2==0)display1();
9 G. B# F {' t- b! t }}}4 c! `$ N: j! S8 L
if(k3==0)
% N {, A8 F% j& |, {0 P! `5 f { delay(5);
V9 U% C: L1 o* C' ^! j9 v if(k3==0)
3 P. j7 i3 _! C! L9 r {if(f==1)0 `2 v! l+ o" a6 e0 b
{miao--;
8 [' J$ d2 `4 u8 i if(miao==-1) J8 L; ^4 k% m) \4 _3 I' \$ V
miao=59;while(k3==0)display1();$ ]0 O' m5 ^& p$ [5 c# \
}7 O1 G4 h: D3 N$ o
if(f==2)
. a' G# L- h/ p/ Y {fen--;
3 g/ j" `/ m* _5 Q if(fen==-1), u- D$ [6 K; V; Y0 y1 i% x
fen=59;while(k3==0)display1();
5 R6 b' P9 V" G9 G' v }
! J$ X2 t. f8 I7 h- n if(f==3)8 r% l A1 y: y
{shi--;. u6 D+ ]% w3 B% F ?# g8 r2 r! B
if(shi==-1)
2 ]2 K. m) d+ d0 f" a% V shi=23;while(k3==0)display1();
3 I2 K" o: g/ D0 v* } }}}$ ]- o- l" S/ B+ \4 d$ a9 d
}9 y+ C- X# I. o
! j$ i( A! m0 o0 |) C% N9 T9 u |
|