zhiliu.c

来自「51单片机用c语言实例 包括ad」· C语言 代码 · 共 50 行

C
50
字号
/*************************************************************/
/*    文件名: Zhiliu.c                                       */
/*    功能描述: 模拟PWM驱动直流电机                          */
/*************************************************************/

#include <reg51.h>

#define T_value     (unsigned char)0x80		// T周期值
#define T1_value    (unsigned char)0x20		// T周期中高电平周期T1值
#define TH0_value   (unsigned char)0xFE		// 定时器T0计数值(高)
#define TL0_value   (unsigned char)0x00		// 定时器T0计数值(低)

sbit DRV = P1^7;
unsigned char T_Count;			// 延时次数

void init_tim0()				// 定时器0初始化,定时基数
{
	TMOD = 0x01;
	TH0 = TH0_value;
	TL0 = TL0_value;
	TR0 = 1;
	ET0 = 1;
	EA = 1;
}

void int_tim0() interrupt 1
{
	TH0 = TH0_value;
	TL0 = TL0_value;
	T_Count--;
}

void main()
{
	unsigned char Tx;
	DRV = 0;
	init_tim0();
	T_Count = T1_value;
	Tx = T1_value;
	while(1)
	{
		if(T_Count == 0)
		{
			DRV = ~DRV;
			Tx = T_value - Tx;
			T_Count = Tx;
		}
	}
}

⌨️ 快捷键说明

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