描述

#include//程序是基于KEIL-C51编写,引入8051头文件sbit P10=P1^0; sbit P11=P1^1;unsigned int scale;   //占空比控制变量void main(void)       { unsigned int n;     //延时循环变量    TMOD=0x02;        //定时器0,工作模式2(0000 0010),8位定时    TH0=0x06;         //定时250us(12M晶振)    TL0=0x06;         //预置值    TR0=1;            //启动定时器0    ET0=1;            //启动定时器0中断    EA=1;             //开启总中断  while(1)    {        for(n=0;n<50000;n++);    //延时一段时间        scale++;                 //占空比控制变量加一        if(scale==10)  scale=0;  //达到循环的效果  } } timer0() interrupt 1             //定时器0中断程序 {    static  unsigned int  tt ;   //tt用来保存当前时间在一个时钟周期的位置    tt++;                        //每中断一次,即每经过250us,tt的值自加1    if(tt==10)                   //中断10次定时2.5ms,    {        tt=0;                    //使tt=0,开始新的周期,达到循环的效果        P10=0;                   //点亮LED    }    if(scale>=tt)                //如果占空比与中断次数相同时,此时输出高电平    P10=1;                       //熄灭LED灯    /*    前面的程序是将占空比设置成了10个等级,scale=1时维持高电平的时间    是1/10个PWM周期(这里是2.5ms),因为scale<=tt的时间段是低电平点亮LED灯的,    scale>=tt的时间是熄灭LED灯的,通过改变一个周期内高低电平维持的时间长短    就可以控制LED灯的亮度或者是电机的转速了,这就是PWM的工作原理    */}

PWM原理:

对程序稍作修改变为对电机的转速控制,在proteus8.4仿真如下:

打开APP精彩内容

点击阅读全文

单片机 c语言 pwm输出,单片机中PWM程序工作原理图文详解相关推荐

  1. 一文学会看懂汽车中的传感器电路(图文详解)

    1.加速踏板位置传感器电路识读 大众车系普遍采用电子节气门,取消了加速踏板和节气门之间的拉锁,转而采用加速踏板位置传感器.加速踏板位置传感器向发动机控制单元提供驾驶员操作加速踏板的信息,发动机控制单元 ...

  2. [C语言] 单向链表的构建以及翻转算法_图文详解(附双向链表构建代码)

    [C语言]单向链表的构建以及翻转算法 一.基本概念 单向链表的链接方向是单向的,其中每个结点都有指针成员变量指向链表中的下一个结点,访问链表时要从头节点(带头节点的链表)或存储首个数据的节点(不带头节 ...

  3. 从python存入的文件是乱码_如何解决python写入html文件中乱码的现象(图文详解)...

    python写入html文件中文乱码问题 使用open函数将爬虫爬取的html写入文件,有时候在控制台不会乱码,但是写入文件的html中的中文是乱码的 案例分析 看下面一段代码:# 爬虫未使用cook ...

  4. 从一个案例看MVC中DataContext和UpdateModel的工作原理(详解UpdateModel/SubmitChanges错误)...

    昨天遇到一段棘手的程序,尝试了各种方法,忽而在SubmitChanges的时候没反应(无错误,也不更新),忽而发生ChangeConflict,经过几个小时,终于大致理清了思路,也顺便把DataCon ...

  5. html中删除指定数组下标,图文详解JavaScript中删除数组某个元素的方法

    在前端开发中经常需要使用JavaScript,那你知道如何用JS删除数值的指定元素吗?这篇文章就给大家分享JS删除数组某个元素的几种方法,感兴趣的朋友可以参考一下,希望可以帮助到你. 方法一:slic ...

  6. Android中Canvas绘图之Shader使用图文详解

    概述 我们在用Android中的Canvas绘制各种图形时,可以通过Paint.setShader(shader)方法为画笔Paint设置shader,这样就可以绘制出多彩的图形.那么Shader是什 ...

  7. 单片机c语言编程下载,单片机C语言编程.doc

    单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...

  8. PWM(脉冲宽度调制)的工作原理、分类及其应用

    PWM(脉冲宽度调制)的工作原理.分类及其应用 http://www.eepw.com.cn/article/201710/365264.htm 随着电子技术的发展,出现了多种PWM技术,其中包括:相 ...

  9. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

最新文章

  1. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现
  2. 分享:Hadoop的Python框架指南
  3. Redis 的源码分析
  4. python库下载安装报错_Python 各种库的安装
  5. php单击显示对应内容,关于php:如何单击此“提交”按钮,并使其显示原始查询中的数据,而不是清除它并进入空白页?...
  6. oracle 恢复学习 案例1 一个数据文件丢失 完全恢复数据库
  7. Intel 平台编程总结----SIMD技术
  8. Linux C++开发小结
  9. 华为微博抽奖头目两次中奖:大哥咱玩不起,不玩行不行?
  10. matlab图像拼接 设计,MATLAB图像拼接算法及实现.doc
  11. android xutils加密,xutils
  12. if or函数套用_5个IF函数操作,让你轻松掌握条件判断和嵌套运用
  13. html与js的相互转化,JS和HTML互转
  14. KeyError: 0 与 KeyError: 1(附例子)
  15. PIXI 宝物猎人(7)
  16. 验证码生成原理即Python代码实现
  17. 计算机主机如何睡眠,电脑如何设置睡眠
  18. GetAsyncKeyState用法
  19. 笔记:springboot-admin 整合spring security应用注册失败问题
  20. jquery中的ready方法和window的onload方法的区别

热门文章

  1. Mind_Manager_2
  2. 第三节 整型和浮点型
  3. chrome 版本 29.0.1547.76 m 解决打开新标签页后的恶心页面的问题
  4. 无重复字符串的最长子串 python
  5. JarvisOJ Basic 熟悉的声音
  6. python爬虫播放mp3
  7. JwPlayer播放器【去除Logo、去除版本信息】
  8. 乔布斯不在了,世界一大步,苹果一小步。
  9. 求 一个字符 在二进制表示中1的个数
  10. 大数据之-Hadoop3.x_MapReduce_数据压缩_案例实现---大数据之hadoop3.x工作笔记0139