资料介绍
/* * 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单片机的步进电机控制程序 71次下载
- 直流无刷电机控制程序
- 直流电机CPLD 控制程序设计
- 步进电机控制程序免费下载 7次下载
- 电机的控制程序资料合集免费下载 13次下载
- DSP电机控制程序和工程文件免费下载 28次下载
- 步进电机控制程序的原理是怎么样的 12次下载
- MSP430 Stepper Motor Controller电机控制:步进电机 12次下载
- 小车电机控制程序的编写要求 14次下载
- 步进电机控制程序液晶显示程序 33次下载
- 各种电机的DSP控制程序 51次下载
- 单片机按键控制程序【C语言】 29次下载
- 电机控制程序设计与调试 0次下载
- 步进电机控制程序(汇编语言+89c51单片机)
- 步进电机控制程序(PLC控制)
- 步进电机的控制原理与应用实例 450次阅读
- 步进电机控制器电路图 步进电机控制器的分类及其特点 1563次阅读
- 什么是步进电机控制器?步进电机控制器电路图 766次阅读
- 步进电机工作原理是什么? 步进电机电流和细分的关系 1077次阅读
- 微雪电子树莓派步进电机驱动板|Stepper Motor HAT介绍 5193次阅读
- 步进电机如何控制速度 1.5w次阅读
- 步进电机控制器原理_步进电机控制器编程实例 1.6w次阅读
- 如何进行PLC控制程序的设计详细资料PPT说明 5753次阅读
- 海为C32S2T系列PLC在冲床的控制程序中的应用设计 1934次阅读
- 基于单片机的步进电机转速控制设计详解(附程序) 2.5w次阅读
- 步进电机控制系统的设计及应用案例 1.4w次阅读
- 直流电机的PWM速度控制程序 1.6w次阅读
- PLC对步进电机进行定位控制程序的原理及方案解析 1.3w次阅读
- 步进电机的功能模块设计,步进电机的控制与测速方法 2294次阅读
- 单片机控制步进电机的原理 8.4w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 11次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5DIY动手组装LED电子显示屏
- 0.98 MB | 3次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机PM2.5检测系统程序
- 0.83 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537797次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191186次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多