51单片机入门教程——按键控制LED流水灯模式(定时器版)&定时器时钟
本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡。注意:(关于定时器的详细知识,我已在上一篇博文中进行了系统阐述。目录前言1.操作流程1.驱动代码模块化2.主体代码编写1.按键控制LED流水灯模式(定时器版)2.定时器时钟3.注意3
前言
本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。
注意:(关于定时器的详细知识,我已在上一篇博文中进行了系统阐述。)
目录
1.操作流程
打开Keil uVision5,创建新文件,创建“定时器模块化代码”和“按键控制LED流水灯模式(定时器版)需要用到按键测试的模块化代码“的源文件和头文件
1.驱动代码模块化
1.定时器模块化代码的源文件,如下图所示
(Delay延时模块化代码从之前学习的文件夹中复制过来)

2.定时器模块化代码的头文件,如下图所示

3.按键测试模块化代码的源文件,如下图所示

4.按键测试模块化代码的头文件,如下图所示

2.主体代码编写
1.按键控制LED流水灯模式(定时器版)


2.定时器时钟
复制“按键控制LED流水灯模式(定时器版)”的文件夹,重命名为“定时器时钟”,再从之前学习的文件夹中将“LCD1602”的模块化代码复制过来


3.注意
这5个警告是L16定义了却没有使用,占用了运行空间。我们空间足够,不必理会。

3.进行烧录
1.打开stc-isp,左击”打开程序文件“找到该文件,进入文件夹,双击”Objects“,再双击”Project.hex“,在确保51单片机已经与电脑连接的状态下,左击“下载/编程”

2.在确保51单片机已经与电脑连接的状态下,按下51单片机开关,等待操作界面显示“操作成功”的字样后,关闭51单片机再次启动即可。

实物如图所示
按键控制LED流水灯模式(定时器版)

定时器时钟

2.代码解析
1.Timer.c
直接从stc-isp中的定时器计算器生成,注意红框内的内容。
(注意,蓝框中的那一行代码需要清除,因为头文件<REGX52.H>中没有默认定义AUXR寄存器,尽管STC89C52RC中有AUXR寄存器)

2.Key.c

3.按键控制LED流水灯模式(定时器版)

4.定时器时钟的主体代码

3.总结
本文是学习 B 站江协科技 51 单片机入门教程中 “7-2” 章节后的实践总结,同时也为新手提供了一份实用指南。全文聚焦代码解析这一核心内容,旨在帮助读者深入理解代码含义与编写逻辑。当你掌握了代码背后的思维方式,就能更加游刃有余地运用 51 单片机的定时器功能,为单片机开发实践奠定坚实基础。
更多推荐



所有评论(0)