如何用at89c51单片机控制直流电机转速(三个档),越详细越好,求c语言程序,还有直流电机要用什么信号?

c语言程序不要调试错误的,急急急

第1个回答  2014-01-23
电机控制分为有级调速和无极调速,如果是三级控制那就很容易啊,直接用定时器,输出三种分级PWM信号控制LM298电机驱动就可以了,也可以用D/A转换,当然最简单的还是输出三个控制信号,控制开关器件,利用电阻的分压原理来输出三种不同的电压。。。。。到网上搜下有很多这样的例子你可以根据具体的应用选择追问

能不能给我c语言代码?

第2个回答  2014-01-23
不知道你怎么控制电机转速的,是靠直流电压还是PWM来控制,前者很简单,跟上条回答一样处理就可以,后者的话你设定三个占宽比的PWM就可以了。追问

能不能给我c语言代码

本回答被网友采纳
第3个回答  2014-01-23
这个很简单 用三个IO就行了 控制三个光耦,三个输出端接三个不同阻值电阻 这样就可以简单控制了 也可以用场效应管

求:用AT89C51单片机实现直流电机PWM调速原理图,protues仿真、程序
} else if(i==3) \/\/显示千位 { if(k==0)\/\/正转时显示"三"{

基于单片机AT89c51的数字PID控制直流电机PWM调速系统C语言程序
首先弄清楚PID是一种控制算法!!!1,“如果用单片机恒温可以使温度到达预定值就停止加热,低了就加热,用一个温度传感器反馈,这样算是一个自动控制吗”你这是控制系统,但是效果会非常差,尤其是对于温度控制这种大惯性系统,达到预定值就停止加热,但是由于惯性,温度肯定会继续上升,电炉烧水的时候,水...

用C语言编写AT89C51单片机程序,设计一个智能数字钟。
\/\/uchar one[10]={0x40,0x4f,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; \/\/PNP三极管,低电平使能 uchar three[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; \/\/扫描 int num[6]={2,3,5,9,3,6};uint a,t,d;void time(); \/\/计时 void turn(); \/\/调时 void...

急求基于单片机AT89C51的多功能数字电子钟的汇编程序,高手进!~_百度知...
用89C51控制3个HC595,前两个595接8段数码显示管,显示“0”~“9”每秒跳动一次.第3个HC595接8个LED灯,每隔1秒闪烁1次.include<at89x52.h> include<intrins.h> define uchar unsigned char define uint unsigned int uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90...

设计基于单片机控制的直流电机闭环PWM调速系统
摘要:基于AT89C51单片机的直流电机调速设计采用目前市场上性能价格比较高的51单片机作为主控部分。同时利用PWM控制直流电机转速。并通过共阴极数码管显示出来。主要有单片机最小系统模块、LED显示模块、PWM电机转速控制模块和电源模块组成。通过调节输出矩形波的占空比来控制直流电机转速。使用简单的电路实现了智能...

求用单片机设计一个秒表AT89C51
DELAY: ;延时子程序.AA4: MOV R4, #0 DJNZ R4,DJNZ R4,RET ;--- X0_INT: ;启动\/停止 CPL F0 RETI ;--- X1_INT: ;

AT89C51单片机,定时器1,50ms中断,用c语言写出初始化程序和中断函数程序...
include <reg51.h> void InitTimer1(void){ TMOD = 0x10;TH1 = 0x3C;TL1 = 0x0B0;EA = 1;ET1 = 1;TR1 = 1;} void main(void){ InitTimer1();} void Timer1Interrupt(void) interrupt 3 { TH1 = 0x3C;TL1 = 0x0B0;\/\/add your code here!} ...

怎样用单片机控制直流电动机
1、通过设置PWM波的占空比来控制直流电机的转速,占空比越大,转速越快,越小转速越低。2、当然单片机的I\/O口是不能直接驱动电机的,所以你还需要用一个马达驱动芯片。像LG9110、CMO825等。马达驱动IC可以将单片机I\/O输出信号放大,这样电机中流过的电流足够大,电机才能转起来。3、你要是不清除PWM是...

求C语言程序,AT89C51单片机为核心,DS18B20测温度,实时用4位LED显示...
include<reg52.h> \/\/ 试试#define uchar unsigned char #define uint unsigned int sbit DQ=P1^4; \/\/ds18b20与单片机连接口 unsigned char code str[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40} ; \/\/共阴数码管字码表unsigned char code str1[]={0...

单片机at89c51用C语言编写报警器
include<reg51.h>#define uchar unsigned charuchar time;sbit spk=P1^0;void t0isr() interrupt 1{TH0=t_h;TL0=t_l;spk=~spk;}void t1isr() interrupt 3{TH1=(65536-50000)\/256;TL1=(65536-50000)%256;time++;time%=6;if(time==0){t_h=(65536-500)\/256;t_l=(65536-500)%256;...

相似回答