欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件.ppt

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

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

    飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件.ppt

    第八章 串行通信接口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/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)称为垂直冗余检查(vertical redundancy checking,VRC),它是每个字符增加一个额外位使字符中“1”的个数为奇数或偶数。奇校验:如果字符数据位中“1”的数目是偶数,校验位应为“1”,如果“1”的数目是奇数,校验位应为“0”。偶校验:如果字符数据位中“1”的数目是偶数,则校验位应为“0”,如果是奇数则为“1”。,(3)奇偶校验,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,单工(Simplex):数据传送是单向的,一端为发送端,另一端为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以了。有线广播就是单工的。全双工(Full-duplex):数据传送是双向的,且可以同时接收与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,MCU的异步串行通信接口均是全双工的。半双工(Half-duplex):数据传送也是双向的,但是在这种传输方式中,除了地线之外,一般只有一根数据线。任何一个时刻,只能由一方发送数据,另一方接收数据,不能同时收发。在freescale的HC08系列MCU中,监控模式的通信就采用这种方式。,(4)串行通信的传输方式,嵌入式应用技术基础教程课件,8.1 串行通信基本知识概要,MCU引脚一般输入/输出使用TTL电平,而TTL电平的“1”和“0”的特征电压分别为2.4V和0.4V,适用于板内数据传输。为了使信号传输得更远,美国电子工业协会EIA(Electronic Industry 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.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。(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 110 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,定义为:,嵌入式应用技术基础教程课件,循环模式选择位,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,定义为:,嵌入式应用技术基础教程课件,接收位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 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 SCBR;总线频率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的第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汇编语言串行通信子程序()SCI初始化汇编子程序 对串行口的初始化一般在主循环之前进行,即使以中断方式接收或发送,在初始化子程序中只定义查询方式收发。允许中断的设置,在进入主循环之前进行。(2)串行发送与接收汇编通用子程序 发送与接收使用同一个寄存器的不同位作为测试标志,发送与接收的数据寄存器地址相同。,嵌入式应用技术基础教程课件,8.4 串行通信编程实例,(1)查询方式MCU方主程序 MCU方的程序功能是:把通过串行口收到的数据发送回去。(2)PC机方VB程序 PC机方VB程序的功能是:在“发送窗口”的文本框输入字符,单击“发送”按钮,其文本框中的字符被发送出去。任何时候,只要PC机串行口收到数据,则显示在“接收窗口”。(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的引脚时,名称分别为: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用于控制主机与从机之间的数据传输。,嵌入式应用技术基础教程课件,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由两个独立的数据寄存器组成,即只能写入的发送数据寄存器和只能读出的接收数据寄存器,它们共用一个地址。,8.5.2 SPI的寄存器,嵌入式应用技术基础教程课件,8.5 SPI模块的编程结构及应用实例,(2)SPI控制寄存器(SPI Control Register,SPCR),SPCR一般情况下只能复位时写一次,以后不再对其写入,不再更改对SPI的设置。SPCR的地址是$0010,定义为:,嵌入式应用技术基础教程课件,SPI接收中断允许位,DMA选择位,SPI发送中断允许位,SPI允许位,SPI线或模式位,时钟相位位,时钟极性选择位,SPI主机位,8.5 SPI模块的编程结构及应用实例,(3)SPI状态和控制寄存器(SPI Status and Control Register,SPSCR),SPSCR的地址是$0011,定义为:,嵌入式应用技术基础教程课件,SPI接收器满标志位,错误中断允许位,SPI波特率选择位,模式错误标志允许位,SPI发送器空标志位,模式错误标志位,溢出标志位,SPI的波特率=CGMOUT/(2xBD)。BD是分频系数,由SPR1、SPR0位决定:SPR1、SPR0=00 01 10 11 BD=2 8 32 128,8.5 SPI模块的编程结构及应用实例,(1)SPI初始化 第一步:写控制字到SPCR,确定是否允许SPI接收中断、SPI的工作方式、时钟极性、时钟相位、是否允许SPI等。例如:LDA#%00100010;不产生中断、主机方式、时钟空闲低电平 STA SPCR 第二步:写控制字到SPSCR,确定SPI的波特率:LDA#%00000001;8分频 STA SPSCR,8.5.3 SPI编程基本方法,嵌入式应用技术基础教程课件,8.5 SPI模块的编程结构及应用实例,(2)发送一个数据与接收一个数据 要通过SPI发送一个数据,同时通过SPI接收一个数据,作为主机方,只要将数据送入SPDR,然后检查SPSCR的SPTE位(位3),如果该位为1,表示数据已经送出。若同时接收对方送来的数据,则接着检查SPSCR的SPRF位(位7),如果该位为1,表示要接收的数据已经进入数据寄存器,可以取出。例如:下列程序发送A中数据,同时接收对方数据放入A中:STA SPDR;送入SPDR NOP;适当延时 NOP BRCLR 3,SPSCR,*;为0等待,即等待SPTE(位3)为1,发送完毕 BRCLR 7,SPSCR,*;为0等待,即等待SPRF(位7)为1,接收完毕 LDA SPDR;取收到的数据到寄存器A中,8.5.3 SPI编程基本方法,嵌入式应用技术基础教程课件,返回,8.6 SPI应用实例高位A/D扩展接口,8.6 SPI应用实例高位A/D扩展接口,8.6.1 TLC2543芯片简介()TLC2543的引脚,嵌入式应用技术基础教程课件,8.6 SPI应用实例高位A/D扩展接口,TLC2543引脚说明,嵌入式应用技术基础教程课件,8.6 SPI应用实例高位A/D扩展接口,控制字的格式 控制字为从DATA INPUT端串行输入TLC2543芯片内部的8位数据,它告诉TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。TLC2543的内部寄存器 输入数据寄存器存放从DATA INPUT端移入的控制字。输出数据寄存器存放转换好的数据,以供从DATA OUT端移出。,(2)TLC2543的编程要点,嵌入式应用技术基础教程课件,8.6 SPI应用实例高位A/D扩展接口,转换过程 上电后,片选CS必须从高到低,才能开始一次工作周期,此时EOC为高,输入数据寄存器被置0,输出数据寄存器内容是随机的。开始时,片选CS为高,I/O CLOCK、DATA INPUT被禁止,DATA OUT呈高阻态,EOC为高。使CS变低,I/O CLOCK、DATA INPUT使能,DATA OUT脱离高阻态。12个时钟信号从I/O CLOCK端依次加入,控制字从DATA INPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从DATA OUT一位一位地移出。TLC2543收到第4个时钟信号后,通道号也已收到,因此,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿。在第12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需10s,转换完成EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。,(2)TLC2543的编程要点,嵌入式应用技术基础教程课件,8.6 SPI应用实例高位A/D扩展接口,TLC2543与微处理器芯片的接口部分有五个引脚,分别是:时钟输入(I/O CLOCK)、串行控制字输入(DATA INPUT)、片选输入()、A/D转换串行数据输出(DATA OUTPUT)、转换结束电平输出(EOC)。经分析TLC2543的工作时序,可以通过软件估计转换结束,免去EOC接线。TLC2543与具有SPI或相同接口能力的MCU可以直接连接,对于没有SPI接口的MCU可以通过软件编程合成SPI操作。,(3)TLC2543与MCU的接口方法,嵌入式应用技术基础教程课件,8.6 SPI应用实例高位A/D扩展接口,8.6.2 TLC2543与GP32单片机接口扩展,(1)扩展电路设计,嵌入式应用技术基础教程课件,8.6 SPI应用实例高位A/D扩展接口,8.6.2 TLC2543与GP32单片机接口扩展,(2)编程方法 基于上述电路的A/D采集子程序(3)应用举例 利用上述子程序实现33路A/D数据的采集,并进行平均值滤波。每一路取16次求平均。,嵌入式应用技术基础教程课件,返回,本章重点掌握SCI的编程,同时学习编程的规范。先要了解串行通信基本知识,才能进行串行电路设计与编程;掌握具有串行通信功能的MC68HC908GP32的最小系统;本章提供了使用VB、VC等高级语言编写的串行通信的PC机方程序,读者可以选择自己熟悉的语言编写PC机方程序。SPI部分对于初学者,要求理解其通信与编程的基本方法,实际应用时,可参考第6节的实例。,本章小结,嵌入式应用技术基础教程课件,返回,

    注意事项

    本文(飞思卡尔8位单片机MC9S88串行通信接口SCI与串行外设接口SPIppt课件.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开