找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3052|回复: 3
打印 上一主题 下一主题
收起左侧

小白求教~~关于51单片机蓝牙通信的问题

[复制链接]
跳转到指定楼层
楼主
ID:90559 发表于 2015-9-19 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何能实现用手机,通过蓝牙模块来控制直流电机转速呢?
下面这段程序是自己写的,测试发现用手机发送数据时,我的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);
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:90559 发表于 2015-9-19 20:47 | 只看该作者
各位大神帮帮忙啊。。。
回复

使用道具 举报

板凳
ID:69679 发表于 2015-9-20 08:32 | 只看该作者
mihael 发表于 2015-9-19 20:47
各位大神帮帮忙啊。。。

我看了一下,你的SCON_init();TCON_init();两个里面都有TMOD 赋值,你那样写后面的会把前面TMOD 覆盖掉,你可以写成TMOD = 0x21,或者TMOD |= 0x20;TMOD |= 0x01;
回复

使用道具 举报

地板
ID:90584 发表于 2015-9-20 09:07 | 只看该作者
程序使用中断吗,干嘛这样能写啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表