如何能实现用手机,通过蓝牙模块来控制直流电机转速呢?
下面这段程序是自己写的,测试发现用手机发送数据时,我的51开发板上的RXDLED是会亮的,应该可以证明数据是接受到了的吧?但是电机转速并没有改变,但是修改程序中a,b的初值是可以改变电动机转速的。。。求大神看看哪不对。。。我设置的PWM频率是100mhz
各位大神勿喷。。。我真是小白,看不出哪有问题。
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a,b;
sbit moto = P1^0;
void serial_INT() interrupt 4
{
uchar c;
ES = 0;
while(RI == 0);
c = SBUF;
a = c;
b = 100 - a;
RI = 0;
ES = 1;
}
void SCON_init()
{
SCON = 0x50;
TMOD = 0x20;
PCON = 0x00;
TH1 = 0xFD;
TL1 = 0xFD;
TI = 0;
TR1 = 1;
ES = 1;
EA = 1;
}
void timer0() interrupt 1
{
if(moto == 1)
{
TH0=(65536-a)/256;
TL0=(65536-a)%256;
moto = 0;
}
else
{
TH0=(65536-b)/256;
TL0=(65536-b)%256;
moto = 1;
}
}
void TCON_init()
{
TMOD = 0x01;
TH0 = (65536-a)/256;
TL0 = (65536-a)%256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main()
{
a = 10;
b = 90;
SCON_init();
TCON_init();
while(1);
} |