串行通信接口SCI.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第5章串行通信接口SCI;主要内容

;5.1异步串行通信的通用基础知识;串行通信的波特率

波特率单位是位/秒,记为bps。通常情况下,波特率的单位可以省略。通常使用的波特率有300、600、900、1200、1800、2400、4800、9600、19200、38400、57600、115200、128000等

奇偶校验

字符奇偶校验检查(characterparitychecking)称为垂直冗余检查(verticalredundancychecking,VRC),它是每个字符增加一个额外位使字符中“1”的个数为奇数或偶数。

奇校验:如果字符数据位中“1”的数目是偶数,校验位应为“1”,如果“1”的数目是奇数,校验位应为“0”。

偶校验:如果字符数据位中“1”的数目是偶数,则校验位应为“0”,如果是奇数则为“1”;串行通信的传输方式

单工(Simplex):数据传送是单向的,一端为发送端,另一端为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以了。有线广播就是单工的

全双工(Full-duplex):数据传送是双向的,且可以同时接收与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,MCU的异步串行通信接口均是全双工的

半双工(Half-duplex):数据传送也是双向的,但是在这种传输方式中,除了地线之外,一般只有一根数据线。任何一个时刻,只能由一方发送数据,另一方接收数据,不能同时收发。在freescale的HCS08系列MCU中,监控模式的通信就采用这种方式;5.1.2RS-232总线标准;上图为9芯串行接口排列;5.1.3TTL电平到RS-232电平转换电路;MAX232芯片进行电平转换基本原理是:

发送过程:MCU的TXD(TTL电平)经过MAX232的11脚(T1IN)送到MAX232内部,在内部TTL电平被“提升”为232电平,通过14脚(T1OUT)发送出去

接收过程:外部232电平经过MAX232的13脚(R1IN)进入到MAX232的内部,在内部232电平被“降低”为TTL电平,经过12脚(R1OUT)送到MCU的RXD,进入MCU内

;5.1.4串行通信编程模型;5.2AW60的SCI模块的编程结构;SCI波特率计算公式与SCI波特率寄存器

SCI波特率=fBUSCLK/(16×BR),其中fBUSCLK为内部总线频率

SCI数据寄存器

SCI控制寄存器

SCI控制寄存器1(SCIxC1)

SCI控制寄存器2(SCIxC2)

SCI控制寄存器3(SCIxC3)

SCI状态寄存器

SCI状态寄存器1(SCIxS1)

SCI状态寄存器2(SCIxS2)

;5.3AW60的SCI构件设计与测试;SCI初始化:

voidSCIInit(uint8SCINo,uint8sysclk,uint16baud)

通过其中一个串口发送一个字节:

voidSCISend1(uint8SCINo,uint8ch)

通过其中一个串口接收单个字节:

uint8SCIRe1(uint8SCINo,uint8*p)

通过其中一个串口发送N个字节:

voidSCISendN(uint8SCINo,uint8n,uint8ch[])

通过其中一个串口接收N个字节:

uint8SCIReN(uint8SCINo,uint8n,uint8ch[]);5.3.2SCI构件的头文件SCI.h;5.3.3SCI构件的C语言源程序文件SCI.c

;5.3.4SCI构件的测试工程;5.4AW60的中断源与第一个带有中断的编程实例;5.4.2S08CPU的中断实现过程;5.4.3AW60的中断源与中断向量表;5.4.4AW60的中断编程方法;5.4.5AW60的中断编程示例;第5章习题;9.用一种高级语言实现PC方串行数据收发的通用程序(要求:从PC方发送数据A到MCU,MCU收到后,判断是否是A,若是,回发给PC机,在PC机显示“串行口正常”,若不是,则在PC机显示:“通信有误”。)

10.在上一题测试的基础上编写通信程序,实现如下功能:通过PC机发送一个命令以控制接在PTA0~PTA7口的8个小灯亮暗状态,各个小灯初始状态都为暗,首先进行通信测试,PC机发送“A”,若MCU接收到则8个小灯全亮,并回送字符“A”,虽然MCU接收到但有问题,不是“A”,说明有误码,则4个小灯全亮,并回送字符“0”,否则8个小灯全暗无反应,通信测试成功后进入控制状态,PC机发送字符串“11”,PTA0口灯亮;发送“

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档