|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
目的是控制几个数码管依次点亮 第一个显示1,第二个显示2,第三个显示3.。。。。。
' x- @; B& m ~; L1 Z+ y, h
$ [ |( k$ g" P. I/ U( {2 }1 n9 m#include<reg52.h>
" L' g( @# {/ O2 y5 R5 f, b0 S% \, n#include<intrins.h>
1 q' c8 y) F3 X$ S5 U2 z#define uint unsigned int8 j* @, b9 J: I% p
#define uchar unsigned char1 f. {8 I- G9 G( W1 ^
sbit wela=P2^7;------------------------位控端口,接锁存
" ]/ B5 M! j8 Wsbit dula=P2^6; -----------------------段控端口,接锁存
: D8 X" }* X; N$ puchar code teble[]={
# H% Y. \) L, _ T& |0x3f,0x06,0x5b,0x4f,
1 E2 c2 G2 H; _3 I, I" h0 d* [0x66,0x6d,0x7d,0x07,
+ G9 \8 v1 l" f; P- |- h1 N5 k/ P0x7f,0x6f,0x77,0x7c,
# @9 l0 z! D, R$ S! Q% N0x39,0x5e,0x79,0x71};
2 B( Z2 d/ O2 z; A q. o# Nuchar temp;/ C {3 ~ o3 E( e) Y& T9 t1 \
uint num;2 Q, m0 E4 k( r
void delay(uint)( s: `0 y- K- E) M) w' Z
void main()
$ g; y3 Y6 z$ z! @7 R r3 l! e{: B2 q3 O2 t. t4 G
temp=0xfe;# K2 b) D. X" ?1 V9 l9 \8 W( K
while(1)
4 d3 Q8 J2 J4 u3 O, }, I0 v2 h {6 {1 ^; \6 V) A5 {- a3 c& F
for(num=0;num<16;num++): } d( H3 c' ]8 ^ P3 e5 X
{ wela=1;----------------------------位控制,希望依次点亮' B* s, g d3 \8 L. ?
P0=temp;: E7 x; F& ~5 F6 f$ }
wela=0;
; C: d6 n) s: E) |0 I# s# O temp=_crol_(temp,1);
3 J7 ?% P8 L, x! A8 i, p dula=1;----------------------------段控制,依次显示数字1.2.3.......% S. `+ \1 w0 A+ i. s0 I
P0=table(num);
; N5 l7 B% @6 D. R+ T dula=0;7 e: F K( M& v% D; ?
delay(100);
" m2 d+ V& m4 }" a1 d( [5 _ }
- r! X6 `$ S, U* m }% A" V- s& L) o" \
}3 p0 J1 N" b& F# N+ v4 d, i
void delay(uint z)( g4 F7 C2 X# y% i# Z3 K4 J
{
" r& x2 X( \8 ^8 ` uint x,y;: D) ]0 t6 D4 T" ?, f$ c5 J: F
for(x=z;x>0;x--)8 y/ w; h2 m( k9 U
for(y=1000;y>0;y--);
, R, J. ?8 h4 w# ]} |
-
-
|