找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2624|回复: 8
打印 上一主题 下一主题
收起左侧

pwm语法 看起来没问题 但是改变占空比 效果没改变 求解

[复制链接]
跳转到指定楼层
楼主
ID:60244 发表于 2017-11-10 14:56 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
20黑币
使用定时器   让P2^3口(小灯)    发送PWM   占空比是固定值
想用  if   判断语句实现   控制高低电平时间
但是改变高低电平的分配时间   灯的亮度不发生改变  
求个详细解答    程序如下
#include "reg52.h"                         

typedef unsigned int u16;         
typedef unsigned char u8;

sbit PWM=P2^3;          //--定义使用的IO口--//

u16 timer1;                   //--定义一个全局变量--//

void Timer1Init()
{
        TMOD|=0X10;//选择为定时器1模式,工作方式1,仅用TR1打开启动。

        TH1 = 0xFF;
        TL1 = 0xff;   //1us
               
        ET1=1;//打开定时器1中断允许
        EA=1;//打开总中断
        TR1=1;//打开定时器                       
}

void main()
{       
        Timer1Init();  //定时器1初始化
        while(1)         
        {       
                        if(timer1>1000)                //设定周期
                        {
                                timer1=0;                 //周期归零
                                if(timer1<=100)        //调占空比   改变此值  小灯亮度没变化,求解释@@##¥%……
                                {
                                        PWM=1;                 
                                }
                                else
                                {  
                                        PWM=0;
                                }
                        }
                       
        }               
}

void Time1(void) interrupt 3    //3 为定时器1的中断号
{
        TH1 = 0xFF;
        TL1 = 0xff;   //1us
        timer1++;

       
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:60244 发表于 2017-11-13 08:44 | 显示全部楼层
谢谢 各位   
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表