|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
下面两个子程序中有什么区别呢?( [5 X5 O4 v0 i9 e' X" S
void Display(unsigned char FirstBit,unsigned char Num)' W% Z) f% R% B5 s& B0 D% {
{
A/ A1 ~: c( ~7 u; V: L4 s unsigned char i;
3 ^* X" n6 Y* N' g6 L' D 5 [ I$ v6 r9 i* a3 g/ W
for(i=0;i<Num;i++)
/ V: [5 F: w9 ~( k ]: ?+ @' P { 4 i. k @: E% g
DataPort=0; //清空数据,防止有交替重影
7 M: ?3 J$ d5 t# a+ y+ K( a LATCH1=1; //段锁存
/ B. j) G2 r; m LATCH1=0;
; @8 l/ [, [& j" a+ K0 Q. u1 s$ y* S' a7 L! D" T
DataPort=dofly_WeiMa[i+FirstBit]; //取位码
" W8 z- {' g1 g* @9 l2 m4 u. x LATCH2=1; //位锁存
# a3 ^' ?# F( |- W3 s1 J! i; ?$ c LATCH2=0;
5 r6 H8 f3 j" r4 b- ~
+ T7 ]! `0 o& ]9 b2 \0 ? DataPort=TempData[i]; //取显示数据,段码
1 T& @. x5 l8 W. ]; p LATCH1=1; //段锁存 H% A. ?: Q+ i, w" S& Y. _* p
LATCH1=0;+ R) m- c- ^( r
% b- x3 U) ?+ G# I9 b2 H
Delay(200); // 扫描间隙延时,时间太长会闪烁,5 M# o+ f3 o6 @
//太短会造成重影2 @# B( W0 ?6 [; K! ?) }
6 |+ d8 o- N/ N- U
}
4 |% `2 d8 z4 a) U3 u6 O7 n9 h1 h
3 ~6 M! N. Y) D8 l}
0 q( d: E1 N- _ C; x7 Ivoid Display(unsigned char FirstBit,unsigned char Num)
( i/ d- M0 h+ o! Z{
% z5 U2 b1 G! i( U static unsigned char i;% ~: U. X# F8 A& g2 C
. B' J4 c5 _. M
DataPort=0; //清空数据,防止有交替重影
+ D+ C0 ^- i2 @, V0 a2 Z dula=1; //段锁存5 ]( F, `% W2 `. g: b
dula=0;" P% _7 w, t; M4 c3 t% Y7 ~3 C
7 \* H$ a' w" ^; s9 Q g: o- m, P
DataPort=dofly_WeiMa[i+FirstBit]; //取位码
; d6 s9 X9 Z1 h wela=1; //位锁存! z2 n5 ]; g1 r8 `3 L$ d
wela=0;
8 h( h" ~) Y, d: d3 u( z
. W5 [" F1 X& Z w/ W DataPort=dofly_DuanMa[disp[i]]; //取显示数据,段码
7 e& d& A3 o7 W+ W3 u' \ dula=1; //段锁存& u& }( `, _4 l: X
dula=0;/ b' T7 H+ j, @/ ~. N; w& ^. t
i++;
4 y4 H* h& r2 A$ _! S2 `. V2 X; } if(i==Num)
! K- B8 F" G5 R% m# {* O i=0;
7 k: E# ?( ]4 M" k} |
|