init_serial1。单片机串口初始化程序[修订]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

init_serial1。

单片机串口初始化程序
/*描述:
电脑串口显示程序
硬件支持:STC12C2052AD 外部12MHZ晶振
用Windows系统中的"超级终端"软件,将串口端设置 [ 4800,8,无,1,无 ]
*/
//#include<STC12C5A60S2.H> //单片机头文件
//#include <intrins.H>
/******自定义函数**************/
void UART_init (void); /**UART串口初始化函数**********/
void UART_T (unsigned char UART_data);/****************UART 串口发送函数**************************/
void UART_TC (unsigned char *str);/*****UART串口发送字符串函数 */
/********************************************************** ***********************************
函数名:UART串口初始化函数
调用:UART_init();
参数:无
返回值:无
结果:启动UART串口接收中断,允许串口接收,启动T/C1产生波特率(占用)
备注:振荡晶体为11.0592MHz,PC串口端设置 [ 9600,8,无,1,无 ]
/**********************************************************
************************************/
void UART_init (void)
{
// EA = 1; //允许总中断(如不使用中断,可用//屏蔽)
// ES = 1; //允许UART串口的中断
TMOD = 0x20; //定时器T/C1工作方式2
SCON = 0x50; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)
TH1 = 0xFD; //定时器初值高8位设置
TL1 = 0xFD; //定时器初值低8位设置
// PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400)
TR1 = 1; //定时器启动
}
/********************************************************** ************************************/
/********************************************************** ***********************************
函数名:UART串口发送函数
调用:UART_T (?);
参数:需要UART串口发送的数据(8位/1字节)
返回值:无
结果:将参数中的数据发送给UART串口,确认发送完成后退出
备注:
/********************************************************** ************************************/
void UART_T (unsigned char UART_data) //定义串口发送数据
变量
{
SBUF = UART_data; //将接收的数据发送回去
while(TI == 0); //检查发送中断标志位
TI = 0; //令发送中断标志位为0(软件清零)
}
/********************************************************** ************************************/
/********************************************************** ***********************************
函数名:UART串口发送字符串函数
调用:UART_TC (?);
参数:需要UART串口发送的数据(8位/1字节)
返回值:无
结果:向串口发送一个字符串,长度不限。

备注:例:UART_TC("d9887321$"); 此函数需要#include
<string.h>头文件支持。

/********************************************************** ************************************/
void UART_TC (unsigned char *str)
{
while(*str != '\0')
{
UART_T(*str);
*str=*str++; //无聊警告...
}
*str = 0;
}。

相关文档
最新文档