//晶振用11".0592MHz,通信波特率选19200 ,或根据蓝牙的波特率修改初始化值
//单片机通过UART通信,接个MAX232芯片连上蓝牙模块的RS232接口就行了
#include
#include
unsigned char ch;
sbit P10=P1^0;
void init_serialcom( void ) //串口通信初始设定
{
SCON = 0x50 ; //UART为模式1,8位数据,允许接收
TMOD |= 0x20 ; //定时器1为模式2,8位自动重装
PCON |= 0x80 ; //SMOD=1;
TH1 = 0xFD ; //Baud:19200 fosc=11.0592MHz
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
TI=1;
}
//串口接收中断函数
void serial () interrupt 4 using 3
{
if (RI)
{
RI = 0 ;
ch=SBUF;
}
}
main()
{
init_serialcom(); //初始化串口
while (1)
{
if(ch=='1') //如果读到1则开继电器
{
P10=1; //P1.0口输出一个高电平驱动继电器开
}
else if(ch=='0')
{
P10=0; //读到0时P1.0口输出一个低电平驱动继电器
}
}
}
1,建议用Max232做下缓冲;
2,如果是和电脑联系,用VB最简单
3, smile20088的程序可以
4,驱动继电器,要用ULN2003达林顿
控制几个继电器,有没有电路图。
蓝牙模块的RS232接口有没有电平转换,不会是UART接口吧
单片机有RS232口吗?你读到的数从哪个端口输入?