ZKX's LAB

单片机控制步进电机c程序 求一C程序,关于用单片机控制步进电机的。要求:可以用单片机上的独立按键控制电机的正反转。主要要求可

2021-03-09知识3

求单片机控制步进电机简单的c程序

求一C程序,关于用单片机控制步进电机的。要求:可以用单片机上的独立按键控制电机的正反转。主要要求可 俺手头没有步进电机的硬件驱动电路,只好用LED测试了,测试通过喽只不过程序中的延时 时间比较长,你可以随意修改另外,你没说是什么步进电机,和控制方式所以,本人就按照常用的 两相步进电机写的,方式为 8拍程序设计思路为,设立一个变量来记录状态,然后再根据状态去执行不同语句具体程序如下,如有不懂之处可以继续追问或私密我加好友若满意,帮到了你,请记得采纳,谢谢!includesbit S1=P3^2;sbit S2=P3^3;sbit S3=P3^4;sbit S4=P3^5;sbit S5=P3^6;int i=0,t=0,fe=0;char LD[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};两相8拍编码void delay(int t)/延时函数{int j;for;t>;0;t-){for(j=200;j>;0;j-);}}void main(void){while(1)/主循环内,只执行端口赋值{P2=LD[i];对 P2 端口赋值,点亮 LED方向判断,停止是0,所以没必要编写停止语句if(fe=1)/如果是反转{i+;if(i>;7){i=0;}/正向流动delay(100);延时一会,即旋转的速度}if(fe=2)/如果是正转{i-;if(i){i=7;}/反向流动delay(100);延时一会,即旋转的速度}if(fe=3)/如果是延时{delay(1000);延时一会,再反转for(t=0;t;t+)/反转 100个脉冲{i+;if(i>;7){i=0;}/正向流动P2=LD。

求一个用C51单片机控制57步进电机的C程序,希望能够左右旋转,谢谢,有好的必采纳!! 这种电机建议你季节买个驱动器。然后在根据驱动器的说明给它驱动信号。

51单片机C语言程序按键控制步进电机转速 sbit K1=P1^0;sbit K2=P1^1;char y=0;while(1){pangduan();for(i=0;i;i+)/4相2113{P1=F_Rotation[i];输出5261对应的相 可以自行换成反转表格4102Delay(500);改变这个参数可以调整电机1653转速Delay(5000);P1=B_Rotation[i];Delay(265+y);P1=F_Rotation[i];Delay(265+y);内}}void pangduan(){if(K1=0){ y+;加while(~k1)}if(K2=0){ y-;while(~k2);减}}}没有下上容限 要是调的话 需要判断显示延时时间

单片机控制步进电机要求:有加速、减速、停止、正转、反转按钮,电机是四相五线,控制两个步进电机,c程序 最好带有硬件电路,驱动最好是L297和L298,谢谢各位大侠啊 我用。

单片机C语音控制步进电机正反转程序? #includedefine uchar unsigned chardefine uint unsigned intuchar steptabt[]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09};uchar steptabf[]={0x0a,0x06,0x05,0x09,0x0a,0x06,0x05,0x09};uint freq,ftim;uchar num,fx;sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;void t0isr()interrupt{TH0=(65536-ftim)/256;TL0=(65536-ftim)%256;P2=steptabt[num];半步P2=steptabf[num];全步if(fx=0){num+;num%8;}else{if(num=0)num=7;else num-;}}main(){TMOD=0x01;freq=400;转动频率,你可以自己改变ftim=1000000/2/freq;TH0=(65536-ftim)/256;TL0=(65536-ftim)%256;ET0=1;EA=1;while(1){if(key1=0){fx=0;TR0=1;}if(key2=0){fx=1;TR0=1;}if((key3=0)|(key4=0))TR0=0;}

一个关于单片机控制步进电机的C语言程序 想请高人帮我把每一步都注释出来 C语言程序源代码#include<;REGX51.H>;/51寄存器定义#include intrins.h#define control P1/P1_0:A相。

求单片机控制步进电机的C语言程序,急啊 #includedefine uchar unsigned charsbit dula=P2^6;数码管段选sbit wela=P2^7;数码管位选sbit jia_key=P3^6;加速键sbit jian_key=P3^7;减速键sbit zf_key=P3^5;正反转键bit flag=0;正反转标志位uchar num=0,show_num=2,maichong=4,table_begin=0;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code table1[]={0x01,0x02,0x04,0x08,0x04,0x02,0x01};电机正反转I/O口电平对应表void delay(uchar i){uchar j,k;for(j=i;j>;0;j-)for(k=125;k>;0;k-);}void display(){dula=0;P0=table[show_num];dula=1;dula=0;wela=0;P0=0xfe;wela=1;wela=0;delay(5);P0=table[0];dula=1;dula=0;P0=0xfd;wela=1;wela=0;delay(5);}void key(){if(jia_key=0){delay(5);if(jia_key=0){num+;if(num=4)num=3;while(jia_key=0);}}if(jian_key=0){delay(5);if(jian_key=0){if(num。0)num-;elsenum=0;while(jian_key=0);}}if(zf_key=0){delay(5);if(zf_key=0){flag=~flag;while(zf_key=0);}}}void dispose(){switch(num){case 0:show_num=2;maichong=5;break;case 1:show_num=4;。

一个51单片机同时控制2个步进电机的C语言程序 ^#includeincludedefine mode 0x81/方式0,A口、2113B口输出,C口高52614位输出,低4位输入include\"stdio.hinclude\"string.hinclude\"math.hxdata unsigned char PA_at_0x7f00;xdata unsigned char PB_at_0x7f01;xdata unsigned char PC_at_0x7f02;xdata unsigned char caas_at_0x7f03;控制字sbit P32=P3^2;sbit P33=P3^3;sbit P35=P3^5;define uchar unsigned chardefine uint unsigned intunsigned char h,Pos;unsigned int R,NX,NY;unsigned char key;code unsigned char KeyTable[]={/键码定4102义0x0f,0x0b,0x07,0x03,0x0e,0x0a,0x06,0x02,0x0d,0x09,0x05,0x01,0x0c,0x08,0x04,0x00};code unsigned char LEDMAP[]={/八段管显示码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char Code_;字符代码寄1653存器define PD1 61/122/2 分成左右两半屏(122x32)unsigned char Column;unsigned char Page_;页地址寄存器 D1,DO:页地址unsigned char Code_;字符代码寄存器unsigned char Command;指令寄存器unsigned char LCDData;数据寄存器xdata unsigned char CWADD1_at_0x1cff;写指令代码地址(E1)。

单片机控制步进电机c程序 求一C程序,关于用单片机控制步进电机的。要求:可以用单片机上的独立按键控制电机的正反转。主要要求可

随机阅读

qrcode
访问手机版