任务一 单片机控制LED 闪烁(2)(课件)-《单片机技术及应用(第4版)》(高等教育出版社) 同步精品课堂

2025-08-19
| 25页
| 72人阅读
| 1人下载
精品

内容正文:

任务一 单片机控制LED 闪烁(2) 单片机技术及应用 同步精品课堂 高等教育出版社第 4 版 1 理解单片机控制 LED 闪烁的电路原理 掌握编写控制 LED 闪烁程序的思路和方法 学会使用流程图绘制软件绘制程序流程图 能够完成程序的编译、仿真调试和下载 单片机控制 LED 闪烁的电路原理 编写控制 LED 闪烁程序的思路和代码实现 理解单片机低电平控制 LED 发光的原因 掌握延时函数的使用和编写 在电子电路中,单片机控制 LED 闪烁是一个基础且有趣的项目。通过这个项目,我们可以深入了解单片机的输入输出控制和编程方法。 今天,我们就来学习如何让单片机控制 LED 闪烁。 单片机控制LED 闪烁——任务实施 单彩灯闪烁电路原理图 当 P1.0 口输出低电平时,LED1 被点亮,输出高电平时,LED1 熄灭。 R2 为 300Ω 限流电阻,防止流过 LED 的电流过大,烧坏 LED。 单片机控制LED 闪烁——任务实施 思考与分析 能否用图中所示方法点亮 LED? 分析:不能采用这种办法。因为 51 单片机自身输出电流很小,不足以驱动 LED,因此即使能够发光,LED 的亮度也很弱,所以通常采用低电平控制 LED 发光。 单片机控制LED 闪烁——任务实施 编程- 编程思路 1. P1.0 口输出低电平,点亮 LED。 2. 利用延时函数将该状态保持 1s。 3. P1.0 取反,这时 P1.0 口的输出状态就会由低电平变为高电平,LED 熄灭,如此反复循环操作,LED 就会每秒改变一次状态,从而产生闪烁效果。其中,While (1) 为一个永真循环,因此 LED 就会一直闪烁下去。 单片机控制LED 闪烁——任务实施 编程 - 绘制流程图(启动软件) 启动流程图绘制软件 Diagram Designer,显示如图所示的工作界面。 工作窗口 流程图标准符号库 单片机控制LED 闪烁——任务实施 编程 - 绘制流程图(拖放符号) 从右侧的流程图标准符号库中,将需要的框图符号拖至左侧的工作窗口中,然后调整其大小。 单片机控制LED 闪烁——任务实施 编程 - 绘制流程图(输入内容、连接符号) 在流程图符号框中输入内容,添加说明文字,使用工具栏中的指向线连接各框图符号。 单片机控制LED 闪烁——任务实施 编程 - 绘制流程图(保存) 保存该文件,文件名为 “单彩灯闪烁程序流程图.ddd”。 单片机控制LED 闪烁——任务实施 编程 - 编写源程序(参考程序结构) #include "reg51.h" #define uint unsigned int #define uchar unsigned char sbit LED1 = P1^0; void delay(uint ms); /*-------- 主函数 --------*/ void main(void){     while(1)     {         ① ;         delay(1000);     }} 根据程序流程图,将下列的程序代码补充完整 /*-------- 延时函数 --------*/ void delay(uint ms) {     uchar i;     uint j;     for(j = 0; j < ms; j++)     {         for(i = 0; i < 125; i++)         {             ;         }     }} LED1=~LED1; 单片机控制LED 闪烁——任务实施 编程 - 程序分析 #include "reg51.h" //头文件 reg51.h,内有 51 单片机各端口的宏定义。 #define uint unsigned int #define uchar unsigned char //宏定义,简化代码书写。 sbit LED1 = P1^0; //将 P1 口的第 0 位定义为位变量 LED1。 void delay(uint ms); //函数声明。 程序中①处应该填写LED1 = ~LED1,对 P1 口的第 0 位取反,达到闪烁的目的。 delay(1000);调用延时 ms 函数,实参为 1000,因此可以延时 1s(1ms×1000)。 单片机控制LED 闪烁——任务实施 启动 Proteus 仿真软件。单击 “开始” 菜单,在 “程序” 项中选中 “Proteus 7 Professional”,然后在子菜单中单击 “ISIS7 Professional” 命令。 仿真调试程序(启动软件) 单片机控制LED 闪烁——任务实施 仿真调试程序(设置图纸大小) 单击 “系统” 菜单中的 “设置图纸大小”,打开设置图纸大小对话框,可设置图纸大小,其默认图纸大小为 “A4”。 单片机控制LED 闪烁——任务实施 仿真调试程序(搜索元件) 在主面板中选择元件选择模式 (Component Mode) ,单击元件选择按钮 “P”(或按下快捷键 P),弹出元件搜索对话框 (Pick Device)。然后,在 “关键字” 一栏中输入元件的名称 “AT89C51”,选中其中的 “AT89C51”,然后单击 “确定” 按钮。 单片机控制LED 闪烁——任务实施 仿真调试程序(放置元件与布线) 1.放置仿真元件、电源端和地端。拖动鼠标为电路布线。 单片机控制LED 闪烁——任务实施 仿真调试程序(修改参数和保存) 1.修改元件参数和网络标号。 2.按 Ctrl + S 组合键保存文件,Proteus 仿真文件扩展名为 “.DSN”。 单片机控制LED 闪烁——任务实施 仿真调试程序(加载文件与仿真) 1. 加载 HEX 文件,修改晶振时钟频率。 2. 单击左下角的 “仿真” 工具栏中的 “开始” 按钮,开始仿真操作,观察仿真结果。 单片机控制LED 闪烁——任务实施 下载程序,验证功能 将单片机芯片插入编程器的ZIF插座中并锁紧,将编程器与计算机用USB数据线连接。 ② 启动 EasyPRO Programmer,选取单片机型号为AT89C51。 ③ 加载 HEX 文件。 ④ 单击“操作一键通”,完成单片机程序的下载。 ⑤ 将单片机芯片插到最小系统板的ZIF 插座处,然后打开电源开关观察 LED 的亮灭。 单机“开始”按钮,开始仿真 随堂检测1 在单彩灯闪烁电路中,限流电阻 R2 的作用是什么? 答案:防止流过 LED 的电流过大,烧坏 LED。 编写控制 LED 闪烁程序时,延时函数的作用是什么? 答案:将 LED 点亮或熄灭的状态保持一定时间,实现闪烁效果。 随堂检测2 在 Proteus 仿真软件中,搜索元件时,如何选择单片机型号? 答案:在元件搜索对话框的 “关键字” 一栏中输入元件的名称 “AT89C51”,选中其中的 “AT89C51”,然后单击 “确定” 按钮。 下载程序到单片机时,第一步操作是什么? 答案:将单片机芯片插入编程器的 ZIF 插座中并锁紧,将编程器与计算机用 USB 数据线连接。 1 分组讨论,讨论如何调整 LED 闪烁的频率。分析在不同晶振频率下,延时函数的延时时间会有什么变化。 1. 电路原理图分析 任务一 单片机控制LED 闪烁(2) 2. 编程 启动软件 设置图纸大小 搜索元件 放置元件与布线 修改参数、保存、加载文件与仿真 编程思路 绘制流程图 编写源程序 编译程序,生成 HEX 二进制文件 3.仿真调试程序 感谢观看 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
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。