還是閃,,是不是這種程序里不適合if語句呀,我用除余數(shù)的方法如下程序就好了,。; `2 y: U' D, C8 \0 l: ]
#include <AT89X51.H>" h% T: `, b- g. ~, E1 R) F# }
unsigned char code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
2 O; V' G: Y. W3 K% i- m1 N% G9 k: Pint i=0,j=0,k=1,a=0,js;
7 Z5 i. H, C: V Hsbit beep=P2^1;
6 S! j# O& T/ L, T3 ^sbit P35=P3^5;8 Y/ ~! e3 ~- _* |
sbit P36=P3^6;/ Y' p1 I, F) {7 W7 v3 g8 \
sbit P37=P3^7;, `( g: f: ?# _" l$ U
void delay(int aa)2 j+ d$ @" g% x8 L
{int y,z;
4 K2 p" P+ w( p5 H9 |6 R3 R. C, R. E$ ^for(y=0;y<aa;y++). L( q* K+ B2 C+ X- \9 ^ ~' \
for(z=0;z<60;z++);; v! I7 G1 H6 u2 m9 @6 E# `
}
0 b* D0 w+ C. K4 R2 X" q
2 _: m3 u2 i8 Z/ ~ Gvoid main(void)6 V# q9 G; J. @* k- h- }) m
{) P8 V" G! h4 {# e) A' W
EA=1;. Z F" L" i$ E6 S# P, Z
ET0=1;
/ V- a) Z8 h, \' K6 Y5 N2 ^& HTMOD=0x01;
/ O& ?' x) } sTH0=0xff;5 E# t9 h A! {2 e5 H7 r' `
TL0=0xff;
4 v1 R k4 w/ b( G) T! \- GTR0=1;$ l8 j2 b+ y; {* w) U# W, L
while(1)8 v9 g: X2 f4 I% n" D" A8 i* ?, I' c
{
& U8 Y0 s. B% Ufor(i=100;i>=0;i--)
: c2 \( a1 W: x. j# b1 {; H8 Y{
4 ^8 m$ g& o; U ^8 R2 xjs=i;: H3 S; Q0 S, l L
delay(500); }
* v8 C/ t8 V% n& J* T, H+ O3 B- e: l } }7 o* t2 t# @2 S; m( d8 @7 W* @
& P( d' A+ y- C T6 h# g+ X- H
% v7 v5 @& I1 Xvoid timer0() interrupt 1
5 {) x% L( N# O3 e4 d$ j1 T{
+ z$ m3 K+ l; P/ t# W, \ P0=led[js/100];
1 Z j& i W( |0 `; K% e5 }; GP35=0;+ a6 F: r! ]: e9 j* N
delay(5);
* G7 b* L/ k; B* R# s: s/ {( c P35=1;
- P/ f8 O2 T: Q5 S) S$ G P0=led[(js-(js/100)*100)/10];" d7 Y, Q6 {) ]( f
P36=0;$ H3 V) n9 y3 U: ]6 c B' V( T' a
delay(5);
9 ]1 U6 L& W) @5 d- I: i+ _ _) I P36=1;
o& U: L" u3 r P0=led[(js-(js/100)*100)-((js-(js/100)*100)/10)*10];- i! ?/ {3 n& l& W" J
P37=0;
4 M, ?! t- u; n9 @ delay(5);) I( h @1 [3 l$ H. ?
P37=1;1 z1 S9 \6 P7 F7 B; @6 L$ Q3 R
' G* K$ x V% s: P8 l/ RTH0=0xB1;8 B4 Z& ^9 r7 Y) A* t/ D
TL0=0xE0;
- L% R- d5 H. ]5 t3 o' I* v
* x% P3 e( ?: Q* x9 H( W3 u. H} |