第五课 呼吸灯

一 在由计数器产生的固定周期的 PWM 信号下,如果其占空比为 0,则 LED 灯不亮;如果其占空比为 100%, 则 LED灯最亮。所以将占空比从 0 到 100%,再从 100%到 0 不断变化,就可以实现 LED 灯的“呼吸”效 果。

实验任务:本节实验任务是使用正点原子 ZYNQ 开发板(核心板)上的 PL LED,实现呼吸灯的效果,即由灭渐亮, 然后再由亮渐灭

由原理图:led为1亮,0灭

二 程序设计

周期信号计数器用于产生驱动 LED 的脉冲信号,本次实验的周期信号频率为 1Khz,其占空比由后级逻 辑在每个周期之后进行递增或递减,最后再对当前计数值和占空比计数值进行比较,以输出占空比可调的 脉冲信号。

重点:根据波形图理解cnt_2us,2ms,2s的区别。

cnt_2us:当计数到最大值归0,其它值做累加操作。  cnt_2ms:当计数到MS_MAX时归0此时us也刚好为0,每计满US_MAX加1. cnt_2s:当计数到最大值归0,此时us和ms也为0,每计满2ms加1。

inc_dec_flag为低电平,led灯由暗变亮,inc_dec_flag为高电平,led灯由亮变暗。当计数到2s取反。

通过cnt_s和cnt_ms实现led占空比=逐渐变大或者变小。当flag为1,led由亮变暗,此时cnt_ms>=cnt_s led为1.当flag为0,led由暗变亮,此时cnt_ms《=cnt_s led为1.  如果当前的周期计数值小于等于占空比计数值,则 LED 输出高电平,即点亮;如果当 前的周期计数值大于占空比计数值,则 LED 输出低电平,即熄灭。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值