PIC18FXX8单片机通用同步异步收发器的编程应用
发布时间:2008/5/27 0:00:00 访问次数:507
作者email: lzqm12261713@163.com
摘 要:本文介绍了microchip公司推出的pic18fxx8单片机通用同步异步收发器usart(串行通信接口)的相关内容,给出了单片机该模块的接口电路和c语言应用编程。
关键词:pic18fxx8,串行通信
0 引言
pic18fxx8单片机是美国微芯公司推出的16位risc指令集的高级产品,由于芯片内含有a/d、内部e2prom存储器、i2c和spi接口、can接口、同步/异步串行通信(usart)接口等强大的功能,具有很好的应用前景。但是,目前介绍其应用和以c语言编程的中文参考资料很少。本文将探讨该型单片机异步串行通信的编程应用,程序用hi-tech picc-18 c语言编写,并在重庆大学-美国微芯公司pic单片机实验室的pic18f458实验板上通过。
1 pic18fxx8单片机同步/异步收发器(usart)
通用同步/异步收发器(usart)模块是由pic18fxx8内的三个串行i/o模块组成的器件之一(usart也叫串行通信接口即sci),可以配置为全双工异步方式、半双工同步主控方式、半双工同步从动方式三种工作方式。
txsta是pic18fxx8单片机串行通信发送状态和控制寄存器,rcsta是接收状态和控制寄存器。由于在实际工程中,异步方式用得最多,这里仅介绍异步工作方式,其它方式可参阅相关资料。
1.1 usart 异步工作方式
在异步工作方式下,串行通信接口usart采用标准的不归零(nrz)格式(1位起始位、8位或9位数据位和一位停止位),最常用的数据位是8位。片内提供的8位波特率发生器brg可用来自振荡器时钟信号产生标准的波特率频率。通过对sync位(在txsta寄存器中)清零,可选择usart异步工作方式。
1.2 usart波特率发生器(brg)
usart带有一个8位的波特率发生器(brg),这个brg支持usrat的同步方式和异步方式。用spbrg寄存器控制一个独立的8位定时器的周期。在异步方式下,brgh位(控制寄存器txsta的)也被用来控制波特率。在同步方式下,用不到brgh位。表1给出了在主控方式下(内部时钟)不同usart工作方式时的波特率计算式。
表1 主控方式下的波特率计算式
sync | brgh=0 作者email: lzqm12261713@163.com 摘 要:本文介绍了microchip公司推出的pic18fxx8单片机通用同步异步收发器usart(串行通信接口)的相关内容,给出了单片机该模块的接口电路和c语言应用编程。 关键词:pic18fxx8,串行通信 0 引言 pic18fxx8单片机是美国微芯公司推出的16位risc指令集的高级产品,由于芯片内含有a/d、内部e2prom存储器、i2c和spi接口、can接口、同步/异步串行通信(usart)接口等强大的功能,具有很好的应用前景。但是,目前介绍其应用和以c语言编程的中文参考资料很少。本文将探讨该型单片机异步串行通信的编程应用,程序用hi-tech picc-18 c语言编写,并在重庆大学-美国微芯公司pic单片机实验室的pic18f458实验板上通过。 1 pic18fxx8单片机同步/异步收发器(usart) 通用同步/异步收发器(usart)模块是由pic18fxx8内的三个串行i/o模块组成的器件之一(usart也叫串行通信接口即sci),可以配置为全双工异步方式、半双工同步主控方式、半双工同步从动方式三种工作方式。 txsta是pic18fxx8单片机串行通信发送状态和控制寄存器,rcsta是接收状态和控制寄存器。由于在实际工程中,异步方式用得最多,这里仅介绍异步工作方式,其它方式可参阅相关资料。 1.1 usart 异步工作方式 在异步工作方式下,串行通信接口usart采用标准的不归零(nrz)格式(1位起始位、8位或9位数据位和一位停止位),最常用的数据位是8位。片内提供的8位波特率发生器brg可用来自振荡器时钟信号产生标准的波特率频率。通过对sync位(在txsta寄存器中)清零,可选择usart异步工作方式。 1.2 usart波特率发生器(brg) usart带有一个8位的波特率发生器(brg),这个brg支持usrat的同步方式和异步方式。用spbrg寄存器控制一个独立的8位定时器的周期。在异步方式下,brgh位(控制寄存器txsta的)也被用来控制波特率。在同步方式下,用不到brgh位。表1给出了在主控方式下(内部时钟)不同usart工作方式时的波特率计算式。 表1 主控方式下的波特率计算式
|