|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的是控制几个数码管依次点亮 第一个显示1,第二个显示2,第三个显示3.。。。。。' K3 b. M: u# W; Z8 v4 Y
* F2 O5 d2 Q0 V8 _4 C#include<reg52.h>
7 P* [0 h+ r! o3 f#include<intrins.h>/ ~) U* F9 D8 c, C1 [8 i
#define uint unsigned int
1 @8 R. H% [' v#define uchar unsigned char
; w7 {/ D4 d: F8 Csbit wela=P2^7;------------------------位控端口,接锁存
3 _( @! \! N n5 o7 j' Y4 Y: v6 [) ] lsbit dula=P2^6; -----------------------段控端口,接锁存4 m+ Z# B6 r9 N7 c+ N
uchar code teble[]={
, D8 ~( m1 E8 L) X0x3f,0x06,0x5b,0x4f,' o8 `* X; r+ Z- P& g3 A- L
0x66,0x6d,0x7d,0x07,
& U3 I; L6 ]% Y' Z1 t0x7f,0x6f,0x77,0x7c,
, Q; y$ l0 @) K. c W5 ^8 M! L3 k0x39,0x5e,0x79,0x71};
! P: ^3 G" I& buchar temp;% S5 f7 g/ C2 y3 W
uint num;
0 E7 f! q, h* k) U" r. d* x; y+ Svoid delay(uint); w5 ?. }( b, A6 a+ s4 u% P
void main()
. ^( E4 a' h6 } n$ C4 r{% N: z$ k; o6 r
temp=0xfe;3 ]+ M4 t* l. o3 I6 ]5 R: q% Q
while(1)
# }; x5 K& y- A* R {
' O+ `2 K- p: i' v' v5 C9 ^ for(num=0;num<16;num++)$ V+ w" `: l7 M- A9 D9 s5 O# f2 o
{ wela=1;----------------------------位控制,希望依次点亮0 \! `( n' y; Z
P0=temp;7 I7 O# z: ?3 S' A7 Z' f
wela=0;' F' s" Z y: A, ]7 N3 R% C
temp=_crol_(temp,1);6 V. Q. f& @! c% }; ]8 | f
dula=1;----------------------------段控制,依次显示数字1.2.3.......' ?! @0 k: w' Z6 Q+ @
P0=table(num);
# `; E, S6 N" i* \2 C' @1 z dula=0;
' Y6 `5 b" H" c delay(100);; V+ i4 {" E% i# {
}
6 ]6 {$ ~: s& W) ?7 \7 w. a }
^+ u/ F& S3 P$ @; J}: S, k% x: G+ a# y6 M, C% H
void delay(uint z)
9 w! M6 r& `1 M! N{4 |7 M: t' B+ s8 `& p" |& o( y+ C/ ]
uint x,y;
3 h& ^' V! J( }4 X" ?- j! o; o for(x=z;x>0;x--)9 b" }- f7 y# S
for(y=1000;y>0;y--);
) p7 p) P) g/ a! {0 M+ g} |
-
-
|