第一集-序言
在观看完这期关于STC 8051U单片机的深度教程后,我深受启发。这次的学习不仅是对单片机技术的一次深入理解,更是对未来创新项目的一个重要启示。以下是我从中学到的关键点和个人感悟。
一、技术进步带来的可能性
AI 8051U相较于之前的32G系列有了显著的进步。 在屏幕显示和视频播放方面,它优化了QSPI Flash芯片读写功能,使得大容量视频播放的质量有了质的飞跃。这一改进意味着我们可以更轻松地实现复杂的图形界面和多媒体应用,为嵌入式系统设计带来了更多的可能性。
二、实用功能的增强
除了性能上的提升,8051U还增加了许多实用的功能。 PWM与DMA的无缝结合,以及新增的频谱分析仪功能。这些新特性不仅让开发变得更加便捷,也为开发者提供了更多创造性的空间。尤其是手写计算器的应用演示,展示了如何通过硬件浮点运算单元来处理复杂计算任务,使单片机的应用范围进一步扩大。
三、兼容性与灵活性
AI8051U不仅支持现代32位指令集,还能兼容早期的8051指令集。这意味着对于那些已经拥有旧版开发板的用户来说,可以无缝过渡到新版单片机而无需重新设计整个系统架构。这种向后兼容的能力极大地降低了学习成本和技术门槛,促进了新技术的快速普及。
四、代码学习
使用PWMA-P1.0输出直接驱动WS2812 三基色彩灯, DMA传输,不占用CPU时间。本例驱动32个灯,接成环状。每个灯有24bit数据,需要24字节的占空比来控制。
鉴于PWM的特点,在发数据前先发一个占空比为0的周期,最后也发一个占空比为0的周期(发送完后连续输出低电平)。
每个灯3个字节,分别对应绿、红、蓝则,MSB先发.
800KHz码率, 数据0(1/4占空比): H=0.3125us L=0.9375us, 数据1(3/4占空比): H=0.9375us L=0.3125us, RESET>=50us.
高电平时间要精确控制在要求的范围内, 低电平时间不需要精确控制, 大于要求的最小值并小于RES的50us即可.
DMA发送时间:@40MHz, 发送字节=24*24+1=577, DMA发送时间720us,32K xdata最多一次驱动1365个灯.
WS2812S的标准时序如下:
TH+TL = 1.25us±150ns, RES>50us
T0H = 0.25us±150ns = 0.10us - 0.40us
T0L = 1.00us±150ns = 0.85us - 1.15us
T1H = 1.00us±150ns = 0.85us - 1.15us
T1L = 0.25us±150ns = 0.10us - 0.40us
两个位数据之间的间隔要小于RES的50us.
PWMA-P1.0方案:
本例使用PWMA-P1.0输出直接驱动WS2812。
用DMA传输, 一个周期传输一个bit数据, 一个周期为1.25us,数据0的占空比为1/4,数据1的占空比为3/4。
本例使用40MHz时钟,周期50T=1.25us,数据1占空比为37T,数据0占空比为12T。