波特律动
课程中心/51单片机教程/【03】小灯闪烁

【03】小灯闪烁

观看本节视频教程

【03】小灯闪烁



本课资源下载
3 个资源
P02小灯闪烁

本节课的标准源代码工程/可供参考

V1.0压缩包19 KB
下载
XL-1608SURC-06

LED红色(0603)

PDF 文档1.5 MB
预览下载
流水灯原理图

交互式原理图❇️

原理图

课程笔记


本节目标概括

创建main.c > 利用AiCube生成软件定时 > 编写闪烁代码 >LED0每0.5s闪烁一次

1. 创建工程和main.c文件

创建新工程 "P02小灯闪烁",并添加 main.c文件。

2.生成500ms延时函数

在AICube-ISP中找到“软件延时计算器”工具:

  1. 系统频率设置为11.0592MHz
  2. 定时长度设置为500,单位设置为毫秒
  3. 指令集设置为STC89。
  4. 点击“复制代码”按钮

3.编写代码

  1. 在第1行点右键,添加头文件 #include <STC89C5xRC.H>
  2. 粘贴上一步复制的500ms延时函数
  3. main 函数编写逻辑代码 ⬇️
C语言
1#include <STC89C5xRC.H>
2
3void Delay500ms(void) //@11.0592MHz
4{
5 unsigned char data i, j, k;
6 _nop_();
7 i = 4;
8 j = 129;
9 k = 119;
10 do
11 {
12 do
13 {
14 while (--k);
15 } while (--j);
16 } while (--i);
17}
18
19void main(){
20 while(1){
21 P00 = 0;
22 Delay500ms();
23 P00 = 1;
24 Delay500ms();
25 }
26}

代码含义解释:

while(1){ } 大括号内的代码无限循环运行

P00 = 0; 小灯 L0 亮起

P00 = 1; 小灯 L0 熄灭

Delay500ms(); 延时等待 0.5s。

4.现象展示

将代码编译下载到学习板后,LED小灯L0就开始闪烁了


🔍 问题解答


暂无