任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂

2025-08-19
| 25页
| 84人阅读
| 0人下载
精品

内容正文:

任务三 单片机控制LED个性化流水彩灯 单片机技术及应用 同步精品课堂 高等教育出版社第 4 版 1 理解数组(一维、二维)的定义、引用及相关注意事项。 掌握使用数组实现 LED 个性化流水彩灯的编程思路 学会绘制个性化流水灯的程序流程图 能够编写、编译控制 LED 个性化流水的程序代码 数组的定义、引用和赋值方法 利用数组实现 LED 个性化流水的编程思路 理解数组在存储和控制流水花样数据中的应用 根据编程思路准确编写程序代码 在之前的学习中,我们掌握了单片机控制 LED 单向流水彩灯的方法。现在,我们要制作一个更具特色的个性化流水彩灯,它能按照我们在单片机程序中指定的流水花样顺序显示。 为了实现这个目标,我们需要学习数组的相关知识,让我们一起开启新的学习之旅吧。 任务三 单片机控制LED个性化流水彩灯-知识准备 所谓数组,就是指具有相同数据类型的变量集,并拥有共同的名字。数组中的每个特定元素都使用下标来访问。数组由一段连续的存储地址构成,最低的地址对应第一个数组元素,最高的地址对应最后一个数组元素。 数组概述 数组按照维数可分为一维、二维、三维和多维数组,常用的是一维和二维数组; 任务三 单片机控制LED个性化流水彩灯-知识准备 标识符:数组的名称 数组元素:数组中存放的数据 元素下标:对数组元素进行编号,数组下标从0开始,数组中的每个元素都可以通过下标来访问 元素类型:数组元素的数据类型 数组基本要素 任务三 单片机控制LED个性化流水彩灯-知识准备 表达形式如下: 数据类型 数组名[常量表达式]; 一维数组(定义与示例) 方括号中的常量表达式称为数组的下标。C 语言中,下标是从 0 开始的。例如: unsigned int a[3]; 这里定义了一个无符号的整型数组 a,它有 a [0] ~ a [2] 共 3 个数组元素,每个元素均为无符号整型变量。 任务三 单片机控制LED个性化流水彩灯-知识准备 一维数组(注意事项) ① 数组名与变量名一样,必须遵循标识符命名规则,数组名不能与其他变量名相同。 ② 数据类型是指数组元素的数据类型,所有元素的数据类型都是相同的。 ③ 常量表达式必须用方括号括起来,指的是数组的元素个数(又称数组长度),它是一个整型值,其中可以包含常数和符号常量,但不能包含变量。 任务三 单片机控制LED个性化流水彩灯-知识准备 表达形式如下: 数据类型 数组名[常量表达式1][常量表达式2]; 二维数组(定义与示例) unsigned int a[2][3]; 例如: a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] 该数组中第一下标表示行,第二下标表示列,因此它是一个 2 行 3 列的数组,各数组元素的排列如下: 任务三 单片机控制LED个性化流水彩灯-知识准备 ① 按存储顺序整体赋值 二维数组(赋值方法) unsigned int a[2][3] = {0, 1, 2, 3, 4, 5}; 例如: unsigned int a[2][3] = {{0, 1, 2}, {3, 4, 5}}; ② 按行分段赋值,这种方法更加直观 例如: 任务三 单片机控制LED个性化流水彩灯-知识准备 用来存放字符的数组,每一个数组元素就是一个字符。与整型数组一样,字符型数组也可以在定义时进行初始化赋值。例如: 字符型数组(定义与初始化) char c[5] = {'H', 'e', 'l', 'l', 'o'}; char c[] = {'H', 'e', 'l', 'l', 'o'}; 该语句定义了一个字符型数组,它共有 5 个元素,每个元素均为字符型变量。当对全体数组元素赋值时,也可以省略数组长度说明,例如: 这时数组长度将自动定义为 5。 任务三 单片机控制LED个性化流水彩灯-知识准备 若要在数组中存放一个字符串,可采用如下两种方法: 字符型数组(存放字符串) char c[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; char c[] = "Hello"; 或者写成更简洁的形式: 数组允许随机访问数组元素,每个存储在数组中的元素可以通过直接访问其索引来使用 数组对存储友好。这意味着在某些情况下,由于数组的线性存储方式,代码的执行顺序会大大提高 相比其它类型的数据结构,数组有以下优点: 任务三 单片机控制LED个性化流水彩灯 工具及材料准备: 工作准备: 制作一个个个性化的流水彩灯,能够按照单片机程序中指定的流水花样顺序显示。 任务需求 ① 软件:Proteus 7.4、Keil uVision2、EasyPRO Programmer、流程图绘制软件。 ② 硬件:编程器1台、计算机1台、最小系统电路板1块、LED 光控电路板1块、杜邦线1套、电池盒1个。 穿好工作服,戴好防静电手环,穿绝缘胶鞋。 清洁工作台面,清理工作区域,工具、仪器仪表摆放整齐有序。 任务三 单片机控制LED个性化流水彩灯——任务实施 创建一个 ROM 数组,将要显示的流水闪烁的花样数据存储在该数组中,使用时从该数组中将数据依次取出,由 P1 口输出控制 8 个发光二极管 LED1 ~ LED8 按照某一规律闪烁,直到数组中的数据全部取出,然后再重复上述过程使 LED 灯继续流水闪烁。用延时函数控制流水灯的流水速度。 编程——编程思路 任务三 单片机控制LED个性化流水彩灯——任务实施 编程 - 绘制流程图(启动与设置、拖取与调整) ①启动流程图绘图软件 Diagram Designer,设置图纸大小为 A4。 ②从右侧的标准框图符号库中拖取所需的框图符号,调整其大小和位置。 任务三 单片机控制LED个性化流水彩灯——任务实施 编程 - 绘制流程图(输入内容、连接符号、保存) ③ 在流程图符号框中输入内容,添加说明文字, ④ 使用工具栏中的指向线连接各框图符号。 ⑤ 保存该程序流程图(文件名为 “个性化流水灯.DDD”)。 任务三 单片机控制LED个性化流水彩灯——任务实施 编程(创建工程与源文件) ① 启动 Keil uVision2,新建一个工程文件 “个性化流水灯.uV2”。 ② 新建一个 C51 源程序文件“个性化流水灯.C”,编写如下的 C 源程序代码。 //个性化流水灯,文件名:个性化流水灯.c #include <reg51.H> #define uchar unsigned char uchar code table[] = {     0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f,     0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f,     0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe,     0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe,     0x00, 0xff, 0x00, 0xff,0x01}; uchar i; void delay(uchar ms); 任务三 单片机控制LED个性化流水彩灯——任务实施 编程(创建工程与源文件) ② 新建一个 C51 源程序文件“个性化流水灯.C”,编写如下的 C 源程序代码。 void delay(uchar ms) {     uchar i, j;     for (i = 0; i < ms; i++)         for (j = 0; j < 125; j++);} void main(void) {     while (1) {         if (table[i] != 0x01) {             P1 = table[i];             i++;             delay(200);         } else {             i = 0;         }     }} 任务三 单片机控制LED个性化流水彩灯——拓展内容 多维数组应用 尝试使用三维或多维数组来存储更复杂的流水花样数据,实现更加丰富多样的流水效果。 实时修改流水花样 思考如何通过外部输入(如按键)来实时修改数组中的流水花样数据,增加流水灯的交互性。 随堂检测1 请简述数组的定义和特点。 答案:数组是具有相同数据类型的变量集,有共同的名字, 通过下标访问元素,由一段连续的存储地址构成。 一维数组定义时,常量表达式有什么要求? 答案:常量表达式必须用方括号括起来,指的是数组的元素个数,是一个整型值,可以包含常数和符号常量,但不能包含变量。 随堂检测2 二维数组赋值有哪两种方法? 答案:按存储顺序整体赋值和按行分段赋值。 在绘制个性化流水灯程序流程图时,第一步是什么? 答案:启动流程图绘图软件 Diagram Designer,设置图纸大小为 A4。 随堂检测3 说明一维数组和二维数组的区别。 答案:一维数组是具有一个下标的数组,其表达形式中,方括号中的常量表达式为数组下标,C 语言中数组下标从 0 开始,例如定义一个无符号整型数组 a,有 a [0]~a [n](n 为数组长度减 1)个元素。而二维数组有两个下标,格式中第一下标表示行,第二下标表示列,其赋值可以采用按存储顺序整体赋值和按行分段赋值两种方法,例如定义一个 2 行 3 列的数组,有 a [0][0]~a [1][2] 等元素。 1 分组讨论,讨论如何设计更多独特的流水花样数据存入数组。分析数组在存储大量流水花样数据时可能遇到的问题及解决办法。 1. 知识准备 任务三 单片机控制LED个性化流水彩灯 2. 工具与材料准备 编程思路 启动与设置 拖取与调整 输入文本 连接与保存 数组概述 一维数组 二维数组 字符型数组 3. 绘制程序流程图 感谢观看 25 $$

资源预览图

任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂
1
任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂
2
任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂
3
任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂
4
任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂
5
任务三 单片机控制LED个性化流水彩灯(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。