最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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章-步進電機與蜂鳴器(上:步進電機)的評論 (共 條)

分享到微博請遵守國家法律
阳江市| 定西市| 新干县| 合江县| 潮州市| 保靖县| 辰溪县| 莫力| 洪江市| 临夏市| 孟连| 南部县| 诸暨市| 全州县| 吴江市| 出国| 河南省| 思茅市| 温泉县| 八宿县| 苏尼特右旗| 涟源市| 高陵县| 松滋市| 香格里拉县| 贵阳市| 濮阳市| 江口县| 泸州市| 军事| 扶风县| 板桥市| 平和县| 黄山市| 临泽县| 德清县| 吉安市| 平泉县| 赞皇县| 大荔县| 雷波县|