|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' J9 s6 [1 V- V6 I! W- K' O' Z
第 8 讲 数码管的动态扫描显示: X; i0 T" w' }% z' ]3 ^
. `( m6 q+ i) u- N/ d& I( y5 N
知识点:
F) C8 G0 V2 M( a ^( M9 |5 G8 A1、 端口的并行操作& _8 i( K+ s8 {/ f% A& h+ H& t
2、 switch() case{}多分支选择语句
8 z; C& ?, j* G8 j5 m3、 IO 端口作为输入的用法. Q# I+ V! o. S: y4 J( B
4、 74HC138 译码器8 \% O) ?1 s& q; k% y; N8 m
, j/ ^' Y5 k& i9 a6 u' n9 @1 `
一、端口的并行操作
5 T, |" w; w3 F- ?% W51 单片机端口是 8 位,我们不仅可以单独对每一位进行操作,还可以直接对端口寄存器进行读写操作。如 P0、P1、P2、P3。数码管实验就是直接操作的端口寄存器。: ^+ R: r2 q; |9 G4 T0 a
如 P0 = 0X3F; 换算成二进制就是:00111111,实际上就是单片机的 P0.0—P0.5 被置 1,' ]+ A( T) l; U6 ]! ]5 {1 p# d& J
P0.6,P0.7 被置 0。
8 I% |7 s. T( p, z1 a1 X二、多分支选择语句
4 [' O. r" [- m! n2 a4 u前几次课,我们学习了循环语句 for 的用法,知道了 for 语句的执行流程。今天,我们再学 习一个分支语句 switch case default。这种语句把一个表达式的值和一个整数或字符常量表中的元素逐一比较。发生匹配时,与匹配常数关联的语句被执行。switch 语句的一般形 式如下:
$ Z# P+ u* F0 Z/ }switch(expession)8 ]3 [4 X1 e" ^
{( _5 _4 Z& T: s
caseconstant1:2 A- `. j# c( ?8 d0 \. O
语句 1;
5 W5 `6 m, E$ }9 ~# Pbreak;
' B) u5 _: ~) K0 s' Ncaseconstant2:
' h/ u# I1 q {语句 2;
4 c2 p" a2 } N" X" Cbreak;
) @6 ~, n& Q% R5 b3 L* kcaseconstant3:
/ F& V: u2 }6 ^2 T0 e+ \语句 3; break; default: 语句 4;
7 X3 H# A& p0 l- _" R1 q}0 k6 A1 ^9 j, b
6 n9 r9 }9 L+ ]5 e: Q1 F& l/ t( e b0 X2 H- i
注意:/ L- p& j+ N+ K3 O
1、 表达式 expession 必须对整数求值,因此,可使用字符或整数值,但不能使用浮点表达式。
. V, I v" a& F B0 I; J2、 表达式的值顺序与 case 语句中的常量逐一比较,发生匹配时,与匹配常数关联的语句被执行。直到遇到 break 语句或到达 switch 语句结尾时停止。0 _! ~! U" ]" F- @. l% w" d6 q$ p
3、 default 是可选项。, A8 `: G) L A' c4 G7 u
9 b+ o% e6 n0 B, t' K
三、IO 端口作为输入的用法(例程按键)1 P f8 Z% k. v8 c/ X+ S" z6 s
讲独立按键时再讲
) O% E s0 f. U% B, w
4 `9 L! ]+ u5 S四、74HC138译码器0 Z# O5 s( ]6 R
在我们设计单片机电路的时候,单片机的 IO 数量是有限的,有时并满足不了我们的设计需 求,比如我们正使用的 STC89C52RC 单片机一共是 32 个 IO 口,但是我们为了控制更多的器
\8 K1 w0 w. D9 w" j件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如
8 r2 P0 L5 C& \# A! l X/ { D74hc138 这个 3-8 译码器。
! P( u: C8 Z- \1 N$ q' N
; F, ~" A& o B _
从这个名字来分析,三八译码器,就是把三种输入状态翻译成 8 种输出状态。从图中可以看 到 74HC138 一共有 6 个输入引脚 ,但其中 4、5、6 引脚是使能引脚 ,这三个引脚如果不符 合规定的输入要求,1,2,3 引脚不管你输入的什么电平,Y0 ~ Y7 都是高电平。所以必须 按图示方式连接。大家可以看下面的真值表,输入与输出的对应关系:
1 W( z, [/ B3 a0 |! j% Z: t' J* Y' n5 S) @6 q; ]7 x
# j* X1 X5 n$ ]0 T
|
|