该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//-----------------------函数声明,变量定义-------------------------------------
#include
#define COUNT 10 // 定义接收缓冲区大小
unsigned char buffer[COUNT]; //定义接收缓冲区
unsigned char point; //定义接收数据个数指示变量
void UART_init(); //串口初始化函数
void COM_send(void); //串口接收函数
unsigned char CLU_checkdata(void);//计算校验位函数
//-----------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
// 串口接收中断允许,发送中断禁止
//----------------------------------------------------------------------------
void UART_init()
{ //初始化串行口和波特率发生器
SCON =0x58; //选择串口工作方式,打开接收允许
TMOD =0x21; //定时器1工作在方式2,定时器0工作在方式1
TH1 =0xfd; //实现波特率9600(系统时钟11.0592MHZ)
TR1 =1; //启动定时器T1
ET1 =0;
ES=1; //允许串行口中断
PS=1; //设计串行口中断优先级
EA =1; //单片机中断

本文介绍了一种在11.059MHz系统时钟下,使用C语言设置51单片机实现9600bps串口通信的方法。通过UART_init()函数初始化串口,COM_send()函数发送数据,com_interrupt()中断处理函数接收数据,并利用CLU_checkdata()函数进行校验。
最低0.47元/天 解锁文章
973

被折叠的 条评论
为什么被折叠?



