九齐NY8A051F单片机呼吸灯

本文介绍了如何利用九齐NY8A051F单片机通过定时器和PWM(脉冲宽度调制)技术来实现呼吸灯效果。详细阐述了定时器的定义、PWM的工作原理,并提到了程序编写的关键步骤,最终展示出呼吸灯的实际运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、呼吸灯简介

呼吸灯是指LED灯通过单片机控制实现由亮到暗的逐渐变化,就和人体呼吸一样。这里我们单片机要用到定时器和PWM占位来实现这项功能。

二、NY81051F定时器的定义

	DISI();					//静止所以中断
	TMR0=256-160;			//初始化寄存器,160*6.4=1024us,1MS进一次中断
	T0MD = C_PS0_TMR0 | C_PS0_Div;	//将TMR0分配,20M/10/64-->156.25KHz  (timeBase=6.4us),INT Falling Edge
	INTE=C_INT_TMR0;		//启动定时器
	ENI();					//开启中断

三、PWM(脉冲宽度调制)

通过改变脉冲宽度来改变电压的输出,T=1/f,T是周期,f是频率。如果频率为50Hz,那么一个周期就是20ms,一秒就有50次PWM周期。一个周期如下图,脉冲时间所占周期的时间的比例就是占空比。比如要实现呼吸灯则亮90%灭10%,亮80%灭20%,亮70%灭30%,依次循环。

 

四、程序编写(项目创建和参数设置请查看我上一篇文章)

#include <ny8.h>
#include "ny8_constant.h"
#include 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值