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--);
}