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

单片机电机测速

发布时间:2023-09-14 06:42:55

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

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

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

#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

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

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

⑷ 基于51单片机直流电机调速测速仿真原理

基于51单片机直流电机调速测速仿真原理是以STC90C52RC单片机为主控芯片,利用PWM的原理,通过按键对直流电机进行调速,实现正反转;采用霍尔传感器对直流电机的转动进行计数,并通过主控芯片将采集到的计数值转化为直流电机的当前速度值;利用LCD1602显示模块将计算得到的值进行实时显示。

⑸ 求助51单片机电机测速的问题

放一个红外发射二极管,一边放一个红外接收电路,当电机带动圆盘转动时,红外接收电路每次透过孔接收到那一边红外发射管的信号

⑹ 如何用stc89c52单片机和红外管做电机测速

这个你要是做成密封的也就是不透光的话用红外发射和接收器件或直接用个发光二极管和光敏元件组成都可以,然后接在单片机的T0或T1上来记数就可以了~但一般都不是打一个孔通常是打60个,这样转一周是60个脉冲,转一秒就可以检测出来,比较好推算每分钟的转数

阅读全文

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

热点内容
怎么把原文件夹找回来 浏览:535
俄罗斯方块实现python思路 浏览:735
汉语拼音英语编译代码 浏览:501
程序员应具备的能力 浏览:606
手机石墨文档文件夹访问权限 浏览:656
客户端如何登陆域文件服务器 浏览:530
两位数的平方计算法 浏览:930
android图片分块 浏览:715
图形平移命令 浏览:962
聚类算法JAVA代码 浏览:407
网站图标素材压缩包 浏览:892
娱乐化app怎么做 浏览:638
加密货币行业前景如何 浏览:574
arm查询法的局限性和编译流程 浏览:80
醒图的文件夹叫什么 浏览:998
php程序员北京 浏览:179
gcc编译进程数据 浏览:655
手机上的文件夹是怎样的 浏览:166
微云群共享文件夹改变 浏览:535
程序员三年后能做什么 浏览:449