導航:首頁 > 操作系統 > 電機測速單片機

電機測速單片機

發布時間: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
}

閱讀全文

與電機測速單片機相關的資料

熱點內容
PDF框大小 瀏覽:84
單片機產生鋸齒波 瀏覽:225
如何修改ie代理伺服器 瀏覽:417
折紙手工解壓玩具不用a4紙 瀏覽:485
怎麼雙向傳輸伺服器 瀏覽:286
電腦如何實現跨網段訪問伺服器 瀏覽:549
模塊化網頁源碼位元組跳動 瀏覽:485
梯度下降演算法中遇到的問題 瀏覽:605
伺服器連接電視怎麼接 瀏覽:323
phploop語句 瀏覽:502
交叉編譯工具鏈里的庫在哪 瀏覽:781
安卓手q換號怎麼改綁 瀏覽:399
nba球星加密貨幣 瀏覽:789
命令看網速 瀏覽:124
java堆分配 瀏覽:161
linuxbuiltin 瀏覽:560
cstpdf 瀏覽:941
texstudio編譯在哪 瀏覽:352
國家反詐中心app注冊登記表怎麼注冊 瀏覽:972
加密機默認埠 瀏覽:101