|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的是控制几个数码管依次点亮 第一个显示1,第二个显示2,第三个显示3.。。。。。 k- s/ O7 j. Z {5 V0 K7 O
& n) K% Q) c x3 g8 O#include<reg52.h>- \/ x4 c! @# f% `1 ]' X& H* ~
#include<intrins.h>
( q9 O. q$ y% `- O* s#define uint unsigned int
( _ q0 e: \5 S#define uchar unsigned char- V9 A1 \% O! [9 g+ y$ [
sbit wela=P2^7;------------------------位控端口,接锁存3 m. ~9 M, [1 z/ X" X3 ]/ H
sbit dula=P2^6; -----------------------段控端口,接锁存
+ @/ b3 I$ Z+ q" h: ~) Vuchar code teble[]={
# R7 L# o, f) n* @. D+ B7 l0x3f,0x06,0x5b,0x4f,
" }- b4 d7 W) Q6 B4 ~4 c0x66,0x6d,0x7d,0x07,' y$ P# k3 b0 `3 r
0x7f,0x6f,0x77,0x7c,
' a+ h$ X; R, U, E1 d! M0x39,0x5e,0x79,0x71};/ {. ^" g5 |# h+ m$ y2 f! a
uchar temp;
+ q$ L! D- X# yuint num;
& d* M" a$ a2 I4 W8 o; `void delay(uint)& r- }' i, c# F3 w
void main()
1 h1 n) @0 U) {& e{
& O" O3 @* \; k- e/ V, _ temp=0xfe;8 X6 F m5 f7 x3 N; I
while(1)3 s1 h% u$ e- Y# j
{
U) {: e+ d/ l2 } for(num=0;num<16;num++)
& D& J4 ~8 V$ G* I% y7 @ { wela=1;----------------------------位控制,希望依次点亮1 I- v4 K3 N i/ m) i
P0=temp;+ K! ~& S" H# W) f. |$ q
wela=0;3 R0 f9 J! A, g! X5 o- r: k
temp=_crol_(temp,1);
7 l3 D4 a- C: S. }- M dula=1;----------------------------段控制,依次显示数字1.2.3.......
# E6 n1 j$ h& x' R P0=table(num);
9 U. d# w e5 y9 q$ h dula=0;* \" e' ~' `( B4 T( U* R+ u
delay(100);
7 o! b5 B/ Q |+ O3 o }
7 d* y: Z. T+ F J% c }
) R) ?) D) l3 [3 U; J}
- S! y! b( D' Q- O, bvoid delay(uint z)
% c3 ^- J: A! ?; L" @" M- ]: X{2 r, D. G* B6 `/ j5 ?" p
uint x,y;* ^: d* ]( q- ?* p9 y
for(x=z;x>0;x--)
7 \/ p9 ~" p' A# T+ }' h# c! ^ for(y=1000;y>0;y--);
, W8 N3 `; F" Q4 h} |
-
-
|