資料介紹
/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */
#include c:\mc51\8051io.h /* include i/o header file */ #include c:\mc51\8051reg.h
register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;
unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400
/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
main()
{ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */
while(1){ { tick_wait(); /* wait for 10ms elapsed */
energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }
}
cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } } }
ccw(){ if((flag1&0x02)!=0) { ccw_n--; /* decremnet ccw step number */ if (ccw_n !=0) j--; /* if not zero decrement index j */ else {flag1&=~0x02; /* disable ccw() executon */ cw_n = n; /* reload step number to cw counter */ flag1 |=0x01; /* enable cw() execution */ } } }
tick_wait(){ /* cputick was replaced by simpler ASM code 10ms wait */
asm" JNB TCON.5,*"; /* wait for TF0 set */ asm" CLR TCON.5"; /* clear TF0 for further set */ asm" ORL TH0,#$DC"; /* reload TH0 with $DC, TL0 = 0 */ }
energize(){
P1 = step[(j&0x07)]; /* only step 0-7 needed */ }
#include c:\mc51\8051io.h /* include i/o header file */ #include c:\mc51\8051reg.h
register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;
unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400
/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */
main()
{ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */
while(1){ { tick_wait(); /* wait for 10ms elapsed */
energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }
}
cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } } }
ccw(){ if((flag1&0x02)!=0) { ccw_n--; /* decremnet ccw step number */ if (ccw_n !=0) j--; /* if not zero decrement index j */ else {flag1&=~0x02; /* disable ccw() executon */ cw_n = n; /* reload step number to cw counter */ flag1 |=0x01; /* enable cw() execution */ } } }
tick_wait(){ /* cputick was replaced by simpler ASM code 10ms wait */
asm" JNB TCON.5,*"; /* wait for TF0 set */ asm" CLR TCON.5"; /* clear TF0 for further set */ asm" ORL TH0,#$DC"; /* reload TH0 with $DC, TL0 = 0 */ }
energize(){
P1 = step[(j&0x07)]; /* only step 0-7 needed */ }
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于51單片機(jī)的步進(jìn)電機(jī)控制程序 79次下載
- 直流無(wú)刷電機(jī)控制程序
- 直流電機(jī)CPLD 控制程序設(shè)計(jì)
- 步進(jìn)電機(jī)控制程序免費(fèi)下載 7次下載
- 電機(jī)的控制程序資料合集免費(fèi)下載 13次下載
- DSP電機(jī)控制程序和工程文件免費(fèi)下載 33次下載
- 步進(jìn)電機(jī)控制程序的原理是怎么樣的 13次下載
- MSP430 Stepper Motor Controller電機(jī)控制:步進(jìn)電機(jī) 12次下載
- 小車(chē)電機(jī)控制程序的編寫(xiě)要求 14次下載
- 步進(jìn)電機(jī)控制程序液晶顯示程序 33次下載
- 各種電機(jī)的DSP控制程序 52次下載
- 單片機(jī)按鍵控制程序【C語(yǔ)言】 29次下載
- 電機(jī)控制程序設(shè)計(jì)與調(diào)試 0次下載
- 步進(jìn)電機(jī)控制程序(匯編語(yǔ)言+89c51單片機(jī))
- 步進(jìn)電機(jī)控制程序(PLC控制)
- 步進(jìn)電機(jī)的控制原理與應(yīng)用實(shí)例 1050次閱讀
- 步進(jìn)電機(jī)控制器電路圖 步進(jìn)電機(jī)控制器的分類(lèi)及其特點(diǎn) 3529次閱讀
- 什么是步進(jìn)電機(jī)控制器?步進(jìn)電機(jī)控制器電路圖 2120次閱讀
- 步進(jìn)電機(jī)工作原理是什么? 步進(jìn)電機(jī)電流和細(xì)分的關(guān)系 1880次閱讀
- 微雪電子樹(shù)莓派步進(jìn)電機(jī)驅(qū)動(dòng)板|Stepper Motor HAT介紹 5523次閱讀
- 步進(jìn)電機(jī)如何控制速度 1.6w次閱讀
- 步進(jìn)電機(jī)控制器原理_步進(jìn)電機(jī)控制器編程實(shí)例 1.6w次閱讀
- 如何進(jìn)行PLC控制程序的設(shè)計(jì)詳細(xì)資料PPT說(shuō)明 6010次閱讀
- 海為C32S2T系列PLC在沖床的控制程序中的應(yīng)用設(shè)計(jì) 2058次閱讀
- 基于單片機(jī)的步進(jìn)電機(jī)轉(zhuǎn)速控制設(shè)計(jì)詳解(附程序) 2.6w次閱讀
- 步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)及應(yīng)用案例 1.4w次閱讀
- 直流電機(jī)的PWM速度控制程序 1.6w次閱讀
- PLC對(duì)步進(jìn)電機(jī)進(jìn)行定位控制程序的原理及方案解析 1.4w次閱讀
- 步進(jìn)電機(jī)的功能模塊設(shè)計(jì),步進(jìn)電機(jī)的控制與測(cè)速方法 2472次閱讀
- 單片機(jī)控制步進(jìn)電機(jī)的原理 8.5w次閱讀
下載排行
本周
- 1OAH0428最新規(guī)格書(shū)(中文)
- 2.52 MB | 27次下載 | 10 積分
- 2UHV系列雷電沖擊電壓發(fā)生器試驗(yàn)裝置詳細(xì)說(shuō)明使用
- 1.07 MB | 16次下載 | 免費(fèi)
- 3麻將機(jī)升降電路
- 0.12 MB | 5次下載 | 1 積分
- 4PNE20040CPE-Q雙共陰極超快恢復(fù)整流器規(guī)格書(shū)
- 275.16KB | 4次下載 | 免費(fèi)
- 5AC6951C功放30W彩燈電路
- 0.19 MB | 2次下載 | 2 積分
- 6TK8620 開(kāi)發(fā)板-TKB-620
- 410.54 KB | 2次下載 | 免費(fèi)
- 7RS-485收發(fā)器CMT83086的高可靠性全雙工隔離特性及其應(yīng)用
- 888.28 KB | 2次下載 | 免費(fèi)
- 8NX-HB-GAN3R2-BSC半橋評(píng)估板
- 4.52MB | 1次下載 | 免費(fèi)
本月
- 1DeepSeek:從入門(mén)到精通
- 5.36 MB | 60次下載 | 1 積分
- 2OAH0428最新規(guī)格書(shū)(中文)
- 2.52 MB | 27次下載 | 10 積分
- 3UHV系列雷電沖擊電壓發(fā)生器試驗(yàn)裝置詳細(xì)說(shuō)明使用
- 1.07 MB | 16次下載 | 免費(fèi)
- 4麻將機(jī)升降電路
- 0.12 MB | 5次下載 | 1 積分
- 5中興通訊的PCB設(shè)計(jì)規(guī)范
- 23.03 MB | 5次下載 | 5 積分
- 6Altium-常用3D封裝庫(kù)(Step)接插件篇
- 4.95 MB | 4次下載 | 免費(fèi)
- 7HBS2268 PWM的電流型開(kāi)關(guān)電源控制器中文手冊(cè)
- 1.47 MB | 4次下載 | 免費(fèi)
- 8PNE20040CPE-Q雙共陰極超快恢復(fù)整流器規(guī)格書(shū)
- 275.16KB | 4次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191370次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183336次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81582次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論