导航:首页 > 操作系统 > 单片机代码控制字模的倒正

单片机代码控制字模的倒正

发布时间:2022-05-07 11:38:36

‘壹’ 用单片机控制电机正反转

这东西得花钱买。我有现成的,自己做好的。给你详细使用说明书。
东西除了电机你自己买,电源我都给你配好,接好,包括电脑上控制的软件。
400元。
要的话: [email protected]
or QQ: 24232860
如果你想学习,我把东西卖给你之后也可以慢慢跟你讲原理,包括程序。

‘贰’ 51单片机步进电机正反转程序

单片机控制步进电机,我想你说的是两相步进电机,一般是控制其相序分配的顺逆从而控制正反转,一般而言,步进电机相序分配你可以做成一个数组比如step[]={0x03,0x06,0x0c,0x09},这样来说可以假设P0口是步进电机控制口,那么可以按如下方式来控制: while(1) { for(i=0;i<4;i++) { if(fx==1)P0=step[i]; //正向 else P0=step[3-i]; //反向 delay(x); //x大小决定电机速度。
根据电机相数买个驱动器。然后用单片机产生脉冲来控制电机的转动以及正反转。单片机产生脉冲的方法和单片机控制流水灯是一样的。ULN2003D 是驱动步进电机的驱动芯片,主要是匹配电机所需的电流。 由于是四相电机,步进电机之所以可以转动就需要给相绕组提供连续的脉冲,所以需要4个端口来控制四相绕组的工作状态(P15应该是不需要的),具体的编码要看电机的拍数; 一旦明白这些,你就可以很容易编写代码来控制电机的转动了,还有在脉冲间你可以设置不同的延时时间来调节电机的转速。

‘叁’ 单片机电机正反转代码怎么写求大神!

这个模块是软件PWM模拟调速的,接电源5V,MOTOR-A的两个接口接马达,IN1和IN2接单片机P1.0和P1.1。P1.0和P1.1都是0停止转动,P1.0=1和P1.1=0正传,P1.0=0和P1.1=1反转。怎么买了个不会的模块?

‘肆’ 单片机控制步进机正反转 的C程序源代码的解释(基于Proteus仿真)

图看不清,控制步进电机的核心技术,是在4根控制线上按一定时间周期产生时序,时序的不同电机转动的方向也不同,在程序里

code
char
fward[4]={0x0c,0x06,0x03,0x09};
code
char
bward[4]={0x09,0x03,0x06,0x0c};

就表示了这两个时序,把数组的元素分四次写入P1口就是电机的驱动时序,自己画一下就明白了,一个是正转一个是反转,

电机核心控制在timer的中断里,每25次中断更改一次P0口电平,每更改4次电平生成一个完整的电机驱动时序

程序中其它的都是一些延时一类,没什么难度

‘伍’ 单片机步进电机的,就是那个控制正转反转的代码怎么来的

这个看不懂。
用89S52的计数器2,设置为可编程时钟输出控制伺服或步进电机特方便
12M的晶振
振荡频率/(4*(65536-初装值))

汇编代码:
MOV C9H,#00000010B ;定时器2设为时钟输出
MOV CAH,#F9H ;T2寄存器低8位装入初值
MOV CBH,#FFH ;T2寄存器高8位装入初值
MOV C8H,#00000100B ;开定时计数器T2
运行此代码P1.0口输出500k方波
改变初装值改变速度
关闭脉冲输出命令,电机停止转动
MOV C8H,#00000000B ;关定时计数器T2

加入停止开关和运转指示灯

MOV C9H,#00000010B ;定时器2设为时钟输出
MOV CAH,#F9H ;T2寄存器低8位装入初值
MOV CBH,#FFH ;T2寄存器高8位装入初值
MOV C8H,#00000100B ;开定时计数器T2
CLR P1.3 ;开指示灯
1: JB P1.5,1;检测停止按键
MOV C8H,#00H ;关定时计数器T2
SETB P1.3 ;关指示灯

加入启动、停止、方向转化开关和运转指示灯
;P1.0运行脉冲信号输出
;P1.1方向信号
;P1.2(脱机使能信号)不明白你要干什么用
;P1.3运转指示灯
;P1.4启动按键开关
;P1.5停止按键开关
;P1.6方向按键开关
变初装值 0000H—FFFFH输出频率50HZ—3MHZ之间自由设定

MOV C9H,#00000010B ;定时器2设为时钟输出
MOV CAH,#F9H ;T2寄存器低8位装入初值
MOV CBH,#FFH ;T2寄存器高8位装入初值
KGJC:
JNB P1.4,KS;检测启动按键
JNB P1.5,TZ;检测停止按键
JNB P1.6,HX;检测方向按键
AJMP KGJC
TZ:MOV C8H,#00H ;关定时计数器T2
SETB P1.3 ;关指示灯
AJMP KGJC
KS:MOV C8H,#03H ;开定时计数器T2
CLR P1.3 ;开指示灯
AJMP KGJC

‘陆’ 51单片机控制电机正反转,到达限位开关 停止如何实现 ,求代码

比如用28的步进电机,用一个依次置一的数组加延时函数加for循环加按键检测很容易实现的,就是让单片机产生正向和反向的脉冲来控制步进电机。如果是一般的带正反向的直流电机就用单片机的引脚或继电器控制电机线圈的使能就解决了!

‘柒’ 单片机控制的16*16点阵显示汉字,为什么出现的字体是镜像的怎么改正

单片机控制的16*16点阵显示汉字,出现字体是镜像的现象是由于取点阵时扫描方向搞反了。改正方法是逆序读点阵数组数据,即原来从数组0下标开始读改为从下标15开始倒着读,写的顺序不变,就矫正了。

‘捌’ 51单片机中如何用c语言控制直流电机正反转

#include"reg52.h"
#include"intrins.h"
#define unint unsigned int
#define unchar unsigned char
#define PLAY_OUT P1
unchar sec=0;
unchar min=0;
unchar count=0;
bit gj=0; //光和遥控的切换
unchar r6,r7;
bit time0=1;
bit time1=1;
sbit PLAY_Q_Q=P3^0;
sbit PLAY_Z=P3^1;
sbit PLAY_Y=P3^4;
sbit PLAY_QH=P3^5;
sbit PLAY_Q_H=P3^6;
sbit PLAY_T=P3^7;
unchar r0,r1,r2=0x00,r3=0x00,r4=0x00,r5=0x00;
unchar code TAB_Q[4]={0xf9,0xf5,0xf6,0xfa};//前进
unchar code TAB_H[4]={0xfa,0xf6,0xf5,0xf9};//后退
unchar code TAB_Y[4]={0x9f,0x5f,0x6f,0xaf};//右转
unchar code TAB_Z[4]={0xaf,0x6f,0x5f,0x9f};//左转
/*************************/
void intiaton(void);
void int_time3(void);
void int_time0(void);
void fanzhuan_Y(void);
void fanzhuan_Z(void);
void zhenzhuan_Q(void);
void zhenzhuan_H(void);
void zhenzhuan_AQ(void);
void zhenzhuan_AH(void);
void cankey(void);
/*************************/
delay(unint t) //0.6ms
{unint i;
for(i=55;i>t;i--) ;

}
/**************************/
delayms(unint k) //k=1延迟0.884毫秒
{unint i;
for(i=80;i>k;i--)
;

}
/*************************/
void delay238(void) //2.38ms
{
unint i,j;
for(j=125;j>0;j--)
for(i=0;i<1;i++);
}
/************************/
void intiaton(void) //初始化
{
TMOD=0x11;
TH1=0XFA;
TL1=0X56;
ET1=1;
TR1=1;
EA=1;
}

/*********************/
void int_time3() interrupt 3 using 3
{
TH1=0XFA;
TL1=0X56;
sec++;
if(sec==2)
{
sec=0;
min++;
}
}
/*************************/ //光感与按键控制
void cankey()
{
if(gj)
{
if(!PLAY_Q_Q)
{
count=1;
}
if(!PLAY_T)
{
count=2;
}
if(!PLAY_Q_H)
{
count=3;
}
}
if((PLAY_Z==0)||(PLAY_Y==0))
{
delayms(1);
if(PLAY_Z==0)
{
fanzhuan_Z();count=1;
}
else
{
fanzhuan_Y();count=1;
}
}

if(PLAY_QH==0)
{
delayms(10);
if(PLAY_QH==0)
{
count++;
if(count==4)
{
count=0;
}
}
while(PLAY_QH==0);
}
switch(count)
{
case 0: PLAY_OUT=0xff;break;
case 1: zhenzhuan_AQ();break;
case 2: PLAY_OUT=0xff;break;
case 3: zhenzhuan_AH();break;
default :break;
}

}
/*******************************/ //按键前进
void zhenzhuan_AQ(void)
{
for(r6=0;r6<4;r6++)
{
PLAY_OUT=TAB_Q[r6];
while(sec==0);
sec=0;

}

}
/*******************/ //按键后退
void zhenzhuan_AH(void)
{

for(r6=0;r6<4;r6++)
{
PLAY_OUT=TAB_H[r6];
while(sec==0);
sec=0;
}

}
/**********************/ //左转
void fanzhuan_Z(void)
{
unchar i;

for(i=0;i<22;i++)
{
for(r7=0;r7<4;r7++)
{
PLAY_OUT=TAB_Z[r7];
while(sec==0);
sec=0;
}
}
cankey();
}
/**********************/ //右转
void fanzhuan_Y(void)
{
unchar i;
for(i=0;i<22;i++)
{
for(r7=0;r7<4;r7++)
{
PLAY_OUT=TAB_Y[r7];
while(sec==0);
sec=0;
}
}

cankey();
}
/***************************/
void main()
{
intiaton();
while(1)
{
cankey();
}
这是加了感光跟按键控制的智能小车,是读大一时候写的,现在看起来呵呵。。。垃圾代码一大堆,不过好象还可以用。

‘玖’ 51单片机实现电动机正反转控制如何实现

51单片机的IO口一般不能直接输出控制电机,必须加装电机驱动电路,常见的如L298N等,电机正反转驱动采用H桥电路。你的要求使用很简单的代码就能实现。

‘拾’ 51单片机PWM怎么正反转呢帮我看下代码怎么改,谢谢

unsigned char bdata Bits;
sbit bit = Bits^0;//定义1个位变量
unsigned char T5S;定义1个5秒计时变量
void main(void)
{
bit = 0;//位变量清0
T5S = 0xxx;//赋5秒倒计数初值
egine = 0;关闭电机
agine = 0;
EA=1; //开启中断程序(into) //开段序
ET0=1; //开启T0中断程序(into) //中程
TR0=1; //打开T0中断
while(1)
{
if(!ET0)//如果5秒计时结束
{
delay()//调用1个1秒的循环延时,电机停1秒
T5S = 0xxx;//重新赋初值
ET0 = 1;//重新开放T0中断
}
}
}

void into(void) interrupt 1
{
T5S--;
if(!T5S){bit = ~bit;ET0 = 0;}//取反位变量,关闭T0中断
whole--;
last--;
if(whole==0)
{whole=7;
last=2;
if(!bit)//判断位变量决定电机转动方向
{
egine =1;//电机正转
agine = 0;
}
else
(
agine = 1;//电极反转
egine =0;
}
}
else
{if(last==0)
{
egine =0;
agine = 0;
}
}
TH0 = 0x0FF;
TL0 = 0x9C;
}

delay()//1秒延时子程序
{
.........
}
以上修改的程序供参考,5秒和1秒的定时参数涉及单片机时钟频率,你自己解决,希望能帮到你。

阅读全文

与单片机代码控制字模的倒正相关的资料

热点内容
单片机的原理概述 浏览:506
火控pdf 浏览:267
如何复制云服务器centos环境 浏览:984
债权pdf 浏览:299
红色番字的app怎么下载 浏览:876
云服务器流程教课 浏览:702
中国农业银行app怎么没有网 浏览:997
几率表算法 浏览:902
程序员理工科 浏览:708
企业邮箱登录收件服务器地址 浏览:558
计算机思维与算法设计的重要性 浏览:664
linux刷新磁盘命令 浏览:76
我的世界如何查看服务器种子pc 浏览:284
linuxlamp编译安装 浏览:609
枚举算法ppt 浏览:184
cmd查看进程命令 浏览:956
手机内怎么删除APP 浏览:834
鱼群和鸟群算法区别 浏览:93
pdf尺寸设置 浏览:211
android访问本地服务器 浏览:512