proteus单片机pwm是什么?单片机学习笔记十九
proteus单片机pwm是什么?单片机学习笔记十九
//main.c
*   【学习笔记十九】 ****直流电机实验***********
*   【描  述】 单片机实现电机的正转,反转,停止。
******************************************************************/
#include<reg51.h>		//51头文件,
//---------常用的两个宏定义-------------- 
#define uint8	unsigned char
#define uint16  unsigned int
sbit Motor_A = P1^0;
sbit Motor_B = P1^1;
sbit Key1 = P3^0;		//正转
sbit Key2 = P3^1;		//反转
sbit Key3 = P3^2;		//停止
//------------函数的声明-----------------
void DelayMS(uint16 dly);
void main(void)
{
	while(1)
	{
		/*if(Key1==0)				//正转
		{
			Motor_A = 0;
			Motor_B = 1;
		}
			
		else if(Key2==0)		//反转
		{
			Motor_A = 1;
			Motor_B = 0;
		}
		else if(Key3==0)		//停止
		{
			Motor_A = Motor_B = 0;
		}
		*/
		Motor_A = 0;
		Motor_B = 1;
		DelayMS(9);
		Motor_A = 0;
		Motor_B = 0;
		DelayMS(1);
	}	
}
/********************************************************
** 名称 :void DelayMS(uint16 dly)
** 功能 :毫秒级延时(24M的晶振)
** 入口参数 :dly
					用户的延时参数   
** 出口参数 :无   
*********************************************************/
void DelayMS(uint16 dly)
{
	uint16 x y;
	for(x=dly;x>0;x--)
		for(y=247;y>0;y--);
}
    





