合工大S12X单片机原理5_第1页
合工大S12X单片机原理5_第2页
合工大S12X单片机原理5_第3页
合工大S12X单片机原理5_第4页
合工大S12X单片机原理5_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理Microcontrollers

Principles

MC9S12单片机原理及嵌入式应用开发技术4/2/2024

单片机原理MicrocontrollersPrincipl1串行口6.3SCI模块串行通信标准TTL标准:用+5V电平表示逻辑“1”,用0V电平表示逻辑“0”,这里采用的是正逻辑。RS232标准:用-3~-15V之间的任意电平表示逻辑“1”,用+3~+15V之间的任意电平表示逻辑“0”,这里采用的是负逻辑。RS485标准:用+2~+6V表示逻辑“1”,用-6~-2V表示逻辑“0”。20mA电流环标准:线路中存在20mA电流表示逻辑“1”,不存在20mA电流表示逻辑“0”。RS232standard串行口6.3SCI模块串行通信标准TTL标准:用+2串行口6.3SCI模块串行通信标准RS232standard简化的9芯D型接头信号定义(硬件流量控制)串行口6.3SCI模块串行通信标准RS232st3串行口6.3SCI模块串行通信标准TTLlevelvs.RS232level串行口6.3SCI模块串行通信标准TTLleve4串行口6.3SCI模块串行通信标准TTLlevelvs.RS232level串行口6.3SCI模块串行通信标准TTLleve5串行口6.3SCI模块串行通信标准RS232通信图6-6MCU和PC之间的全双工串行通信连接串行口6.3SCI模块串行通信标准RS232通信6串行口6.3SCI模块串行通信标准RS485通信图6-7RS485转换及应用RS485通信采用半双工通信方式!串行口6.3SCI模块串行通信标准RS485通信7串行口6.3SCI模块数据位识别RS232通信通信双方有约定的通信速率(波特率),接受端在其时钟上升沿采样数据线电平,以识别数据位的高低状态。接受端在总线进入空闲状态后,通过监测下降沿,启动对起始位的判断,从而开始整个数据帧的接受。偶校验:所有数据位和校验位中,1的数目是偶数;奇校验:所有数据位和校验位中,1的数目是奇数LSB-LeastsignificantbitMSB-Mostsignificantbit串行口6.3SCI模块数据位识别RS232通信通8串行口6.3SCI模块SCI模块的结构及功能SCI系统功能全双工或单线运行。标准标记/空间非返回到零(NRZ)格式。可选的IrDA1.4回归到零倒置(RZI)格式,可编程脉冲宽度。13位的波特率选择。5)可编程8位或9位数据格式。图6-19SCI模块的结构串行口6.3SCI模块SCI模块的结构及功能SCI9串行口6.3SCI模块SCI模块的结构及功能SCI发送和接收功能可编程的极性,发送和接收。两个接收唤醒方法:空闲线唤醒;地址标志唤醒。中断驱动操作与标志:

发送器空;传输完成;接收器满;空闲的接收器输入;接收器溢出;噪声误差;帧错误;奇偶校验错误收到积极边缘唤醒;发送碰撞检测支持LIN;接收帧错误检测。硬件奇偶校验。1/16位的噪声检测。图6-20SCI数据传输串行口6.3SCI模块SCI模块的结构及功能SCI10串行口6.3SCI模块SCI模块寄存器数据发送时方框图TxdataregisterTxclockRegShiftregisterInterruptrequestRegControllogicParityReg串行口6.3SCI模块SCI模块寄存器数据发送时方11串行口6.3SCI模块SCI模块寄存器数据接收时方框图RxdataregisterRxclockRegShiftregisterInterruptrequestRegControllogic串行口6.3SCI模块SCI模块寄存器数据接收时方12串行口6.3SCI模块SCI模块寄存器SCIBH/L-SCIBaudRateControlRegister必须连续写入BDH和BDL寄存器,仅仅写入BDH没有作用!Busclock1~8191例1:假如busclock为24MHz,要求波特率为9600bps,BR=?

BDH=?BDL=?例2:假如busclock为19.6608MHz,要求波特率为9600bps,BR=?

BDH=?BDL=?串行口6.3SCI模块SCI模块寄存器SCIBH/13串行口6.3SCI模块SCI模块寄存器SCCR1-SCIControlRegister1AddressOffset:$0002LOOPS-LoopSelectBit,0Normaloperationenabled;1LoopoperationenabledSCISWAI-SCIStopinWaitmode,0Normaloperation;1SCIDisabledinWaitmodeRSRC-ReceiverSourceBit,0Receiverinputinternallyconnectedtotransmitteroutput; 1ReceiverinputconnectedexternallytotransmitterM-DataFormatModeBit,0Onestartbit,eightdatabits,onestopbit; 1Onestartbit,ninedatabits,onestopbitWAKE-WakeupConditionBit,0Idlelinewakeup;1AddressmarkwakeupILT-IdleLineTypeBit,0Idlecharacterbitcountbeginsafterstartbit; 1IdlecharacterbitcountbeginsafterstopbitPE-ParityEnableBit,0Parityfunctiondisabled;1ParityfunctionenabledPT-ParityTypeBit,1Evenparity;1Oddparity串行口6.3SCI模块SCI模块寄存器SCCR114串行口6.3SCI模块SCI模块寄存器SCCR2-SCIControlRegister2AddressOffset:$0003TIE-TransmitterInterruptEnable,1=TransmitterIRQEnabled;0=TransmitterIRQDisabledTCIE-TransmitCompleteInterruptEnable,1=TransmitterCompleteIRQEnabled; 0=TransmitterCompleteIRQDisabledRIE-ReceiverInterruptEnable,1=ReceiverIRQEnabled;0=ReceiverIRQDisabledILIE-IdleLineInterruptEnable,1=IDLEIRQEnabled;0=IDLEIRQDisabledTE-TransmitterEnable,1=TransmitterEnabled;0=TransmitterDisabledRE-ReceiverEnable,1=ReceiverEnabled;0=ReceiverDisabledRWU-ReceiverWake-up,1=EnterReceiverWake-UP;0=ExitReceiverWake-UPSBK-SendBreak,1=SendBreak;0=TerminateBreak串行口6.3SCI模块SCI模块寄存器SCCR215串行口6.3SCI模块SCI模块寄存器SCISR1-SCIStatusRegister1BRK13-BreakTransmitCharacterLength,0=BreakCharis10or11bitslong;1=BreakCharis13or14bitlongTXDIR-Transmitterpindirection,0=TxDpinisinputinSingle-Wiremode;1=TxDpinisoutputinSingle-WiremodeRAF-ReceiverActiveStatus,1=ReceiverActive;0=ReceivernotActiveRDRF:ReceivedataRegisterFullTC:TransmitCompleteTDRE:TransmitdataregisteremptySCISR2-SCIStatusRegister2串行口6.3SCI模块SCI模块寄存器SCISR16串行口6.3SCI模块SCI模块寄存器SCIDRH/L-SCIDataRegisterHigh/LowNote:1、R8andT8areusedwhen9-bitcharisrequired2、sameregisterforbothtransmitdataandreceivedata串行口6.3SCI模块SCI模块寄存器SCIDRH17串行口6.3SCI模块SCI通信编程串行口初始化与收发编程的基本方法

(1)SCI查询方式发送数据

(2)SCI查询接收

(3)SCI查询方式自发自收

(4)中断方式发送

(5)中断方式接收查询方式串行口6.3SCI模块SCI通信编程串行口初始化与18串行口6.3SCI模块SCI通信编程串行口初始化与收发编程的基本方法——查询方式

SCI初始化

发送一个数据与接收一个数据

串行口6.3SCI模块SCI通信编程串行口初始化与19串行口6.3SCI模块SCI通信编程串行口初始化与收发编程的基本方法——中断方式

关总中断;芯片初始化;SCI模块初始化;开总中断。Main程序的主循环(Loopforever)写中断向量表,例如:InterruptVectorTable[]@0xFF10

温馨提示

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

评论

0/150

提交评论