|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
第七讲# c6 }, k: B. l; p' g
- M4 x! o8 N% p6 i% P k: W: ]" Z
知识点:
* x) ]3 ~, y" X. S L9 o1、 数码管编码; g$ c+ F7 e* U" M" H2 a4 v
2、 数组定义格式、引用
' R* n3 ^$ M1 ^! e1 O8 R3、 端口的并行操作! H. W7 T' z1 R% z3 W
4、 switch() case{}多分支选择语句- R+ V% ^# I' D8 ~' u6 S8 U* q8 x' x
5 M+ `: K5 X+ }5 l _, x) e
一、数码管编码- z4 j7 n* G, M- V9 l1 a
数码管又称 8 段数码管(加上小数点 dp),分为共阳极和共阴极两种。用! Z1 j2 i( `6 x6 f; }2 M" Q; R b
a,b,c,d,e,f,g,dp(h),8 个字母表示 8 个段。其电路原理如下图:' a' ~+ H/ B& G4 z
![]() ![]()
) |) z: {% \1 K) T' y* C6 a
, X B4 N% i V内存单元中。
# ^' c9 f6 L( f0 v4 W
$ _4 e z0 q3 gdp g f e d c b a
+ ~) {1 z3 w# v+ T共阴极数码管编码:
& E' a: @2 C9 \ s0 o8 ]8 _ ' H0 `: U, t2 h. `' j
0! h# \; K1 U6 ^
| 0x3f4 R, q/ d* w) t" h3 a' s5 t; I- w8 C
|
8 x' K6 c+ ?! f! M' d* F | 1. ^: c" a* r, m- @% j, I/ A
| 0x065 ~6 y7 ?$ E/ J% O# f
| N0 H( l4 C+ w w- ~* y
| 2% S8 F7 ?5 u z) ?, a R k
| 0x5b3 ~% d/ n% ^4 U5 p9 ~* U& n( }0 J( ?2 N
|
" o4 c; k5 L. R% k7 P ^ | 3; N7 [2 a O6 H8 E3 I. o
| 0x4f9 M$ v% A4 D: K( z2 d) B
| | 4
X/ A2 d$ A; c, P$ X; [ | 0x66& G* K _% U# r. r( ?
| # L" D* @: z- N' l# h
| 5) p- ^- r' i. W1 G6 @) d8 |
| 0x6d7 t7 N% @1 b; ^
| | 6
9 s4 a$ s% _0 J- h- N: } | 0x7d
& u# `% { v" {9 [2 _0 y4 y7 k |
& v( L& s8 k( J# X8 p | 7
- [4 ?/ W$ @" C9 r; ?: X7 p% H | 0x07
" T! V+ I3 x# g# r1 V |
' \7 @8 |; Z* U1 v; a | 8
; j/ |1 h2 C( p3 J# L3 F& W | 0x7f6 W. N% ]0 T% ?8 h+ H3 n& z6 \5 R
|
+ @3 E2 }( J8 @1 m | 9
( i0 l; G5 W4 B7 t7 j) m9 U | 0x6f
* F0 s0 [1 @, }9 p | . }2 W, |4 ]- `1 e3 ]
| 二、 数组定义、引用1 ]/ E; _* T3 q! d3 u& Z( I
C 语言中,把具有相同数据类型的一组数据集合在一起,构成数组。定义格式如下:数据类型数组名[数组元素个数]= {元素列表};3 N- a& z g; \/ j: p' S
如:chararrzy[7];
/ ?: c) {) x, D2 w/ VcharNum[5]= {0,1,2,3,4};) |6 R/ p; Y4 s/ M
char word[4] = {‘a’,’b’,’c’,’d’};
- i* r' x( W4 u" r8 {; R5 a9 W引用:下标法: g# ]+ o! ~: U9 ^7 O# B4 @
int num[2]={0,1};
2 ?! i% f: K' W) A; bint a;
% e' I4 B" l- q3 I: L+ ?0 `/ Ta = num[1];" j8 Z( X* [! o
三、 端口的并行操作& P6 {7 K U! B- b/ Y$ [- V7 w
51 单片机端口是 8 位,我们不仅可以单独对每一位进行操作,还可以直接对端口寄存器进行读写操作。如 P0、P1、P2、P3。数码管实验就是直接操作的端口寄存器。
. c: P6 m8 K1 q+ D如 P0 = 0X3F;//显示 0
* q, O G( f; Y4 F- U* X6 M( h四、 多分支选择语句
, i: z' q5 K- f8 I' t/ v$ i+ ?前几次课,我们学习了循环语句 for 的用法,知道了 for 语句的执行流程。今天,我们再学 习一个分支语句 switch case default。这种语句把一个表达式的值和一个整数或字符常量表中的元素逐一比较。发生匹配时,与匹配常数关联的语句被执行。switch 语句的一般形 式如下:: f4 L; y1 B8 @# Y, z! j
switch(expession)2 K! i, n6 v% c3 n+ c! R* Z
{+ O/ Y, A/ {' R+ h5 G8 H1 s) J; C
caseconstant1:
8 p v* |* M! q* \0 c6 j5 K0 x* x语句;# C2 n3 H+ H1 h% _9 H
break;
& }+ I0 |! J0 h/ @" P: k: u! qcaseconstant2:9 r2 I) B( R: K$ O
语句;
0 B6 \0 f: C/ A$ d2 l$ X9 s8 lbreak;
2 S9 } s2 }0 G+ Y# o1 v9 J( y/ J
* F9 g* G' u* z* n; B: kcase constant3:& Q d2 E8 U: s
语句; break; default: 语句;1 h5 ?/ L; }7 F# a$ S
}8 W, K5 w& ~# g: v* r8 l
注意:
9 J& j" i/ } r1、 表达式 expession 必须对整数求值,因此,可使用字符或整数值,但不能使用浮点表达式。% v8 v5 D3 ?! Q! }2 d1 i* F
2、 表达式的值顺序与 case 语句中的常量逐一比较,发生匹配时,与匹配常数关联的语句被执 行。直到遇到 break 语句或到达 switch 语句结尾时停止。: L2 a, I2 e& x. f& V2 {
3、 default 是可选项。 R7 I9 [; R" Z1 Y! B
|
|