用单片机控制直流电机转速

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
un sig ned int TempCyc = 1000;
while(TempCyc--);
}
/*中断函数*/
void timer0(void) in terrupt 1 using 2
{
static uchar click='0';/*中断次数计数器变量*/
TH0=V_TH0;/*恢复定时器初始值*/
#i nclude <AT89X51.H>
#defi ne uchar un sig ned char
/*****************************************************************************
*
法:TL0=(65536-C)%256;*
}
}
/******************************************************
*
void init_sys(void)/*系统初始化函数*/
{
/*
TMOD=V_TMOD;
TH0=V_TH0;
TL0=V_TL0;
TR0=1;
ET0=1;
EA=1;
}
//
void Delay5Ms(void)
*
TMOD是计数器*
*
*间为1ms*65536=65.536ms
*
******************************************************************************/
#defi ne V_TH0 0XFF
#defi ne V_TL0 0XF6
while(1)
{
if (!P1_1)
{
Delay5Ms();
if (!P1_1)
{
ZKB1++;
ZKB2=100-ZKB1;
}
}
if (!P1_2)
{
Delay5Ms();
if (!P1_2)
{
ZKB1--;
ZKB2=100-ZKB1;
}
}
/*
if (ZKB1>99) ZKB1=1;
if (ZKB1<1) ZKB1=99;
TL0=V_TL0;
++click;
if (click>=100) click='0';
if (clickv=ZKB1)
实现占空比的调整
P1_3=0;
else
P1_3=1;
if (click<=ZKB2)
P1_4=0;
else
P1_4=1;
}ຫໍສະໝຸດ Baidu
#defi ne V_TMOD 0X01
void init_sys(void);/*系统初始化函数*/
void Delay5Ms(void);
un sig ned char ZKB1,ZKB2;
void main (void)
{
ini t_sys();
ZKB仁40;/*占空比初始值设定*/
ZKB2=70;/*占空比初始值设定*/
相关文档
最新文档