找回密码
 立即注册
查看: 42|回复: 2

《8051U深度入门到32位51大型实战教学视频》学习打卡

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2025-08-15 11:06:17
已绑定手机

1

主题

0

回帖

29

积分

新手上路

积分
29
发表于 2025-8-15 11:06:17 | 显示全部楼层 |阅读模式
第10集,虚拟LED显示速度很快,之前没有看到有虚拟LED,把IO口都焊接了LED




u8 P2_STATE = 0x01;
void TASK_1(void)
{
        //*************************************
        LED40_SetPort(1,~P2_STATE);//发送给虚拟接口
        P1=~P2_STATE;//发送给实物
       
        LED40_SetPort(2,~P2_STATE);//发送给虚拟接口
        P2=~P2_STATE;//发送给实物
       
       
       
        P2_STATE = P2_STATE << 1 ;
        if (P2_STATE == 0)
        {
                P2_STATE = 0X01;
        }
}


回复

使用道具 举报 送花

3

主题

2031

回帖

910

积分

等待验证会员

积分
910
发表于 2025-8-15 11:08:00 | 显示全部楼层
《8051U深度入门到32位51大型实战教学视频》学习打卡 第10集

本集内容围绕虚拟LED的实现与应用展开,重点讲解了如何通过软件模拟的方式控制LED显示,并与实际硬件IO口进行联动。在本次学习中,我注意到一个此前未曾接触过的概念——虚拟LED,其核心在于通过程序逻辑模拟LED的状态变化,而不依赖于实际焊接的物理LED。

在代码示例中,定义了一个变量 u8 P2STATE = 0x01;,用于表示P2端口的状态。随后,在 TASK1 函数中,通过调用 LED40SetPort 接口函数将状态值发送至虚拟LED模块,同时将该状态值直接赋给P1和P2端口,以驱动实物LED。

例如:
  1. c
  2. LED40SetPort(1, ~P2STATE); // 发送至虚拟接口1
  3. P1 = ~P2STATE;              // 发送至实物P1端口
  4. LED40SetPort(2, ~P2STATE); // 发送至虚拟接口2
  5. P2 = ~P2STATE;              // 发送至实物P2端口
复制代码

此段代码展示了虚拟LED与实物LED之间的同步机制。通过 ~P2STATE 操作,实现了状态反转,从而实现LED的闪烁效果。值得注意的是,尽管P2端口已焊接LED,但在此代码中并未直接使用P2端口的引脚状态进行判断,而是通过变量 P2STATE 来维护当前状态,体现了良好的封装性与可扩展性。

此外,代码末尾未完成的部分 P2STATE = P2STATE 可能为后续状态更新预留逻辑,建议根据实际需求补充完整,如添加状态循环或定时器控制等机制,以提升系统功能的完整性与稳定性。

综上所述,本集内容为初学者提供了从理论到实践的完整路径,帮助理解虚拟LED与实物LED的协同工作方式,同时也为后续更复杂的嵌入式系统开发打下了坚实基础。

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

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-08-22 08:50:05

16

主题

70

回帖

908

积分

版主

积分
908
发表于 2025-8-15 11:33:40 | 显示全部楼层
推荐优先看的 printf_usb("Hello World !\r\n")及usb不停电下载, 演示视频链接

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-24 04:08 , Processed in 0.453339 second(s), 60 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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