国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

51單片機控制步進電機啟停,正反轉速度——入門

這篇具有很好參考價值的文章主要介紹了51單片機控制步進電機啟停,正反轉速度——入門。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

實驗器件

STC89C52RC的學習板子一個

DC 5V 4相5線步進電機 28YBJ-48 減速步進電機一個

元器件連接:

51單片機開發(fā)板51單片機控制步進電機啟停,正反轉速度——入門

?電氣原理圖

51單片機控制步進電機啟停,正反轉速度——入門

?51單片機控制步進電機啟停,正反轉速度——入門

?51單片機控制步進電機啟停,正反轉速度——入門

實驗現(xiàn)象:下載程序后;

當按下KEY1鍵可調節(jié)電機旋轉方向;

當按下KEY2鍵,電機加速;

當按下KEY3鍵,電機減速;

按下KEY4的時候,電機啟動/停止;

(電機的速度程序中已經(jīng)定義)

注意:將步進電機紅色線對接到“步進電機模塊”輸出端子J47的5V上,其它相序依次接入。

#include "reg52.h"

typedef unsigned int u16;	
typedef unsigned char u8;   //對系統(tǒng)默認數(shù)據(jù)類型進行重定義


sbit IN1_A=P1^0;
sbit IN2_B=P1^1;
sbit IN3_C=P1^2;
sbit IN4_D=P1^3;            //定義ULN2003控制步進電機管腳


sbit KEY1=P3^1;
sbit KEY2=P3^0;
sbit KEY3=P3^2;
sbit KEY4=P3^3;             //定義獨立按鍵控制腳 

#define KEY1_PRESS	1
#define KEY2_PRESS	2
#define KEY3_PRESS	3
#define KEY4_PRESS	4
#define KEY_UNPRESS	0        //使用宏定義獨立按鍵按下的鍵值


#define STEPMOTOR_MAXSPEED        1      // 定義步進電機速度,值越小,速度越快
#define STEPMOTOR_MINSPEED        5  	 // 最小不能小于1


void delay_10us(u16 ten_us)           //延遲函數(shù),ten/-us=1時,大約延時10us
{
	while(ten_us--);	
}

void delay_ms(u16 ms)                //ms延遲函數(shù),ms=1時,大約延時1ms
{
	u16 i,j;
	for(i=ms;i>0;i--)
		for(j=110;j>0;j--);
}

void step_motor_28BYJ48_send_pulse(u8 step,u8 dir)   
//輸出一個數(shù)據(jù)給ULN2003從而實現(xiàn)向步進電機發(fā)送一個脈沖
{
	u8 temp=step;
	//指定步進序號,可選值0~7
	if(dir==0)	//如果為逆時針旋轉;方向選擇,1:順時針,0:逆時針
		temp=7-step;//調換節(jié)拍信號
	switch(temp)//8個節(jié)拍控制:A->AB->B->BC->C->CD->D->DA
	{
		case 0: IN1_A=1;IN2_B=0;IN3_C=0;IN4_D=0;break;
		case 1: IN1_A=1;IN2_B=1;IN3_C=0;IN4_D=0;break;
		case 2: IN1_A=0;IN2_B=1;IN3_C=0;IN4_D=0;break;
		case 3: IN1_A=0;IN2_B=1;IN3_C=1;IN4_D=0;break;
		case 4: IN1_A=0;IN2_B=0;IN3_C=1;IN4_D=0;break;
		case 5: IN1_A=0;IN2_B=0;IN3_C=1;IN4_D=1;break;
		case 6: IN1_A=0;IN2_B=0;IN3_C=0;IN4_D=1;break;
		case 7: IN1_A=1;IN2_B=0;IN3_C=0;IN4_D=1;break;
		default: IN1_A=0;IN2_B=0;IN3_C=0;IN4_D=0;break;//停止相序	
	}			
}

u8 key_scan(u8 mode)
{
	static u8 key=1;

	if(mode)key=1;//連續(xù)掃描按鍵
	if(key==1&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))//任意按鍵按下
	{
		delay_10us(1000);//消抖
		key=0;
		if(KEY1==0)
			return KEY1_PRESS;
		else if(KEY2==0)
			return KEY2_PRESS;
		else if(KEY3==0)
			return KEY3_PRESS;
		else if(KEY4==0)
			return KEY4_PRESS;	
	}
	else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1)	//無按鍵按下
	{
		key=1;			
	}
	return KEY_UNPRESS;		
}

/*       
           檢測獨立按鍵是否按下,按下則返回對應鍵值

           mode=0:單次掃描按鍵;mode=1:連續(xù)掃描按鍵

           KEY1_PRESS:K1按下
		   KEY2_PRESS:K2按下
		   KEY3_PRESS:K3按下
		   KEY4_PRESS:K4按下
		   KEY_UNPRESS:未有按鍵按下
*/

//主函數(shù)
void main()
{	
	u8 key=0;
	u8 dir=0;//默認逆時針方向
	u8 speed=STEPMOTOR_MAXSPEED;//默認最大速度旋轉
	u8 step=0;
    int stepmove=0;
	while(1)
	{			
		key=key_scan(0);
		if(key==KEY1_PRESS)//換向
		{
			dir=!dir;    
		}
		else if(key==KEY2_PRESS)//加速
		{
			if(speed>STEPMOTOR_MAXSPEED)
				speed-=1;			
		}
		else if(key==KEY3_PRESS)//減速
		{
			if(speed<STEPMOTOR_MINSPEED)
				speed+=1;			
		}
                   if(key==KEY4_PRESS)//按鍵一按下令步進電機旋轉或停止
			{
				stepmove=!stepmove;
			}				
		
			if(stepmove==1)	//判斷是否要讓步進電機旋轉
			{	
			step_motor_28BYJ48_send_pulse(step++,dir);
			if(step==8)step=0;	
			}
			delay_ms(speed);	//通過每一步的延時來調節(jié)步進電機的速度					
	         }		
}

歡迎大家在評論區(qū)發(fā)表評論和意見文章來源地址http://www.zghlxwxcb.cn/news/detail-512074.html

到了這里,關于51單片機控制步進電機啟停,正反轉速度——入門的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 7-3、S曲線生成器【51單片機控制步進電機-TB6600系列】

    7-3、S曲線生成器【51單片機控制步進電機-TB6600系列】

    摘要 :本節(jié)介紹步進電機S曲線生成器的計算以及使用 一.計算原理 根據(jù)上一節(jié)內容,已經(jīng)計算了一條任意S曲線的函數(shù)。在步進電機S曲線加減速的控制中,需要的S曲線如圖1所示,橫軸為時間,縱軸為角速度,其中w0為起始角速度,w1為終止角速度 在S曲線加減速控制中,加減

    2024年02月08日
    瀏覽(43)
  • 【51單片機Keil+Proteus8.9】控制步進電機+LCD1602顯示狀態(tài)

    【51單片機Keil+Proteus8.9】控制步進電機+LCD1602顯示狀態(tài)

    步進電機控制 設計思路 電路設計: 選用AT89C51單片機作為電路核心部件,外加LM016L液晶顯示屏作為顯示,顯示步進電機的Fast,Slow,Stop的三個狀態(tài) 將AT89C51單片機所選引腳與LM016L控制引腳相連,再將數(shù)據(jù)通過引腳與LCD接收引腳相連。 通過AT89C51單片機P0^0和P0^2兩個引腳引出兩個

    2024年01月20日
    瀏覽(34)
  • 51單片機STC15W4K56S4控制步進電機28BYJ-48正反轉

    51單片機STC15W4K56S4控制步進電機28BYJ-48正反轉

    步進電機28BYJ-48(12V)介紹: ? ? ? 首先,我們看下步進電機28BYJ-48(12V)外觀圖,如下: ? ? ? ? 28BYJ-48(12V)含義如下:28表示電機直徑28毫米,B表示電機?,Y表示永磁,J表示帶減速箱,48表示四相八拍。 ? ? ? 下面解釋下“4 相永磁式”的概念,28BYJ-48 的構造如下圖所示

    2023年04月17日
    瀏覽(25)
  • 51單片機——步進電機實驗,小白講解,相互學習

    51單片機——步進電機實驗,小白講解,相互學習

    步進電機簡介: ? ? ? ? 步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚨嗑€位移的開源控制元件。在非超載的情況下,電機的轉速,停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性的關系的存在

    2024年02月04日
    瀏覽(28)
  • 153、仿真-基于51單片機四相步進電機正反轉控制系統(tǒng)設計(程序+Proteus仿真+參考論文+流程圖+配套資料等)

    153、仿真-基于51單片機四相步進電機正反轉控制系統(tǒng)設計(程序+Proteus仿真+參考論文+流程圖+配套資料等)

    目錄 一、設計功能 二、Proteus仿真圖? 三、程序源碼 資料包括: 需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網(wǎng)盤下載地址及提取碼。 方案選擇 單片機的選擇 方案一:STM32系列單片機控制,該型號單片機為LQFP44封裝,內部資源足夠用于本次設計。

    2024年02月16日
    瀏覽(24)
  • 基于51單片機的步進電機驅動,親測無誤

    基于51單片機的步進電機驅動,親測無誤

    這一次要分享的項目是最近接單做的一個小玩意兒,基于51單片機的步進電機驅動。最近積壓了兩個月的小項目會在后面陸續(xù)發(fā)出,好了回歸正題。本次步進電機驅動的話主要實現(xiàn)的功能就是實現(xiàn): 步進電機的加速和減速,正轉反轉和開啟或者停止工作。用LCD1602顯示當前工作

    2023年04月09日
    瀏覽(26)
  • 51單片機雙軸太陽能追光追日系統(tǒng)ULN2003步進電機
  • 基于單片機的步進電機控制系統(tǒng)設計與實現(xiàn)

    基于單片機的步進電機控制系統(tǒng)設計與實現(xiàn)

    目 錄 1 引言 1 2 總體設計方案 2 2.1 系統(tǒng)設計原理 2 2.2 總體設計框圖 2 3系統(tǒng)硬件模塊的組成 3 3.1單片機控制模塊 3 3.1.1 STC89C52主要結構 3 3.1.2 STC89C52功能特性描述 3 3.1.3 時鐘電路 6 3.1.4復位電路 6 3.2 步進電機模塊 7 3.2.1 步進電機簡介 7 3.2.2步進電機的結構 8 3.2.3 28BYJ-48步進電機

    2024年02月04日
    瀏覽(23)
  • 基于51單片機的FRID智能門禁系統(tǒng)(RFID,12864,AT24C02,步進電機......)

    基于51單片機的FRID智能門禁系統(tǒng)(RFID,12864,AT24C02,步進電機......)

    目錄 門禁系統(tǒng) 需要的器件 設計思路 流程圖實現(xiàn) 技術實現(xiàn) 實物接線圖 實物接線圖 ?函數(shù)設計 部分主程序代碼,截取片段 12864顯示模塊 步進電機模塊以及蜂鳴器 FRID射頻模塊 AT24C02模塊 功能實現(xiàn)及其源代碼 完整文件 ????????STC89C52,MFRC-522 RFID射頻模塊,AT24C02存儲電路,

    2024年02月07日
    瀏覽(22)
  • 單片機設計_自動追光系統(tǒng)、光源跟蹤系統(tǒng)(AT89C51 光敏電阻 步進電機)

    單片機設計_自動追光系統(tǒng)、光源跟蹤系統(tǒng)(AT89C51 光敏電阻 步進電機)

    想要更多項目私wo!!! ???????? 51 單片機雙軸自動追光系統(tǒng)主要由 STC89C52RC + 5516 光敏電阻 + ADC0832 + ULN2803 + 步進電機 + LCD1602 顯示屏組成。 ????????1.通過子電路板的上、下、左、右四個光敏電阻來感受四個方向的光強,自 動尋找光強最強的方向。四個光敏電阻的分壓電

    2024年02月11日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包