单片机控制交流电机正反转的C语言程序是什么?

如题所述

这个很简单,我教你怎么玩,下面是思路和方式
思路:有三个输入,分别是一个按钮、两个霍尔传感器(也就是接近开关),我用P0.0到P0.2来代替;输出2个或以上(这看你接什么显示器,如果是PC的话,就不用数字量输出,直接串口就可以了)控制正反转的继电器管脚用P1.0、P1.1;
PS:显示那块我不知道你怎么处理,但是需要与一个全局变量转动次数k连接起来,另外两个输入接近开关选用NPN传感器或用光电隔离,总之有效信号能把管脚电压拉低就可以了,具体硬件要注意什么,有需要就问我
现在我们来写程序:
#include <reg51.h> //选用晶振11.0592MHz
unsigned char k=0; //k表示正反转次数
sbit X0=P3^2; //调节按钮
sbit X1=P1^1; //上限位接近开关信号
sbit X2=P1^2; //下限位接近开关信号
sbit Y1=P0^0; //电机上升(注意:我使用的是管脚输出为0时候,电机运动,这样可以避免启动时候,单片机自复位对电机点动的影响)
sbit Y2=P0^1; //电机下降
void delay50ms(unsigned int i)
{
unsigned int j;
for (i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
IT0=1; //下降沿触发
EX0=1; //开P3.2外部中断
EA=1; //总中断开
while(1)
while(k)
{
Y1=0; //正转
while(X1==1); //等待正转接近开关反应
Y1=1; //正转停
delay50ms(1); //停止时间50ms
Y2=0; //反转
while(X2==1); //等待反转接近开关反应
Y2=1; //反转停
k--; //圈数减一
}
}
void counter0(void) interrupt 0
{
k++; //外部中断控制圈数加一
//这个位置可以加你显示程序
}
程序已经通过测试,放上去就能用,很好玩哟,呵呵
温馨提示:内容为网友见解,仅供参考
无其他回答

单片机控制交流电机正反转的C语言程序是什么?
分别是一个按钮、两个霍尔传感器(也就是接近开关),我用P0.0到P0.2来代替;输出2个或以上(这看你接什么显示器,如果是PC的话,就不用数字量输出,直接串口就可以了)控制正反转的继电器管脚用P1.0、P1.1;\\x0d\\x0aPS:显示那块我不知道你怎么处理,...

怎样用单片机控制电机或马达的正反转以及转速。要有电路设计,如果有pro...
Delay(800); \/\/改变这个参数可以调整电机转速 ,数字越小,转速越大 } } while(Flag){ P0=0x7C;\/\/显示 b 标示反转 for(i=0;i<4;i++) \/\/4相 { P1=B_Rotation[i]; \/\/输出对应的相 Delay(500); \/\/改变这个参数可以调整电机转速 ,数字越小,转速越大 } } } \/***\/ \/...

单片机C语音控制步进电机正反转程序
首先,定义步进电机的四相绕组为A、B、C、D,通过脉冲控制其正反转。正转控制代码示例:c include define DELAY_1 0.001s void delay(int n){ int i;for (i = 0; i < n; i++);} void main(){ while (1){ \/\/ AB→BC→CD→DA→AB顺序脉冲输入 \/\/ 步进电机正转 P1 = 0x01; ...

如何用单片机编辑一个电动机正反转的程序?
1、首先在【程序段1】中建立一个互锁加自锁的回路,I0.0是正转启动。I0.1是停止,M0.0是正转启动线圈,M0.1是反转启动线圈。2、然后在【程序段2】中建立一个反转的互锁加自锁的回路,I0.1是反转启动信号。I0.1是停止,M0.0是正转启动线圈,M0.1是反转启动线圈。3、接着在【程序段3...

如何用单片机来控制步进电机,并用两盏灯分别来表示其正反转! 大侠可以...
\/ 程序名称: 按键控制电机正反转 p1.0键为反转 p1.1键为停止 p1.2键为正转 \/ \/*头文件*\/ include <reg52.h> include <intrins.h> define uint unsigned int define uchar unsigned char define _Nop() _nop_()\/*端口定义*\/ define motor P0 \/*步进电机接口*\/ sbit P12 = P1^...

单片机控制电机正反转动的c语言程序
直流电机就简单了,只有两根线,电机两端电压正负极改变就可以实现正转反转。不过要加电机驱动芯片,或者H桥电路,电机驱动芯片可以选择L298N,加上适当的外围电路就可以直接用单片机控制电机了。比如让单片机P1.0 = 0,P1.1 = 1;(单片机I\/0口要与电机驱动芯片的输入脚相连)这样的话,电机驱动芯片...

用C语言实现步进电机正反转控制程序和电路图,求帮助。
void zz()\/\/正转 { uchar a=0,b=20;while(kz==1){ P1=zhengzhuan[a];a++;if(a>3)a=0;i--;if(i==0)kz=0;if(key1==0){ delay1ms(10);if(key1==0){ kz=0;P1=0xff;while(!key1);} } if(key2==0){ b=b+5;if(b>=240)b=240;while(!key2){ } } if(key3...

单片机控制步进电机要求:有加速、减速、停止、正转、反转按钮,电机是四...
我用的是控制一个步进电机的,这个是我以前写的,你的要求在下面的程序做修改就行了;程序如下:include <reg52.h> define uchar unsigned char define uint unsigned int \/\/uchar table[]={0x18,0x30,0x60,0x48,0x48,0x60,0x30,0x18}; \/\/二相励磁 uchar table[]={0x08,0x10,0x20,0x...

用单片机控制步进电机正反转,简单易懂的C语言程序,最好带注释,步进电机...
第1行设置由输入端X1作为启动,Y1输出3万个脉冲,脉冲频率600赫兹(每秒600个脉冲的频率),由于只有Y1输出脉冲,没有设置方向输出端,所以电机正转。第3、4行由X2同时启动两行作为反转,Y1输出3万个脉冲,频率为800赫兹,Y1输出脉冲的同时方向输出端Y2同时输出方向信号,因此,电机反转。反转的3万个...

L298驱动两小电机正反转,用C语言怎么做啊?
简单的说,L298有四个输出,O1,O2,O3,O4.一般可以接两个电机,可以分别控制正反转和PWM调速。它有四个输入,IN1~4,可以分别控制相当的四个输出电平的高低。ENA,ENB当它们为高电平的时候,正常输出,否则不输出电压。这两个引脚一般用PWM调速用。如果不需要,可以接入高电平。如图为一简单应用。附一...

相似回答