五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

第9章-步進電機與蜂鳴器(上:步進電機)

2023-08-27 10:56 作者:feifeiluan2  | 我要投稿

總結:外面步進電機轉(zhuǎn)1圈,對應單片機發(fā)4096次信號

把轉(zhuǎn)幾圈的度數(shù)轉(zhuǎn)換成單片機發(fā)幾次信號,

逆時針轉(zhuǎn)對應那個數(shù)組從0-7依次發(fā)

順時針轉(zhuǎn)對應那個數(shù)組從7-0依次發(fā)

發(fā)送頻率是500,2ms發(fā)一次,發(fā)太快可能不轉(zhuǎn).

一個引腳的輸出有2種情況

輸出0(拉地)+輸出高阻(旁觀),,,或者,,,,輸出0(拉地)+輸出1(電源)


課后第4題,

#include <reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef signed char i8;
typedef signed int i16;
typedef signed long i32;

i32 beats = 0;

code u8 BeatCode[8] = {0x0E, 0x0C, 0x0D, 0x09, 0x0B, 0x03, 0x07, 0x06};

i32 anyAngle=180;

//正角度是逆時針轉(zhuǎn),負角度是順時針轉(zhuǎn)
void StartMotor(i32 angle)
{
?? ?EA=0;
?? ?beats=(angle*4096)/360;
?? ?EA=1;
}

void StopMotor()
{
?? ?EA=0;
?? ?beats=0;
?? ?EA=1;
}

void TrunMotor()
{
?? ?static u8 index=0;
?? ?u8 tmp;

?? ?if(beats)
?? ?{
?? ??? ?if(beats>0)
?? ??? ?{
?? ??? ??? ?beats--;
?? ??? ??? ?index++;
?? ??? ??? ?index&=0x07;
?? ??? ?}else
?? ??? ?{
?? ??? ??? ?beats++;
?? ??? ??? ?index--;
?? ??? ??? ?index&=0x07;
?? ??? ?}
?? ??? ?tmp=P1;
?? ??? ?tmp&=0xF0;
?? ??? ?tmp|=BeatCode[index];
?? ??? ?P1=tmp;

?? ?}else
?? ?{
?? ??? ?P1|=0x0F;
?? ?}
}


void main(void)
{
?? ?TMOD = 0x01;
?? ?TH0 = 0xFC;
?? ?TL0 = 0x66;
?? ?ET0 = EA = TR0 = 1;

?? ?StartMotor(anyAngle);
?? ?while (1)
?? ?{
?? ??? ?;
?? ?}
}


void Timer0_ISR()interrupt 1
{
?? ?TH0=0xFC;
?? ?TL0=0x66;

?? ?TrunMotor();
}

第9章-步進電機與蜂鳴器(上:步進電機)的評論 (共 條)

分享到微博請遵守國家法律
清涧县| 驻马店市| 抚松县| 北京市| 广东省| 桃江县| 濮阳县| 夏邑县| 福清市| 永吉县| 新乡市| 宁都县| 开化县| 乌拉特中旗| 米泉市| 石林| 和静县| 迁西县| 古交市| 右玉县| 牡丹江市| 宜兰市| 西和县| 昌都县| 涡阳县| 精河县| 普兰县| 鸡西市| 江安县| 泽州县| 临西县| 澄城县| 姜堰市| 乐山市| 合肥市| 雷山县| 河西区| 五家渠市| 佛冈县| 惠水县| 台湾省|