- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4DSP原理与应用教案数字IO
《DSP原理与应用》教案(4) 教学课时:4学时 四、数字量I/O模块 4.1 数字量I/O端口概述 F2407系列有多达41个通用、双向的数字量I/O(GPIO)引脚,其中大多数都是基本功能和一般I/O复用引脚。大多数I/O引脚都可用来实现其他功能。 数字量I/O端口模块采用了一种灵活的方法,可实现控制专用I/O和复用I/O引脚的功能。 所有专用I/O和复用I/O引脚的功能都可通过9个16位控制寄存器来设置。可分为两类: ★ I/O端口复用控制寄存器(MCRx) 用来控制选择I/O端口作为基本功能或一般I/O引脚功能。 ★数据和方向控制寄存器(PxDATDIR) 当I/O端口用作一般I/O引脚功能时,用数据和方向控制寄存器可控制数据和双向I/O引脚的数据方向。这些寄存器直接与双向I/O引脚相连。 4.2 数字量I/O端口寄存器 图4-1给出了F2407系列I/O端口复用引脚配置简图。可见寄存器单元的配置与实际I/O引脚的内部结构之间的联系。 表4-1列出了数字量I/O模块可用的寄存器单元。这些寄存器被储存器映射到数据空间,地址为7090h~709Fh。寄存器单元中保留的位是无效的,读时为0,写对其无影响。 表4-1 数字量I/O端口寄存器 地址 存储寄存器 说明 地址 存储寄存器 说明 7090h MCRA I/O端口复用控制寄存器A 709Ch PCDATDIR I/O端口C数据和方向寄存器 7092h MCRB I/O端口复用控制寄存器B 709Eh PDDATDIR I/O端口D数据和方向寄存器 7094h MCRC I/O端口复用控制寄存器C 7095h PEDATDIR I/O端口E数据和方向寄存器 7098h PADATDIR I/O端口A数据和方向寄存器 7096h PFDATDIR I/O端口F数据和方向寄存器 709Ah PBDATDIR I/O端口B数据和方向寄存器 4.2.1 I/O端口复用输出控制寄存器 表4-2 I/O端口复用控制寄存器A(MCRA)配置 表4-2 I/O端口复用控制寄存器A(MCRA)配置(续) 表4-3 I/O端口复用控制寄存器B(MCRB)配置 表4-3 I/O端口复用控制寄存器B(MCRB)配置(续) 表4-4 I/O端口复用控制寄存器C(MCRC)配置 4.2.2 I/O端口数据和方向寄存器 F2407系列共有6个数据和方向控制寄存器(PxDATDIR)。当I/O端口用作通用I/O功能时,用数据和方向控制寄存器可控制数据和到双向I/O引脚的数据方向。这些寄存器直接与I/O引脚相连。当I/O用作基本功能时,这些寄存器的设置对相应的引脚无影响。 4.3 数字量I/O端口应用 4.3.1 I/O端口作为输出 下面的设计是一个F2407与发光二极管的接口电路及应用。用发光二极管作指示灯是控制系统中一种常用的方法。 设计电路如图4-2所示。74HC273用于驱动8个二极管,CLR接F2407的复位引脚,使在复位时74HC273输出为低电平,不点亮发光二极管。F2407的IOPCA3、IOPCA4及IOPCA5分别接74LVC138的A、B及C输入,通过其Y7选通CLK作为74HC273的控制信号。当Y7输出为高时,74HC273的输出有效(即输出信号反映输入的内容);当Y7输出为低时,输出无效(即输入变化时输出不变)。用IOPB端口来控制发光二极管的亮灭(某位为高则相应的LED发光,某位为低则相应的LED熄灭)。编制程序时,通常先向IOPB端口发送需要显示的数据,再通过Y7发送一个脉冲,循环点亮8个发光二极管。 1、汇编程序设计 下面给出的程序用来循环点亮8个发光二极管。在此用软件延时的方法来调节发光二极管的延时间隔。 源程序代码: IOSFT_REG .usect .data0,1 ;要显示的数据寄存器 .include F2407REGS.H ;引用头部文件 .def _c_int0 .text _c_int0: ;相当于主程序的入口 CALL SYSINIT ;调系统初始化程序 LDP #DP_PF2 ;指向7080h~7100h区 LACL MCRA AND #000FFH ;IOPB口配置为一般I/O功能 SACL MCRA LACL MCRA AND #0FF00H ;IOPA 配置为一般I/O功能 SACL MCRA LACL PBDATDIR OR #0FF00H ;IOPB口设置为输出方
文档评论(0)