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

📄 pwm.txt

📁 基于stc60s2的数字电源
💻 TXT
字号:
#include <REGX51.H> 

#define uchar unsigned char   
#define uint unsigned int    
/***************************************************************************** 
* TH0和TL0是计数器0的高8位和低8位计数器,计算办法:TL0=(65536-C)%256;         * 
* TH0=(65536-C)/256,其中C为所要计数的次数即多长时间产生一次中断;TMOD是计数器* 
* 工作模式选择,0X01表示选用模式1,它有16位计数器,最大计数脉冲为65536,最长时 * 
* 间为1ms*65536=65.536ms                                                     * 
******************************************************************************/ 
#define V_TH0  0XFF                  
#define V_TL0  0XF6                  
#define V_TMOD 0X01                  
void dis();
void init_sys(void);            /*系统初始化函数*/ 
void Delay5Ms(uint z); 

unsigned char ZKB1,ZKB2; 

void main (void) 
{ 
init_sys(); 
  ZKB1=40;            /*占空比初始值设定*/ 
  ZKB2=70;            /*占空比初始值设定*/ 
 	  while(1)
	  {
  	 
       if (!P0_0) //如果按了+键,增加占空比 
      { 
       Delay5Ms(2); 
       if (!P0_0) 
         { 
         ZKB1++; 
         ZKB2=100-ZKB1; 
         } dis();
      } 
	   
       if (!P0_2) //如果按了-键,减少占空比 
      { 
       Delay5Ms(2); 
       if (!P0_2) 
         { 
         ZKB1--; 
         ZKB2=100-ZKB1; 
         } 
		 dis();
       }
/*对占空比值限定范围*/ 
if (ZKB1>99) ZKB1=1; 
if (ZKB1<1) ZKB1=99; 
  } 
} 

/****************************************************** 
*函数功能:对系统进行初始化,包括定时器初始化和变量初始化*/ 
void init_sys(void)            /*系统初始化函数*/ 
{ 
  /*定时器初始化*/ 
  TMOD=V_TMOD; 
  TH0=V_TH0; 
  TL0=V_TL0; 
  TR0=1; 
  ET0=1; 
  EA=1; 
} 

//延时 
void Delay5Ms(uint z) 
{ uint x,y;
   for(x=z;x>0;x--)
   		for(y=110;y>0;y--);	

} 

/*中断函数*/ 
void timer0(void) interrupt 1 using 2 
{ 
static uchar click=0;                  /*中断次数计数器变量*/ 
TH0=V_TH0;                                    /*恢复定时器初始值*/ 
TL0=V_TL0; 
++click; 
if (click>=100) click=0; 

if (click<=ZKB1)      /*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/ 
  P0_3=0; 
else 
  P0_3=1; 

if (click<=ZKB2)                        
  P0_4=0; 
else 
  P0_4=1; 

} 

⌨️ 快捷键说明

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