简介
串口通信就是单片机和pc之间的一种通信方式。
通信方式:并行,串行,同步,异步(最常用的)
传输方向:单工,半双工(不同时间),全双工 注:SYSClk是晶振
#include "reg52.h"
#include "intrins.h"
sbit D5 = P3^7;
sfr AUXR = 0x8E;
char cmd;
void UartInit(void)
{
PCON &= 0x7F;
SCON = 0x50;
AUXR &= 0xBF;
AUXR &= 0xFE;
TMOD &= 0x0F;
TMOD |= 0x20;
TL1 = 0xFD;
TH1 = 0xFD;
ET1 = 0;
TR1 = 1;
EA = 1;
ES = 1;
}
void sendByte(char data_msg)
{
SBUF = data_msg;
while(!TI);
TI=0;
}
void sendString(char *str)
{
while(*str!='\0'){
sendByte(*str);
str++;
}
}
void Delay1000ms()
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 43;
j = 6;
k = 203;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
D5 = 1;
UartInit();
while(1){
Delay1000ms();
sendString("chenhailong shuai \r\n");
}
}
void Uart_Handler() interrupt 4
{
if(RI == 1){
RI = 0;
cmd = SBUF;
if(cmd == 'o'){
D5 = 0;
}
if(cmd == 'c'){
D5 = 1;
}
}
}
字符串
#include "reg52.h"
#include "intrins.h"
#include <string.h>
#define SIZE 12
sbit D5 = P3^7;
sfr AUXR = 0x8E;
char cmd[SIZE];
void UartInit(void)
{
PCON &= 0x7F;
SCON = 0x50;
AUXR &= 0xBF;
AUXR &= 0xFE;
TMOD &= 0x0F;
TMOD |= 0x20;
TL1 = 0xFD;
TH1 = 0xFD;
ET1 = 0;
TR1 = 1;
EA = 1;
ES = 1;
}
void sendByte(char data_msg)
{
SBUF = data_msg;
while(!TI);
TI=0;
}
void sendString(char *str)
{
while(*str!='\0'){
sendByte(*str);
str++;
}
}
void Delay1000ms()
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 43;
j = 6;
k = 203;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
D5 = 1;
UartInit();
while(1){
Delay1000ms();
sendString("chenhailong shuai \r\n");
}
}
void Uart_Handler() interrupt 4
{
static i = 0;
if(RI == 1){
RI = 0;
cmd[i] = SBUF;
i++;
if(i == SIZE){
i = 0;
}
if(strstr(cmd,"open")){
D5 = 0;
i = 0;
memset(cmd,'\0',SIZE);
}
if(strstr(cmd,"close")){
D5 = 1;
i = 0;
memset(cmd,'\0',SIZE);
}
}
}
HC-08蓝牙模块 扫上面的二维码下载手机APP 然后进行控制
通过AT指令可以修改蓝牙名称 AT指令设置
AT+NAME = xx 设置蓝牙名称为xx
AT+ROLE=0 蓝牙模式为从模式 AT+ROLE=1 蓝牙模式为主模式 AT+CMODE=0 蓝牙连接模式为任意地址连接模式 AT+PSWD=1234 蓝牙配对密码为1234 AT+UART=9600,0,0 蓝牙通信串口波特率为9600,停止位1位,无校验位 AT+RMAAD 清空配对列表
|