第05章串行通信接口SCI学习资料_第1页
第05章串行通信接口SCI学习资料_第2页
第05章串行通信接口SCI学习资料_第3页
第05章串行通信接口SCI学习资料_第4页
第05章串行通信接口SCI学习资料_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章串行通信接口SCI1嵌入式系统--使用HCS12微控制器的设计与应用本章目录5.1异步串行通信的基础知识5.2电平转换电路与SCI通用编程原理5.3DG128SCI模块寄存器5.4串行口初始化与收发编程的基本方法5.5串行通信通用函数与测试实例5.6有关串行通信编程的进一步讨论

2嵌入式系统--使用HCS12微控制器的设计与应用5.1异步串行通信的基础知识1.异步串行通信的格式(NRZ)5.1.1基本概念2.串行通信的波特率定义:每秒内传送的位数。单位:b/s或bps常用:1200bps、4800bps、9600bps……3嵌入式系统--使用HCS12微控制器的设计与应用5.1异步串行通信的基础知识5.1.1基本概念3.奇偶校验奇校验:校验位为0或1,使得1的数目是奇数偶校验:校验位为0或1,使得1的数目是偶数4.串行通信的传输方式单工:1根数据线全双工:2根数据线半双工:1根数据线4嵌入式系统--使用HCS12微控制器的设计与应用5.2电平转换电路与SCI通用编程原理5.2.1SCI的外围硬件电路

电平转换芯片MAX2326嵌入式系统--使用HCS12微控制器的设计与应用5.2电平转换电路与SCI通用编程原理5.2.2SCI的基本编程原理

SCI的主要功能是:接收时,把外部的单线输入的数据变成一个字节的并行数据送入MCU内部;发送时,把需要发送的一个字节的并行数据转换为单线输出。7嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器寄存器高8位(SCI0BDH、SCI1BDH)数据位D7D6D5D4D3D2D1D0定义xxxSBR12SBR11SBR10SBR9SBR8复位000000005.3.1SCI波特率寄存器

寄存器低8位(SCI0BDL、SCI1BDL)数据位D7D6D5D4D3D2D1D0定义SBR7SBR6SBR5SBR4SBR3SBR2SBR1SBR0复位000001008嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器5.3.1SCI波特率寄存器

根据波特率设置寄存器的公式:BR=fBUS/(16×Bt)举例:总线频率fBUS=19.6608MHz,定义波特率Bt=9600(针对SCI0) SCI0BDL=0x80;//须先给低8位赋值 SCI0BDH=0x00;//再给高5位赋值9嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器缩写:SCI0CR1、SCI1CR1位定义:5.3.2SCI控制寄存器1

数据位D7D6D5D4D3D2D1D0定义LOOPSSCISWAIRSRCMWAKEILTPEPT复位000000003.举例:设置允许SCI、正常码输出、8位数据、无校验

SCI0CR1=Ox00;10嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器缩写:SCI0CR2、SCI1CR2位定义:5.3.3SCI控制寄存器2

数据位D7D6D5D4D3D2D1D0定义TIETCIERIEILIETERERWUSBK复位000000003.举例:设置允许发送、允许接收,查询方式收发

SCI0CR2=0x0C;11嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器缩写:SCI0SR1、SCI1SR1位定义:只读5.3.4SCI状态寄存器1

数据位D7D6D5D4D3D2D1D0定义TDRETCRDRFIDLEORNFFEPF复位110000003.常用:

D7=1:可以发送数据;D7=0:不可以发送数据,需等待D5=1:可以取出数据;D5=0:不可以取出数据,需等待12嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器缩写:SCI0SR2、SCI1SR2位定义:只读5.3.5SCI状态寄存器2

数据位D7D6D5D4D3D2D1D0定义----------BK13TXDIRRAF复位000000003.常用:

D0=1:正在接收数据;13嵌入式系统--使用HCS12微控制器的设计与应用5.3DG128SCI模块寄存器缩写:SCI0DRH、SCI0DRL、SCI1DRH、SCI1DRL位定义:数据位D7D6D5D4D3D2D1D0读操作R8000000写操作T8复位000000005.3.6SCI数据寄存器

数据位D7D6D5D4D3D2D1D0读操作R7R6R5R4R3R2R1R0写操作T7T6T5T4T3T2T1T0复位00000000DRH:DRL:14嵌入式系统--使用HCS12微控制器的设计与应用5.4串行口初始化与收发编程的基本方法5.4.1SCI初始化

设置SCI波特率寄存器设置SCI控制寄存器1设置SCI控制寄存器215嵌入式系统--使用HCS12微控制器的设计与应用5.4串行口初始化与收发编程的基本方法5.4.2发送一个数据与接收一个数据

发送数据可以发送数据吗?是否接收数据可以接收数据吗?是否16嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.1串行通信子函数

SCI.h:串行通信头文件串行通信寄存器及标志位定义串行通信相关函数声明SCIInit.c:串行口SCI0初始化函数

voidSCIInit(void)

SCI.c:串行发送与接收通用子函数voidSCISend1(INT8Uo)voidSCISendN(INT8Un,INT8Uch[])INT8USCIRe1(INT8U*p)INT8USCIReN(INT8Un,INT8Uch[])17嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

1.查询方式收发测试工程主函数文件main.c1.禁止总中断2.芯片初始化3.SCI模块初始化等待从PC机接收一个数据向PC机发送一个数据18嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

2.查询方式收发测试工程MT环境的工程结构19嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

3.查询方式收发测试工程CW环境的工程结构20嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

4.中断方式测试工程辅助工具21嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

5.中断方式HCS12C语言主程序1.禁止总中断2.芯片初始化3.SCI模块初始化4.开放SCI0接收中断5.开放总中断空语句22嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

6.串行中断子函数声明(isr.h)#ifndefISR_H//避免重复定义#defineISR_HvoidISR_Receive(void);//接收中断函数声明void__attribute__((interrupt))ISR_Empty(void);void_start(void);//复位函数(StartCode.s中定义,特殊)//芯片开关总中断的宏定义#defineENABLE_INTERRUPTS__asm__("cli")//开中断#defineDISABLE_INTERRUPTS__asm__("sei")//关中断//开关各模块中断的宏定义//开放或禁止SCI0的接收中断的宏定义#defineEnableSCIReIntSCI0CR2|=0x20//开放SCI0接收中断#defineDisableSCIReIntSCI0CR2&=0xDF//禁止SCI0接收中断#endif

23嵌入式系统--使用HCS12微控制器的设计与应用5.5串行通信通用函数与测试实例5.5.2查询方式收发测试工程

7.串行中断函数(isr.c)//ISR_Receive:SCI0接收中断函数void__attribute__((interrupt))ISR_Receive(void){INT8Ui;INT8USerialBuff[1];//存放接收数据的数组

DISABLE_INTERRUPTS;//关总中断

i=SCIReN(1,SerialBuff);//等待接收1个数据

if(i==0)SCISendN(1,SerialBuff);//发送接到的数据

ENABLE_INTERRUPTS;//开总中断}//ISR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论