📄 text1.c
字号:
//采用异步方式传送数据,偶校验,一位结束位,传输的数据传输速率为9600bit/s。每个数据帧包含10Byte信息,1Byte作为帧起始标志,8Byte数据,1Byte的校验和。
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg51.h>
unsigned char li=0,tt=0;
//--------------------------------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
// 串口接收中断允许,发送中断禁止
//初始化串行口和波特率发生器
//--------------------------------------------------------------------------------------------------
void UART_init()
{
SCON =0x58; //选择串口工作方式,打开接收允许
ES=1; //允许串行口中断
EA =1; //单片机中断允许
}
//--------------------------------------------------------------------------------------------------
void T1init()
{
TMOD |= 0x20; //设置T1为八位自动重装模式,作为波特率发生器9600
TH1 = 0xFD; //
TL1 = 0xFD; //
TR1 = 1; //
ET1 = 0;
}
void lizhou() interrupt 4 //串口中断入口
{ RI=0;
li=SBUF;
tt=1;
}
//--------------------------------------------------------------------------------------------------
void main(void)
{ unsigned char i;
T1init();
UART_init();
TR1=1;
P0=0;
EA=1;
while(1)
{ if(tt==1) { ES=0;SBUF=li; while(!TI);TI=0;tt=0;ES=1;};
for(i=0;i<100;i++)
P0=~li;
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -