版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九讲串行接口技术,主要内容: NEC 的单片机内部集成了丰富的串行口资源,如UART,3线串口(SPI),IIC,LIN总线接口,CAN总线接口及USB接口。可以根据需求选择合适的单片机型号用于目标系统的开发。PD78F0547D内部的串口主要包括UART,3线串口(SPI),IIC。 3线串口 UART IIC总线,3线串行接口,3线串行接口,特性 全双工数据通信 可配置主设备或从设备模式 可编程时钟输出 可选择MSB-first或LSB-first方式 可工作在操作停止模式,以降低功耗 3线串行接口CSI引脚描述,3线串行接口的寄存器 (1)发送缓冲寄存器1n (SOTB1n) 用于设置
2、发送数据。允许发送后,通过将数据写入SOTB1n来启动发送/接收操作。 (2)串行I/O移位寄存器1n (SIO1n) 如果串行操作模式寄存器1n (CSIM1n)的第6位(TRMD1n)= 0,则从SIO1n读取数据可启动接收操作。 (3)串行操作模式寄存器1n (CSIM1n) CSIM1n用于选择操作模式、允许或禁止操作。 格式见下页。 (4)串行时钟选择寄存器1n (CSIC1n) 该寄存器规定数据发送/接收的时序,并设置串行时钟。格式见下页。 (5)端口模式寄存器0和1(PM0, PM1) 当P10/SCK10和P04/SCK11用作串行接口的时钟输出引脚时,对PM10和PM04清零
3、,并将P10、P04的输出锁存器的值设置为1。 当P12/SO10和P02/SO11用作串行接口的数据输出引脚时,则对PM12和PM02清零,并将P12和P02的输出锁存器的值设置为0。,3线串行接口,串行操作模式寄存器1n (CSIM1n)的格式:,3线串行接口,串行时钟选择寄存器1n (CSIC1n)的格式:,3线串行接口,NEXT,串行时钟选择寄存器1n (CSIC1n)的格式:,3线串行接口,端口模式寄存器0和1(PM0, PM1)的格式:,3线串行接口,注:根据串行口的定义,要对端口0和1进行相应的设置。,3线串行接口的操作,1停止3线串口的操作 设置串行操作模式寄存器1n(CSIM
4、1n)的第 7位(CSIE1n)为0,停止操作。停止3线串口CSI10的程序示例: CLR1CSIM10.7 23线串口的输入输出操作 设置CSIC1n寄存器 设置CSIM1n寄存器的第0位和第4 6位(CSOT1n、DIR1n、SSE11(仅见于串行接口CSI11)和TRMD1n)。 CSIM1n的第7位(CSIE1n)置1。 允许发送/接收。 将数据写入发送缓冲寄存器1n(SOTB1n)。 启动发送/接收操作。 从串行 I/O移位寄存器1n(SIO1n)中读取数据。 启动数据接收操作。,3-线串口的应用,以A为例,介绍采用3-线串口控制LCD显示的软硬件设计。 12864B2 汉字图形点阵
5、液晶显示模块,可显示汉字及图形,内置8192 个中文汉字(16X16 点阵)、128 个 字符(816 点阵)及64256 点阵显示RAM(GDRAM)。 主要技术参数和显示特性: 电源:VDD 3.3V+5V(内置升压电路,无需负压); 显示内容:128 列 64 行 显示颜色:黄绿 显示角度:6:00 钟直视 LCD 类型:STN 与MCU 接口:8 位或4 位并行/3 位串行 配置LED 背光 多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等 128X64HZ 引脚说明,接口时序,接口时序,串行数据传送共分三个字节完成: 第一字节:串口控制格式 11111ABC A 为数据传送方
6、向控制:H 表示数据从LCD 到MCU,L 表示数据从MCU 到LCD B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控制指令 C 固定为0 第二字节:(并行)8 位数据的高4 位格式 DDDD0000 第三字节:(并行)8 位数据的低4 位格式 0000DDDD 串行接口时序参数:(测试条件:T=25 VDD=4.5V) 串行时钟主要参数要求:时钟频率:470590KHz,典型值:530KHz;占空比:4555,典型值:50;上升/下降沿时间:最大0.2us,LCD与微控制器的硬件接口设计,软件设计,软件的功能是在LCD上以4行的形式显示:横看成岭竖成峰,远近高低各不同。不知庐山
7、真面目,只源身在此山中。 MainCSEGCSEG Main: CALL!SEL_LCD CALL!LCD_INIT Main00: MOVT500ms_counter,#250 CALL!DELAY_500ms;延时500MS MOVWHL,#DISP_CODE MOVCOMMAND,#80H;第1行 CALL!DISP MOVT500ms_counter,#250 CALL!DELAY_500ms;延时500MS INCWHL MOVCOMMAND,#90H;第2行 CALL!DISP,MOVT500ms_counter,#250 CALL!DELAY_500ms;延时500MS INCW
8、HL MOVCOMMAND,#88H;第3行 CALL!DISP MOVT500ms_counter,#250 CALL!DELAY_500ms;延时500MS INCWHL MOVCOMMAND,#98H;第4行 CALL!DISP BR$Main00 DISP字函数的功能: (1) 发送命令字节 (2) 发送数据字节;一个程序循环完成一个显示字节的发送, 循环DISP显示直至检测到00H或20H,完成一行信息的显示,返回。,IIC,I2C总线接口,特性 标准I2C总线接口 可配置为主设备、从设备模式 可编程时钟 双向数据传输 支持多主设备 从设备能够通过硬件自动地检测接收到的状态和数据 引
9、脚描述,串行总线配置举例,I2C接口的寄存器,IIC移位寄存器0(IIC0) IIC0 用于8位串行数据和8位并行数据的相互转换,并且和串行时钟同步。IIC0可以用来发送和接收数据。格式如下:,I2C接口的寄存器,从设备地址寄存器0(SVA0) 该寄存器用于在从设备模式下存储本地地址。但是当STD0=1时,禁止重写该寄存器(当检测到起始条件时)格式如下:,I2C接口的寄存器,IIC 控制寄存器0 (IICC0) 这个寄存器用于允许/停止I2C 的操作、设置等待时间和设置I2C 的其他操作。格式如下:,I2C接口的寄存器,IIC 控制寄存器0 (IICC0),I2C接口的寄存器,IIC 控制寄存
10、器0 (IICC0),I2C接口的寄存器,IIC 控制寄存器0 (IICC0),I2C接口的寄存器,IIC 控制寄存器0 (IICC0),I2C接口的寄存器,IIC 控制寄存器0 (IICC0),I2C接口的寄存器,IIC状态寄存器0 (IICS0) 此寄存器用于表示I2C的状态。仅当STT0 = 1且在等待期间,才能通过1位或8位存储器操作指令读取IICS0。 格式如下:,I2C接口的寄存器,IIC状态寄存器0 (IICS0),I2C接口的寄存器,IIC状态寄存器0 (IICS0),I2C接口的寄存器,IIC状态寄存器0 (IICS0),I2C接口的寄存器,IIC状态寄存器0 (IICS0)
11、,I2C接口的寄存器,IIC标志寄存器0 (IICF0) 此寄存器用于设置I2C的操作模式,并指示I2C 总线的状态。格式如下:,I2C接口的寄存器,IIC标志寄存器0 (IICF0),I2C接口的寄存器,IIC 时钟选择寄存器0 (IICCL0) 此寄存器用来为I2C总线设置传送时钟。,I2C接口的寄存器,IIC 时钟选择寄存器0 (IICCL0),I2C接口的寄存器,IIC功能扩展寄存器0 (IICX0) 此寄存器用于设置I2C的功能扩展。,I2C 传送时钟设置方法,I2C接口的寄存器,端口模式寄存器6 (PM6) 此寄存器可以按位设置端口6的输入/输出操作模式。 当P60/SCL0引脚用
12、于时钟 I/O同时将P61/SDA0 引脚用于串行数据 I/O时,将PM60和PM61清零,且将P60和P61的输出锁存器清零。 在设置输出模式之前应将IICE0 (IIC控制寄存器0 (IICC0)的第7位)设为1,这是因为当IICE0为0时,P60/SCL0 和P61/SDA0引脚输出低电平(恒定)。可由1位或8位存储器操作指令设置PM6。格式如下:,I2C总线定义和控制方法,下图显示了通过I2C串行数据总线的“起始条件”, “地址”, “数据”和“停止条件”等信号输出时的传送时序。,1.起始条件,SCL0引脚处于高电平且SDA0引脚从高电平变为低电平时,满足起始条件。当启动串行传送时,S
13、CL0引脚和SDA0引脚的起始条件是由主设备产生并发给从设备的信号。当使用从设备时,可以检测到起始条件。,2.地址,地址由起始条件之后的7位数据指定。一个地址是一个输出的7位数据段,用于选择一个通过总线与主设备相连的从设备。因此,通过总线相连的每个从设备必须有一个唯一的地址。 从设备包括具有以下功能的硬件:检测起始条件,检查7位地址数据是否与存储在从设备地址寄存器0(SVA0)中的数据相匹配。,传送方向指示,除了7-位地址数据之外,主设备还发送1位数据用于指示传送方向。 当传送方向指示位的值为“0”时,表示主设备正向从设备传送数据。当传送输方向指示位的值为“1”时,表示主设备正接收来自从设备的
14、数据。,4应答信号 (ACK),ACK信号用于检测处于发送方和接收方的串行数据的状态。,5停止条件,SCL0引脚处于高电平时,将SDA0引脚从低电平变为高电平可以产生一个停止条件。 停止条件是一个信号,它在串行传送操作结束时由主设备产生并发送给从设备。当作为从设备使用时,可以检测到停止条件。,6等待,等待状态用来通知通信另一方,设备(主设备或从设备)正准备发送或者接收数据(即处于等待状态)。 主设备也能通过以下任何一种方法取消等待状态。 通过把IICC0的第1位(STT0)设为1 通过把IICC0的第0位(SPT0)设为1,7取消等待,I2C通常通过如下处理方式取消一个等待状态。 把数据写入I
15、IC移位寄存器0(IIC0) 设置IIC控制寄存器0(IICC0) 的第 5位(WREL0) (取消等待) 设置 IICC0寄存器的第1位 (STT0) (产生起始条件,仅用于主设备) 设置IICC0寄存器的第0位 (SPT0) (产生停止条件,仅用于主设备),8地址匹配的检测方法,在I2C 总线模式下,主设备可以通过发送的从设备地址来选择指定的从设备。 可以通过硬件自动检测到地址匹配。当将一个本地地址设置到从设备地址寄存器0(SVA0)中且该地址与主设备发送的从设备地址匹配时,或者接收到扩展码时,都将产生一个中断请求(INTIIC0)。,9错误检测,I2C总线模式下,在数据发送期间通过发送设
16、备的IIC移位寄存器(IIC0)捕获串行数据总线(SDA0) 的状态,因此发送前的IIC0数据可以用来和已发送的IIC0数据比较,以此来实现对发送错误的检测。当比较值不匹配时,可以判断存在一个发送错误。,10扩展码,(1) 当接收地址的高4位为 “0000”或“1111”时,代表接收到扩展码的扩展码接收标志(EXC0)被设为1,并且在第8个时钟的下降沿产生中断请求(INTIIC0)。而存放在从设备地址寄存器0(SVA0)中的本地地址不受影响。 (2) 如果由一个10位地址传送设置SVA0为“111100”且主设备传送的值为“111100”,则其结果如下所示。注意在第8个时钟的下降沿产生INTI
17、IC0。 数据的高4位匹配: EXC0 = 1 (IIC状态寄存器0(IICS0)的第5位) 7位数据匹配: COI0 = 1 (IIC状态寄存器0(IICS0)的第4位) (3) 由于中断请求发生之后的处理过程随扩展码之后的数据而有所不同,因此这样的处理过程由软件来执行。,11唤醒功能,I2C总线从设备唤醒功能是,在接收到本地地址及扩展码时产生一个中断请求信号(INTIIC0)。 此功能通过在地址不匹配时禁止产生不必要的INTIIC0信号,使处理更加有效。,12通信操作,(1) 主设备操作 (单主设备系统) (2) 从设备操作,12通信操作 - (2) 从设备操作,设置以下3个标志,并传递给
18、主程序,这样可以执行数据通信处理过程。 通信模式标志 此标志指示下列两种通信状态。 清除模式: 未进行数据通信 通信模式: 进行数据通信(从有效地址检测到停止条件检测,不检测来自主设备的ACK信号,地址不匹配) 准备标志 此标志表示允许进行数据通信。它的功能和普通数据通信的INTIIC0中断相同。通过中断服务可以设置此标志,通过主程序可以将该标志清零。通信启动时,可由中断服务将此标志清零。但是,在发送第一个数据时不能由中断服务设置准备标志。因此,发送第一个数据时该标志未清零 (认为地址匹配是下一个数据发送请求)。 通信方向标志 此标志指示通信方向。它的值与TRC0相同。,IIC应用示例,利用P
19、D78F0547D的P62引脚连接CAT24WC02的WP引脚,用于写保护控制;I2C总线的SCL0,SDA0分别与EEPROM的SCL,SDA连接,构成串行时钟和数据总线的控制通道。,IIC应用示例,软件设计 下面以最复杂的页写和顺序读为例说明EEPROM读写控制的软件设计。程序名及功能描述见下表,UART,UART总线接口,特性 最大传输率:312.5kbps 双引脚配置:TXD0: 发送数据输出引脚 RXD0: 接收数据输入引脚 可选择通信数据的宽度为7 或 8位。 专用内置5位波特率发生器,允许设置任意大小的波特率。 可分别执行发送和接收操作(全双工操作)。 恒为LSB-first通信
20、,引脚描述,UART0串行接口的寄存器,接收缓冲寄存器0 (RXB0) 接收移位寄存器0 (RXS0) 发送移位寄存器0 (TXS0) 异步串行接口操作模式寄存器0 (ASIM0) 异步串行接口接收错误状态寄存器0 (ASIS0) 波特率发生器控制寄存器0 (BRGC0) 端口模式寄存器1 (PM1),串行接口UART0的操作,(1)使用的寄存器 异步串行接口操作模式寄存器 0 (ASIM0) 异步串行接口接收错误状态寄存器 0 (ASIS0) 波特率发生器控制寄存器0 (BRGC0) 端口模式寄存器1 (PM1) 端口寄存器1 (P1) 在UART模式中设置操作的基本过程如下。 设置BRGC
21、0寄存器. 设置ASIM0的14位 (SL0、CL0、PS00和PS01)。 将ASIM0的第7位(POWER0)置1。 将ASIM0的第6位 (TXE0)置1。 允许发送。 将ASIM0的第 5位 (RXE0)置 1。 允许接收。 对TXS0寄存器赋值。 开始发送数据。,UART0操作示例,UART0的初始化示例 UART0初始化,启动控制,停止控制: (1)基本时钟:fXCLK0=250KHz(fx=8MHz);K=13;波特率=9600KHz(波特率=fXCLK0/2K) (2)7位数据,无校验位,1位停止位 (3)内部操作时钟禁止,D_ASIM0 EQU00H; D_BRGC0EQU
22、11001101B UART0_INIT: MOVBRGC0,#D_BRGC0; MOVASIM0,#D_ASIM0; CLR1PM1.0 SET1PM1.1 SET1P1.0 RET,UART0操作示例,UART0的启动示例,UART0_START:;只发送 SET1ASIM0.7 NOP NOP SET1ASIM0.6 RET,UART0操作示例,UART0的停止示例,UART0_STOP: CLR1ASIM0.6 NOP NOP CLR1ASIM0.7 RET,通信操作,(a)正常发送/接收数据的格式,一个数据帧由以下各位组成。 起始位 . 1位 字符位 . 7 或 8 位 (LSB-first) 校验位 . 偶校验、奇校验、零校验或无校验 停止位 . 1或2位,通信操作,(b)发送 当异步串行接口操作模式寄存器0(ASIM0)的第7位(POWER0)=1且ASIM0的第6位(TXE0)=1时,允许发送。将待发送数据写入发送移位寄存器0(TXS0),可启动发送操作。起始位、校验位和停止位会自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑维护管理练习题及答案展示
- 思想道德期末测评试题与答案
- 食品物理检验习题及答案展示
- 教师年度个人述职报告集锦(20篇)
- 景区服务礼仪测试题与答案解析
- 金蝶综合笔试题库及答案解析
- 2025-2026学年弓长岭区四年级数学第二学期期中学业水平测试模拟试题含答案解析
- 钢结构彩板泛水密封厚度管控施工工艺
- 2025-2026学年山东省滨州市沾化区四年级数学第二学期期中达标检测试题(含答案)
- 文化素养测试试卷及答案
- 2026年公共卫生与卫生政策法规知识测试
- 2026年澜沧现代农业发展集团有限责任公司社会招聘(5人)考试备考题库及答案详解
- DL-T 5220-2021《10kV及以下架空配电线路设计规范》
- 2026年上海高考英语考试试题(含答案)
- 2026年高考四川卷化学高考真题试题(含答案)
- 安全生产事故案例警示课件
- QC/T 1258-2025汽车用蜗杆传动式软管夹箍弹簧内衬补偿型
- 瑜伽馆内部制度
- 行政事业单位差旅费培训
- 北京邮电大学《量子力学》2024 - 2025 学年第一学期期末试卷
- 备自投培训教学课件
评论
0/150
提交评论