使用C语言进行编程,51单片机利用PWM技术控制电机转速
1、仿真图如下
2、程序如下:
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uint unsigned int
#define uchar unsigned char
sbit IN1 = P1^0;
sbit IN2 = P1^1;
sbit ENA = P1^2;
sbit RS = P2^5;
sbit RW = P2^6;
sbit EN = P2^7;
sbit k1 = P2^0; //正转
sbit k2 = P2^1; //反转
sbit k3 = P2^2; //加速
sbit k4 = P2^3; //减速
sbit k5 = P2^4; //暂停
sbit inter0 =P3^2;
int g,s,b,q,t,e; //定义转速各位
int m,n,num,PWM=100,PWMH=50;
int ZS=0,PWMH_1,PWMH_2,PWMH_3; //转速
uchar LCD_DSY_BUFFER1[]={"ZS 040 PWM 050%"}; // buffer缓冲器
/*******************************************************************************
* 函 数 名 : Timer0Init
* 函数功能 : 定时器0初始化
*******************************************************************************/
void Timer0Init()
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
TH0=0XFC; //给定时器赋初值,定时1ms
TL0&#