|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的是控制几个数码管依次点亮 第一个显示1,第二个显示2,第三个显示3.。。。。。! I) y# b; V2 e% n5 t$ |
/ D; F9 W4 N5 @7 Q
#include<reg52.h>% b1 Y3 d) k2 n7 a- S* k$ A( \* U. q
#include<intrins.h>
8 ^3 M; k' k$ M% D" T* f [& x#define uint unsigned int
5 W* ?7 V, j& y0 x# T: n' C" A#define uchar unsigned char' w6 N* t$ d$ k" s/ h: {
sbit wela=P2^7;------------------------位控端口,接锁存. r4 z ~/ z% V
sbit dula=P2^6; -----------------------段控端口,接锁存
0 ?) {7 f- e; @) c6 G2 Nuchar code teble[]={* U+ C/ H+ ]8 I z4 O. E u
0x3f,0x06,0x5b,0x4f,
$ ~, m' P& M# g- C( h) u0x66,0x6d,0x7d,0x07,( p2 ]& D6 {/ C$ d6 H7 D
0x7f,0x6f,0x77,0x7c,6 @6 R. d% e/ j3 R
0x39,0x5e,0x79,0x71};
% m# @. a" E2 n# t0 fuchar temp;8 Y/ ?& p! [/ B- }5 F4 X5 O
uint num;
) P5 n2 l, x5 q3 d. _) evoid delay(uint)
3 ` O' _! n7 }5 L7 ? |void main()2 i+ R4 L0 w# ?$ L. \
{" `" m. _ M; n6 u- N1 k' u9 x
temp=0xfe;
! g/ f2 z+ V/ F- Q; f while(1)
' j0 ?+ _3 N- N+ b( B {
+ h: U, e0 r8 u" Y% ?& k( C, k for(num=0;num<16;num++)
V+ ]: C& I3 J; O6 v( P. W! m { wela=1;----------------------------位控制,希望依次点亮
! X' s" O7 F2 N, k: s) m# V! s4 { P0=temp;( P: e* _" ~; G$ ]" n. G; C8 K
wela=0;
: W! a7 C l& [% v' E temp=_crol_(temp,1);+ P; }9 |" H% X, b c# r& S4 R
dula=1;----------------------------段控制,依次显示数字1.2.3.......8 d+ ]/ M) `3 T
P0=table(num);9 D. j% e3 o# s) n, T, a4 _4 ?
dula=0;, T3 B' y5 u6 g S
delay(100);5 ]; N/ u7 j B
}
7 F% B. \8 b/ m- a }: r' D, a5 `3 L" J
}6 S: _, Z F- F+ v, h! Y& J4 [
void delay(uint z)- J f. `( A8 q6 I9 K
{3 h+ J/ w1 C- ~5 ^1 X2 K) T! z
uint x,y;
5 M7 z7 z9 Z! W* S7 k for(x=z;x>0;x--)) [) s* [4 u! S* z7 _3 ~
for(y=1000;y>0;y--);2 s. F, T9 G5 b3 J+ r
} |
-
-
|