91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡(jiǎn)介

基于步進(jìn)電機(jī)的按鍵控制,整個(gè)電梯樓層的控制誤差大概在0.5cm左右

資源截圖

代碼片段和文件信息

#include?“reg52.h“			?//此文件中定義了單片機(jī)的一些特殊功能寄存器

typedef?unsigned?int?u16; ??//對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef?unsigned?char?u8;

#define?smg_out?P0??//定義端口
#define?RUN??P1
sbit?key1=P3^0;
sbit?key2=P3^1;
sbit?key3=P3^2;
sbit?key4=P3^3;

sbit?LSA=P2^2;??//定義接口
sbit?LSB=P2^3;
sbit?LSC=P2^4;

u8?old_stage;??
u8?next_stage;???
u8?KeyValue; ?
u8?Lastkeyvalue;??
u8?code?down[8]={0x010x090x080x0c0x040x060x020x03};??//4相雙拍電機(jī)正轉(zhuǎn)脈沖
u8?code?up[8]={0x010x030x020x060x040x0c0x080x09};?????//反轉(zhuǎn)脈沖
u8?code?smgduan[18]={0x060x5b0x4f0x660x6d0x7d0x07
0x7f0x6f0x770x7c0x390x5e0x790x71};//顯示1~9的值?

/*******************************************************************************
*?函?數(shù)?名?????????:?delay
*?函數(shù)功能 ???:?延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
*******************************************************************************/
void?delay(u16?i)
{
while(i--);
}




/*******************************************************************************
*?函?數(shù)?名?????????:?RUN_up
*?函數(shù)功能 ???:??步進(jìn)電機(jī)的底層驅(qū)動(dòng)
*?輸????入?????????:?脈沖?速度?上次樓層?目前樓層
*?輸????出?????????:?無
*******************************************************************************/


void?RUN_up(int?pulseint?speedu8?oldstageu8?next_stage)???//direction=1?正轉(zhuǎn)
{
int?i;??//定義變量?
if(oldstage!=next_stage)??//判斷樓層進(jìn)行正轉(zhuǎn)
{
if(next_stage>oldstage)?
{
pulse*=(next_stage-oldstage);??//?根據(jù)樓層獲得脈沖
while(pulse>0)
?{
for(i=0;i<8;i++)??//電機(jī)執(zhí)行運(yùn)作
{?
RUN=down[i];
delay(speed);
}
?pulse--;
?}
}
??if(next_stage {
??pulse*=(oldstage-next_stage);//?根據(jù)樓層獲得脈沖
while(pulse>0)
{
for(i=0;i<8;i++)//電機(jī)執(zhí)行運(yùn)作
{
RUN=up[i];
delay(speed);
}
pulse--;
?}
}
old_stage=next_stage;??//將這次的樓層作為上次的樓層存入
?}

}

/*******************************************************************************
*?函?數(shù)?名?????????:?KeyDown
*?函數(shù)功能 ???:?檢測(cè)有按鍵按下并讀取鍵值
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/
void?KeyDown(void)
{
????if(key1==0)
{
KeyValue=1;
}
else?if(key2==0)
{
KeyValue=0;
}
else?if(key3==0)
{
KeyValue=2;
}
else?if(key4==0)
{
KeyValue=3;
}
}


/*******************************************************************************
*?函?數(shù)?名???????:?main
*?函數(shù)功能 ?:?主函數(shù)
*?輸????入???????:?無
*?輸????出???? ?:?無
*******************************************************************************/
void?main()
{
LSA=0;?
LSB=0;
LSC=0;
smg_out=smgduan[0];??
Lastkeyvalue=20;?
old_stage=1;?
while(1)
{
??KeyDown(); ???//按鍵判斷函數(shù)
smg_out=smgduan[KeyValue];?//輸出樓層數(shù)
switch?(KeyValue)?
{
case?0:?????next_stage=1;???RUN_up(380150old_stagenext_stage); ?????????break;???
case?1:?????next_stage=2;? RUN_up(380150old_stagenext_stage); ????? ???break;
case?2:?????next_stage=3;???R

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-06-13?20:52??程序\
?????文件????????6579??2019-06-13?20:49??程序\main.LST
?????文件????????5982??2019-06-13?20:49??程序\main.OBJ
?????文件????????3428??2019-06-13?20:49??程序\main.c
?????文件????????5036??2019-06-13?20:51??程序\template
?????文件????????7386??2019-06-13?20:51??程序\template.M51
?????文件?????????928??2019-06-13?20:51??程序\template.build_log.htm
?????文件????????1181??2019-06-13?20:51??程序\template.hex
?????文件??????????44??2019-06-13?20:51??程序\template.lnp
?????文件?????????258??2018-06-24?14:44??程序\template.plg
?????文件???????90561??2019-06-13?20:52??程序\template.uvgui.ASUS
?????文件????????5380??2019-04-29?12:26??程序\template.uvopt
?????文件???????14257??2019-04-29?12:26??程序\template.uvproj
?????文件???????55224??2018-05-25?13:35??程序\template_uvopt.bak
?????文件???????13259??2016-10-11?09:00??程序\template_uvproj.bak

評(píng)論

共有 條評(píng)論

相關(guān)資源