zldj0832.c

来自「基于MCU51与DA0832产生的PWM波控制直流电机」· C语言 代码 · 共 49 行

C
49
字号
#include<reg52.h>
#include<absacc.h>

#define Addres0832 XBYTE[0x05e0]  //0832口地址
#define JianGe 10000              //占空比修改值

unsigned char HighTimeDao=0;      //高电平到标志位
unsigned char LowTimeDao=0;       //低电平到标志位

void main()
{	
	EA=1;ET0=1;ET1=1;
	TMOD=0x10|0x01;
	
	TH0=0xea;
	TL0=0xff;
	TH1=0x15;
	TL1=0xff;
	
	for(;;)
	{
		Addres0832=0xff;
		TR0=1;
		while(!HighTimeDao)Addres0832=0xff;
        TR0=0;
        HighTimeDao=0;
		Addres0832=0x00;
		TR1=1;
		while(!LowTimeDao)Addres0832=0x00;
        TR1=0;
        LowTimeDao=0;
		TH0-=JianGe;
        if(TH0<0x27)TH0=0xea;//27为减5次的TH0的值
		TH1+=JianGe;
        if(TH1>0xd9)TH1=0x15;//15为加5次的TH1的值
	}
}

void time0() interrupt 1 using 1
{
	HighTimeDao=1;
}

void time1() interrupt 3 using 2
{
    LowTimeDao=1;
}

⌨️ 快捷键说明

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