当前位置: 首页 > news >正文

C51:使用PWM波调节LED灯的亮度

基础知识:

PWM(脉冲宽度调制):是一种通过调整信号的脉冲宽度来控制电力输出的技术。在一个PWM信号周期内,信号会在高电平和低电平之间切换,通过改变高电平持续的时间(即脉冲宽度),可以模拟出不同的电压水平。

占空比:就是高电平所占整个周期的时间

例如一个PWM波,周期为10ms,高点平的时间为4ms,那么它的占空比就是40%


编程原理:

1.LED调光的频率最好是1kHz(即周期为1ms),太小的频率会导致LED灯闪烁

2.由于人的视觉暂留效应,调节占空比就可以调节LED灯的亮度,注意,由于LED灯是共阳极接法,所以占空比越高,LED的亮度反而越低

部分程序示例:

unsigned char cnt_pwm;
void PWM_process()
{cnt_pwm=cnt_pwm % 10 +1; //这样就确保cnt+pwm的取值范围为1~10,即定义了pwm的周期为1msif(cnt_pwm<=5){P34=1; //0~0.5ms P34是高电平,LED灯熄灭}else{P34=0; //0.5~1ms P34是低电平,LED灯点亮}
}int main()
{Timer2_Init();while(1){PWM_process();}return 0;
}
//中断函数是0.1ms中断
void Timer2_ISR(void)  interrupt 12
{cnt_pwm++;
}

在该程序中LED的亮度是普通亮度的一半。

http://www.dtcms.com/a/302702.html

相关文章:

  • GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【三】
  • 如何检测并修复服务器中的rootkit威胁
  • 中型企业如何用 RUM 技术破解地理分布式用户体验难题?从指标监测到优化实操
  • 暴雨服务器更懂人工智能+
  • Jetson Orin nx识别不到imx219 需要额外设置
  • [ The Missing Semester of Your CS Education ] 学习笔记 Vim篇
  • 4.DRF 认证--Authentication4.DRF 认证--Authentication
  • 从文件到文件描述符:理解程序与文件的交互本质
  • TapData 出席 TDBC 2025 可信数据库发展大会,分享“实时+信创”时代的数据基础设施演进路径
  • Kylin10 安装tomcat9
  • Centos 7 命令:ip addr
  • 黑马商城微服务-下
  • 【QT搭建opencv环境】
  • R 语言科研绘图 --- 其他绘图-汇总1
  • Language Models are Few-Shot Learners: 开箱即用的GPT-3(四)
  • Mac安装navicat17版本教程mac下载Navicat Premium for Mac v17.1.9【好用】
  • ubuntu资源共享samba 安装与配置 mac/windows共享ubuntu文件资源
  • 1.gradle安装(mac)
  • 【江科大CAN】2.1 STM32 CAN外设(上)
  • CVE-2021-21148
  • fmriprep安装与试用_附ubuntu分区大小调整
  • C语言:20250728学习(指针)
  • 零基础学 AI 提示词:从 “提问” 到 “高效交互” 的第一步
  • 股指期货周度想法
  • 【ELasticsearch】案例:AWS 上 Elasticsearch 对接 NLB / ALB
  • 浏览器安全演进:从裸指针到 raw_ptr 的实践与思考
  • 开发指南125-HTML DOM事件
  • 使用 Qt Installer Framework(IFW)进行打包
  • github copilot接入openai-compatible模型以及去除安全限制的方法
  • Unity开发2D类银河恶魔城游戏学习笔记目录