求关于8051单片机程序

2024-12-16 02:58:06
推荐回答(4个)
回答1:

//晶振用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口输出一个低电平驱动继电器
}
}
}

回答2:

1,建议用Max232做下缓冲;
2,如果是和电脑联系,用VB最简单
3, smile20088的程序可以
4,驱动继电器,要用ULN2003达林顿

回答3:

控制几个继电器,有没有电路图。
蓝牙模块的RS232接口有没有电平转换,不会是UART接口吧

回答4:

单片机有RS232口吗?你读到的数从哪个端口输入?