- 29
- 0
- 约1.03万字
- 约 46页
- 2021-06-24 发布于湖北
- 举报
11.3 SCI模块寄存器 11.3.9 SCI数据寄存器(SCIDRH,SCIDRL) SCI数据寄存器(SCI Data Registers,SCIDRH/L)如图11.13和11.14所示。 11.3 SCI模块寄存器 11.3.9 SCI数据寄存器(SCIDRH,SCIDRL) 读:任何时刻,读取SCI接收数据寄存器数据;写:任何时刻,写入SCI发送数据寄存器数据,写入操作对R8位无效。 R8:接收第9位,当SCI配置为9位数据格式时(M=1),R8是接收到数据的第9位。 T8:发送第9位,当SCI配置为9位数据格式时(M=1),T8是发送数据的第9位。 R7~R0:接收数据的低8位。 T7~T0:发送数据的低8位。 注意:如果T8的数值和之前发送的一样,T8就不必重新写入。同样的T8值会被发送直到T8被重新写入不同值。在8位数据格式中,只需要访问SCI数据寄存器低字节(SCIDRL)。在9位数据格式中,用8位写指令操作时,要求先写SCIDRH,再写SCIDRL。 11.4 SCI模块应用实例 实例一:本实例实现SCI模块的数据发送,利用SCI0模块连续发送0~99,共100个数据。串行口通信波特率设定为9 600 bps,总线时钟为8 MHz,此时SCI0BD的取值为52。当总线时钟为其他频率时,需要根据前文的公式重新计算SCI0BD寄存器中的数值。 程序清单: 11.4 SCI模块应用实例 11.4 SCI模块应用实例 11.4 SCI模块应用实例 实例二:本实例实现SCI模块的数据接收和发送,当MC9S12XS128接收到数据0xAA时,发送‘R’;如果接收到的数据不是0xAA,则发送‘W’。串行口通信波特率设定为9 600 bps,总线时钟为8 MHz,此时SCI0BD的取值为52。当总线时钟为其他频率时,需要根据前文的公式重新计算SCI0BD寄存器中的数值。本例使用查询方式和中断方式分别完成串口的数据接收。 查询方式数据接收的程序清单如下所示。 11.4 SCI模块应用实例 11.4 SCI模块应用实例 中断方式数据接收的程序清单如下所示。 11.4 SCI模块应用实例 11.4 SCI模块应用实例 11.5 智能车系统中SCI模块的应用 ? 在智能车系统设计调试过程中,需要一些辅助调试手段,以便了解当前智能车的运行车速、舵机转角、赛道信息等参数。常用的调试手段大多采用RS-232串口方式调试,在“飞思卡尔”全国大学生杯智能汽车竞赛活动中,也有部分参赛队伍采用SD卡辅助调试。而RS-232串口调试方法是最简便也是最常见的,利用MC9S12XS128的SCI模块实现的RS-232串口通信原理如图11.15所示。 11.5 智能车系统中SCI模块的应用 ? 利用上述原理图,可以容易实现MC9S12XS128与PC的串口通信。只需要合理配置MC9S12XS128中的SCI相关寄存器就可以实现RS-232串口通信。以下给出SCI初始化以及一些功能函数代码,更复杂的功能请读者结合具体应用要求、参照样例自行完成。 11.5 智能车系统中SCI模块的应用 11.5 智能车系统中SCI模块的应用 11.5 智能车系统中SCI模块的应用 The End 《MC9S12XS单片机原理及嵌入式系统开发》 MC9S12XS单片机原理及嵌入式系统开发 第11章 MC9S12XS系列串行通信接口模块及其应用实例 SCI模块概述 SCI 模块结构组成和特点 SCI模块寄存器 SCI模块应用实例 智能车系统中SCI模块的应用 11.1 SCI模块概述 串行通信是微控制器与外界进行信息交换的常用手段,MC9S12XS系列MCU内部有2个全双工串行通信接口(Serial Communication Interface,SCI)。 串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,特别适合远距离通信。其缺点是传输速度较低,每秒内能发送或接收的二进制位数称为波特率。若发送一位时间为t,则波特率为1/t。 MC9S12XS128内置的SCI模块是全双工、波特率可编程设置、可编程选择8位数据或9位数据格式的串行通信接口(简称串口)。本章着重介绍SCI模块的特性、寄存器功能及设置,并通过一些应用实例和SCI模块在自主寻迹智能车上的应用,让读者掌握SCI模块的应用及编程方法。 11.2 SCI模块结构组成和特点 MC9S12XS128内置的SCI模块如图11.1所示。 11.2 SCI模块结构组成和特点 SCI模块具有以下基本特征: 全双工或单线操作; 标准不归零(NRZ)传号/空号
原创力文档

文档评论(0)