导航:首页 > 操作系统 > 电机测速单片机

电机测速单片机

发布时间:2022-08-13 01:25:57

单片机直流电机测速实验程序

#include<reg52.h>
#include"delay.h"
#define uchar unsigned char
#define uint unsigned int

//*********************//
sbit ENA = P2^2; //驱动芯片使能,若为0则电机停止;
sbit IN1 = P2^1; //控制电机正转和反转
sbit IN2 = P2^0; //控制电机正转和反转
sbit key1 = P1^0; //此键按下,电机正转;IN1=1;IN2=0 ;ENA=1
sbit key2 = P1^1; //此键按下,电机反转;IN1=0,IN2=1 ;ENA=1
sbit key3 = P1^2; //此键按下,电机刹停; IN1=1,IN2=1 ;ENA=1
//*********************//

int motor_change_mank=0;

// 按键设置
//**********************//
uint keylogo()
{
if(key1==0)
{
delayms(2) ;
//while(key1==0);
motor_change_mank=1;//正转标志位
}

if(key2==0)
{
delayms(2) ;
//while(key2==0);
motor_change_mank=2;//反转标志位
}

if(key3==0)
{
delayms(2) ;
//while(key3==0);
motor_change_mank=0;//刹停标志位
}

return(motor_change_mank);

}

//**********************//
//控制驱动芯片函数
//**********************//
void execute_motor()
{
switch(motor_change_mank)
{
case 0: //刹停标志位
{
IN1 = 1;
IN2 = 1;
ENA = 1;
}break;

case 1: //正转标志位
{
IN1 = 1;
IN2 = 0;
ENA = 1;
}break;

case 2: //反转标志位
{
IN1 = 0;
IN2 = 1;
ENA = 1;
}break;

default:break;

}

}
//**********************//

void main()
{

while(1)
{
keylogo();
execute_motor();
}

}

/**********************************************************************/
/**********************************************************************/
#define uint unsigned int

void delayms(uint n)
{
int i;
for(;n>0;n--)
for(i=0;i<1;i++);
}

/**********************************************************************/
/**********************************************************************/
#ifndef delay_h
#define delay_h
#define uint unsigned int

extern void delayms(uint n);

#endif

㈡ 基于单片机的直流电机调速系统设计怎么测速

测速电路自己设计的话可以使用
红外对管
测速,或者
激光测速
。。。网上也有程序的
测速传感器
,自己找找就好了,有数据手册,可以说明怎么使用的,一般就是
高低电平
变化。你的
直流电机
上需要加一个测速
码盘
,靠这个检测的,也有其他方式,具体看你的测速传感器是什么样的。

㈢ 电机手持测速仪缺点,单片机测速仪的优点

电机手持测速仪缺点是 需要用电机手持
单片机测速仪的优点是采用了单片机

㈣ 单片机实现电机测速为什么要加AD转换器

这个问题是因为单片机它只能够识别整数,不能识别小数;比如说1.25的话就必须通过AD转换单片机才能进行处理,这就是数字信号和模拟信号的相互转换的用途

㈤ 利用单片机实现直流电机的测速

用的8051的吧,用计数器功能就行了单位时间内数下降沿个数,12个下降岩一个周期,看来还要结合定时器第一秒,或更多。总之,计数器计数,定时器定时,在运算

㈥ 用51单片机写那个电机测速的程序大概是怎么写呀😄

用一个定时器计数
另一个定时
开始
main()
{
同时打开计数器定时器
计数器计数
}
定时器1秒钟到
{
关闭定时器
和计数器
计算转数
//转数=(1s计数值÷电机转一圈的脉冲数)×60
}

阅读全文

与电机测速单片机相关的资料

热点内容
思科常用配置命令 浏览:377
水容易被压缩吗 浏览:753
java项目试题 浏览:315
为什么安卓拍照没有苹果成相快 浏览:516
安卓版的苹果手机叫什么 浏览:373
手机怎么解压文件夹压缩包 浏览:459
起源任务咋解压 浏览:976
加密式的监督检查 浏览:549
光遇怎么分辨安卓国服和渠道服 浏览:242
ico解压教程 浏览:632
程序员偏右 浏览:17
超算上可以进行vasp编译嘛 浏览:174
北京通app怎么注册登录 浏览:820
iphone上的数据怎么转移到安卓 浏览:743
python求每个时段平均值 浏览:244
安卓手机右上出现Hg什么意思 浏览:69
程序员神经 浏览:753
dns服务器在电脑上有什么用 浏览:915
杭州大妈喜欢程序员 浏览:687
python评论树讲解 浏览:680