在群内有不少人提问,表示无法理解程序是如何实占空比调节的,哪句是形成PWM波的,哪句是调节占空比的,因此,写了这个程序分析.

发群内的反应

4个按钮控制4颗LED例子

更改写法有人就看不懂了,主要就是原理理解不透.

#include "reg52.h"
sbit NanBeiHong = P1^0;
sbit k1=P1^1;
sbit k2=P1^2;
unsigned char c=47;
unsigned char Js=0;//中断计时
void ZhongDuanSheZhi()
{TH0+=0X4c;/*定时器赋初值,定时50ms触发中断,自动补偿方式*/TL0+=0X00; TMOD=0X01;TR0=1; ET0=1; //开启定时器EA=1; //全局中断开关
}
void FanBo(/*调节占空比*/)
{NanBeiHong=(Js>=c?0:1);if(!Js)++c;//自动调节占空比演示用可观察波形
}
void main()
{unsigned char JZhi=0;unsigned int YS=54000,a=55555;ZhongDuanSheZhi();while(1){FanBo();
//      if(!k1&&!++JZhi)++c;
//      if(!k2&&!++JZhi)--c;
//      while(!k1||!k2);}
}
void ZhongDuan() interrupt 1
{++Js;TH0+=0X4c;TL0+=0X00;
}

这个示例代码实现自动调节占空比,可在波形中观察到占空比的循环自动变化。

51单片机自学--PWM波占空比程序解释相关推荐

  1. 基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频)

    基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频) 仿真图proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0031 ...

  2. 基于51单片机的三角波信号发生器设计

    基于51单片机的三角波信号发生器设计 一.任务要求: 设计内容 选择51单片机,晶振采用12MHz. 设计一个能产生50HZ至100HZ的三角波信号.通过0832/A芯片完成数模转换. 频率值由LED ...

  3. 基于51单片机的PWM控制马达电机调速正反转(仿真+源码+全套资料)

    资料编号:117 仿真图proteus 7.8 程序编译器:keil 5 编程语言:C语言 采用51单片机,用PWM控制电机脉冲频率应控制在25HZ-35HZ之间 定时1ms,1个周期30ms,脉冲频 ...

  4. 基于51单片机的PWM控制马达电机调速正反转

    资料编号:117  下面是相关功能视频演示: 117-基于51单片机的PWM控制马达电机调速正反转(仿真+源码+全套资料) 仿真图proteus 7.8(理论上高于7.8均可以打开) 程序编译器:ke ...

  5. 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc

    基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...

  6. 【Proteus仿真】51单片机+直流电机PWM调速实验

    [Proteus仿真]51单片机+直流电机PWM调速实验 Proteus仿真 采用L293驱动直流电机 -PWM是采用定时器中断实现 /******************************** ...

  7. 基于51单片机的贪吃蛇小程序(8*8LED点阵实现)by_jy

    ** 基于51单片机的贪吃蛇小程序(8*8LED点阵实现)by_jy ** 一直很想写一个贪吃蛇的小程序,这两天终于抽空完成了,这里把我的思路分享给大家,仅供参考! 代码如下: 先放段主函数压压惊 v ...

  8. 51单片机+直流电机PWM 10级调速控制

    51单片机+直流电机PWM 10级调速控制 Proteus仿真演示 示例程序代码 #include <STC89C5xRC.H> typedef unsigned char u8; typ ...

  9. 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序

    <(最新整理)基于51单片机的电子钟C语言程序>由会员分享,可在线阅读,更多相关<(最新整理)基于51单片机的电子钟C语言程序(9页珍藏版)>请在人人文库网上搜索. 1.完整) ...

  10. 51单片机自学--交通红绿灯模拟

    51单片机自学--交通红绿灯模拟(黄灯闪烁与不闪两种模式) ABC东西红黄绿DEF南北红黄绿S时间K选择模式 或许看这文章的是初学者,有些话还是要说的,就是要使用本代码,需要把对应的端口进行更改为你连 ...

最新文章

  1. 【django轻量级框架】HTML上传文件拦截到本地
  2. 一份其实很短的 LaTeX 入门文档
  3. Mysql 模糊查询 转义字符
  4. java map 缓存池_map端合并(分布式缓存)
  5. 【英语学习】【WOTD】pungle 释义/词源/示例
  6. python提取列表中文本_python提取图像的名字*.jpg到txt文本的方法
  7. Window命令行工具操作文件
  8. 关于.vbs文件恶搞,小伙伴电脑的
  9. 如何在SQL Server中使用数据质量服务清除主数据服务数据
  10. 项目部署到服务器后字符编码,将UTF-8编码的数据发布到服务器会丢失某些字符...
  11. The New iPad’s Achilles Heel
  12. GAN造图MINST手写数字
  13. Java实现图书馆管理系统(重构版,数据库存储数据)
  14. 【Spring学习03】Spring简单入门实例
  15. 如何有效的阅读开源代码
  16. 1000: 从今天开始入坑C语言
  17. 软件工程_东师站_总结
  18. 拷机测试需要多久_自学找到一份初级软件测试的工作需要会什么和要多久?
  19. oracle计算日期倒计时,时间倒算回去到了哪里?│机械倒数计时码表
  20. Office Word中由于自定义了新的样式名称,而导致题注显示:错误!文档中没有指定的样式文字

热门文章

  1. 怎么注册tk域名_.TK后缀免费顶级域名注册(附教程)
  2. 计算机视觉学生论文,计算机视觉方面论文参考文献
  3. 移动警务整体解决方案_辅助或替代人类的技术无法解决警务问题
  4. DES加密算法(框图流程详细分析)(C++实现)
  5. 跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类
  6. python怎么自动化录入数据_报表自动化怎么做?Excel,Python,还是它?
  7. 种草营销这样干 小红书KOC素人和KOL达人组合种草推广
  8. Python——弹幕词频统计及其文本分析(绘制词云)(含源代码)
  9. 基于蓝墨云班课的翻转课堂实践
  10. Matlab在工业机器人中的运用,基于MATLAB的工业机器人建模与仿真.docx