步进电机、直流电机正反转程序

步进电机、直流电机正反转程序

ID:1564514

大小:35.00 KB

页数:5页

时间:2017-11-12

步进电机、直流电机正反转程序_第1页
步进电机、直流电机正反转程序_第2页
步进电机、直流电机正反转程序_第3页
步进电机、直流电机正反转程序_第4页
步进电机、直流电机正反转程序_第5页
资源描述:

《步进电机、直流电机正反转程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、步进电机#include#defineucharunsignedchar#defineuintunsignedintucharcodeFFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};ucharcodeREV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};sbitK1=P3^0;sbitK2=P3^1;sbitK3=P3^2;//延时voiddelay_ms(uintx){uchart;while(x--)for(t=0;t<120;t++);}

2、//正转voidstep_motor_ffw(ucharn){uchari,j;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3==0)break;P1=FFW[j];delay_ms(25);}}}//反转voidstep_motor_rev(ucharn){uchari,j;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3==0)break;P1=REV[j];delay_ms(25);}}}//主函数voidmain(){ucharN=3;while(1){if(K1==0){

3、P0=0xfe;step_motor_ffw(N);if(K3==0)break;}elseif(K2==0){P0=0xfd;step_motor_rev(N);if(K3==0)break;}else{P0=0xfb;P1=0x03;}}}正反转#include#include#defineINT8Uunsignedchar#defineINT16Uunsignedint#defineS1_ON()(P3&(1<<5))==0X00#defineS2_ON()(P3&(1<<6))==0X00#define

4、S3_ON()(P3&(1<<7))==0X00#defineForward0#defineStop1#defineBackward2sbitM_DIR=P1^0;sbitM_PWM=P1^1;sbitKey_INC=P3^0;sbitKey_DEC=P3^1;//延时voiddelay_us(INT16Ux){for(;x>0;x--)_nop_();}//主函数voidmain(){intspeed=200;while(1){if(S2_ON()){P0=~(1<

5、)){M_DIR=0;P0=~(1<0?speed:0;M_PWM=1;delay_us(speed);M_PWM=0;delay_us(400-speed);}}PWM控制#include#include#defineucharunsignedchar#defineuintunsignedintcharflag=1;sbitpwmout=P2^0;uns

6、ignedcharcount1=0,count2=0,count;sbitICL7135_POL=P3^5;sbitICL7135_BUSY=P3^2;//接外部中断口sbitICL7135_CLK=P3^4;//接计数器口intICL7135_count;//计数存储单元//uintICL7135_out;//A转D后数据的10000倍,存于此单元bitICL7135_flag;//输出正负的位标志floatICL7135_ref=5.0;//定义基准电压变量,方便修改voidInit()//初始化子程序{TMOD=0x25;//T0工作于计数模式

7、EA=1;TL0=0;TH0=0;EX0=1;IT0=1;//下降沿触发ET1=1;TH1=200;TL1=200;TR1=1;}voidmain(){Init();//初始化ICL7135while(1){while(ICL7135_BUSY==0);TR0=1;}}voidint0()interrupt0{floata;//浮点型转整型中间变量TR0=0;//停止计数ICL7135_count=TH0*256+TL0;//16方式计得的数ICL7135_flag=ICL7135_POL;//判断输出是正是负a=ICL7135_count-1000

8、0;//正向积分为10000个脉冲ICL7135输出放大10000倍后的采样值if(a<0)//此句是为了避

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。