|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的是控制几个数码管依次点亮 第一个显示1,第二个显示2,第三个显示3.。。。。。
1 t$ G: q$ ?* M: P
2 l6 {6 R" r/ q+ g% {#include<reg52.h>
) Z3 Y" M I) t) L7 W; {#include<intrins.h>
" T8 C; `- g- Z7 w2 U#define uint unsigned int; ?: T" @; I, ]/ Y$ E6 ^
#define uchar unsigned char
4 Q' x/ a* G: e( l. msbit wela=P2^7;------------------------位控端口,接锁存' h' O- }; ?: H d+ @6 w5 [
sbit dula=P2^6; -----------------------段控端口,接锁存
4 S$ V; B8 X+ P/ n; G0 x" Suchar code teble[]={/ _! Z. `* o* V& H
0x3f,0x06,0x5b,0x4f,
: ^% L; I6 b. g. I: ?' |) g0x66,0x6d,0x7d,0x07,
( C0 _! ^+ V$ Y3 x6 k2 w- t0x7f,0x6f,0x77,0x7c,
& F( w& ~4 v) P! ^0x39,0x5e,0x79,0x71};
5 r5 E; ^ W, O6 Wuchar temp;2 |6 w u; l {! g+ G
uint num;6 n) Y3 E1 Q; h( T4 Z+ m
void delay(uint)
$ Y' [% N& g/ z3 Xvoid main(): M% @1 t+ b4 o0 Y) |, |
{( Z/ i+ `7 a3 ]! m( u- A
temp=0xfe;* {. E: T1 j( @7 ?9 T8 L
while(1)9 R3 a6 A# Y7 ]4 x
{
) o! _2 M" R5 [ for(num=0;num<16;num++)
6 L- p! h" R9 D8 t0 ? { wela=1;----------------------------位控制,希望依次点亮
! o/ F7 Z% n! y0 {$ }3 b. s+ q* D! F P0=temp;/ D- [: q: X2 x9 u- A" m
wela=0;6 W! X0 ]/ b, U" g( f
temp=_crol_(temp,1);/ u, O1 l# \+ ], E/ U% x! _
dula=1;----------------------------段控制,依次显示数字1.2.3.......
$ @& R6 Z% z9 N. E P0=table(num);
" m9 u$ Y- e! V% u' @6 B dula=0;8 O7 s/ o1 x; r0 s+ S
delay(100);
1 h/ `" H6 ]7 a }7 Z+ V9 U8 V; T0 k3 `# I1 X
}2 F6 T4 k# J+ ~' V
}0 x2 l. f3 b+ a- z6 o. e3 K( Q! Z
void delay(uint z), A( u V: K: s. P0 @( v
{
7 G1 K) j8 @! D3 y! d3 F/ B uint x,y;
& {% }( j4 O* A" w for(x=z;x>0;x--)
0 y- A' G" @9 V& J' ?0 Z+ G for(y=1000;y>0;y--);& u0 v4 q% ~; B0 f( Q
} |
-
-
|