⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 11.c

📁 STC的PWM应用请大家使用
💻 C
字号:
#include<reg52.h> 
sfr   CCON   = 0xD8; 
sfr   CMOD   = 0xD9; 
sfr   CL     = 0xE9; 
sfr   CH     = 0xF9; 
sfr   CCAP0L = 0xEA; 
sfr   CCAP0H = 0xFA; 
sfr   CCAPM0 = 0xDA; 
sfr   CCAPM1 = 0xDB; 
#define	uint  unsigned int
#define	uchar unsigned char
uchar whith_p=50;
uchar max_p=255;
uchar min_p=1;
uint fre = 0xffff;
sbit  CR   = 0xDE; 
sbit  led   = P2^0; 
void timer0_int (void) interrupt 1 using 1
{
 TH0 = fre >> 8;
 TL0 = fre & 0xff;
 led = ~led;
} 
void timer0_init(void)
{   
 TMOD &= 0xf0; 
TMOD |= 0x1;
TH0 = 0xff;   
TL0 = 0xff;
TR0 = 1;
ET0 = 1; 
} 

void pwm_init(void)
{
    CMOD = 0x4;  
    CL = 0x0;
    CH = 0x0;
    CCAP0H = whith_p;   
    CCAPM0 = 0x42;  
    CR = 1;   
} 

void soft_delay(uint _1ms)
{
 unsigned int tmp;
 while(_1ms--!=0) {
  for(tmp=0;tmp<144;tmp++);
 }
}
void pwm_out(void)
{
     whith_p=50;
     while(whith_p<max_p)
	 { CCAP0H =whith_p;
	 soft_delay(10);
    whith_p=whith_p+5;
    CCAP0H = whith_p;
	 soft_delay(10);
	}
  
       whith_p=max_p; 
      while(min_p<whith_p)
	    { CCAP0H = whith_p;
	     soft_delay(10);
	    whith_p=whith_p-5;
	    CCAP0H = whith_p;
	     soft_delay(10);
		 }
		 
}

void main (void)
{
 pwm_init();
 timer0_init(); 
 EA = 1; 
 while(1){
  pwm_out();   
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -