51单片机实现串口点灯

时间:2024-10-11 15:07:44

(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 “”

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; //打开接收中断