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

電機測速單片機

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

閱讀全文

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

熱點內容
新科源碼 瀏覽:659
如何判斷伺服器有沒有帶寬 瀏覽:41
天正建築批量刪除命令 瀏覽:94
cad最下面的一排命令都什麼意思 瀏覽:456
pythonimportcpp 瀏覽:850
W10的系統怎麼給U盤加密 瀏覽:370
華為手機代碼編程教學入門 瀏覽:762
和彩雲沒會員怎樣解壓 瀏覽:634
androidimageview保存 瀏覽:387
新買店鋪什麼伺服器 瀏覽:883
文件夾能直接刻錄嗎 瀏覽:493
androidxmpp刪除好友 瀏覽:969
javac哪個前景好 瀏覽:428
中華英才網app為什麼不能搜索了 瀏覽:660
伺服器域名是什麼意思 瀏覽:52
Linux導出mysql命令 瀏覽:159
無詐建鄴是什麼app 瀏覽:228
python中的雙色球 瀏覽:168
python解釋器里如何換行 瀏覽:413
python編寫格式 瀏覽:577