第6章: 数字输入/输出模块(I/O) 6.1 数字I/O端口概述 6.2 数字I/O端口寄存器 6.3 I/O端口应用.

Slides:



Advertisements
Similar presentations
H T U 報告者:周振聰 僑生處 主任. h T U 免會考成績入學 h T U 未來望 您想學 一技之長嗎 ? 歡迎參加莊敬建教班 不但三年免學費,且 保證讓您學到一技之 長,脫離貧窮,邁向 光明的人生 免試入學.
Advertisements

機械製造 II 第 11 章 特殊加工 Ch11 特殊加工 塑膠加工 電積成型 金屬塗層 特殊切削加工.
厅直属单位卫生科技工作 座谈会 卫生高级专业技术资格申报评审 政策解读和工作要求
桃園地景藝術節 最近桃園在舉辦桃園地景藝術節,種共有五大主題區, 分別是:黃色小鴨展區、巨型蓮花展區、草間點點展區、范姜 古厝展區、新屋水巷展區。那這些景點到底個展覽什麼呢?讓 我們繼續看下去 …… 。
4-2 、聚落的演變 人口的分布 自然環境特性、交通便利性及就業 機會等因素,常影響人們對於居住地點 的選擇。 臺灣西部地區的平原和盆地,地勢 較為低平、開發較早,在肥沃的土壤、 便捷的交通網路等有利的條件下,工商 業往來頻繁,人口較為密集。
2015年工作总结及2016年工作计划 建筑环境与能源应用工程系 2015年1月6日.
《单片机原理及应用》 《微型计算机原理及接口技术 》 授课专业:测控13级 授课学时: 78 学时 理论教学:52学 实验教学:26学时
概率.
农学院 学年 工作总结及下学年重点工作.
嵌入式系统与单片机 北京科技大学电子信息系.
加快培育和发展战略性新兴产业 科技部调研室 胥和平
2014年语言文字工作总结 党委学生工作部 2014年12月5日.
上海交通大学附属中学 李由 晏敏宽 刘华典 指导老师:朱乔荣 徐忠惠 制作:李由
第1节 压强.
第3章: 產業與競爭環境 張緯良 世新大學資訊管理系.
2013年临床科室述职报告.
5.5可行性分析 可行性分析的概念 策略可行性分析 操作可行性分析 回报可行性分析.
中国博士后科学基金 交流体会.
第二章 项目一:企业厂区与车间平面设计 1.
正确保养皮肤的原则 皮肤的保养要依肤质进行 皮肤保养要分区进行 根据季节变化适时调整保养计划 依据年龄进行皮肤保养 肌肤保养还要分时进行
文明建设,气象先行 ——农安县气象局 2.
荆楚理工学院 申请学士学位授权单位 自 评 报 告 荆楚理工学院:吴麟章
滑雪美食街 組員:林韋伶、張雅弦、王佑盛、朱坤賢.
汪清县气象局创建省级文明单位工作展示 2016年8月
第七章 固定资产 第一节 固定资产概述 第二节 固定资产的确认和初始计量 第三节 固定资产的后续计量 第四节 固定资产清查与期末计价
榕桥中学 校园文化建设情况汇报.
臺北科技大學 新進人員研習  研究發展處 宣導資料.
心理的力量 --兼谈教师心理压力的调适
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
2016年上半年工作汇报 后勤与保卫管理处 二○一六年七月.
多通道音頻信號處理 (DTMF decoders)
題目:LED電子數位時鐘 第 二組 組員: 陳柏霖 李育昇.
第四章 指令系统及汇编语言程序设计.
项目2 2个LED发光二极管控制 知识与能力目标 熟悉单片机的I/O口功能与特性。
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第十章 C8051F系列SOC单片机 10.1 C8051F系列单片机简介 C8051F单片机结构及原理.
第9章 串行扩展技术 (课时:6学时).
六种耐低温高分子材料的分析、选择、改性 项目25.
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
第14章 单片机应用系统抗干扰 与可靠性设计 1.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
第七章 MCS-51系统扩展 一、程序存储器扩展
第5章 输入输出与接口技术.
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
第8章 PCH中的常规接口.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
9.1 家用电器.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
「前世的五百次回眸換得今生的一次擦肩而過」~席慕蓉 有緣千里來相聚 歡迎學弟妹來到經國建研所
第四章 指令系统及汇编语言程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
世外桃源~ 劍 潭 里 零碳排放里.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
单片机原理与应用 主讲人:张荣刚 福建师范大学福清分校.
第3章 TMS320LF240 x的CPU功能模块和时钟模块
第三章 计算机系统的组成与工作原理.
2. MCS-51单片机的组成及结构分析 2.1 MCS-51单片机的内部结构及结构特点
注册建造师 《市政公用工程管理与实务》 环球网校 白老师 每个PPT都有对应的头和尾 PPT头包含内容:
相片典藏 臺北市立弘道國中總務處 防災校園建置計畫補助-個人防護具 品 名 數 量 30 4 工作手套 72 6 簡易雨衣 300
温度传感器DS18B20 MCU起航 QQ:
LED 旋转屏 制作:刘致先 指导老师:程智宾 单位:福建信息职业技术学院.
单片机原理及应用 (C语言版) 第8章 单片机系统扩展
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
「同根同心」- 交流計劃 廣州及珠三角經濟發展兩天考察團 2016
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
单片机原理及接口技术 前修课程:数模电、微机原理.
Presentation transcript:

第6章: 数字输入/输出模块(I/O) 6.1 数字I/O端口概述 6.2 数字I/O端口寄存器 6.3 I/O端口应用

6.1 数字I/O端口概述 数字I/O脚有专用和复用之分。其功能可通过9个16位控制寄存器来控制。控制寄存器分为两类: I/O复用控制寄存器(MCRx),用来选择I/O脚是片内外设功能还是通用I/O功能; 数据方向控制寄存器(PxDATDIR):用来控制双向I/O脚的数据传送方向。 注意:上述数字I/O脚是通过控制寄存器(映射在数据存储器空间)来控制的,与器件的I/O空间无任何关系。 LF240x系列DSP多达41只I/O引脚,大部分是复用的。

6.2 数字I/O寄存器 I/O复用引脚的结构见图6.1。由图可看出复用I/O引脚如何来实现引脚功能选择和数据传送方向选择的。 图6.1复用引脚配置图 3

6.2 数字I/O寄存器 表6.1(P97)列出了与I/O模块有关的寄存器,地址为:7090h-709Fh 注意: 映射到数据存储器空间。 当复用I/O脚无论是被配置为外设功能还是为通用I/O时,引脚的状态都可通过读I/O数据寄存器来获取。 保留位是不可操作的,读出为0,写入对它无影响。 4

6.2 数字I/O寄存器 表6.1数字I/O控制寄存器地址 地址 寄存器 功能 7090h MCRA I/O复用控制寄存器A 7092h MCRB I/O复用控制寄存器B 7094h MCRC I/O复用控制寄存器C 7098h PADATDIR I/O端口A数据和方向寄存器 709Ah PBDATDIR I/O端口B数据和方向寄存器 709Ch PCDATDIR I/O端口C数据和方向寄存器 709Eh PDDATDIR I/O端口D数据和方向寄存器 7095h PEDATDIR I/O端口E数据和方向寄存器 7096h PFDATDIR I/O端口F数据和方向寄存器 5

6.2 数字I/O寄存器 I/O口复用输出寄存器 LF240x/240xA具有3个I/O端口复用控制寄存器:MCRA、MCRB、MCRC。 (1)I/O端口复用控制寄存器A(MCRA),映射地址:7090h,其配置见表6.2(P97)。 6

6.2 数字I/O寄存器 位 基本功能及描述(MCRA.n=1) 通用I/O(MCRA.n=0) MCRA.0 SCITXD :SCI异步串行口发送数据 IOPA0 MCRA.1 SCIRXD: SCI异步串行口接收数据 IOPA1 MCRA.2 XINT1:外部用户中断1 IOPA2 MCRA.3 CAP1/QEP1:捕捉输入1/正交编码脉冲输入1(EVA) IOPA3 MCRA.4 CAP2/QEP2:捕捉输入2/正交编码脉冲输入2(EVA) IOPA4 MCRA.5 CAP3:捕捉输入3(EVA) IOPA5 MCRA.6 PWM1:比较/PWM输出引脚1(EVA) IOPA6 MCRA.7 PWM2:比较/PWM输出引脚2(EVA) IOPA7 MCRA.8 PWM3:比较/PWM输出引脚3(EVA) IOPB0 MCRA.9 PWM4:比较/PWM输出引脚4(EVA) IOPB1 MCRA.10 PWM5:比较/PWM输出引脚5(EVA) IOPB2 MCRA.11 PWM6:比较/PWM输出引脚6(EVA) IOPB3 MCRA.12 T1PWM/T1CMP:TMR1比较输出(EVA) IOPB4 MCRA.13 T2PWM/T2CMP :TMR2比较输出(EVA) IOPB5 MCRA.14 TDIRA:通用定时器计数方向选择(EVA);1=加计数;0=减计数 IOPB6 MCRA.15 TCLKINA:通用定时器(EVA)的外部时钟输入 IOPB7 7

6.2 数字I/O寄存器 (2)I/O端口复用控制寄存器B,映射地址:7092h,其配置见表6.3(P98)。 注意:MCRB.9-MCRB.15必须配置成1,其为系统的专用引脚,用作与硬件仿真器接口(JTAG)相连,实现DSP的在线仿真功能。对其写0会引起不可预测的结果。 8

6.2 数字I/O寄存器 位 基本功能及描述(MCRA.n=1) 通用I/O(MCRA.n=0) MCRB.0 W/R:写/读选定;0=读;1=写 IOPC0 MCRB.1 BIO:分支控制输入;0=执行分支程序 IOPC1 MCRB.2 SPISIMO:SPI从动输入、主动输出 IOPC2 MCRB.3 SPISOMI: SPI从动输出、主动输入 IOPC3 MCRB.4 SPICLK:SPI时钟 IOPC4 MCRB.5 SPISTE:SPI从动发送使能 IOPC5 MCRB.6 CANTX:CAN发送数据 IOPC6 MCRB.7 CANRX:CAN接收数据 IOPC7 MCRB.8 XINT2/ADCSOC:外部用户中断2/AD转换开始输入 IOPD0 MCRB.9 EMU0:带内部上拉仿真器I/O引脚0 保留位 MCRB.10 EMU1:带内部上拉仿真器I/O引脚1 MCRB.11 TCK:带内部上拉JTAG测试时钟 MCRB.12 TDI :带内部上拉JTAG测试数据输入 MCRB.13 TDO:带内部上拉JTAG测试数据输出 MCRB.14 TMS:带内部上拉JTAG测试方式选择 MCRB.15 TMS2:带内部上拉JTAG测试方式选择2 9

6.2 数字I/O寄存器 (3)I/O端口复用控制寄存器C(MCRC),映射地址:7094h,其配置见表6.4(P99)。 10

6.2 数字I/O寄存器 位 基本功能(MCRA.n=1) 通用I/O(MCRA.n=0) MCRC.0 CLKOUT:时钟输出 IOPE0 PWM7:比较/PWM输出引脚7(EVA) IOPE1 MCRC.2 PWM8:比较/PWM输出引脚8(EVA) IOPE2 MCRC.3 PWM9:比较/PWM输出引脚9(EVA) IOPE3 MCRC.4 PWM10:比较/PWM输出引脚10(EVA) IOPE4 MCRC.5 PWM11:比较/PWM输出引脚11(EVA) IOPE5 MCRC.6 PWM12:比较/PWM输出引脚12(EVA) IOPE6 MCRC.7 CAP4/QEP3:捕捉输入4/正交编码脉冲输入3(EVA) IOPE7 MCRC.8 CAP5/QEP4:捕捉输入5/正交编码脉冲输入4(EVA) IOPF0 MCRC.9 CAP6:捕捉输入6 IOPF1 MCRC.10 T3PWM/T3CMP: TMR3比较输出(EVA) IOPF2 MCRC.11 T4PWM/T4CMP; TMR4比较输出(EVA) IOPF3 MCRC.12 TDIRB:通用定时计数器方向选择(EVB) IOPF4 MCRC.13 TCLKINB:通用定时器(EVB)的外部时钟输入 IOPF5 MCRC.14 保留 IOPF6 MCRC.15 保留位 11

6.2 数字I/O寄存器 I/O口数据和方向寄存器 6个数据和方向控制寄存器(PXDATDIR),包含两个功能位。 如I/O端口被选择作通用I/O引脚,数据和方向控制寄存器可以控制数据和I/O引脚的数据方向。 如I/O端口被选择作外设功能时,数据和方向控制寄存器的设置对相应的引脚无影响。 12

6.2 数字I/O寄存器 (1)端口A数据和方向控制寄存器(PADATDIR),地址:7098h 位15-8:AnDIR PA7-PA0的数据方向 0:相应引脚配置为输入 1:相应引脚配置为输出 位7-0:IOPA7-IOPA0 如果AnDIR=0,引脚配置为输入 0-相应引脚的电平读为低电平 1-相应引脚的电平读为高电平 如果AnDIR=1,引脚配置为输出 0-设置相应引脚,使其输出信号为低电平时有效 1-设置相应引脚,使其输出信号为高电平时有效 如果I/O端口用作通用I/O,则必须对数据和方向寄存器进行初始化设置,为输入还是输出。 13

6.2 数字I/O寄存器 (2) 端口B数据和方向控制寄存器(PBDATDIR),地址:709Ah 位15-8:BnDIR PB7-PB0的数据方向 0-相应引脚配置为输入 1-相应引脚配置为输出 位7-0:IOPBn 如果BnDIR=0,引脚配置为输入方式。 0-相应引脚的电平读为低电平 1-相应引脚的电平读为高电平 如果BnDIR=1,引脚配置为输出 0-设置相应引脚,使其输出信号为低电平时有效 1-设置相应引脚,使其输出信号为高电平时有效 14

6.2 数字I/O寄存器 (3)端口C数据和方向控制寄存器(PCDATDIR),地址:709Ch 位15-8:CnDIR PC7-PC0的数据方向 0-相应引脚配置为输入 1-相应引脚配置为输出 位7-0:IOPCn 如果CnDIR=0,引脚配置为输入方式。 0-相应引脚的电平读为低电平 1-相应引脚的电平读为高电平 如果CnDIR=1,引脚配置为输出 0-设置相应引脚,使其输出信号为低电平时有效 1-设置相应引脚,使其输出信号为高电平时有效 15

6.2 数字I/O寄存器 (4) 端口D数据和方向控制寄存器(PDDATDIR),地址:709Eh 位15-9:保留 位8:D0DIR 0-相应引脚配置为输入 1-相应引脚配置为输出 位7-1:保留 位0:IOPD0 如果D0DIR=0,引脚配置为输入方式。 0-相应引脚的电平读为低电平 1-相应引脚的电平读为高电平 如果D0DIR=1,引脚配置为输出 0-设置相应引脚,使其输出信号为低电平时有效 1-设置相应引脚,使其输出信号为高电平时有效 16

6.2 数字I/O寄存器 (5)端口E数据和方向控制寄存器(PEDATDIR),地址:7095h 位15-8:EnDIR PE7-PE0的数据方向 0-相应引脚配置为输入 1-相应引脚配置为输出 位7-0:IOPEn 如果EnDIR=0,引脚配置为输入方式。 0-相应引脚的电平读为低电平 1-相应引脚的电平读为高电平 如果EnDIR=1,引脚配置为输出 0-设置相应引脚,使其输出信号为低电平时有效 1-设置相应引脚,使其输出信号为高电平时有效 17

6.2 数字I/O寄存器 (6) 端口F数据和方向控制寄存器(PFDATDIR),地址:7096h 位15:保留 位14-8:FnDIR PF6-PF0的数据方向 0-相应引脚配置为输入 1-相应引脚配置为输出 位7:保留 位7-0:IOPFn 如果FnDIR=0,引脚配置为输入方式。 0-相应引脚的电平读为低电平 1-相应引脚的电平读为高电平 如果FnDIR=1,引脚配置为输出 0-设置相应引脚,使其输出信号为低电平时有效 1-设置相应引脚,使其输出信号为高电平时有效 18

6.2 数字I/O寄存器 数字I/O端口配置实例 配置:选择I/O引脚的功能,且设置I/O引脚的方向。 I/O配置实例程序: MCRA .set 7090h ;可将这些映射语句放于240x.h文件中 PADATDIR 7098h PBDATDIR 709Ah LDP #0E1h ;指向相应的数据页面 LACC #0h ;设置MCRA所有位均为0 SACL ;配置为I/O脚,选择引脚IOPA0-IOPA7和IOPB0-IOPB7 ;引脚IOPA0-IOPA7配置为输入,低有效 #0F00h ;引脚IOPB7-IOPB4配置为输入 ;引脚IOPB3-IOPB0配置为输出 ;读取引脚IOPB7-IOPB4输入状态 AND #00F0h ;A为输入状态 19

6.3 I/O端口应用 1、I/O端口作为输出 使用I/O端口输出8个信号,这8个信号分别连接到8个LED,硬件接口电路如图6.2(P102)所示。输出引脚与LED之间接一触发器74HC273,来实现对LED的驱动。在此使用IOPB作为输出信号来控制发光二极管的亮灭,而IOPF2作为选通74HC273的输出信号。 图6.2 TMS320LF2407与LED接口电路 20

6.3 I/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 ;相当于主程序的入口 CALL SYSINIT ;调系统初始化程序 LDP #DP_PF2 ;指向7080h~7100h区 LACL MCRA AND #000FFH ;IOPB口配置为一般I/O功能 SACL MCRA LACL MCRC AND #0FBFFH ;IOPF2 配置为一般I/O功能 SACL MCRC LACL PBDATDIR OR #0FF00H ;IOPB口设置为输出方式 SACL PBDATDIR 21

6.3 I/O端口应用 22 LDP #5H ;指向0280h~0300h区 SPLK #01H,IOSFT_REG ;给显示的数据赋初值 LOOP: LDP #DP_PF2 LACL PFDATDIR OR #0404H ;IOPF2 设置为输出方式,且IOPF2=1 SACL PFDATDIR ;开74HC273片选信号 LDP #5H LACL IOSFT_REG LDP #DP_PF2 SACL PBDATDIR ;送要显示的数据到IOPB口 AND #0FFFBH ;IOPF2=0 SACL PFDATDIR ;关74HC273片选信号 CALL DELAY ;调延时程序 SFL ;左移一位 SACL IOSFT_REG BIT IOSFT_REG,BIT8 ;判是否循环完一次,即已点亮第8个发光二极管 BCND LOOP1,TC B WAIT LOOP1: LDP #5H SPLK #01H,IOSFT_REG ;如循环完一次则显示数据赋初值 WAIT: NOP B LOOP 22

6.3 I/O端口应用 (2)系统初始化程序 SYSINIT: SETC INTM CLRC SXM CLRC OVM CLRC CNF ;B0 被配置为数据存储空间 LDP #0E0H SPLK #81FEH,SCSR1 ;CLKIN=6 M,CLKOUT=24 M SPLK #0E8H,WDCR ;不使能WDT LDP #0 SPLK #0000H,IMR ;不使能 SPLK #0FFFFH,IFR ;清全部中断标志 RET 23

6.3 I/O端口应用 (3)软件延时程序 DELAY: MAR *,AR4 LAR AR4,#0FFFEH LAR AR0,#00H DELAY1: SBRK #1 NOP CMPR 00 BCND DELAY1,NTC RET 24

6.3 I/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.3 TMS320LF2407与键盘、LED接口电路 25

6.3 I/O端口应用 下面的实例程序实在前面程序的基础上添加了键盘输入程序,仅给出通用I/O作为输入时的初始化和读键盘程序。 (1)初始化程序 IOINIT: ;添加在前面程序的大循环 ;LOOP:之前就行了 LDP #DP_PF2 LACL MCRC AND #0F7FFH ;IOPF3 配置为一般的I/O口 SACL MCRC LACL PFDATDIR AND #0F7FFH ;IOPF3为输入方式 SACL PFDATDIR RET 26

6.3 I/O端口应用 (2)读K1键程序 READKEY: ;添加在前面程序的大循环LOOP:之后就行了 LDP #DP_PF2 LACL PFDATDIR ;取出键值PFDATDIR.3 SACL KEYDATA ;存放键值 LDP #DP_USER BIT KEYDATA,12 ;判IOPF3是否为1 BCND K1_RET,TC ;如IOPF3为1则K1没有按下 ;延时消抖动 LACL PFDATDIR ;再次取出键值PFDATDIR.3 SACL KEYDATA BIT KEYDATA,12 ;判IOPF3是否为1 ,如为0则确实有K1键按下 BCND K1_RET,TC SPLK #0FFH,IOSFT_REG ;给显示的数据值 K1_RET: RET 27