飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享

上传人:yuzo****123 文档编号:137459805 上传时间:2020-07-08 格式:PPT 页数:38 大小:543.50KB
返回 下载 相关 举报
飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享_第1页
第1页 / 共38页
飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享_第2页
第2页 / 共38页
飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享_第3页
第3页 / 共38页
飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享_第4页
第4页 / 共38页
飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件知识分享(38页珍藏版)》请在金锄头文库上搜索。

1、第八章 串行通信接口SCI与串行外设接口SPI,主要内容 串行通信基本知识概要 SCI的外围硬件电路与基本编程原理 SCI模块的编程结构 串行通信编程实例 SPI模块的编程结构及应用实例 SPI应用实例高位A/D扩展接口,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,8.1 串行通信基本知识概要,8.1.1 基本概念 ()异步串行通信的格式 SCI通常采用NRZ数据格式,即:standard non-return-zero mark/space data format,译为:“标准不归零传号/空号数据格式”。“不归零”的最初含义是:用正、负电平表示二进制值,不使用零电平。“mark

2、/space”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。下图给出了 8位数据、无校验情况的传送格式。,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,(2)串行通信的波特率,波特率(baud rate):每秒内传送的位数。 波特率单位是位/秒,记为bps。通常情况下,波特率的单位可以省略。通常使用的波特率有300、600、900、1200、1800、2400、4800、9600、19200、38400。,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,字符奇偶校验检查(character parity checking)称为垂直冗余检查( ver

3、tical redundancy checking,VRC),它是每个字符增加一个额外位使字符中“1”的个数为奇数或偶数。 奇校验:如果字符数据位中“1”的数目是偶数,校验位应为“1”,如果“1”的数目是奇数,校验位应为“0”。 偶校验:如果字符数据位中“1”的数目是偶数,则校验位应为“0”,如果是奇数则为“1”。,(3)奇偶校验,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,MCU引脚一般输入/输出使用TTL电平,而TTL电平的“1”和“0”的特征电压分别为2.4V和0.4V,适用于板内数据传输。为了使信号传输得更远,美国电子工业协会EIA(Electronic Industry

4、 Association) 制订了串行物理接口标准RS-232C。RS-232C采用负逻辑,-3V-15V为逻辑“1”,+3V+15V为逻辑“0”。RS-232C最大的传输距离是30m,通信速率一般低于20Kbps。,8.1.2 RS-232C总线标准,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,8.1.2 RS-232C总线标准,RS-232接口,简称“串口”,它主要用于连接具有同样接口的室内设备。目前几乎所有计算机上的串行口都是9芯接口。右图给出了9芯串行接口的排列位置,相应引脚含义见表8-1。,嵌入式应用技术基础教程课件,返回,8.2 SCI的外围硬件电路与基本编程原理,8

5、.2 SCI的外围硬件电路与基本编程原理,8.2.1 SCI的外围硬件电路 (1)电源供给与滤波 (2)晶振电路 (3)复位电路 (4)SCI电平转换电路,嵌入式应用技术基础教程课件,8.2 SCI的外围硬件电路与基本编程原理,具有串行通信功能的MC68HC908G932最小系统电路原理图,嵌入式应用技术基础教程课件,8.2 SCI的外围硬件电路与基本编程原理,8.2.2 SCI的基本编程原理,嵌入式应用技术基础教程课件,返回,8.3 SCI模块的编程结构,8.3 SCI模块的编程结构,8.3.1 SCI的寄存器 MC68HC908GP32的SCI有7个寄存器,地址为$0013$0019 。

6、(1)SCI波特率寄存器(SCI Baud Rate Register,SCBR) SCBR的作用是设置串行通信的波特率 ,其地址是$0019。 D7、D6、D3:未定义; D5D4 SCP:波特率预分频位(SCI Baud Rate Prescaler Bits) SCP1、SCP0=00 01 10 11 PD= 1 3 4 13,嵌入式应用技术基础教程课件,8.3 SCI模块的编程结构,D2D0 SCR:波特率选择位(SCI Baud Rate Select Bits),定义波特率另一分频值,记为:BD,定义如下: SCR2、1、0 =000 001 010 011 100 101 11

7、0 111 BD = 1 2 4 8 16 32 64 128 设fSCI为串行通信时钟源频率,fSCI= fBUS或CGMXCLK,取决于CONFIG2的SCIBDSRC,一般设定SCIBDSRC=1,SCI用内部总线时钟,则fSCI= fBUS,则波特率的定义公式为: BtfBUS /(64PDBD),(1)SCI波特率寄存器(SCI Baud Rate Register,SCBR),嵌入式应用技术基础教程课件,8.3 SCI模块的编程结构,(2) SCI控制寄存器1(SCI Control Register 1,SCC1),SCC1的地址是:$0013 ,定义为:,嵌入式应用技术基础教程

8、课件,循环模式选择位,SCI允许位,奇偶校验类型选择位,奇偶校验允许位,空闲线类型位,唤醒条件位,模式-字符长度选择位,发送反转标志位,8.3 SCI模块的编程结构,(3) SCI控制寄存器2(SCI Control Register 2,SCC2),SCC2的地址是:$0014 ,定义为:,嵌入式应用技术基础教程课件,发送中断允许位,发送完成中断允许位,发送终止位,接收器唤醒位,接收器允许位,发送器允许位,空闲线中断允许位,接收中断允许位,8.3 SCI模块的编程结构,(4) SCI控制寄存器3(SCI Control Register 3,SCC3),SCC3的地址是:$0015 ,定义为

9、:,嵌入式应用技术基础教程课件,接收位8,发送位8,接收器奇偶错误中断允许位,接收器帧错误中断允许位,接收器噪声错误中断允许位,接收器溢出中断允许位,DMA发送允许位,DMA接收允许位,8.3 SCI模块的编程结构,(5) SCI状态寄存器1(SCI Status Register 1,SCS1 ),SCS1的地址是:$0016 ,定义为:,嵌入式应用技术基础教程课件,发送缓冲区空标志位,发送完成标志位,接收器奇偶错误标志位,接收器帧错误标志位,接收器噪声标志位,接收器溢出标志位,接收器空闲标志位,接收器满标志位,8.3 SCI模块的编程结构,(6) SCI状态寄存器2(SCI Status

10、Register 2,SCS2 ),SCS2的地址是:$0017 ,定义为:,嵌入式应用技术基础教程课件,未定义,接收进行标志位,终止码标志位,8.3 SCI模块的编程结构,(7) SCI数据寄存器(SCI Data Register ,SCDR ),SCDR为SCI系统最常用的寄存器,它的地址是:$0018。写入时,为要发送的8位数据,记为:T7T0;读出时,为接收的8位数据,记为:R7R0。不受复位影响。,嵌入式应用技术基础教程课件,8.3 SCI模块的编程结构,(1)SCI初始化 对SCI进行初始化,最少由以下三步构成: 第一步:定义波特率。 LDA #%00000010 STA SCB

11、R ;总线频率fBUS2.4576MHz,定义波特率Bt=9600 第二步:写控制字到SCI控制寄存器1(SCC1)。 LDA #%01000000 STA SCC1 ;设置允许SCI,正常码输出、8位数据、无校验 第三步:写控制字到SCI控制寄存器2(SCC2)。 LDA #%00001100 STA SCC2 ;设置允许发送、允许接收,查询方式收发,8.3.2 串行口初始化与收发编程的基本方法,嵌入式应用技术基础教程课件,8.3 SCI模块的编程结构,(2)发送一个数据与接收一个数据,发送数据是通过判断状态寄存器SCS1的第7位(SCTE)进行的,而接收数据是通过判断状态寄存器SCS1的第

12、5位(SCRF)进行的。不论是发送还是接收,均使用SCI数据寄存器SCDR。发送时,将要发送的数据送入SCDR即可,接收时,从SCDR中取出的即是收到的数据。 ;串行发送A中的数 BRCLR 7,SCS1,* ;SCS1.7=0? 为0则等待 STA SCDR ;SCS1.7=1,可以发送数据 ;查询方式接收一个串行数据,接收的数据放入寄存器A中 BRCLR 5,SCS1,* ;SCS1.5=0? 为0则等待 LDA SCDR ;SCS1.5=1,可以取出数据,嵌入式应用技术基础教程课件,返回,8.4 串行通信编程实例,8.4 串行通信编程实例,8.4.1 08汇编语言串行通信子程序 ()SC

13、I初始化汇编子程序 对串行口的初始化一般在主循环之前进行,即使以中断方式接收或发送,在初始化子程序中只定义查询方式收发。允许中断的设置,在进入主循环之前进行。 (2)串行发送与接收汇编通用子程序 发送与接收使用同一个寄存器的不同位作为测试标志,发送与接收的数据寄存器地址相同。,嵌入式应用技术基础教程课件,8.4 串行通信编程实例,(1)查询方式MCU方主程序 MCU方的程序功能是:把通过串行口收到的数据发送回去。 (2)PC机方VB程序 PC机方VB程序的功能是:在“发送窗口”的文本框输入字符,单击“发送”按钮,其文本框中的字符被发送出去。任何时候,只要PC机串行口收到数据,则显示在“接收窗口

14、”。 (3)中断方式MCU方主程序,8.4.2 08汇编语言串行通信测试实例,嵌入式应用技术基础教程课件,8.4 串行通信编程实例,(1)SCI初始化08C语言子程序 (2)串行发送与接收08C语言通用子程序 (3)查询方式08C语言主程序 (4)中断方式08C语言主程序 (5)08C语言的串行中断方式的矢量表文件,8.4.3 08C语言串行通信子程序与测试实例,嵌入式应用技术基础教程课件,返回,8.5 SPI模块的编程结构及应用实例,8.5 SPI模块的编程结构及应用实例,8.5.1 SPI的基本工作原理 MC68HC908GP32单片机D口的PTD0PTD3引脚与SPI模块共用。作为SPI

15、的引脚时,名称分别为:SS、MISO、MOSI、SPSCK。 (1)从机选择引脚SS(Slave select) 若MCU的SPI工作于主机方式,置SS为高电平;若SPI工作于从机方式,当SS=0时,表示主机选中了该从机,反之则未选中该从机。 (2)主出从入引脚MOSI(Master out/slave in) MOSI是主机输出、从机输入数据线。 (3)主入从出引脚MISO(Master in/slave out) MISO是主机输入、从机输出数据线。 (4)SPI串行时钟引脚SPSCK(SPI serial clock) SPSCK用于控制主机与从机之间的数据传输。,嵌入式应用技术基础教程

16、课件,8.5 SPI模块的编程结构及应用实例,主MCU和从MCU的连接,下图是一个主MCU和一个从MCU的连接,也可以一个主MCU与多个MCU进行连接形成一个主机多个从机的系统;还可以多个MCU互联构成多主机系统;另外也可以一个MCU挂接多个从属外设。,嵌入式应用技术基础教程课件,8.5 SPI模块的编程结构及应用实例,MC68HC908GP32的SPI模块有3个寄存器,它们对应的存储器地址为$0010$0012 。 (1)SPI数据寄存器(SPI Data Register,SPDR) SPDR的地址是$0012。写入时,为要发送的8位数据,记为:T7T0;读出时,为接收的8位数据,记为:R7R0。它们的特点与SCI数据寄存器相似。在实际内部结构上,SPDR由两

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号