编辑版word
页脚下载后可删除,如有侵权请告知删除!
编辑版word
C8051F340串口学
UART0 是一个异步、全双工串口,它提供标准 8051 串行口的方式 1 和方式 3。UART0具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特率。接收数据缓冲机制允许 UART0 在软件尚未读取前一个数据字节的情况下开场接收第二个输入数据字节。
UART0 有两个相关的特殊功能存放器:串行控制存放器〔SCON0〕和串行数据缓冲器〔SBUF0〕。写 SBUF0时自动访问发送存放器;读 SBUF0时自动访问接收存放器,不可能从发送数据存放器中读数据。
如果 UART0 中断被允许,那么每次发送完成TI0 位被置‘1’或接收到数据字节RI0 位被置‘1’时将产生中断。当 CPU转向中断效劳程序时硬件不去除 UART0 中断标志。中断标志必须用软件去除。
UART0 波特率由定时器 1 工作在8 位自动重装载方式产生,定时器 1 应被配置为方式 2,即 8 位自动重装载方式,定时器 1 的时钟可以在 6个时钟源中选择:SYSCLK、SYSCLK/4、SYSCLK/12、SYSCLK/48、外部振荡器时钟/8 和外部输入 T1。
其中T1CLK是定时器 1 的时钟频率,T1H是定时器 1 的高字节〔重载值〕UART0 提供标准的异步、全双工通信,其工作方式〔8 位或 9 位〕通过 S0MODE来选择
8 位 UART
每个数据字节共使用 10 位:一个起始位、8 个数据位〔LSB 在先〕
编辑版word
页脚下载后可删除,如有侵权请告知删除!
编辑版word
和一个停顿位,软件向 SBUF0 存放器写入一个字节时开场数据发送。在发送完毕时中断标志 TI0被置1
UART1〔仅C8051F340/1/4/5有〕
UART1的使用与UART0根本大致一样,但是。UART1 包含一个由 16 位定时器和可编程预分频器构成的专用波特率发生器,能产生很宽范围的波特率,有多个时钟源可用于产生标准波特率。
UART1 有六个相关的特殊功能存放器。三个用于波特率发生器〔SBCON1、SBRLH1 和SBRLL1〕,两个用于数据格式、控制和状态功能〔SCON1 和 SMOD1〕,一个用于发送和接收数据〔SBUF1〕。
使用 UART1 时,波特率发生器必须被使能。存放器 SBRLH1 和 SBRLL1 保持该专用定时器的 16 位重载值
编辑版word
页脚下载后可删除,如有侵权请告知删除!
编辑版word
,对于可靠的 UART 操作,建议不要将 UART 波特率配置为大于 SYSCLK/16。
C8051F330串口UART0例如程序
//使用F340,(TX0),(RX0);
#include<>
#include<>
#define SYSCLK 24500000 // 系统工作频率
#define BAUDRATE 9600 // 串口工作波特率
//-------------------------------------------------------------------------
C8051F340学习笔记—UART 来自淘豆网m.daumloan.com转载请标明出处.