成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 方案介紹
    • 基于51單片機(jī)的PWM控制直流電機(jī)設(shè)計(jì)( proteus仿真+程序+報(bào)告+講解視頻)
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的PWM控制直流電機(jī)設(shè)計(jì)( proteus仿真+程序+報(bào)告+講解視頻)

2024/08/28
4417
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

設(shè)計(jì)資料獲取聯(lián)系方式.doc

共1個(gè)文件

基于51單片機(jī)的PWM控制直流電機(jī)設(shè)計(jì)( proteus仿真+程序+報(bào)告+講解視頻)

仿真圖proteus 7.8及以上

程序編譯器:keil 4/keil 5

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):S0031

視頻


基于51單片機(jī)PWM控制直流電機(jī)設(shè)計(jì)

主要功能:

1.設(shè)計(jì)要求

采用51單片機(jī)作為核心控制器,控制直流電機(jī)的正轉(zhuǎn),反轉(zhuǎn),制動(dòng),停止。

2.功能要求

1)數(shù)碼管顯示當(dāng)前轉(zhuǎn)動(dòng)方向和當(dāng)前的PWM占空比0~100%。

2)電機(jī)(L298n)轉(zhuǎn)速可以通過(guò)按鍵調(diào)整,也可以開始暫停,正轉(zhuǎn)和反轉(zhuǎn)。

3)按鍵可實(shí)現(xiàn)加速、減速、正轉(zhuǎn)、反轉(zhuǎn)、停止等功能。

1鍵:加速鍵,短按,占空比加1;

2鍵:減速鍵,短按,占空比減1;

3鍵:正反轉(zhuǎn)切換鍵,按下后電機(jī)正反轉(zhuǎn);

4鍵:按一下停止,PWM脈寬清零。

仿真

開始仿真后,用數(shù)碼管第一位顯示0表示正轉(zhuǎn)后面三位標(biāo)志PWM脈寬(0-100), 示波器實(shí)時(shí)檢測(cè)顯示脈寬黃線是正轉(zhuǎn)脈寬,藍(lán)線是反轉(zhuǎn)脈寬。

img

反轉(zhuǎn)脈寬如下所示

img

程序:

img

部分代碼:

#include<reg52.h>    
#include<intrins.h>                        
#define uchar unsigned char	
#define uint unsigned int  
		
/**********************************************************************
							L298n接口定義
**********************************************************************/  
sbit MOTOR_A_1=P3^6;
sbit MOTOR_A_2=P3^7;																   
sbit k1=P1^0;		//定義k1為p1.0口
sbit k2=P1^1;   //定義k2為p1.1口
sbit k3=P1^2;   //定義k3為p1.2口
sbit k4=P1^3;   //定義k4為p1.3口
uchar T=0;	   //定時(shí)標(biāo)記
uchar W=0;	   //脈寬值	 0~100
uchar A=0;	   //方向標(biāo)記 0,1
uchar k=0;	   //按鍵標(biāo)記
uchar i=0;    	 //計(jì)數(shù)變量

uchar code table1[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

uchar code table2[]={0xfe,0xfb,0xfd,0xf7};
		 
void delayms(uint t);					 			 
/**********************************************************************
						數(shù)碼管顯示
**********************************************************************/ 
void disp(void)
{
	P2=table2[3];					
	P0=table1[W%10];			//顯示占空比個(gè)位
	delayms(1); 					//延時(shí)1ms
	P2=0xff;							//P0清1

	P2=table2[2];
	P0=table1[W/100]; 		//顯示占空比百位
	delayms(1); 					//延時(shí)1ms
	P2=0xff;							//P0清1
  
	P2=table2[1];
	P0=table1[W/10%10];  //顯示占空比十位
	delayms(1); 				 //延時(shí)1ms
	P2=0xff;   					 //P0清1

	P2=table2[0];
	P0=table1[A];  			//顯示方向
	delayms(1); 				//延時(shí)1ms
	P2=0xff;						//P0清1
}

/**********************************************************************
							定時(shí)器變量定義
**********************************************************************/ 


void init(void)
{
	//啟動(dòng)中斷
	TMOD=0x01;	
	EA=1;						
	ET0=1;
	TR0=1;
	//設(shè)置定時(shí)時(shí)間
	TH0=0xff;
	TL0=0xf6;
}

		
/**********************************************************************
							延時(shí)1ms
**********************************************************************/ 
void delayms(uint t)
{
	uchar j;
	while(t--)
	{
		for(j=0;j<250;j++)			//循環(huán)250次
		{
		   _nop_();             //系統(tǒng)延時(shí)          
	       _nop_();							//系統(tǒng)延時(shí)
	       _nop_();							//系統(tǒng)延時(shí)
	       _nop_();							//系統(tǒng)延時(shí)
		}
	}
}
/**********************************************************************
							獨(dú)立按鍵檢測(cè)
**********************************************************************/ 
void key(void)           //按鍵判斷程序
{
	if(k1==0)							//按鍵1按下
	{
		while(k1==0);				//按鍵1抬起
		if(W==100)					//如果脈寬為100
			W=0;							//脈寬置0
		else
			W+=1;							//否則加1
	}
	else if(k2==0)				//按鍵2按下
	{				 
		while(k2==0);				//按鍵2抬起
		if(W==0)						//如果脈寬為0
			W=100;						//脈寬設(shè)置成100
		else
			W-=1;							//否則減1
	}
	else if(k3==0)				//按鍵3按下
	{			   
		while(k3==0);				//按鍵3抬起
		A=!A;								//方向標(biāo)記取反
		k=!k;								//按鍵標(biāo)記取反
	} 
	else if(k4==0)				//按鍵4按下
	{			   
		while(k4==0);				//按鍵4抬起
		W=0;								//脈寬清0									
	}
}

void main(void)
{

	init();			/系統(tǒng)初始化 
	while(1)	 
	{
	if(k==0)
	    MOTOR_A_2=0;
	else
		MOTOR_A_1=0;	 		
		key();			查詢按鍵
	}
}

設(shè)計(jì)報(bào)告

img

資料清單:

下載方式見開頭的視頻
或下方百度云分享鏈接
https://docs.qq.com/doc/DS1RGSmxKQUZOa0dT
img

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc
    下載

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LTC6994IS6-2#TRMPBF 1 Analog Devices Inc LTC6994IS6-2#TRMPBF

ECAD模型

下載ECAD模型
$4.15 查看
CM315D32768EZFT 1 Citizen Finedevice Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下載ECAD模型
暫無(wú)數(shù)據(jù) 查看
VOM3052-X001T 1 Vishay Intertechnologies SOP-4 P.TRIAC NZC,10MA,1.5K DV/DT VD - Tape and Reel
$11.64 查看

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!
张家川| 晋江市| 丰台区| 自贡市| 咸阳市| 西乡县| 罗甸县| 扶沟县| 治多县| 磐石市| 平顶山市| 罗源县| 当涂县| 中宁县| 山阴县| 云霄县| 武宁县| 惠安县| 天门市| 犍为县| 北宁市| 东山县| 象山县| 衡山县| 南充市| 沙坪坝区| 德庆县| 高要市| 海伦市| 车致| 北川| 青州市| 海阳市| 汾阳市| 宣城市| 永城市| 阳谷县| 乐陵市| 息烽县| 镶黄旗| 阿坝|