freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

51單片機(jī)控制四相步進(jìn)電機(jī)畢業(yè)設(shè)計(jì)資料-展示頁

2024-08-21 05:07本頁面
  

【正文】 P1_2 = 1。 P1_1 = 1。 P1_0 = 0。 case 2: break。 P1_3 = 0。 P1_2 = 0。 P1_1 = 1。 P1_0 = 1。 case 0: switch(step_index) do{}while(countendcount)。 count=0。 count++。 TL0=0x0C。 TH0=0xFE。 }while(1)。 gorun(1,60)。 //開始計(jì)數(shù) //設(shè)定時(shí)器0和1為16位模式1 //允許CPU中斷 void main(void) {void delay(unsigned int endcount)。所以,我將程序代碼改進(jìn)了一下,如下:代碼二include static unsigned int count。 do{}while(countendcount)。 count=0。 endcount=2。 count++。 TL0=0x18。 TH0=0xFC。 goto startrun。 delay()。 P1_3 = 1。 P1_2 = 0。 delay()。 P1_2 = 1。 P1_1 = 0。 delay()。 P1_1 = 1。 P1_0 = 0。 delay()。 P1_0 = 1。 P1_3 = 0。 //開始計(jì)數(shù)startrun: ET0 = 1。 //允許CPU中斷 EA = 1。void main(void) {static unsigned int endcount。通過改變脈沖電流的時(shí)間間隔,就可以實(shí)現(xiàn)對(duì)轉(zhuǎn)速的控制;通過改變給四線脈沖電流的順序,則可實(shí)現(xiàn)對(duì)轉(zhuǎn)向的控制。地線與四線接觸的順序相反,電機(jī)的轉(zhuǎn)向也相反。以前曾看過有關(guān)步進(jìn)電機(jī)原理和控制的資料,畢竟自己沒有做過,對(duì)其具體原理還不是很清楚。51單片機(jī)控制四相步進(jìn)電機(jī)  接觸單片機(jī)快兩年了,不過只是非常業(yè)余的興趣,實(shí)踐卻不多,到現(xiàn)在還算是個(gè)初學(xué)者吧。這幾天給自己的任務(wù)就是搞定步進(jìn)電機(jī)的單片機(jī)控制。今天從淘寶網(wǎng)買了一個(gè)EPSON的UMX1型步進(jìn)電機(jī),此步進(jìn)電機(jī)為雙極性四相,接線共有六根,外形如下圖所示:  拿到步進(jìn)電機(jī),根據(jù)以前看書對(duì)四相步進(jìn)電機(jī)的了解,我對(duì)它進(jìn)行了初步的測(cè)試,就是將5伏電源的正端接上最邊上兩根褐色的線,然后用5伏電源的地線分別和另外四根線(紅、蘭、白、橙)依次接觸,發(fā)現(xiàn)每接觸一下,步進(jìn)電機(jī)便轉(zhuǎn)動(dòng)一個(gè)角度,來回五次,電機(jī)剛好轉(zhuǎn)一圈,說明此步進(jìn)電機(jī)的步進(jìn)角度為360/(45)=18度?! ∪绻脝纹瑱C(jī)來控制此步進(jìn)電機(jī),則只需分別依次給四線一定時(shí)間的脈沖電流,電機(jī)便可連續(xù)轉(zhuǎn)動(dòng)起來。所以,設(shè)計(jì)了如下電路圖:  制作的實(shí)物圖如下:  C51程序代碼為:代碼一include static unsigned int count。void delay()。 count = 0。 P1_0 = 0。 P1_1 = 0。 P1_2 = 0。 P1_3 = 0。 TMOD = 0x11。 //設(shè)定時(shí)器0和1為16位模式1 //定時(shí)器0中斷允許 TH0 = 0xFC。 TL0 = 0x18。 //設(shè)定時(shí)每隔1ms中斷一次 TR0 = 1。 } //定時(shí)器0中斷處理 void timeint(void) interrupt 1 { //設(shè)定時(shí)每隔1ms中斷一次}void delay(){}  將上面的程序編譯,用ISP下載線下載至單片機(jī)運(yùn)行,步進(jìn)電機(jī)便轉(zhuǎn)動(dòng)起來了,初步告捷!  不過,上面的程序還只是實(shí)現(xiàn)了步進(jìn)電機(jī)的初步控制,速度和方向的控制還不夠靈活,另外,由于沒有利用步進(jìn)電機(jī)內(nèi)線圈之間的“中間狀態(tài)”,步進(jìn)電機(jī)的步進(jìn)角度為18度。static int step_index。void gorun(bit turn, unsigned int speedlevel)。 count = 0。 step_index = 0。 P1_0 = 0。 P1_1 = 0。 P1_2 = 0。 P1_3 = 0。 EA = 1。 TMOD = 0x11。 ET0 = 1。 //定時(shí)器0中斷允許 TH0 = 0xFE。 TL0 = 0x0C。 // TR0 = 1。 do{} //定時(shí)器0中斷處理 void timeint(void) interrupt 1 { //}void delay(unsigned int endcount){}void gorun(bit turn,unsigned int speedlevel){ { P1_0 = 1。 P1_1 = 0。 P1_2 = 0。 P1_3 = 0。 break。 case 1: P1_0 = 0。 P1_1 = 1。 P1_2 = 0。 P1_3 = 0。 break。 case 3: P1_0 = 0。 P1_1 = 0。 P1_2 = 1。 P1_3 = 0。 break。 case 5: P1_0 = 0。 P1_1 = 0。 P1_2 = 0。 P1_3 = 1。 break。 case 7: delay(speedlevel)。 if (turn==0) step_index++。 if (step_index7) else step_index。 if (step_index0) }  改進(jìn)的代碼能實(shí)現(xiàn)速度和方向的控制,而且,通過step_index靜態(tài)全局變量能“記住”步進(jìn)電機(jī)的步進(jìn)位置,下次調(diào)用 gorun()函數(shù)時(shí)則可直接從上次步進(jìn)位置繼續(xù)轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)精確步進(jìn);另外,由于利用了步進(jìn)電機(jī)內(nèi)線圈之間的“中間狀態(tài)”,步進(jìn)角度減小了一半,只為9度,低速運(yùn)轉(zhuǎn)也相對(duì)穩(wěn)定一些了。所以我又將代碼再次改進(jìn):代碼三include static unsigned int count。 //計(jì)數(shù)static int step_index。 //步進(jìn)索引數(shù),值為0-7static bit turn。 //步進(jìn)電機(jī)轉(zhuǎn)動(dòng)方向static bit stop_flag。 //步進(jìn)電機(jī)停止標(biāo)志static int speedlevel。 count = 0。 step_index = 0。 spcount = 0。 stop_flag = 0。EA = 1。 TMOD = 0x11。 ET0 = 1。 // //開始計(jì)數(shù)speedlevel = 2。 delay(10000)。 speedlevel = 1。 do{} //定時(shí)器0中斷處理 void timeint(void) interrupt 1 { // { count=0。 do{}while(countendcount)。 if (stop_flag==1) P1_0 = 0。 P1_1 = 0。 P1_2 = 0。 P1_3 = 0。 return。 } { P1_0 = 1。 P1_1 = 0。 P1_2 = 0。 P1_3 = 0。 break。 case 1: //0、1
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1