标题:
想要做一个可以接收LABVIEW发过来的数据对单片机发送给电机脉冲数进行改变的程序。
[打印本页]
作者:
王文杰
时间:
2019-11-26 16:38
标题:
想要做一个可以接收LABVIEW发过来的数据对单片机发送给电机脉冲数进行改变的程序。
本帖最后由 王文杰 于 2019-11-27 16:09 编辑
我写了一个发脉冲的程序,需要用LABVIEW发送一个数据给程序中的N进行改变。
#include <reg52.h>
#define N 200
sbit PLU = P1^0;
sbit DIR = p1^1;
sbit ENA = P1^2;
void delay(int i)
{
while(i--)
}
main()
{
ENA=1;
DIR=0;
while(1)
{
PLU = 1;
delay(N);
PLU = 0;
delay(N);
}
}
作者:
王文杰
时间:
2019-11-28 15:15
我用串口助手发数据过来,为什么产生的波形没有发生变化呢?
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit PLU = P1^0;
sbit DIR = P1^1;
sbit ENA = P1^2;
uchar flag;
uchar N;
void Initurat()
{
SCON = 0X50;
TMOD = 0X20;
TH1 = 0Xfa;
TL1 = 0Xfa;
EA = 1;
ES = 1;
TR1 = 1;
}
void serial() interrupt 4
{
ES=0;
if(RI)
{
N = SBUF;
RI = 0;
flag = 1;
}
ES=1;
}
void delay(uint i)
{
while(i--);
}
main()
{
Initurat();
ENA=1;
DIR=0;
while(1)
{
PLU = 1;
delay(N);
PLU = 0;
delay(N);
}
}
作者:
new_hand
时间:
2019-11-28 15:44
改变太小了,看不出来,建议通过定时器来实现模拟PWM的值,这样根据“N”改变定时器的值来实现目的
作者:
王文杰
时间:
2019-11-28 20:02
new_hand 发表于 2019-11-28 15:44
改变太小了,看不出来,建议通过定时器来实现模拟PWM的值,这样根据“N”改变定时器的值来实现目的
上面的程序有什么问题吗?接收的值赋予N了吗?用示波器看一点变化都没有啊!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1