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
热门推荐
茶室内小叶赤楠养护指南:打造生机勃勃的绿色空间
北京胡同導覽:發掘歷史悠久的胡同文化
城中村改造房子的产权属于谁?
阿联酋电信诈骗新手段:从信用卡盗刷到AI诈骗,华人华侨需警惕
签了合同但未入职算不算违约
仑卡奈单抗延缓阿尔茨海默病进展机制获新突破
角膜塑型片多久换一次合适?详细价格、后遗症、优缺点懒人包整理!
讽刺幽默:“双标”的矛盾人生
Win11系统内存完整性设置:两种开启方法详解
如何延长SSD寿命
《论语》中的君子之道:子夏论君子的三种表现
揭秘:十二星座被暗恋率是多少?
《魔兽世界》11.0版本钓鱼宏命令详解:轻松提升钓鱼效率
药食同源——铁皮石斛
鼻翼如何变窄
2024年度中国新药盘点:228个新药获批,创新药质量持续提升
侧平举锻炼哪里的肌肉
哪些补血食物功效比较好
档案被家长拆开了别急,用这一招可以恢复
“玉出大江”!重庆三峡博物馆展出长江流域史前玉器特展
【公职律师说法|第8期】信用卡违规使用,法律底线不可碰
电机用绝缘材料的发展特点及绕组绝缘性能工艺保障措施解析
浙江记协成立这个机构,有何深意?
主动脉瓣狭窄:症状、病因、风险因素及预防
秦始皇真是暴君吗?1975年湖北出土1155枚秦简,还原真实的秦国
冷冻消融针:原理、分类、使用方法与注意事项全解析
雅思考试是机考还是笔试?
部落冲突皇室战争狗球流怎么玩 狗球流玩法攻略
机器人的能源管理:电池与能源收集
山水诗句的意境与美感:领略自然的诗意之美