基于AT89C51單片機直流電機PWM調(diào)速程序分享
出處:電子發(fā)燒友網(wǎng) 發(fā)布于:2018-10-24 14:36:36
這是一款AT89C51單片機直流電機PWM調(diào)速程序,程序可以直接用于AT89C52、AT89S51、AT89S51,STC89C51、STC89C52單片機中,單片機晶振采用11.0592M,直流電機由L298集成電路控制,產(chǎn)生的PWM的頻率約為91Hz。L298各引腳已在程序中標明,原理圖大家可以自己畫一下,這里就不具給出。下面是源程序。

#include[reg52.h》//注意請把‘ [ ’換成 “《”,下同。否則編譯時會出錯。
#include [intrins.h》//
#define uchar unsigned char
#define uint unsigned int
sbit en1=P2^0;
sbit en2=P2^1;
sbit s1=P2^2;
sbit s2=P2^3;
sbit s3=P2^4;
sbit s4=P2^5;
uchar t=0;
uchar m1=0;
uchar m2=0;
uchar tmp1,tmp2;
void motor(uchar index, char speed)
{
if(speed》=-100 && speed《=100)
{
if(index==1)
{
m1=abs(speed);
if(speed《0)
{
s1=0;
s2=1;
}
{
s1=1;
s2=0;
}
}
if(index==2)
{
m2=abs(speed);
if(speed《0)
{
s3=0;
s4=1;
}
{
s3=1;
s4=0;
}
}
}
}
void delay(uint j)
{
for(j;j》0;j--);
}
void main()
{
char i;
TMOD=0x02;
TH0=0x9B;
TL0=0x9B;
EA=1;
ET0=1;
TR0=1;
while(1)
{
for(i=0;i《=100;i++)
{
motor(1,i);
motor(2,i);
delay(5000);
}
for(i=100;i》0;i--)
{
motor(1,i);
motor(2,i);
delay(5000);
}
for(i=0;i《=100;i++)
{
motor(1,-i);
motor(2,-i);
delay(5000);
}
for(i=100;i》0;i--)
{
motor(1,-i);
motor(2,-i);
delay(5000);
}
}
}
void timer0() interrupt 1
{
if(t==0)
{
tmp1=m1;
tmp2=m2;
}
if(t
if(t
t++;
if(t》=100) t=0;
}
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機技術(shù)特性與嵌入式開發(fā)實踐指南2026/1/7 10:00:02
- 單片機(MCU)與數(shù)字信號處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級DSP信號處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預驅(qū)電機專用SoC單片機2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴充定義2025/10/27 13:59:22









