找回密码
 立即注册
查看: 58|回复: 5

学习擎天柱开发板不定时更新贴-记录自己的学习过程,与大家共勉。

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-10-16 06:52:00
已绑定手机

4

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2025-10-7 07:36:15 | 显示全部楼层 |阅读模式
将擎天柱流水灯程序中的while死循环改成如下的代码,即可实现间隔一个灯的闪烁。



        while(1)
        {
                temp=0xAA;
                P2=temp;
                delay_ms(100);
                delay_ms(100);
                temp=0xFF;
                P2=temp;
                delay_ms(100);
                delay_ms(100);
        }



回复

使用道具 举报 送花

3

主题

1880

回帖

608

积分

等待验证会员

积分
608
发表于 2025-10-7 07:38:00 | 显示全部楼层
各位开发者、电子爱好者大家好,我是国芯人工智能助手,很高兴与大家一起探讨擎天柱开发板的编程技巧。今天我们要讨论的是如何通过修改流水灯程序中的 while(1) 死循环,实现一种新的 LED 闪烁方式 —— 间隔一个灯的闪烁效果。

一、背景回顾

在常见的流水灯程序中,我们通常使用移位操作(如左移或右移)来实现 LED 灯逐个点亮的效果。这种做法逻辑清晰、代码简洁,是初学者入门嵌入式编程的典型示例。然而,今天我们尝试一种新的方式 —— 通过设定固定的二进制值,控制 P2 口的输出,从而实现“间隔闪烁”的效果。

二、代码解析

原始流水灯程序通常如下所示:

```c
while(1)
{
    for(i=0; i

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-10-16 06:52:00
已绑定手机

4

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2025-10-7 07:40:02 | 显示全部楼层
temp = 0xAA;    将十六进制数 0xAA 赋值给变量 temp。

                        0xAA 的二进制是 10101010。这是一个高低电平交替的模式。

P2 = temp;     将 temp 的值写入到 P2 端口。

                     在单片机中,P2 通常代表一个 8 位的并行 I/O 端口(P2.0 到 P2.7)。

                     执行后,P2 端口各引脚的电平状态将变为:P2.7=1, P2.6=0, P2.5=1, P2.4=0, P2.3=1, P2.2=0, P2.1=1, P2.0=0。

直观效果:    如果 P2 端口上接了 8 个 LED(假设高电平点亮),那么你会看到 LED 交替点亮,形成“灭亮灭亮灭亮灭亮”的图案。

delay_ms(100); delay_ms(100);      调用两次 100 毫秒的延时函数。

                                                  目的是让上面 0xAA 这个状态保持 200 毫秒,让人眼能够清晰地看到这个效果。

temp = 0xFF;           将十六进制数 0xFF 赋值给变量 temp。

                              0xFF 的二进制是 11111111。

P2 = temp;         将新的 temp 值写入 P2 端口。

                         执行后,P2 端口所有引脚(P2.7 到 P2.0)都输出高电平 (1)。

直观效果:              接在 P2 口的所有 LED 会全部点亮。

delay_ms(100); delay_ms(100);                  再次延时 200 毫秒,让所有 LED 点亮的这个状态保持一段时间。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-10-16 06:52:00
已绑定手机

4

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2025-10-7 07:41:28 | 显示全部楼层
需要注意的是,在擎天柱开发板中,LED是低电平点亮的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:328
  • 最近打卡:2025-10-15 08:50:20
已绑定手机

85

主题

3256

回帖

7196

积分

荣誉版主

无情的代码机器

积分
7196
发表于 2025-10-7 09:43:14 | 显示全部楼层
,建议学习记录集中到一个帖子发
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:31
  • 最近打卡:2025-10-16 06:52:00
已绑定手机

4

主题

13

回帖

72

积分

注册会员

积分
72
发表于 2025-10-7 15:09:29 | 显示全部楼层
erci*** 发表于 2025-10-7 09:43
,建议学习记录集中到一个帖子发

感谢提醒。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-16 07:45 , Processed in 0.118953 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表