51单片机控制直流电机PWM调速C语言程序.docx

上传人:b****3 文档编号:2578641 上传时间:2022-11-02 格式:DOCX 页数:5 大小:14.23KB
下载 相关 举报
51单片机控制直流电机PWM调速C语言程序.docx_第1页
第1页 / 共5页
51单片机控制直流电机PWM调速C语言程序.docx_第2页
第2页 / 共5页
51单片机控制直流电机PWM调速C语言程序.docx_第3页
第3页 / 共5页
51单片机控制直流电机PWM调速C语言程序.docx_第4页
第4页 / 共5页
51单片机控制直流电机PWM调速C语言程序.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

51单片机控制直流电机PWM调速C语言程序.docx

《51单片机控制直流电机PWM调速C语言程序.docx》由会员分享,可在线阅读,更多相关《51单片机控制直流电机PWM调速C语言程序.docx(5页珍藏版)》请在冰豆网上搜索。

51单片机控制直流电机PWM调速C语言程序.docx

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitKEY1=P3^4;

sbitKEY2=P3^5;

sbitKEY3=P3^6;

sbitIN1=P1^0;

sbitIN2=P1^1;

sbitENA=P1^2;

sfrldata=0x80;

sbitdula=P2^6;

sbitwela=P2^7;

//sbitlcden=P3^4;

//uchartimer,ms,t_set=1;

ucharT_N=100;

ucharT_N1=100;

ucharT_H_N=50;

ucharT_H_N1=50;

voidmsplay(uchar,uchar);

ucharcodex1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//ucharcodex2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

ucharcode x3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

//ucharcode x4[]={0x01,0x02,0x04,0x08,0x10,0x20};

voiddelay(uintz) //延时函数

{

uintx;

for(x=z;x>0;x--);

}

voidKey_Scan()

{

if(KEY1==0)

{

delay(20);

while(!

KEY1);

T_H_N++;

if(T_H_N>=99)

{

T_H_N=99;

}

}

if(KEY2==0)

{

delay(20);

while(!

KEY2);

T_H_N--;

if(T_H_N<=1)

{

T_H_N=1;

}

}

if(KEY3==0)

{

delay(15);

while(!

KEY3);

IN1=~IN1;

IN2=~IN2;

}

}

voidMotor_Init()

{

ENA=0;

IN1=1;

IN2=0;

}

voidTimer0_Init()

{

TMOD=0X12;

TH0=(256-50);

TL0=(256-50);

// TH1=(65535-T_H)/256;

// TL1=(65535-T_H)%256;

EA=1;

ET0=1;

TR0=1;

}

voidmain()

{

uchark3,k2,k1,k0;

Timer0_Init();

Motor_Init();

while

(1)

{

k2=T_H_N/10;k3=T_H_N%10;

k1=0;k0=0;

msplay(k0,2);

msplay(k1,3);

msplay(k2,4);

msplay(k3,5);

Key_Scan();

}

}

voidtimer0()interrupt1

{

TR0=0;

// TH0=(65536-50)/256;

// TL0=(65536-50)%256;

T_H_N1--;

if(0==T_H_N1)

{

ENA=0;

T_H_N1=1;

}

T_N1--;

if(T_N1==0)

{

ENA=1;

T_N1=100;

T_H_N1=T_H_N;

}

TR0=1;

}

voidmsplay(uchary1,uchary2)

{

ldata=x1[y1];

dula=1;

dula=0;

delay

(1);

ldata=x3[y2];

wela=1;

wela=0;

delay

(1);

ldata=0x00;

dula=1;

dula=0;

delay

(1);

ldata=0x0ff;

wela=1;

wela=0;

delay

(1);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1