|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的是控制几个数码管依次点亮 第一个显示1,第二个显示2,第三个显示3.。。。。。; J5 k# k; ]& m2 `8 l6 Q H5 [* J
! C9 W" ^ P. z# L: `* ?) P#include<reg52.h>
( \7 b; o W7 R; ?" j- C" Q#include<intrins.h>$ L+ {. g7 j+ k6 J! v
#define uint unsigned int+ A& ~" K) R9 }! P8 D" @9 @( C
#define uchar unsigned char2 A: K7 I: X) ?9 P# J X+ r
sbit wela=P2^7;------------------------位控端口,接锁存
- b- z* b3 z. f; N/ F+ Ksbit dula=P2^6; -----------------------段控端口,接锁存
8 {& j5 ` }' p% Yuchar code teble[]={
9 k2 j9 _+ o: ]' u( M0x3f,0x06,0x5b,0x4f,+ q. z- m$ a d
0x66,0x6d,0x7d,0x07,
' U) j# F! R* M0x7f,0x6f,0x77,0x7c,$ u; A8 r! I# q1 ^ P
0x39,0x5e,0x79,0x71};# ?. d2 @( \) Z* h8 N# l0 T- Y
uchar temp;" M/ z; Y+ c. t8 {: ` y5 w( B2 p9 G
uint num;- d( \; x% W7 ]% [- w
void delay(uint)
& j9 u1 I8 e9 W' wvoid main()2 V- T+ y4 }$ r3 Q( }* F
{
! E6 s# z5 G, W1 K! L8 x temp=0xfe;% h& b9 W2 ^, U: A! m2 z5 h3 j% o `
while(1)( e# B( ]* B& m8 d% }6 O
{
" B# [0 W! M7 W' ] for(num=0;num<16;num++)
S* ?+ M# n7 f { wela=1;----------------------------位控制,希望依次点亮
3 d9 o( S# b# ]2 f P0=temp;6 C9 K. w* S( b, Z; {
wela=0;: E( \% U) s- T; {
temp=_crol_(temp,1);/ b% E0 T1 L" P( Z# v1 S
dula=1;----------------------------段控制,依次显示数字1.2.3.......
1 S- e) x& I+ m; g2 W1 g P0=table(num);
( Q2 G4 u. d/ X dula=0;$ y/ R& u8 g' z! ?
delay(100);/ Y9 _- a w, K$ s! q" _
}
0 n8 G, a& f+ ?$ A1 e }7 n+ R& g0 w5 @$ }/ B
}
! w1 `9 `4 P/ k1 d2 nvoid delay(uint z)
. a/ m& A! d5 m/ g4 i( O9 @) r6 `) T{ x. r- l3 C8 L& c' a
uint x,y;
7 B9 P4 t# s0 o/ \* Z( b for(x=z;x>0;x--)6 b& n% U4 u l
for(y=1000;y>0;y--);
, Q+ y; j9 E1 f8 |1 q: J/ D} |
-
-
|