第6章数字IO模块.ppt_第1页
第6章数字IO模块.ppt_第2页
第6章数字IO模块.ppt_第3页
第6章数字IO模块.ppt_第4页
第6章数字IO模块.ppt_第5页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

第6章 数字输入 输出模块 I O 6 1数字I O端口概述6 2数字I O端口寄存器6 3I O端口应用 6 1数字I O端口概述 数字I O脚有专用和复用之分 其功能可通过9个16位控制寄存器来控制 控制寄存器分为两类 I O复用控制寄存器 MCRx 用来选择I O脚是片内外设功能还是通用I O功能 数据方向控制寄存器 PxDATDIR 用来控制双向I O脚的数据传送方向 注意 上述数字I O脚是通过控制寄存器 映射在数据存储器空间 来控制的 与器件的I O空间无任何关系 LF240 x系列DSP多达41只I O引脚 大部分是复用的 6 2数字I O寄存器 I O复用引脚的结构见图6 1 由图可看出复用I O引脚如何来实现引脚功能选择和数据传送方向选择的 图6 1复用引脚配置图 6 2数字I O寄存器 表8 1 P151 列出了与I O模块有关的寄存器 地址为 7090h 709Fh注意 映射到数据存储器空间 当复用I O脚无论是被配置为外设功能还是为通用I O时 引脚的状态都可通过读I O数据寄存器来获取 保留位是不可操作的 读出为0 写入对它无影响 6 2数字I O寄存器 表6 1数字I O控制寄存器地址 6 2数字I O寄存器 I O口复用输出寄存器LF240 x 240 xA具有3个I O端口复用控制寄存器 MCRA MCRB MCRC 1 I O端口复用控制寄存器A MCRA 映射地址 7090h 其配置见表8 2 P152 6 2数字I O寄存器 6 2数字I O寄存器 2 I O端口复用控制寄存器B 映射地址 7092h 其配置见表8 3 P153 注意 MCRB 9 MCRB 15必须配置成1 其为系统的专用引脚 用作与硬件仿真器接口 JTAG 相连 实现DSP的在线仿真功能 对其写0会引起不可预测的结果 6 2数字I O寄存器 6 2数字I O寄存器 3 I O端口复用控制寄存器C MCRC 映射地址 7094h 其配置见表8 4 P154 6 2数字I O寄存器 6 2数字I O寄存器 I O口数据和方向寄存器6个数据和方向控制寄存器 PXDATDIR 包含两个功能位 1 I O方向位 如果引脚被选择了通用I O 方向位决定了是输入 0 还是输出 1 2 I O数据位 如果引脚被选择了通用I O 当方向选为输入 则可从该位上读取数据 当方向选为输出 则可向该位写入数据 如I O端口被选择作通用I O引脚 数据和方向控制寄存器可以控制数据和I O引脚的数据方向 如I O端口被选择作外设功能时 数据和方向控制寄存器的设置对相应的引脚无影响 6 2数字I O寄存器 1 端口A数据和方向控制寄存器 PADATDIR 地址 7098h位15 8 AnDIRPA7 PA0的数据方向0 相应引脚配置为输入1 相应引脚配置为输出位7 0 IOPA7 IOPA0如果AnDIR 0 引脚配置为输入0 相应引脚的电平读为低电平1 相应引脚的电平读为高电平如果AnDIR 1 引脚配置为输出0 设置相应引脚 使其输出信号为低电平时有效1 设置相应引脚 使其输出信号为高电平时有效如果I O端口用作通用I O 则必须对数据和方向寄存器进行初始化设置 为输入还是输出 6 2数字I O寄存器 2 端口B数据和方向控制寄存器 PBDATDIR 地址 709Ah位15 8 BnDIRPB7 PB0的数据方向0 相应引脚配置为输入1 相应引脚配置为输出位7 0 IOPBn如果BnDIR 0 引脚配置为输入方式 0 相应引脚的电平读为低电平1 相应引脚的电平读为高电平如果BnDIR 1 引脚配置为输出0 设置相应引脚 使其输出信号为低电平时有效1 设置相应引脚 使其输出信号为高电平时有效 6 2数字I O寄存器 3 端口C数据和方向控制寄存器 PCDATDIR 地址 709Ch位15 8 CnDIRPC7 PC0的数据方向0 相应引脚配置为输入1 相应引脚配置为输出位7 0 IOPCn如果CnDIR 0 引脚配置为输入方式 0 相应引脚的电平读为低电平1 相应引脚的电平读为高电平如果CnDIR 1 引脚配置为输出0 设置相应引脚 使其输出信号为低电平时有效1 设置相应引脚 使其输出信号为高电平时有效 6 2数字I O寄存器 4 端口D数据和方向控制寄存器 PDDATDIR 地址 709Eh位15 9 保留位8 D0DIR0 相应引脚配置为输入1 相应引脚配置为输出位7 1 保留位0 IOPD0如果D0DIR 0 引脚配置为输入方式 0 相应引脚的电平读为低电平1 相应引脚的电平读为高电平如果D0DIR 1 引脚配置为输出0 设置相应引脚 使其输出信号为低电平时有效1 设置相应引脚 使其输出信号为高电平时有效 6 2数字I O寄存器 5 端口E数据和方向控制寄存器 PEDATDIR 地址 7095h位15 8 EnDIRPE7 PE0的数据方向0 相应引脚配置为输入1 相应引脚配置为输出位7 0 IOPEn如果EnDIR 0 引脚配置为输入方式 0 相应引脚的电平读为低电平1 相应引脚的电平读为高电平如果EnDIR 1 引脚配置为输出0 设置相应引脚 使其输出信号为低电平时有效1 设置相应引脚 使其输出信号为高电平时有效 6 2数字I O寄存器 6 端口F数据和方向控制寄存器 PFDATDIR 地址 7096h位15 保留位14 8 FnDIRPF6 PF0的数据方向0 相应引脚配置为输入1 相应引脚配置为输出位7 保留位7 0 IOPFn如果FnDIR 0 引脚配置为输入方式 0 相应引脚的电平读为低电平1 相应引脚的电平读为高电平如果FnDIR 1 引脚配置为输出0 设置相应引脚 使其输出信号为低电平时有效1 设置相应引脚 使其输出信号为高电平时有效 6 2数字I O寄存器 数字I O端口配置实例配置 选择I O引脚的功能 且设置I O引脚的方向 I O配置实例程序 6 3I O端口应用 1 I O端口作为输出使用I O端口输出8个信号 这8个信号分别连接到8个LED 硬件接口电路如图6 2 P102 所示 输出引脚与LED之间接一触发器74HC273 来实现对LED的驱动 在此使用IOPB作为输出信号来控制发光二极管的亮灭 而IOPF2作为选通74HC273的输出信号 图6 2TMS320LF2407与LED接口电路 6 3I O端口应用 下面的实例程序实现对8个LED的循环驱动 即LED循环发光LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8 LED1 1 主程序IOSFT REG usect data0 1 要显示的数据寄存器 include F2407REGS H 引用头部文件 def c int0 text c int0 相当于主程序的入口CALLSYSINIT 调系统初始化程序LDP DP PF2 指向7080h 7100h区LACLMCRAAND 000FFH IOPB口配置为一般I O功能SACLMCRALACLMCRCAND 0FBFFH IOPF2配置为一般I O功能SACLMCRCLACLPBDATDIROR 0FF00H IOPB口设置为输出方式SACLPBDATDIROR 0FF00H IOPB口设置为输出方式SACLPBDATDIR 6 3I O端口应用 LDP 5H 指向0280h 0300h区SPLK 01H IOSFT REG 给显示的数据赋初值LOOP LDP DP PF2LACLPFDATDIROR 0404H IOPF2设置为输出方式 且IOPF2 1SACLPFDATDIR 开74HC273片选信号LDP 5HLACLIOSFT REGLDP DP PF2SACLPBDATDIR 送要显示的数据到IOPB口LACLPFDATDIRAND 0FFFBH IOPF2 0SACLPFDATDIR 关74HC273片选信号CALLDELAY 调延时程序LDP 5HLACLIOSFT REGSFL 左移一位SACLIOSFT REGBITIOSFT REG BIT8 判是否循环完一次 即已点亮第8个发光二极管BCNDLOOP1 TCBWAITLOOP1 LDP 5HSPLK 01H IOSFT REG 如循环完一次则显示数据赋初值WAIT NOPBLOOP 6 3I O端口应用 2 系统初始化程序SYSINIT SETCINTMCLRCSXMCLRCOVMCLRCCNF B0被配置为数据存储空间LDP 0E0HSPLK 81FEH SCSR1 CLKIN 6M CLKOUT 24MSPLK 0E8H WDCR 不使能WDTLDP 0SPLK 0000H IMR 不使能SPLK 0FFFFH IFR 清全部中断标志RET 6 3I O端口应用 3 软件延时程序DELAY MAR AR4LARAR4 0FFFEHLARAR0 00HDELAY1 SBRK 1NOPCMPR00BCNDDELAY1 NTCRET 6 3I O端口应用 1 I O端口作为输入和输出使用键盘的响应作为I O端口的输入 用I O端口的输出点亮发光二极管 硬件接口电路如图6 3 P104 所示 用查询的方式读取键值 当K1键按下时 点亮发光二极管 K1键对应的I O输入引脚为IOPF3 在IOPF3作通用I O输入的情况下 如K1键按下则端口F数据和方向控制寄存器 PFDATDIR 的第3位为0 经过延时消抖动后如PFDATDIR 3仍为0则表示K1键按下 图6 3TMS320LF2407与键盘 LED接口电路 6 3I O端口应用 下面的实例程序实在前面程序的基础上添加了键盘输入程序 仅给出通用I O作为输入时的初始化和读键盘程序 1 初始化程序IOINIT 添加在前面程序的大循环 LOOP 之前就行了LDP DP PF2LACLMCRCAND 0F7FFH IOPF3配置为一般的I O口SACLMCRCLACLPFDATDIRAND 0F7FFH IOPF3为输入方式SACLPFDATDIRRET 6 3I O端口应用 2 读K1键程序READKEY 添加在前面程序的大循环LOOP 之后就行了LDP DP PF2LACLPFDATDIR 取出键值PFDATDIR 3SACLKEYDA

温馨提示

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

评论

0/150

提交评论