用c语言编写控制电机运动的程序
我想学习如何用c语言编写控制电机运动的程序,我有一定的c语言基础,但是不知道实际中如何实现对电机的控制,我需要什么软件?怎么才能有可视化的界面?我对电机不是很懂,需要看什...
我想学习如何用c语言编写控制电机运动的程序,我有一定的c语言基础,但是不知道实际中如何实现对电机的控制,我需要什么软件?怎么才能有可视化的界面?我对电机不是很懂,需要看什么书
展开
4个回答
展开全部
1、有三个输入,分别是一个按钮、两个霍尔传感器(也就是接近开关),我用P0.0到P0.2来代替;输出2个或以上(这看接什么显示器,如果是PC的话,就不用数字量输出,直接串口就可以了)控制正反转的继电器管脚用P1.0、P1.1;需要与一个全局变量转动次数k连接起来,另外两个输入接近开关选用NPN传感器或用光电隔离,总之有效信号能把管脚电压拉低就可以。
2、例程:
#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++; //外部中断控制圈数加一
//这个位置可以加你显示程序
}
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机原理由运算器、控制器、存储器、输入输出设备构成,单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程;单片机的应用:节能控制;智能语音设备;报警控制;医疗设备。
单片机原理及应用 本书详细地介绍了MC...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
看看这个就会了!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要看你控制的是什么电机 步进电机最简单 直流电机要难一点 你要是是控制直流电机和交流电机的话 你先要看的书是电机与拖动 看完了以后再看自动控制原理 然后再看 电力拖动自动控制系统 然后在看计算机控制技术 这是我们自动化专业大二和大三的所有学位科 要想控制好电机 这些课程缺一不可 你要设计 反馈的话还学要传感器与检查的知识
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询