欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第11章MC9S12XS系列串行通信接口模块及其应用实例.ppt

    • 资源ID:12647533       资源大小:1.03MB        全文页数:46页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第11章MC9S12XS系列串行通信接口模块及其应用实例.ppt

    MC9S12XS单片机原理及嵌入式系统开发,MC9S12XS单片机原理及嵌入式系统开发,合肥工业大学张 阳,吴 晔,滕 勤 Email:, TEL:13966717615,13505612773,MC9S12XS单片机原理及嵌入式系统开发,第11章 MC9S12XS系列串行通信接口模块及其应用实例,SCI模块概述 SCI 模块结构组成和特点 SCI模块寄存器 SCI模块应用实例 智能车系统中SCI模块的应用,MC9S12XS单片机原理及嵌入式系统开发,11.1 SCI模块概述,串行通信是微控制器与外界进行信息交换的常用手段,MC9S12XS系列MCU内部有2个全双工串行通信接口(Serial Communication Interface,SCI)。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,特别适合远距离通信。其缺点是传输速度较低,每秒内能发送或接收的二进制位数称为波特率。若发送一位时间为t,则波特率为1/t。MC9S12XS128内置的SCI模块是全双工、波特率可编程设置、可编程选择8位数据或9位数据格式的串行通信接口(简称串口)。本章着重介绍SCI模块的特性、寄存器功能及设置,并通过一些应用实例和SCI模块在自主寻迹智能车上的应用,让读者掌握SCI模块的应用及编程方法。,MC9S12XS单片机原理及嵌入式系统开发,11.2 SCI模块结构组成和特点,MC9S12XS128内置的SCI模块如图11.1所示。,MC9S12XS单片机原理及嵌入式系统开发,11.2 SCI模块结构组成和特点,SCI模块具有以下基本特征:全双工或单线操作;标准不归零(NRZ)传号/空号格式;具有可编程脉冲宽度的可选择的IrDA 1.4归零反转(RZI)格式;13位波特率;可编程8位或9位数据格式;独立使能发送器和接收器;可编程的发送器和接收器极性;可编程的发送器奇偶校验;两种接收器唤醒模式:线路空闲唤醒;地址标志唤醒;,8个驱动中断的标志位:发送器空;传送完成;接收器满;空闲接收器输入;接收器溢出错误;噪声错误;帧错误;奇偶校验错误;支持LIN发送冲突检测;支持LIN间隔检测;接收器帧错误检测;奇偶校验检测;1/16位时间噪声检测。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,MC9S12XS128的SCI模块共有11个寄存器,详见表11-1。对于112引脚的MC9S12XS128,内部有2个SCI模块,分别是SCI0和SCI1,表11-1中分别列出了SCI0和SCI1两个模块中各寄存器地址。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.1 SCI波特率寄存器(SCIBDH,SCIBDL),SCI波特率寄存器(SCI Baud Rate Registers)用来设置SCI波特率,同时还用于控制红外调制/解调子模块,由SCI波特率高字节寄存器(SCIBDH)和SCI波特率低字节寄存器(SCIBDL)组成。该寄存器如图11.2和图11.3所示。波特率计算公式为SCI波特率=SCI模块时钟/ (16BR)式中,BR是SCI波特率寄存器中SBR12到SBR0的13位数值。波特率寄存器中的13位数值从18 191。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.1 SCI波特率寄存器(SCIBDH,SCIBDL),如果SCISR2寄存器中的AMAP=0时,读:任何时刻。如果只对SCIBDH寄存器赋值,而没有赋值SCIBDL寄存器,然后进行读取波特率寄存器操作,将无法返回波特率寄存器中的正确数值。如果SCISR2寄存器中的AMAP=0时,写:任何时刻。IREN:红外使能控制位。该位允许或者禁止红外调制/解调子模块。0表示禁止红外功能;1表示允许红外功能。TNP10:发送器窄脉冲宽度发送选择位。这2位组合选择红外SCI发送1/4、1/16、3/16、1/32的窄脉冲宽度。具体窄脉冲宽度选择设置详见表11-2。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.1 SCI波特率寄存器(SCIBDH,SCIBDL),SBR12SBR0:SCI波特率选择位,SCI波特率由这13位确定。根据IREN位的设定值,有以下2种方法计算波特率。波特率计算公式如下,当IREN=0时:SCI波特率=SCI总线时钟/ (16SBR12:0)当IREN=1时:SCI波特率=SCI总线时钟/ (32SBR12:1)注意1:复位后,直到TE位或RE位置位,波特率发生器才能正常工作。当SBR12:0=0且IREN=0或者SBR12:1=0且IREN=1时,禁止波特率发生器工作。注意2:如果只对SCIBDH寄存器赋值而没有赋值SCIBDL寄存器,则波特率寄存器的写操作是无效的,因为写入SCIBDH的数值只是放在一个临时寄存器中,直到赋值SCIBDL寄存器时才能将数值写入SCIBDH寄存器。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.2 SCI控制寄存器1(SCICR1),SCI控制寄存器1(SCI Control Register 1,SCICR1)如图11.4所示。,如果AMAP=0时,读:任何时刻;如果AMAP=0时,写:任何时刻。LOOPS:SCI环路使能控制位。SCI在环路工作模式下,RSRC=0,RXD引脚和SCI模块断开,SCI发送器输出在内部和接收器输入相连。当SCI发送器和接收器均被使能情况下,才能够实现SCI环路功能。环路工作模式如图11.5所示。0表示使能SCI正常工作模式;1表示使能SCI环路工作模式。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.2 SCI控制寄存器1(SCICR1),SCISWAI:MCU等待工作模式下SCI停止位。0表示在等待模式下允许SCI停止位;1表示在等待模式下禁止SCI停止位。RSRC:SCI接收器输入源选择位。当LOOPS=1时,RSRC位决定SCI接收器移位寄存器的输入方式。0表示接收器输入连接到内部发送器输出;1表示接收器输入连接到外部发送器。当LOOPS=1,RSRC=1时,SCI为单线工作模式,如图11.6所示。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.2 SCI控制寄存器1(SCICR1),设置LOOPS位和RSRC位,可以设定SCI为环路模式或单线模式,参见表11-3。,M:数据格式选择位,该位决定数据长度是8位还是9位。0表示1位起始位,8位数据位,1位停止位;1表示1位起始位,9位数据位,1位停止位。WAKE:唤醒条件位。该位决定了何种条件唤醒SCI,接收数据字符的最高位为1(地址码)或者RXD上的空闲条件。0表示空闲线唤醒;1表示地址码唤醒。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.2 SCI控制寄存器1(SCICR1),ILT:空闲线类型位。该位决定了何时接收器开始计数逻辑1作为空闲字符位。计数开始于起始位之后或者停止位之后。如果计数开始于起始位之后,停止位之前的一串逻辑1会导致一个空闲字符的错误识别。开始于停止位之后的计数避免了错误空闲字符的识别,但是需要适当的同步传输。0表示空闲字符开始于起始位之后;1表示空闲字符开始于停止位之后。PE:奇偶校验使能位,该位使能奇偶校验功能。当奇偶校验功能使能时,会在传输字符的最高位插入一个奇偶校验位。0表示禁止奇偶校验功能;1表示允许奇偶校验功能。PT:奇偶校验类型选择位,该位决定了使用奇校验还是偶校验。如果采用偶校验,当传输数据中1的个数为奇数时,奇偶校验位为1;当传输数据中1的个数为偶数时,奇偶校验位为0。如果采用奇校验,当传输数据中1的个数为奇数时,奇偶校验位为0;当传输数据中1的个数为偶数时,奇偶校验位为1。0表示偶校验;1表示奇校验。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.3 SCI可选状态寄存器1(SCIASR1),SCI可选状态寄存器1(SCI Alternative Status Register 1,SCIASR1)如图11.7所示。,如果AMAP=1时,读:任何时刻;如果AMAP=1时,写:任何时刻。RXEDGIF:RXD输入边沿有效中断标志位。如果RXD输入的边沿有效(如果SCI状态寄存器2SCISR2中的RXPOL=0则下降沿有效,如果RXPOL=1则上升沿有效)时,则置位RXEDGIF。该位通过写“1”清零。0表示RXD输入无边沿有效发生;1表示RXD输入有边沿有效发生。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.3 SCI可选状态寄存器1(SCIASR1),BERRV:位错误值。当位错误探测电路使能且检测到和期望值不同时,则设定BERRV位为“1”或“0”,该位反应RXD输入状态,该位数值仅在BERRIF=1时有效。0表示期望RXD输入高电平,却采样到低电平;1表示期望RXD输入低电平,却采样到高电平。BERRIF:位错误中断标志位。当位错误探测电路使能且RXD输入采样值和发送数值不同时,则BERRIF置位。如果SCIACR1寄存器中的BERRIE位使能,将产生中断。该位通过写“1”清零。0表示未检测到RXD输入与发送数值不同;1表示已检测到RXD输入与发送数值不同。BKDIF:间隔探测中断标志位。如果间隔探测电路使能且接收到一个间隔信号时,则BKDIF置位。如果SCIACR1寄存器中的BKDIE位使能,将产生中断。该位通过写“1”清零。0表示没有接收到间隔信号;1表示接收到一个间隔信号。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.4 SCI可选控制寄存器1(SCIACR1),SCI可选控制寄存器1(SCI Alternative Control Register 1,SCIACR1),如图11.8所示。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.4 SCI可选控制寄存器1(SCIACR1),如果AMAP=1时,读:任何时刻;如果AMAP=1时,写:任何时刻。RXEDGIE:RXD输入边沿有效中断使能位,该位使能允许RXD输入边沿有效中断标志位RXEDGIF产生中断请求。0表示禁止RXEDGI中断请求;1表示允许RXEDGIF中断请求。BERRIE:位错误中断使能位,该位使能允许位错误中断标志位BERRIF产生中断请求。0表示禁止BERRI中断请求;1表示允许BERRIF中断请求。BKDIE:间隔探测中断使能位,该位使能允许间隔探测中断标志位BKDIF产生中断请求。0表示禁止BKDI中断请求;1表示允许BKDIF中断请求。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.5 SCI可选控制寄存器2(SCIACR2),SCI可选控制寄存器2(SCI Alternative Control Register 2,SCIACR2),如图11.9所示。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.5 SCI可选控制寄存器2(SCIACR2),如果AMAP=1时,读:任何时刻;如果AMAP=1时,写:任何时刻。BERRM1BERRM0:位错误模式,这两位组合确定位错误模式的探测特性,详见表11-4。,BKDFE:间隔探测特性使能位,该位使能允许使用间隔探测电路。0表示禁用间隔探测电路;1表示使用间隔探测电路。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.6 SCI控制寄存器2(SCICR2),SCI控制寄存器2(SCI Control Register 2,SCICR2)如图11.10所示。,读:任何时刻;写:任何时刻。TIE:发送器中断使能位,该位使能允许SCISR1寄存器中的发送数据寄存器空标志位TDRE产生中断请求。0表示禁止TDRE中断请求;1表示允许TDRE中断请求。TCIE:发送完成中断使能位,该位使能允许SCISR1寄存器中的发送完成标志位TC产生中断请求。0表示禁止TC中断请求;1表示允许TC中断请求。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.6 SCI控制寄存器2(SCICR2),RIE:接收器满中断使能位,该位使能允许SCISR1寄存器中的接收数据寄存器满标志位RDRF或者溢出标志位OR产生中断请求。0表示禁止RDRF或OR中断请求;1表示允许RDRF或OR中断请求。ILIE:空闲线中断使能位,该位使能允许SCISR1寄存器中的空闲线标志位IDLE产生中断请求。0表示禁止IDLE中断请求;1表示允许IDLE中断请求。TE:发送器使能位,该位使能允许使用SCI发送器,TXD引脚由SCI控制,TE位能够用于发送空闲报头。0表示SCI禁用发送器;1表示SCI使用发送器。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.6 SCI控制寄存器2(SCICR2),RE:接收器使能位,该位使能允许使用SCI接收器。0表示SCI禁用接收器;1表示SCI使用接收器。RWU:接收器唤醒位,该位使能接收器具有唤醒功能,一旦接收器被唤醒工作,禁止接收器产生中断请求,唤醒接收器后,硬件自动清零RWU位。0表示接收器正常工作状态;1表示接收器具有唤醒功能。SBK:发送间隔符位,该位使能发送器发送间隔字符(当BK13置0时,则发送10或11个逻辑0;当BK13置位时,则发送13或14个逻辑0)。发送器完成发送间隔符任务时自动清零SBK位。只要SBK置位,则发送器会发送完整间隔符(10/ 11位或13/14位个逻辑0)。0表示发送器不发间隔符;1表示发送器发送间隔符。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.7 SCI状态寄存器1(SCISR1),SCISR1和SCISR2寄存器能够为MCU提供SCI产生中断输入源的状态查询,如图11.11所示。清除这些标志位需要先读取状态寄存器数值,然后读取或者写入SCI数据寄存器(SCIDRH和SCIDRL)才能实现。在这两步之间允许执行其他指令,只要不影响I/O操作,但是对于标志位清零,必须遵循这两步的操作顺序。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.7 SCI状态寄存器1(SCISR1),读:任何时刻;写:无效。TDRE:发送数据寄存器空标志位。当发送移位寄存器从SCI数据寄存器(SCIDRH和SCIDRL)获得数据时该标志置位。当TDRE=1时,SCIDRH和SCIDRL为空,此时SCI数据寄存器能够接收新数据。通过读取SCISR1寄存器,然后写入SCIDRL寄存器数据可以清零TDRE位。0表示没有数据传送到发送移位寄存器;1表示数据已传送到发送移位寄存器,发送数据寄存器空。TC:发送完成标志位。当发送数据正在进行,或者发送报头或者间隔符时,TC清零;当TDRE位被置位且没有数据、报头、间隔符正在发送时,TC置位。此时TXD输出信号空闲(为逻辑1)。TC置位后,通过读取SCISR1寄存器,再写入SCIDRL寄存器数据清零TC位。当数据、报头、间隔符进入队列并准备发送时,TC位被自动清零。0表示数据发送正在进行;1表示没有进行数据发送。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.7 SCI状态寄存器1(SCISR1),RDRF:接收数据寄存器满标志位。当接收移位寄存器中的数据传送到SCI数据寄存器(SCIDRH和SCIDRL)时,RDRF置位。RDRF置位后,通过读取SCISR1寄存器,再读取SCIDRL寄存器数据清零RDRF位。0表示SCI数据寄存器中接收的数据无效;1表示SCI数据寄存器中接收的数据有效。IDLE:线路空闲标志位。当10个连续的逻辑1(M=0)或者11个连续的逻辑1(M=1)出现在接收器输入端时,IDLE置位。一旦IDLE标志被清除,在空闲条件下能够置位IDLE标志之前,必须接收一个有效帧才能再次置位RDRF标志。IDLE置位后,通过读取SCISR1寄存器,再读取SCIDRL寄存器数据清零IDLE位。0表示接收器未接收到有效数据;1表示接收器处于空闲状态。注意:当接收器唤醒位RWU置位时,线路空闲条件下不会置位IDLE标志。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.7 SCI状态寄存器1(SCISR1),OR:溢出标志位。在接收移位寄存器接收下一帧数据之前,如果读取SCI数据寄存器失败,则OR置位。当第二帧数据接收到停止位后立即置位OR,接收移位寄存器中的数据会丢失,但SCI数据寄存器中的已有数据不受影响。OR置位后,通过读取SCISR1寄存器之后,再读取SCIDRL寄存器数据清除OR位。0表示接收器数据溢出未发生;1表示接收器数据溢出已发生。注意:当RDRF位清除时,读取OR位可能返回1。这可能发生了以下事件: 接收到第一帧数据后,读取状态寄存器SCISR1(此时RDRF=1,OR=0); 没有读取数据寄存器中的数据就接收第二帧数据(而第二帧数据未收到,OR=1); 读取数据寄存器SCIDRL中的数据(RDRF=0,OR=1); 读取状态寄存器SCISR1(RDRF=0,OR=1)。事件与事件同时发生或者在事件之后发生。当这些情况发生时,如果下一帧数据要被正确接收,需要在事件后进行一次虚拟SCIDRL读操作,清除OR位。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.7 SCI状态寄存器1(SCISR1),NF:噪声标志位。当SCI检测到接收器输入噪声时,NF置位。NF位和RDFR位同时置位,但在接收器溢出时,NF不会置位。NF置位后,通过读取SCISR1寄存器之后,再读取SCIDRL寄存器数据清除NF位。0表示接收器输入未检测到噪声;1表示接收器输入已检测到噪声。FE:帧错误标志位。当接收到的停止位是“0”时,FE置位。FE位和RDFR位同时置位,但在接收器溢出时,FE会不置位。FE置位后,通过读取SCISR1寄存器之后,再读取SCIDRL寄存器数据清除FE位。0表示未发生帧错误;1表示已发生帧错误。PF:奇偶校验错误标志位。当奇偶校验使能位PE置位且接收到数据的奇偶校验位和定义的奇偶校验类型不同时,PF置位。PF位和RDFR位同时置位,但在接收器溢出时,PF不会置位。PF置位后,通过读取SCISR1寄存器之后,再读取SCIDRL寄存器数据清除PF位。0表示未发生奇偶校验错误;1表示已发生奇偶校验错误。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.8 SCI状态寄存器2(SCISR2),SCI状态寄存器2(SCI Status Register 2,SCISR2)如图11.12所示。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.8 SCI状态寄存器2(SCISR2),读:任何时刻;写:任何时刻。AMAP:可选寄存器映射位。该位控制共享相同地址空间寄存器的访问。复位条件下,SCI模块和以前版本兼容。置位AMAP允许访问另外一组控制和状态寄存器,且隐藏波特率和SCI控制寄存器1。0表示访问SCIBDH(0 x0000)、SCIBDL(0 x0001)和SCICR1(0 x0002)寄存器;1表示访问SCIASR1(0 x0000)、SCIACR1(0 x0001)和SCIACE2(0 x0002)寄存器。TXPOL:发送极性位。该位控制发送数据的极性。在NRZ格式中,正常极性时,1表示传号,0表示空号;反之为反向极性定义。在IrDA格式中,正常极性时,0由1位时间中短的高电平脉冲表示,其余的空闲低电平表示1;反向极性时,0由1位时间中短的低电平脉冲表示,其余的空闲高电平表示1。0表示发送数据使用正常极性;1表示发送数据使用反向极性。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.8 SCI状态寄存器2(SCISR2),RXPOL:接收极性位。该位控制接收数据的极性。在NRZ格式中,正常极性时,1表示传号,0表示空号;反之为反向极性定义。在IrDA格式中,正常极性时,0由1位时间中短的高电平脉冲表示,其余的空闲低电平表示1;反向极性时,0由1位时间中短的低电平脉冲表示,其余的空闲高电平表示1。0表示接收数据使用正常极性;1表示接收数据使用反向极性。BK13:间隔符长度位。该位决定间隔符的长度是10位或11位,还是13位或14位。帧错误检测不影响该位。0表示间隔符长度是13位或14位;1表示间隔符长度是10位或11位。TXDIR:SCI单线模式下发送器引脚数据方向位。该位决定了SCI在单线模式下,TXD引脚被用做输入还是输出,仅在单线模式下有效。0表示单线模式下TXD引脚被用做输入;1表示单线模式下TXD引脚被用做输出。RAF:接收器有效标志位。当接收器在起始位的RT1时间检测到逻辑0时,RAF置位。当接收器检测到空闲字符时,RAF被清除。0表示接收器没有接收数据;1表示接收器正在接收数据。,MC9S12XS单片机原理及嵌入式系统开发,11.3 SCI模块寄存器,11.3.9 SCI数据寄存器(SCIDRH,SCIDRL),SCI数据寄存器(SCI Data Registers,SCIDRH/L)如图11.13和11.14所示。,MC9S12XS单片机原理及嵌入式系统开发,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位。R7R0:接收数据的低8位。T7T0:发送数据的低8位。注意:如果T8的数值和之前发送的一样,T8就不必重新写入。同样的T8值会被发送直到T8被重新写入不同值。在8位数据格式中,只需要访问SCI数据寄存器低字节(SCIDRL)。在9位数据格式中,用8位写指令操作时,要求先写SCIDRH,再写SCIDRL。,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,实例一:本实例实现SCI模块的数据发送,利用SCI0模块连续发送099,共100个数据。串行口通信波特率设定为9 600 bps,总线时钟为8 MHz,此时SCI0BD的取值为52。当总线时钟为其他频率时,需要根据前文的公式重新计算SCI0BD寄存器中的数值。程序清单:,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,实例二:本实例实现SCI模块的数据接收和发送,当MC9S12XS128接收到数据0 xAA时,发送R;如果接收到的数据不是0 xAA,则发送W。串行口通信波特率设定为9 600 bps,总线时钟为8 MHz,此时SCI0BD的取值为52。当总线时钟为其他频率时,需要根据前文的公式重新计算SCI0BD寄存器中的数值。本例使用查询方式和中断方式分别完成串口的数据接收。查询方式数据接收的程序清单如下所示。,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,中断方式数据接收的程序清单如下所示。,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,MC9S12XS单片机原理及嵌入式系统开发,11.4 SCI模块应用实例,MC9S12XS单片机原理及嵌入式系统开发,11.5 智能车系统中SCI模块的应用,在智能车系统设计调试过程中,需要一些辅助调试手段,以便了解当前智能车的运行车速、舵机转角、赛道信息等参数。常用的调试手段大多采用RS-232串口方式调试,在“飞思卡尔”全国大学生杯智能汽车竞赛活动中,也有部分参赛队伍采用SD卡辅助调试。而RS-232串口调试方法是最简便也是最常见的,利用MC9S12XS128的SCI模块实现的RS-232串口通信原理如图11.15所示。,MC9S12XS单片机原理及嵌入式系统开发,11.5 智能车系统中SCI模块的应用,利用上述原理图,可以容易实现MC9S12XS128与PC的串口通信。只需要合理配置MC9S12XS128中的SCI相关寄存器就可以实现RS-232串口通信。以下给出SCI初始化以及一些功能函数代码,更复杂的功能请读者结合具体应用要求、参照样例自行完成。,MC9S12XS单片机原理及嵌入式系统开发,11.5 智能车系统中SCI模块的应用,MC9S12XS单片机原理及嵌入式系统开发,11.5 智能车系统中SCI模块的应用,MC9S12XS单片机原理及嵌入式系统开发,11.5 智能车系统中SCI模块的应用,MC9S12XS单片机原理及嵌入式系统开发,The End,

    注意事项

    本文(第11章MC9S12XS系列串行通信接口模块及其应用实例.ppt)为本站会员(PIYPING)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开