前言

本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。

注意:(关于定时器的详细知识,我已在上一篇博文中进行了系统阐述。)

目录

前言

1.操作流程

1.驱动代码模块化

2.主体代码编写

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

2.定时器时钟

3.注意

3.进行烧录

2.代码解析

1.Timer.c

2.Key.c

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

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

3.总结


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 单片机的定时器功能,为单片机开发实践奠定坚实基础。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐