标题: 小白求教~~关于51单片机蓝牙通信的问题 [打印本页]

作者: mihael    时间: 2015-9-19 20:46
标题: 小白求教~~关于51单片机蓝牙通信的问题
如何能实现用手机,通过蓝牙模块来控制直流电机转速呢?
下面这段程序是自己写的,测试发现用手机发送数据时,我的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);
}

作者: mihael    时间: 2015-9-19 20:47
各位大神帮帮忙啊。。。
作者: 海哥沧海一笑    时间: 2015-9-20 08:32
mihael 发表于 2015-9-19 20:47
各位大神帮帮忙啊。。。

我看了一下,你的SCON_init();TCON_init();两个里面都有TMOD 赋值,你那样写后面的会把前面TMOD 覆盖掉,你可以写成TMOD = 0x21,或者TMOD |= 0x20;TMOD |= 0x01;
作者: xiaowei806    时间: 2015-9-20 09:07
程序使用中断吗,干嘛这样能写啊。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1