原创 第四十八课 PWM之三 二级中断调节LED亮度

2009-6-12 21:58 4460 7 9 分类: MCU/ 嵌入式

第四十八课 PWM之三 二级中断调节LED亮度


一个中断用来改变占空比,一个中断用来改变频率


程序讲解:


#include < reg51.h >


sbit  K1 =P3^4 ;   //按K1,PWM值增加键
sbit  K2 =P3^5 ;   //按K2,PWM值减少键


unsigned char PWM="0x7f" ; //赋初值



void delayms(unsigned char ms);



/*********************************************************/
void main()

 P1=0xff;
    TMOD="0x21" ;
    TH0=0xfc ;             //1ms延时常数
    TL0=0x66 ;             //频率调节


    TH1=PWM ;              //脉宽调节
    TL1=PWM ;


    EA="1";
    ET0=1;
    ET1=1;
   
    TR0=1 ;
 PT1=1;


    while(1)
    {
        if(K1==0&&PWM!=0xff)
        {
     PWM++ ;delayms(10);
     }
        if(K2==0&&PWM!=0x00)
        {
    PWM-- ;delayms(10);
     }
   }
}


/*********************************************************/
// 定时器0中断服务程序.
/*********************************************************/
void timer0() interrupt 1

    TR1=0 ;
    TH0=0xfc ;
    TL0=0x66 ;
    TH1=PWM ;
 TL1=PWM ;
    TR1=1 ;
    P1=0x00 ;      //启动输出
}


/*********************************************************/
// 定时器1中断服务程序
/*********************************************************/
void timer1() interrupt 3
{
    TR1=0 ;
    P1=0xff ;     //结束输出
}



/*********************************************************/
// 延时子程序
/*********************************************************/
void delayms(unsigned char ms)


{
    unsigned char i ;
    while(ms--)
     {
        for(i = 0 ; i < 120 ; i++) ;
     }
}


本节重点:


1、占空比和输出方波频率改变的理解


相关程序:https://static.assets-stash.eet-china.com/album/old-resources/2009/6/12/e81cb8d3-843e-424d-bb89-99dc5828395e.rar

文章评论2条评论)

登录后参与讨论

用户79732 2009-7-21 15:52

强!

用户727113 2009-6-17 15:29

相关推荐阅读
用户222124 2010-12-08 22:18
台达PLC监控
台达PLC监控网上有很多例子,自己也照着弄了个,挺方便的,分享下串口数据格式:COM1,9600,8,N,1  ...
用户222124 2010-06-27 16:36
基于NIOS II和FPGA无线小车控制系统的设计
   主控制台以Cyclone II系列的EP2C8Q208C8为核心,通过nRF24L01进行无线通讯,来控制以ATmega8为微处理器的两轮小车,可以实现小车按控制平台发送的控制信息来准确运动。所...
用户222124 2009-11-13 15:58
51开发板已经销售完了,谢谢大家的支持!
51开发板已经销售完了,谢谢大家的支持!...
用户222124 2009-09-28 16:13
51开发板十一大放送!!!赶快行动吧!!!
  51开发板十一大放送!  赶快行动吧!!!   开发板硬件介绍: http://group.ednchina.com/2031/24972.aspx  开发板实物图片总汇: http://grou...
用户222124 2009-09-13 19:02
nios II 实验五 数码管显示数字钟(定时器实现 外部中断调节)
#include "system.h"                      //包含基本的硬件描述信息#include "altera_avalon_timer_regs.h"    //定义内...
用户222124 2009-09-13 18:57
nios II 实验四 PIO外部中断
#include "system.h"                      //包含基本的硬件描述信息#include "altera_avalon_timer_regs.h"    //定义内...
EE直播间
更多
我要评论
2
7
关闭 站长推荐上一条 /3 下一条