(1) 使用 stc-isp 烧写软件向单片机发送“88 FB AF XX FC FC”6 个字节的命令,其中“88 FB AF”及“FC FC”为数据的帧头和帧尾,“XX”为 00~07 数据。
(2)单片机使用串口中断进行数据接收,同时需要判断帧头和帧尾的正确性。
(3)判断帧头和帧尾完毕后,若正确的话再判断“XX” 数据,对应“XX” 数据对LED0~LED7 进行点亮、熄灭控制;若不正确丢掉数据, 转入等待接收。
实验代码
#include “reg52.h”
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
/*******************************************************************************
-
函数名 :UsartInit()
-
函数功能 :设置串口
-
输入 : 无
-
输出 : 无
*******************************************************************************/
void UsartInit()
{
SCON=0X50; //设置为工作方式1
TMOD=0X20; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
ES=1; //打开接收中断