資源簡介
51單片機驅動86及57步進電機,可配合紅外或者按鍵實現步進電機的轉動

代碼片段和文件信息
/***********************************************
程序功能:水果采摘裝置電機驅動,當紅外傳感器檢測
??到若干個蘋果后,驅動電機轉動一定角度。
詳情簡介:程序先進行電機、定時器、中斷初始化,之
??后進行掃描按鍵/蘋果,掃描一定數目后,開
??始轉動一定角度,供果農收納。
更新時間:2018.3.21
************************************************/
#include?“reg52.h“
#define?uint?unsigned?int?
#define?uchar?unsigned?char
void?delay(uint?z);
void?Key_Scan(void);
void?Motor_Init(void);
sbit?EN=P3^0; ? ???//電機使能?
sbit?DIR=P3^1; ???//電機方向
sbit?PUL=P3^2; ???//脈沖
sbit?KEY1=P3^3; ??
uint?CYCLE=0Pulse=0;? //定時器周期?脈沖數
uchar?APPLE=0; //檢測到蘋果數目??
/****************************
函數名:main
函數參數:無
函數返回值:無
函數功能:水果收納裝置電機驅動
*****************************/
void?main(void)
{
Motor_Init();
while(1)
{
Key_Scan();
}
}
/****************************
函數名:delay
函數參數:z
函數返回值:無
函數功能:延時函數
??當Z為1000是大約1秒
*****************************/
void?delay(uint?z)
{
uint?ij;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
/****************************
函數名:Motor_Init
函數參數:無
函數返回值:無
函數功能:電機、定時器、中斷初始化
*****************************/
void?Motor_Init()
{
EN=1; ?//電機使能?
DIR=1; ?//電機方向
PUL=0; ?//脈沖 ??
EA?=?1;??? ? ?//開總中斷
CYCLE=1800;? ?//脈沖頻率?定時器設置?10ms?in?12M?crystal?即100Hz
TMOD?|=0x01;? ?//工作方式
TH0=(65536-CYCLE)/256;?
TL0=(65536-CYCLE)%256;
ET0??=?1;???? ?//使能T0中斷
TR0??=?0;???? ?//關閉定時器
}
/****************************
函數名:Key_Scan
函數參數:無
函數返回值:無
函數功能:按鍵掃描函數
??檢測按下4次后觸發電機旋轉
*****************************/
void?Key_Scan(void)
{
if(KEY1==0)
{
delay(10);
if(KEY1==0)
{
APPLE++;
if(APPLE==1)
{
APPLE=0;
TR0=1; ??//開定時器中斷
}
}
}
while(KEY1==0);
}
/****************************
函數名:Time0_ISR
函數參數:無
函數返回值:無
函數功能:定時器中斷函數
*****************************/
void?Time0_ISR()?interrupt?1?
{
??TH0=(65536-CYCLE)/256;?
??TL0=(65536-CYCLE)%256;
??PUL?=?~PUL; //取反實現脈沖變化
??Pulse++; ? //脈沖數算角度
??if(Pulse==800)?
??{
Pulse=0;
TR0=0;
??}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-07?20:30??步進電機驅動\
?????文件????????6376??2009-05-07?14:37??步進電機驅動\STARTUP.A51
?????文件???????14048??2017-10-06?20:23??步進電機驅動\STARTUP.LST
?????文件?????????758??2017-10-06?20:23??步進電機驅動\STARTUP.OBJ
?????文件????????2326??2018-04-07?20:27??步進電機驅動\步進.c
?????文件????????5588??2018-04-07?20:27??步進電機驅動\步進.LST
?????文件????????4256??2018-04-07?20:27??步進電機驅動\步進.OBJ
?????文件??????????34??2018-04-07?20:27??步進電機驅動\步進.__i
?????文件????????4718??2018-04-07?20:27??步進電機驅動\步進電機
?????文件????????2196??2018-04-07?20:27??步進電機驅動\步進電機.hex
?????文件??????????60??2018-04-07?20:27??步進電機驅動\步進電機.lnp
?????文件????????8195??2018-04-07?20:27??步進電機驅動\步進電機.M51
?????文件?????????343??2018-04-07?20:30??步進電機驅動\步進電機.plg
?????文件???????73001??2018-04-07?20:30??步進電機驅動\步進電機.uvopt
?????文件???????13410??2018-03-21?16:45??步進電機驅動\步進電機.uvproj
?????文件???????73001??2018-04-04?21:38??步進電機驅動\步進電機_uvopt.bak
?????文件???????13406??2017-10-06?20:23??步進電機驅動\步進電機_uvproj.bak
- 上一篇:Gambit 無限期 可導入模型 證書
- 下一篇:駱駝wrl模型
評論
共有 條評論