|
以共阴数码管,段/位共用P0为例,只传消隐码不锁存,起不到消隐作用。
* r; k8 `) y0 O4 R+ Z //显示第一位- f) G2 k) W7 s+ {
P0=0x00;//消隐段码7 }( ?0 ?, Q* n H5 g" I
DU=1; //送段码到锁存器
% _% J9 y! I \. J' O; ^) K DU=0; //锁存
3 Q1 p) S5 x6 W* b //在段码消隐期间更改位码, H1 V# X& ?6 j9 N I3 |
P0=0XFE;//位码
# P9 i3 }( Y) H& h WE=1; //送位码到锁存器
7 Q- ~$ j, t- T: B6 |6 N" k% e$ K WE=0; //锁存" g# R7 f$ q1 o/ v
//此时显示位已改变
$ |; G% T9 p$ N. c! \ P0=0x06;//要显示的段码,例'1'8 B: k. n/ A+ H1 r U; v
DU=1; //送段码到锁存器4 K ^9 W9 o' N3 L/ U" G9 r& y4 p( j
DU=0; //锁存
6 J3 y; c5 k2 G) a- o4 G delay(5)//延时(保持一小段时间显示内容)
# N. u8 E# C/ k9 O' c //显示第二位( n4 M' ?: S7 n- D
P0=0x00;//消隐段码% M4 N3 [) e# j7 j9 F
DU=1; //送段码到锁存器7 g3 s7 r$ p' r
DU=0; //锁存9 e5 _, a" R6 W9 x/ ?
//在段码消隐期间更改位码
4 y% W4 ]5 \% b8 y. Y M6 ~ P0=0XFD;//位码# k* ~$ ~* g5 Z1 c
WE=1; //送位码到锁存器' g1 U: w( z2 M6 H5 E0 M" F
WE=0; //锁存- _$ L* ?& t X' R2 q- e# l
//此时显示位已改变. F' C5 u1 x9 h$ m& c
P0=0x5b;//要显示的段码,例'2'
: N) h3 u+ ?2 a, Q) ?9 E DU=1; //送段码到锁存器
" X1 |. R+ U* a# W DU=0; //锁存3 D5 u7 C* y- Q& \7 U% l
delay(5)//延时(保持一小段时间显示内容)
0 e) j% J3 A) ~4 a! M2 d4 E% g+ `
& q( L0 w7 G* P: W8 g //显示第N位,以此类推 |
|