求一个用C语言编写出单片机甲通过串口向PC机乙发送数据0~9的程序(晶振频率为12MHZ,波特率为1200b/s)

T1采用方式2 初值为204

///////////////////////////////////////////////////////////
// 设计题目 : 基于51单片机的串口通信
// 功能 :
// 说明 : 晶振用12M,
///////////////////////////////////////////////////////////
#include <reg51.h> // 12M 晶振
#define uchar unsigned char
#define uint unsigned int

///////////////////////////////////////////////////////////
// Name : 串口发送函数
// In :
// Out :
// Function :
// Explain :
///////////////////////////////////////////////////////////
void send(uchar x)
{
SBUF=x; // 将数据放到缓冲区,发送
while(!TI); // 等待发送完成
TI=0; // 清标志位
}

///////////////////////////////////////////////////////////
// Name : 初始化函数
// In :
// Out :
// Function :
// Explain :
///////////////////////////////////////////////////////////
void init(void)
{
TMOD=0x20; // T1工作在方式2,自动重载
TH1=0xe6;
TL1=0xe6; // 设置波特率为1200
SM0=0;
SM1=1; // 串口方式1
TR1=1; // 打开定时器1
}

///////////////////////////////////////////////////////////
// Name : 主函数
// In :
// Out :
// Function :
// Explain :
///////////////////////////////////////////////////////////
void main(void)
{
uchar i;
init(); // 初始化

while(1)
{
for(i=0; i<10; i++)
{ send(i); }
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答