C51单片机LED闪烁编程完整教程
创作时间:
作者:
@小白创作中心
C51单片机LED闪烁编程完整教程
引用
CSDN
1.
https://m.blog.csdn.net/GallyDowney/article/details/122301577
本教程将详细介绍如何使用C51单片机实现LED灯闪烁的编程过程。通过本教程,你将学习到如何编写延时函数、如何使用Keil5软件进行编译和仿真,以及如何通过CH340驱动将程序烧录到单片机开发板。
实验目标
使LED灯闪烁,需循环让 D1 指示灯先亮一会后熄灭,因此只需编写一个循环函数,专门在那循环运行即可实现延时功能。
编译软件
Keil5
实验过程
1. 书写延时函数
函数名:delay_10us
函数功能:延时函数,ten_us=1时,大约延时10us
输入:ten_us
输出:无
函数需要通过while循环实现,函数入口有一个形式参数ten_us,如果ten_us=1,则while循环执行一次,调用该函数延时时间大约 10us。
2. 书写main函数代码
LED1=0(低电平点亮);
LED1=1(高电平熄灭);
delay_10us(50000);仿真得知大约延时450ms
3. 编译程序,发现错误
函数形参 ten_us 是 u16 类型的,不是 C语言数据类型关键字
4. 重新定义数据类型
5. 重新编译,最终得到正确的完整编译代码及hex.文件
6. 通过CH340驱动烧录hex.文件到单片机开发板
7. 连接P20与D1端口观察实验现象
8. 其他:通过 KEIL 软件仿真查看延时时间
①点击仿真按钮,进入仿真界面
②点击 RST 按钮,重新复位系统参数,此时参数列表中 sec 则为 0,然后设置断点
③点击运行代码,可以看到黄色箭头直接定位到 18 行代码,也是设置的第一个断点位置,此时参数列表中 sec 时间是 0.00039s。
④再点击运行代码,此时黄色箭头指向第 19 行代码,此时 sec 为 0.450601s。
⑤将现在这个时间减去上一步的 sec 时间就可以得到 delay_10us(50000)运行 的实际时间了为0.450601- 0.00039=0.4502s≈450ms
热门推荐
Modbus TCP通信协议介绍及示例详解
一位地区领导分享:如何有效指导新教师
燕归去,诗意栖居与时光流转
变上限积分基本公式
拔牙时哪些类型的牙齿可以采用扭转力进行拔除?详细解析与建议
张震只是个纵队副司令,为何会突然被粟裕看中进入华野指挥核心?
粤菜的特点是什么 有哪些代表菜
燕窝到底有用吗?营养学证据来了
每 30 分鐘讓眼睛休息一次
变革管理的三大要素对组织变革成功的影响有哪些?
土耳其签证类型及申请指南
去土耳其签证需要哪些材料?签证申请流程是怎样的?
山地车选购避坑指南:1000-3000元全价位车型推荐与配置解析
如何理解股市波动并选择合适的投资策略?这种波动对投资策略有何影响?
关于变道的要求是什么
安全警示丨驾车需有“道”,变道莫随意!
如何找到适宜的树木?这种寻找方法有哪些依据?
如何增强项目会议沟通
探秘记忆宫殿:从古代智慧到现代科学,揭秘海马体和记忆之谜
免疫球蛋白高:原因、治疗与日常养护全解析
BMI,腰围,体脂率:减重前用三个指标给自己“画像”|科学减重
冯友兰:研究历史的准备工作——史料学的三个步骤
在家健身的明智选择:如何选购最适合自己的健身器材
卵胎生鱼种类名称及图片大全
运动粘度和动力粘度的区别(运动粘度和动力粘度的换算)
拿到多个offer如何抉择
南昌拌粉:一碗情深,千年传承的美味
石家庄消防救援支队赴河南灾区开展排涝救援工作纪实
笔记本一直插着充电使用,会损伤电池吗?
新中式:文化自信与市场创新的融合