找回密码
 注册
关于网站域名变更的通知
查看: 197|回复: 1
打印 上一主题 下一主题

单片机讲义9:二维数组 if 语句

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-1 09:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

. r) [  d* y( r: c. ^& n第9讲
4 x) V% O8 R) {; v9 p& }2 `1 X8 M$ A复习:
. @$ o- p' e' P9 s0 y& I/ ~7 ?, x) U) p1、 51 单片机 P1 口的特点) G# k5 w0 f! p6 U+ D0 f
2、 switch() case{}多分支选择语句: q; ^8 p) F) f" M( p0 F0 o' K& N
3、 74HC138 译码器
! l. o# a& m& H% T7 z; l$ L
6 r& d& q; r* A- h' H+ H- E! z5 b. ~6 C
新知识:3 o/ B8 L6 M# j
1、二维数组定义,引用, X$ }: B8 j! C. `( @
2、if 语句+ l' x! r1 Z; Y  W& G# ]. ]
3、8*8 点阵 LED 编码、扫描方式 一、51 单片机 P1 口的特点. j. p$ R$ y$ i: s  R

2 c& ?* _, M. ?2 M8 {) f0 c% v8 k& t; rP1口的要点:' ], x8 D- }8 p' j2 j+ T9 P) j

6 K1 M" c9 F9 x& ?, B" P: N7 p二、多分支选择语句
! ]* U  ?( f' e- B前几次课,我们学习了循环语句 for 的用法,知道了 for 语句的执行流程。今天,我们再学 习一个分支语句 switch case default。这种语句把一个表达式的值和一个整数或字符常量 表中的元素逐一比较。发生匹配时,与匹配常数关联的语句被执行。switch 语句的一般形 式如下:
( H/ V5 s; D7 W2 B3 {3 Y* c2 dswitch(expession)
+ h+ r$ _: c  S7 ]0 ~7 n{  X: a6 p5 j1 H0 ]/ b, V$ U+ {
case constant1:! [8 K5 b1 e# {5 E
语句 1;
" j" }; o6 G9 Z. g9 G7 B2 Z6 w" B& s( N& J1 b* g9 r' `4 B' Y
break;. l( W/ m$ V+ O5 ^# H
case constant2:
( e, [; i: R: C, q2 {% K语句 2;6 s3 g% Y* k: S+ d  d
break;" b0 k; ]8 g9 A" v
case constant3:& ]  A( G) n9 h/ g1 [
语句 3; break; default: 语句 4;, L  k4 |2 R; Z  I! J
}
4 G7 o9 P! x2 Z, ~) U注意:
+ b7 @* o# N# V! X) b5 u! c1、 表达式 expession 必须对整数求值,因此,可使用字符或整数值,但不能使用浮点表达 式。8 n: r- z5 p& B) {$ @; J
2、 表达式的值顺序与 case 语句中的常量逐一比较,发生匹配时,与匹配常数关联的语句 被执行。直到遇到 break 语句或到达 switch 语句结尾时停止。# Z9 j- E+ P1 Z8 I, e
3、 default 是可选项。$ n5 \0 q6 B4 \6 w; A6 l8 h8 T
8 B- @1 k% j6 M) X
三、74HC138 译码器9 w: ?0 \. P7 F6 b/ c
在我们设计单片机电路的时候,单片机的 IO 数量是有限的,有时并满足不了我们的设计需 求,比如我们正使用的 STC89C52RC 单片机一共是 32 个 IO 口,但是我们为了控制更多的器 件,就要使用一些外围的数字芯片,这种数字芯片由简单的输入逻辑来控制输出逻辑,比如% c8 I& f( D/ f: h$ e- [* N
74hc138 这个 3-8 译码器。2 u2 `5 E1 s& E
, P8 }: u# r  o
从这个名字来分析,三八译码器,就是把三种输入状态翻译成 8 种输出状态。从图中可以看 到 74HC138 一共有 6 个输入引脚 ,但其中 4、5、6 引脚是使能引脚 ,这三个引脚如果不符 合规定的输入要求,1,2,3 引脚不管你输入的什么电平,Y0 ~ Y7 都是高电平。所以必须 按图示方式连接。大家可以看下面的真值表,输入与输出的对应关系:5 @) y+ `! W* R: h+ K
+ \4 m/ ]8 w) M/ W  H
四、二维数组: J$ G# `/ q6 D
定义:
% {7 I1 x, j( }* t! Z$ C数组类型        数组名[行数][列数]={元素列表};
6 d* `/ j( A7 ?9 V如:char arrzy[3][4] = {
5 p+ `' u, I; P5 G{1,2,3,4},
# ?3 j4 I8 Q5 x: @- ?{5,6,7,8},
0 ?% |; ^' I7 h, F1 g' g8 X! X6 P" f4 S{9,10,11,12},7 ?# p& p: ~+ j- f; O. Q% J
};
7 w: \3 l% D/ Q* F9 \引用:下标法
8 M3 g8 U, ^9 N  p4 D; ], A4 K* }; t, I
五、if 语句 if(表达式)
& l) F2 P1 H4 h# C* i{5 N' J5 B* ]4 h4 y% ~6 e; X
语句 1;
% r+ q6 h3 M2 b" I- H& C- C}2 o$ D: Z5 y1 S# H/ _; \
else, I0 Z, w5 i+ l
{1 f3 G0 n* D+ @" P+ o/ ^2 J
语句 2;
7 w# o: b% D9 K! F# S# i) M, I2 z) u$ x}
4 Q  P# N. n, R$ ]当表达式为真时,执行语句 1,否则执行语句 2;其中 else 语句可以省略。 更复杂一点:' g$ ]$ E9 s! Q; B
if()* ]7 z! Y$ s  W7 h8 C) p% ?
{}
2 B6 Z/ e2 W" f# M! `7 f9 ~else if()
2 p8 Q% n- R1 ^5 _7 I( J+ V* A{}
0 U3 R6 I- H1 A* U7 o4 u; L, c$ o1 q) F7 ^$ x8 f
else
& B" x5 P  q( A" j{}
1 S7 U* H; f3 e% ~0 p* R  }5 m9 ^; b: f- A0 ~; ]% S' Z
六、8*8 点阵 LED 编码、扫描方式
' H& f% N1 T3 s
' K4 _  Z9 f4 k- @. |0 A& m# Z( }以下是数字 0 的编码5 c+ W( U! r1 }8 j
5 u2 L/ Y5 H( U
与 8 段数码管编码一样,按行扫描,空白处是 0,显示为 1

该用户从未签到

2#
发表于 2022-6-1 11:03 | 只看该作者
||ヽ(* ̄▽ ̄*)ノミ|Ю学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 01:13 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表