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

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

内容正文:

任务二 单片机控制LED 单向流水彩灯 (2) 单片机技术及应用 同步精品课堂 高等教育出版社第 4 版 1 了解单向流水彩灯电路的组成和原理 学会编写控制 LED 单向流水的程序 掌握程序下载和功能验证的方法 能够使用 Proteus 进行仿真调试 单向流水彩灯电路的原理图分析 程序编写思路和代码实现 理解程序中延时函数和流水效果的实现原理 解决仿真和实际电路中可能出现的问题 在电子制作中,LED 流水灯是一个经典且有趣的项目。通过单片机控制 LED 实现单向流水效果,能让我们深入了解单片机的编程和控制原理。 今天,我们就来学习如何制作一个单片机控制的 LED 单向流水彩灯。 任务实施--操作流程 操作流程 任务实施-电路原理图分析 电路原理图分析 本电路由单片机最小系统与 LED 灯控电路两部分组成,其中 LED 灯控电路由 8 个 LED 和 8 个 330Ω 的限流电阻组成 任务实施-电路原理图分析 电路搭接 将单片机最小系统板 P1 口与 LED 灯控电路板的控制口用杜邦线相连,电池盒为最小系统板及 LED 灯控电路供电 任务实施-编程 - 编程思路 (1)编程思路 分析电路可以看出当 P1 的某一位输出为低电平时,对应的发光二极管将会被点亮。因此最简单的一种流水效果的实现方法见下表,即从 P1 口依次输出一个 8 位二进制数,该数中只有 1 位为低电平,其余各位均为高电平。每输出一个 8 位二进制数,延时一段时间,控制流水显示的速度。 LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 端口数据 O O O O O O O ● 11111110 O O O O O O ● O 11111101 O O O O O ● O O 11111011 O O O O ● O O O 11110111 O O O ● O O O O 11101111 O O ● O O O O O 11011111 O ● O O O O O O 10111111 ● O O O O O O O 01111111 任务实施-编程 - 绘制程序流程图 (2)绘制程序流程图 ①启动流程图绘图软件 Diagram Designer,设置图纸大小为 A4。 ②从右侧的标准框图符号库中拖取所需的框图符号,调整其大小和位置。 任务实施-编程 - 绘制程序流程图 (2)绘制程序流程图 ③在框图中输入文本。 ④用指向线连接框图符号。 ⑤按 Ctrl + S 组合键,保存该文件(文件名为 “流水灯.DDD”)。 任务实施-编程 - 编写程序 (3)编写程序(创建工程与选择型号) ① 启动 Keil uVision2,创建一个新工程文件(流水灯.uV2)。 ② 单击目标选项按钮(Options for target),选择单片机型号为89S8252 任务实施-编程 - 编写程序 (3)编写程序(设置时钟与存储模式) ③ 设置时钟频率(12 MHz)、存储模式、是否使用片上 ROM 任务实施-编程 - 编写程序 (3)编写程序(设置输出文件夹与文件名) ④ 设置编译链接后生成的目标文件夹和将要生成的可执行文件名 任务实施-编程 - 编写程序 (3)编写程序(创建源文件与添加到工程) ⑤ 创建一个新的 C51 源程序文件(流水灯.c),将其加到该工程文件夹中。 //参考源程序:采用顺序程序结构实现从上向下流水的效果 #include "reg51.h" #define uchar unsigned char #define uint unsigned int void delay(uint ms); void main(void){     while(1)     {         P1 = 0xfe;         delay(500);         P1 = 0xfd;         delay(500);         P1 = 0xfb;         delay(500);         P1 = 0xf7;         delay(500);         P1 = 0xef;         delay(500);         P1 = 0xdf;         delay(500);         P1 = 0xbf;         delay(500);         P1 = 0x7f;         delay(500);     }} void delay(uint ms){     uchar i;     uint j;     for(j = 0; j < ms; j++)         for(i = 0; i < 125; i++) ;} 任务实施-编程 - 编写程序 (3)编写程序(编译生成可执行文件) ⑥ 编译该源程序,生成可执行文件(流水灯.HEX)。 仿真调试程序(启动软件与选择元件) ① 启动 Proteus 7.4 仿真软件。 ② 在主面板中选择元件选择模式(Component Mode),单击元件选择按钮 “P”,从元件库中选择需要的元件:单片机芯片 1 个(AT89C51)、8 个发红光的发光二极管(LED - RED)和 8 个 330 Ω 的限流电阻(RES) ③ 根据电路原理图连接仿真电路,添加电源端(VCC),修改元件标号和标称值,仿真电路中复位、时钟电路可以省略。 仿真调试程序(启动软件与选择元件) ④ 双击芯片 AT89S52,在弹出的对话框中加载 HEX 文件,修改时钟频率为 12 MHz. 单击仿真按钮,观察仿真效果。 下载程序,验证功能 启动编程软件EasyPRO Programmer。 加载可执行文件(流水灯,HEX)。 单击“操作一键通”按钮,完成程序的下载。 将单片机插到最小系统板的ZIF插座上。 加电,观察其功能。 下载程序,验证功能 随堂检测1 单向流水彩灯电路中,LED 灯控电路由哪些部分组成? 答案:由 8 个 LED 和 8 个 330Ω 的限流电阻组成。 在编写程序时,延时函数的作用是什么? 答案:控制流水显示的速度,每输出一个 8 位二进制数,延时一段时间。 随堂检测2 在 Proteus 仿真中,需要选择哪些元件? 答案:单片机芯片 1 个(AT89C51)、8 个发红光的发光二极管(LED - RED)和 8 个 330 Ω 的限流电阻(RES)。 程序下载时,需要加载什么文件? 答案:可执行文件(流水灯.HEX)。 随堂检测3 说明在编程时设置单片机的步骤。 答案: ① 启动 Keil uVision2,创建一个新工程文件(流水灯.uV2)。 ② 单击目标选项按钮(Options for target),选择单片机型号为 AT89S52。 ③ 设置时钟频率(12 MHz). 存储模式. 是否使用片上 ROM。 ④ 设置编译链接后生成的目标文件夹和将要生成的可执行文件名。 ⑤ 创建一个新的 C51 源程序文件(流水灯.c),将其加到该工程文件夹中。 随堂检测4 阐述仿真调试程序的步骤。 答案: ① 启动 Proteus 7.4 仿真软件。 ① 在主面板中选择元件选择模式 (Component Mode),单击元件选择按钮 “P”,从元件库中选择需要的元件:单片机芯片 1 个(AT89C51). 8 个发红光的发光二极管(LED - RED)和 8 个 330 Ω 的限流电阻(RES)。 ② 根据电路原理图连接仿真电路,添加电源端(VCC),修改元件标号和标称值,仿真电路中复位. 时钟电路可以省略。 ③ 双击芯片 AT89S52,在弹出的对话框中加载 HEX 文件,修改时钟频率为 12 MHz。 ④ 单击仿真按钮,观察仿真效果。 1 分组讨论,讨论如何优化流水灯程序,使其流水效果更加多样化。分析在仿真和实际电路中可能出现的问题及解决方法。 1. 电路原理图分析 任务二 单片机控制LED 单向流水彩灯 (2) 2. 电路搭接 启动软件与选择元件 连接电路与加载文件 编程思路 绘制程序流程图 编写程序 3. 编程 4. 仿真调试程序 感谢观看 25 $$

资源预览图

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