课程摘要
这节课围绕数码管的基本使用展开。老师先说明数码管本质上是把八个LED封装在一位里,段a到g和dp由P0.0到P0.7控制,并通过写P0观察点亮逻辑,发现写1才点亮。演示中先用P0逐段赋值和P0=0x06等十六进制方式显示数字,再引入码表数组,把0到9的段码存入数组,用下标取码,避免手算二进制和十六进制。用变量a作为码表下标,改变a即可改变显示值;独立按键P3.2可修改a,现场演示显示从0切到1或3。代码中数组下标从0开始,越界会报错。课程现场演示了静态数码管显示和按键控制,并表示可继续讲动态数码管。
要点
- 数码管与LED本质相同,一位数码管由八个LED封装组成。
- 段a到g和dp依次由P0.0到P0.7控制,P0.0控制a。
- 共阳极写0点亮,共阴极写1点亮;实验写0时对应段熄灭。
- 显示数字可逐段给P0赋值,也可用P0=0x06等十六进制段码。
- 将0到9的段码存入码表数组,用下标取码,避免手算。
- 数组下标从0开始,最高序号为7表示有8个元素,越界会报错。
- 码表可从网上、比赛资料或考核题目获得,不需逐段计算。
- 用变量a作为码表下标,执行P0=码表[a]可改变显示值。
- 独立按键P3.2可修改a,现场演示显示从0切到1或3。
- 静态数码管直接给段码持续显示,动态数码管留待后续讲。
涉及知识点
- 数码管:由八个LED封装成的显示器件,可显示数字和小数点。
- LED:发光二极管,数码管每一段本质是一个LED。
- P0.0-P0.7:单片机IO口,依次控制数码管a到g段和dp点。
- 共阳极:公共端接高电平,段码写0时点亮。
- 共阴极:公共端接低电平,段码写1时点亮。
- 码表:保存0到9等显示段码的数组,用下标取用。
- 数组:一组同类型固定数据,按下标访问,下标从0开始。
- 0x06:P0十六进制赋值,用于显示数字1的段码。
- 变量a:保存码表下标,改变它即可改变数码管显示值。
- P3.2:独立按键输入引脚,可修改变量a改变显示。
- 静态数码管:直接输出固定段码持续显示的数码管工作方式。
- 动态数码管:靠快速扫描多位显示的方式,转写稿中未展开。