内容:关于 C8051f330 单片机 UART 编程
软件编号:A001
首 创 日 期 : 09-04-
04
修改文件编号:
硬件资料编号:
所属类别:单片机
摘要:本应用子程序为 C8051F 单片机 UART 口硬件调试程序,选用 C8051F330 单片机(其它
C8051F 系列单片机 UART 口初始化参考相应资料)。
目的:学会 C8051F 单片机 UART 口的初始化、UART 中断编程,学会用串口调试器调试 UART 口。
具体内容:
一、UART 初始化:
每个 UART 口涉及 1 个 8 位控制寄存器、一个 UART 串行数据缓冲寄存器、与 T1 有关的波特
率设置寄存器:
功能 控制寄存器 说明 备注
控制寄存器
SCON0 -
UART0 工作方式设置,多机通信允许设置,接收允许设
置、发送接收第九位设置、发送接收终端标志位
数据缓冲寄存器
SBUF0 -
存放接收和要发送数据
波特率设置寄存
器
CKCON -
T1 时钟设置
TMOD -
T1 工作方式设置
TCON -
开 T1,T1 中断设置
二、UART 子程序:
/*波特率设置*/
void Band_init(unsigned char band)
{
TH1=TL1
=band;//9600:0xB8;14400:0xD0;28800:0xE8;57600:0xF4;115200:0xFA;230400:0xFD
CKCON|=(1<<1)|(1<<0);//T1 适用外部时钟 8 分频
TMOD =0x20;//T1 采用 8 位自动重装方式
TCON =0x40;//T1 允许,中断不使能
}
///////////////////////////////////////
/*UART 初始化*/
void UART_init()
{
SCON0=0x10; //允许接收
ES0=1; //UART0 中断允许
}
///////////////////////////////////////
/*发送一个字节数据*/
void UART_send(char c)
{
SBUF0 = c;
while (!TI0);
评论1