51单片机PWM控制直流电机正反转

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4
#include<STC12C5616AD.h>
#define uchar unsigned char
#define uint unsigned int
sbit PWM0=P3^7;
sbit PWM1=P3^5;
CCAP1L=255*(40-ZKB)/100;//占空比设置
CCAP1H=255*(40-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L
CCAPM1=0x42;// 8位PWM模式
CR=1;//开始计数
}
void Delay(uint t)//延时函数
{
while(--t);
}
void main()
{
PWM_init();
if(j<25)
while(j<25)
{
zheng(100);//输入占空比
for(i=0;i<50;i++)
{
Delay(90000);
}
fan(100);
for(i=0;i<50;i++)
{
DeΒιβλιοθήκη Baiduay(90000);
}
}
}
sbit PWM2=P1^2;
sbit PWM3=P1^3;
uint i,j;
void PWM_init()
{
CMOD=0x00;//PCA计数脉冲选择内部时钟fosc/12(0x02:fosc/2)
CL=0x00;//PCA赋初值
CH=0x00;
CR=1;//开始计数
}
void zheng(uchar ZKB)
{
CCAP0L=255*(40-ZKB)/100;//占空比设置
CCAP0H=255*(40-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L
CCAPM0=0x42;// 8位PWM模式
CCAP1L=255*(40-0)/100;//占空比设置
CCAP1H=255*(40-0)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L
CCAPM1=0x42;// 8位PWM模式
CR=1;//开始计数
}
void fan(uchar ZKB)
{
CCAP0L=255*(40-0)/100;//占空比设置
CCAP0H=255*(40-0)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L
CCAPM0=0x42;// 8位PWM模式
相关文档
最新文档