找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3915|回复: 1
收起左侧

这个简单的串口控制小灯亮灭的程序看不出哪里有问题了,下载进去蜂鸣器就响

[复制链接]
ID:64888 发表于 2015-3-31 10:59 | 显示全部楼层 |阅读模式
/*蓝牙串口控制程序*/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P1^0;
uchar a,flag,d;
/*清零程序*/
void init()
{
TMOD=0x21;//定时器1为工作方式2,定时器0为工作方式1
TH1=0xfd;
TL1=0xfd;//设定初值
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
REN=1;//允许串口接收
TR1=1;
TR0=0;
SM0=0;
SM1=1;//设定串口为工作方式1
EA=1;//开总中断
ES=1;//开串口中断
}
/*主函数*/
void main()
{
init();//清零
while(1)
{
  if(flag==1)
  {
   ES=0;  
   SBUF=a;//从串口发送出去   
   while(!TI);
   TI=0;
   ES=1;
   flag=0;
  }
}
}
/*定时器1中断*/
void T0_time()interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
led=0;
}
/*串口中断*/
void ser() interrupt 4
{
RI=0;//RI清零
a=SBUF;  
flag=1;
if(a==0x0c)
{
  TR0=1;
}
}         
回复

使用道具 举报

ID:74245 发表于 2015-4-3 17:28 | 显示全部楼层
郭老师好像说过,要么把REN=1放SM0=0,SM1=1后面,要么直接SCON=0x50
昨天刚好看书看到的,不知道是不是这个原因。

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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