书签 分享 收藏 举报 版权申诉 / 164
上传文档赚钱

类型第5章-嵌入式系统输入输出设备接口课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2897147
  • 上传时间:2022-06-09
  • 格式:PPT
  • 页数:164
  • 大小:3.37MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第5章-嵌入式系统输入输出设备接口课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    嵌入式 系统 输入输出 设备 接口 课件
    资源描述:

    1、第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 嵌入式系统设计嵌入式系统设计 基于基于ARM9ARM9微处理器微处理器S3C2410AS3C2410A第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.1.1 GPIO5.1.1 GPIO原理与结构原理与结构 GPIO(General Purpose I/O,通用输入/输出接口)也称为并行I/O(parallel I/O),是最基本的I/O形式,由一组输入引

    2、脚、输出引脚或输入输入引脚、输出引脚或输入/ /输出引脚输出引脚组成,CPU对它们能够进行存取操作。有些GPIO引脚能够通过软件编程改变输入/输出方向。I/OI/O的应用是处理器的的应用是处理器的基础应用。基础应用。5.1 GPIO5.1 GPIO(通用输入(通用输入/ /输出接口)输出接口)第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 GPIOGPIO的应用的应用通用I/O口(接口,引脚);驱动LED或其他指示器;控制片外器件;检测数字输入,如键盘或开关信号;第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口

    3、 嵌入式系统设计嵌入式系统设计 检测数字输入,如键盘或开关信号驱动LED或其它指示器控制片外器件第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.1.2 S3C2410A的IO口配置 S3C2410A共有117117个个多功能复用输入输出端口(I/O口),分为端口AH,共8组。 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 为了满足不同系统设计的需要,每个I/O口可以很容易地通过软件进行配置。每个引脚的功能必须在启动主程序之前进行定义。如果一个引脚没有使用复用功能,那么它可以

    4、配置为I/O口。注意:端口 A除了作为功能口外,只能够作为输出口使用。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 引脚示例引脚示例如GPE端口共有16个GPIO引脚,功能如下; 这些端口都具有多功能,通过引脚配置寄存器,可以将其设置为所需要的功能,如:I/O功能、中断功能等等。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.1.3 S3C2410A5.1.3 S3C2410A的的I IO O口寄存器口寄存器引脚GPIO与控制寄存器的关系GPxCONGPxUP10GPxDA

    5、TGPxDAT第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 通用名称描述GPxCONGPIO端口引脚功能选择寄存器,用于设置引脚为输入、输出或其他功能GPxDATGPIO端口数据寄存器。GPxUPGPIO端口上拉寄存器,用于设置端口的上拉电阻使能与禁止GPIO相关寄存器描述GPxCONGPxUP10GPxDATGPxDATx=A、B、C、D、E、F、G、H第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 GPIO相关寄存器描述GPxCONGPxCONGPxUP10GPxDATGP

    6、xDATGPxCON描述A22:00-输出 1-其他B21:000-输入 01-输出 10-其他 11-保留C31:000-输入 01-输出 10-其他 11-保留D21:000-输入 01-输出 10-其他 11-保留E31:000-输入 01-输出 10-其他 11-保留F15:000-输入 01-输出 10-其他 11-保留G31:000-输入 01-输出 10-其他 11-保留H25:000-输入 01-输出 10-其他 11-保留第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 GPIO相关寄存器描述GPxDATGPxCONGP

    7、xUP10GPxDATGPxDATGPxDAT描述A22:00-低电平 1-高电平B10:00-低电平 1-高电平C15:00-低电平 1-高电平D15:00-低电平 1-高电平E15:00-低电平 1-高电平F7:00-低电平 1-高电平G15:00-低电平 1-高电平H12:00-低电平 1-高电平第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 当I/O设置为GPIO输出模式(Output模式)时,写GPxDAT控制相应I/O口输出高电平或低电平。 注:GPxDAT为1的位对应I/O输出高电平,为0的位对应低电平; 当I/O设置为G

    8、PIO输入模式(Input模式)时,读取GPxDAT寄存器即取得I/O口线上的电平状态。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 GPIO相关寄存器描述GPxUPGPxCONGPxUP10GPxDATGPxDATGPxUP描述B10:00-使能上拉 1-禁止上拉C15:00-使能上拉 1-禁止上拉D15:00-使能上拉 1-禁止上拉E15:00-使能上拉 1-禁止上拉F7:00-使能上拉 1-禁止上拉G15:00-使能上拉 1-禁止上拉H12:00-使能上拉 1-禁止上拉第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接

    9、口输出设备接口 嵌入式系统设计嵌入式系统设计 MISCCR:多控制寄存器。该寄存器有多个功能,可以用来对USB主机和USB设备进行控制。 DCLKCON:DCLK控制寄存器。该寄存器是可读/写的,主要用于外部时钟DCLK0、DCLK1进行控制;通过该寄存器可以定义DCLKn信号的频率和占空比。 GSTATUSn:通用状态寄存器,共有5个,用来存放芯片的一些信息,如芯片的ID、电池状态等。 EXTINTn:外部中断控制器。 该类寄存器共有3个,用于对24个外部中断请求信号的有效方式进行选择 EINTELTn:外部中断过滤器。 该类寄存器共有4个,这些寄存器主用用来对外部中断请求信号滤波器的时钟、

    10、宽度进行设置。 EINTMASK:外部中断屏蔽寄存器 用来对外部中断进行屏蔽,相应位为1表示屏蔽,为0表示不屏蔽。 EINTPEND:外部中断悬挂寄存器 用来作为外部中断未决位。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.1.4 S3C2410A5.1.4 S3C2410A输入输出端口编程实输入输出端口编程实例例 在S3C2410A中,大多数的引脚端都是复用的,所以对于每一个引脚端都需要定义其功能。为了使用I/O口,首先需要定义引脚的功能。 与配置I/O口相关的寄存器包括:端口控制寄存器(GPACONGPHCON)、端口数据寄存

    11、器(GPADATGPHDAT)、端口上拉寄存器(GPBUPGPHUP)、杂项控制寄存器以及外部中断控制寄存器(EXTINTN)等。S3C2410A的I/O口配置情况请参考S3C2410A数据手册。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 #define rGPACON (*(volatile unsigned*)0 x56000000) /Port A控制寄存器#define rGPADAT (*(volati1e unsigned*)0 x56000004) /Port A数据寄存器#define rGPBCON (*(vola

    12、tile unsigned*)0 x56000010) /Port B控制寄存器#define rGPBDAT (*(volatile unsigned*)0 x56000014) /Port B数据寄存器#define rGPBUP (*(volatile unsigned*)0 x56000018) /Port B上拉电阻禁止寄存器#define rGPCCON (*(volatile unsigned*)0 x56000020)/Port C控制寄存器#define rGPCDAT (*(volatile unsigned*)0 x56000024) /Port C数据寄存器#defin

    13、e rGPCUP (*(volatile unsigned*)0 x56000028)/Port C上拉电阻禁止寄存器#define rGPDCON (*(volatile unsigned*)0 x56000030)/Port D控制寄存器#define rGPDDAT (*(volatile unsigned*)0 x56000034)/Port D数据寄存器#define rGPDUP (*(volatile unsigned*)0 x56000038)/Port D上拉电阻禁止寄存器 对I/O口的操作是通过对相关各个寄存器的读写实现的。 要对寄存器进行读写操作,首先要对寄存器进行定义。

    14、有关I/O口相关寄存器的宏定义代码如下:一般写成: #include “S3C2410.h”第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 写一个通过G口的控制发光二极管LED1和LED2轮流闪烁I/O口编程实例,电路如下所示:例1:第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 #define rGPGCON (*(volati1e unsigned*) 0 x56000060)#define rGPGDAT (*(volatile unsigned*) 0 x56000064

    15、)#define rGPGUP (*(volatile unsigned*) 0 x56000068)/端口G的GPG8控制LED1的亮灭,低电平时为亮#define led1light()#define led1clear()/端口G的GPG9控制LED2的亮灭,低电平时为亮#define led2light()#define led2clear()rGPGDAT &= 0 xfeff; rGPGDAT |= 0 x0100; rGPGDAT &= 0 xfdff; rGPGDAT |= 0 x0200; 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统

    16、设计嵌入式系统设计 void main() int i;rGPGCON |=0 x00050000; /配置第8位、第9位为输出引脚 led1clear(); led2clear(); while (1) led1light(); led2clear();for (i = 0;i 10000000;i+); /延时 led1clear(); led2light(); for(i = 0;i 10000000;i+); /延时第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出

    17、设备接口 嵌入式系统设计嵌入式系统设计 使用端口E作为普通I/O接口,端口E的GPE3位输出控制一个LED指示灯,GPE4位输出控制一个蜂鸣器。根据电路图用C语言实现其功能。 例2: 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 #include “2410addr.h”/GPE4用作蜂鸣器输出,高电平为鸣叫#define beepon()rGPEDAT= rGPEDAT |0 x0010;#define beepoff()rGPEDAT= rGPEDAT &0 xffef;/GPE3用作LED输出控制端,宏定义LED亮灭,低电平为亮

    18、#define ledlight()rGPEDAT= rGPEDAT&0 xfff7; #define ledclear()rGPEDAT= rGPEDAT|0 x0008; 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 void main() rGPECON = rGPECON|0 x00000140; /初始化端口E,使GPE4、GPE3为输出 beepoff(); /关蜂鸣器 while() ledlight( ); /LED指示灯亮 beepon( ); /蜂鸣器发声 Delay(3000); /延时 beepoff( );

    19、/关蜂鸣器 ledclear( ); /LED指示灯灭 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 例3: 使用端口F、H作为普通I/O接口,端口E的GPF4位输入控制一个按键,GPH10位输出控制一个蜂鸣器。根据电路图用C语言实现其功能。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 #include “2410addr.h”/ 定义独立按键KEY1的输入口#defin

    20、e KEY_CON (14) /* GPF4口 */ 定义蜂鸣器控制口#define BEEP (110) /* GPH10口 */#define BEEP_MASK (BEEP)第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 int main(void) / 初始化I/O rGPFCON = (rGPFCON & (0 x038); / rGPFCON9:8 = 00b,设置GPF4为GPIO输入模式 rGPHCON = (rGPHCON & (0 x0320) | (0 x0120); / rGPHCON21:20 = 01b,设置

    21、GPH10为GPIO输出模式 while(1) if (rGPFDAT & KEY_CON) / 读取GPF口线上的电平,判断GPF4是否为高电平 rGPHDAT = rGPHDAT | BEEP; / GPF4为高电平,则设置GPH10=1 else rGPHDAT = rGPHDAT & BEEP_MASK; / GPF4为低电平,则设置GPH10=0 DelayNS(1); return(0);第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计

    22、嵌入式系统设计 29A/D转换基础 A/D转换又称模数转换,顾名思义,就是把模拟信号数字化。 完成一个或多个模拟信号到数字信号的转换。A/D转换的一般步骤5.2 A/D5.2 A/D转换器接口转换器接口第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 30 A/D转换的技术指标 1、分辨率(Resolution) 数字量变化一个最小量时模拟信号的变化量,1/2n 2、 转换速率(Conversion Rate) 完成一次从模拟转换到数字的A/D转换所需的时间的倒数 3、量化误差(Quantizing Error) 由于A/D的有限分辨率而

    23、引起的误差(1LSB或1/2LSB) 4、偏移误差(Offset Error) 输入信号为零时输出信号不为零的值 5、满刻度误差(Full Scale Error) 满度输出时对应的输入信号与理想输入信号值之差 6、线性度(Linearity) 实际转换器的转移函数与理想直线的最大偏移第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 31 A/D转换器类型 1、 积分型A/D转换器 2、 逐次逼近型A/D 3、 并行比较/串行比较型A/D 4、 电容阵列逐次比较型 5、 压频变换型第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备

    24、接口输出设备接口 嵌入式系统设计嵌入式系统设计 32 A/D转换的一般步骤 A/D转换过程是通过取样、保持、量化和编码这四个步骤完成的。 取样和保持主要由采样保持器来完成 量化编码就由A/D转换器完成第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.2.1 S3C2410A5.2.1 S3C2410A的的A AD D转换器转换器1 1S3C2410A A/DS3C2410A A/D转换器和触摸屏接口电路转换器和触摸屏接口电路 S3C2410A包含一个8通道的A/D转换器,内部结构见图5.2.4,该电路可以将模拟输入信号转换成10位数字

    25、编码(10位分辨率),差分线性误差为1.0 LSB,积分线性误差为2.0 LSB。在A/D转换时钟频率为2.5 MHz时,其最大转换率为500KSPS(千采样点每秒),输入电压范围是03.3V。 A/D转换器支持片上操作、采样保持功能和掉电模式。S3C2410A的A/D转换器和触摸屏接口电路如图5.2.1所示。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 图图5.2.1 S3C2410A5.2.1 S3C2410A的的A/DA/D转换器和触摸屏接口电路转换器和触摸屏接口电路 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接

    26、口输出设备接口 嵌入式系统设计嵌入式系统设计 2 2与与S3C2410A A/DS3C2410A A/D转换器相关的寄存器转换器相关的寄存器 使用S3C2410A的A/D转换器进行模拟信号到数字信号的转换,需要配置以下相关的寄存器。(1)ADC控制寄存器(ADCCON) ADC控制寄存器(ADCCON)是一个16位的可读写的寄存器,地址为0 x58000000,复位值为0 x3FC4。ADCCON位的功能描述如表5.2.1所列。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 表表5.2.1 ADC控制寄存器(控制寄存器(ADCCON)的

    27、位功能)的位功能 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 (2)ADC触摸屏控制寄存器(ADCTSC) ADC触摸屏控制寄存器(ADCTSC)是一个可读写的寄存器,地址为0 x58000004,复位值为0 x058。ADCTSC的位功能描述如表5.2.2所列。在正常A/D转换时,AUTO_PST和XY_PST都置成0即可,其他各位与触摸屏有关,不需要进行设置。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 表表5.2.2 ADC5.2.2 ADC控制寄存器(控制寄存器(A

    28、DCTSCADCTSC)的位功能)的位功能 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 (3)ADC转换数据寄存器(ADCDAT0和ADCDAT1) S3C2410A有ADCDAT0和ADCDAT1两个ADC转换数据寄存器。ADCDAT0和ADCDAT1为只读寄存器,地址分别为0 x5800000C和0 x58000010。在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转换数据。对于正常的A/D转换,使用ADCDAT0来保存转换后的数据。 ADCDAT0的位功能描述如表5.2.3所列,ADCDAT1的位功

    29、能描述如表5.2.5所列,除了位9:0为Y位置的转换数据值以外,其他与ADCDAT0类似。通过读取该寄存器的位9:0,可以获得转换后的数字量。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 表表5.2.3 ADCDAT05.2.3 ADCDAT0的位功能的位功能 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 ADC 的使用分四个步骤:1) 设置ADCCON寄存器,选择输入信号通道,设置A/D转换器的时钟。使能A/D 转换器的预分频功能。计算A/D时钟的公式:A/D时钟频率=PL

    30、CK/(预分频值(PRSCVL)+1)。2) 设置ADCTSC寄存器,使用设为普通转换模式,这里不能使用触摸屏功能。ADCTSC寄存器多用于触摸屏,对于普通的ADC,使用默认值即可。3) 设置ADCCON寄存器,启动A/D转换。如果设置READ_START位,则读取转换数据(读ADCDAT0 寄存器)时即启动下一次转换;否则,就通过设置ENABLE_START位来启动A/D。4) 转换结束时,读取ADCDAT0寄存器来获取数值。如果使用查询方式,则可以不读取ADCCON寄存器的ECFLG位(b15)来确定转换是否结束;否则可以使用INT_ADC中断,发生INT_ADC中断时表示转换结束。第第5

    31、 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.2.3 S3C2410A A5.2.3 S3C2410A AD D接口编程实例接口编程实例 下面介绍一个AD接口编程实例,其功能实现从A/D转换器的通道0获取模拟数据,并将转换后的数字量以波形的形式在LCD上显示。模拟输入信号的电压范围是02.5V。程序如下:1 1定义与定义与AD转换相关的寄存器转换相关的寄存器 #define rADCCON (*(volatile unsigned*)0 x58000000) /ADC控制寄存器 #define rADCTSC (*(volatile u

    32、nsigned*)0 x58000004) /ADC触摸屏控制寄存器 #define rADCDLY (*(volatile unsigned*)0 x58000008) /ADC启动延时寄存器 #define rADCDAT0 (*(volatile unsigned*)0 x5800000c) /ADC转换数据寄存器0 #define rADCDAT1 (*(volati1e unsigned*)0 x58000010) /ADC转换数据寄存器 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 2 2对对A/DA/D转换器进行初始化转

    33、换器进行初始化程序中的参数ch表示所选择的通道号,程序如下:void AD_Init(unsigned char ch) rADCDLY=100; /ADC启动延时 rADCTSC=0; /选择ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(07) return 0; /通道不能大于7 for(i=0; i 16; i+) /为转换准确,转换16次 rADCCON |=0 x1; /启动A/D转换 rADCCON= rADCCON0 xffc7 |(ch 4); /为转换准确,除以16取均值第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口

    34、嵌入式系统设计嵌入式系统设计 4.4.主函数主函数 实现将转换后的数据在LCD上以波形的方式显示,程序如下第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.3.1 D/A5.3.1 D/A(数模)转换器的工作原理(数模)转换器的工作原理 将数字信号转换成模拟信号的过程称为数/模转换。能够完成这种转换的电路叫做数/模转换器,简称为D/A转换器,简记为DAC(Digital to Analog Converter)。 D/A转换器将输入的数字量转换为模拟量输出,数字量是由若干数位构成的,D/A转换器把一个数字量变为模拟量,就是把每一位上的

    35、代码按照权值转换为对应的模拟量,再把各位所对应的模拟量相加,所得到各位模拟量的和便是数字量所对应的模拟量。5.3 D/A5.3 D/A转换器接口转换器接口 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.3.2 S3C2410A5.3.2 S3C2410A与与D/AD/A转换器的接口电路转换器的接口电路1 1MAX5380MAX5380与与S3C2410AS3C2410A的连接电路的连接电路 MAX5380是电压输出型的8位D/A转换芯片,使用I2C串行接口,转换速率高达400 kHz,其输入数字信号和输出模拟信号的对应关系如表5.

    36、3.1所列。MAX5380与S3C2410A的连接电路如图5.3.1所示。 表5.3.1 MAX5380数字输入与模拟输出对照表数字输入模拟输出11111111(255/256)2V10000000十1V000000017.8mV000000000第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 图5.3.1 MAX5380与S3C2410A的连接电路 图5.3.1中,MAX5380的时钟SCL和数据输入SDA连接到S3C2410A的IICSCL(GPE15)和IICSDA(GPE14),CON2的1、2两端输出转换后的模拟信号值,其输出

    37、电压范围为02V。 S3C2410A通过IIC接口向MAX5380发送数据,MAX5380将接收IIC总线的数据,并将其转换为模拟电压信号输出到CON2。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 2 2MAX5380MAX5380的软件编程的软件编程 MAX5380的编程动作通过函数void iic_write_max5380(U32 slvAdd,U8 data)完成,其中slvAddr为从设备地址,MAX5380使用0 x60;data为待写入的数据,即发送给MAX5380的数字值;iic_write_max5380的代码请参

    38、考6.2节(I2C部分)。通过调用该函数可以实现给CON2输出各种波形信号。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 S3C2410A具有4路PWM输出,输出口分别为TOUT0-TOUT3。为了能够正确输出PWM信号,需要设置GPBCON寄存器选择相应I/O为TOUTx功能。 然后,通过TCFG0寄存器为PWM定时器时钟源设置预分频值,通过TCFG1寄存器选择PWM定时器时钟源。接着,通过TCNB0寄存器设置PWM周期,通过TCMPB0设置PWM占空比。 最后,通过TCON寄存器启动PWM定时器,即可输出PWM信号。PWM DAC

    39、PWM DAC控制控制第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 S3C2410A的PWM控制器uS3C2410A处理器有5个16位定时器,其中定时器0/1/2/3有PWM脉冲输出功能;定时器4具有内部定时作用,但是没有输出引脚。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 程序设计:程序设计: 使用PWM输出实现DAC功能,输出电压分别为为0.0V、0.5V、1.0V、1.5V、2.0V、2.5V和3.0V。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输

    40、出设备接口 嵌入式系统设计嵌入式系统设计 int main(void) uint16 pwm_dac; / 独立按键KEY1控制口设置 rGPFCON = (rGPFCON & (0 x038); / rGPFCON9:8 = 00b,设置GPF4为GPIO输入模式 / TOUT0口设置 rGPBCON = (rGPBCON & (0 x030) | (0 x02255) pwm_dac = 0; rTCMPB0 = pwm_dac; return(0);第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 void PWM_Init(uin

    41、t16 cycle, uint16 duty) / 参数过滤 if(dutycycle) duty = cycle; / 设置定时器0,即PWM周期和占空比 / Fclk=200MHz,时钟分频配置为1:2:4,即Pclk=50MHz。 rTCFG0 = 97;/ 预分频器0设置为98,取得510204Hz rTCFG1 = 0;/ TIMER0再取1/2分频,取得255102Hz rTCMPB0 = duty; / 设置PWM占空比 rTCNTB0 = cycle; / 定时值(PWM周期) if(rTCON&0 x04) rTCON = (11); / 更新定时器数据 (取反输出inver

    42、ter位) else rTCON = (12)|(11); rTCON = (10)|(13); / 启动定时器 第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.4.1 5.4.1 键盘与键盘与LEDLED数码管接口基本原理与结数码管接口基本原理与结构构1 1键盘的分类键盘的分类 键盘按与微控制器的连接方式,其结构可分为线性键盘和矩阵键盘两种形式。 u线性键盘由若干个独立的按键组成,每个按键的一端与微控制器的一个I/O口相连。有多少个键就要有多少根连线与微控制器的I/O口相连,适用于按键少的场合。5.4 5.4 键盘与键盘与LEDL

    43、ED数码管接口数码管接口第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 u矩阵键盘的按键按N行M列排列,每个按键占据行列的一个交点,需要的I/O口数目是N+M,容许的最大按键数是NM。矩阵键盘可以减少与微控制器I/O接口的连线数,是常用的一种键盘结构形式。根据矩阵键盘的识键和译键方法的不同,矩阵键盘又可以分为非编码键盘和编码键盘两种。非编码键盘主要用软件的方法识键和译键。根据扫描方法的不同,可以分为行扫描法、列扫描法和反转法3种。编码键盘主要用硬件(键盘和LED专用接口芯片)来实现键的扫描和识别,例如使用8279专用接口芯片。第第5 5

    44、章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 键盘的按键实际上就是一个开关,常用的按键开关有机械式按键、电容式按键、薄膜式按键、霍耳效应按键等。(1 1)机械式按键)机械式按键(2 2)电容式按键)电容式按键(3 3)薄膜式按键)薄膜式按键 (4 4)霍耳效应按键)霍耳效应按键第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 2 2LEDLED数码管数码管 LED(Light Emitting Diode,发光二极管)数码管(也称为七段数码管)价格低廉、体积小、功耗低,而可靠性又很好,在嵌

    45、入式控制系统中应用非常普遍。 如图5.4.1(a)所示,LED数码管一般由8个发光管组成,分别称为a、b、c、d、e、f、g 7个字段和一个小数点段DP。通过7个字段的不同组合,可以显示09和AF共16个字母数字,从而实现十六进制的显示。例如,控制a、b、c、d、e、f段亮,g段不亮,就显示出数字零。(a) LED器件 (b)共阳极接法 (c)共阴极接法图5.4.1 7段LED显示器第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 LEDLED字符与段码对应表字符与段码对应表1-灯亮灯亮 0-灯灭灯灭第第5 5章章 嵌入式系统输入嵌入式系

    46、统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 LED数码管可以分为共阳极和共阴极两种结构,如图5.4.1(b)、(c)所示。 在共阴极结构,各字段阴极控制端连接在一起接低电平,各字段阳极控制端连接到高电平时,则该段发光。例如,要显示b字母,只要使c、d.、e、f、g阳极接高电平即可实现。 在共阳极结构,各字段阳极控制端连接在一起接高电平,各字段阴极控制端连接到低电平时,则该段发光。例如,要显示b字母,只要使c、d.、e、f、g阳极接低电平即可实现。 在多个LED数码管显示电路中,通常把阴(阳)极控制端连接到一个输出端口,称为位控端口;而把各字段(数据显示段)连接到一个输出

    47、端口,称为段控端口。段控端口处应输出十六进制数的7段代码。 将一个4位的BCD码译为LED的7位显示代码,可以采用专用译码芯片,如7447即采用专用的带驱动器的LED段译码器,可以实现对BCD码的译码。另一种常用的办法是软件译码法,将0F共16个数字(也可以为09)对应的显示代码组成一个表,直接输出7段码。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.4.2 5.4.2 用用I/OI/O口实现键盘接口口实现键盘接口 一个用I/O口实现的16个按键的键盘接口电路如图5.4.2所示。在本例中,采用了节省口线的“行扫描法”方法来检测键盘

    48、,与44的矩阵键盘接口只需要8根口线,设置PF0PF3为输出扫描码的端口,PF4PF7为键值读入口。图5.4.2 ARM微处理器实现的键盘接口电路第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 行扫描法行扫描法: : 使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;否则扫描下一行,直到扫描完全部的行线为止。 在图5.4.2所示电路中,按键设置在行、列交叉点上,行、列分别连接到按键开关的两端。列线通过上拉电阻接到+5V上。平时无按键动作时,列线处于高电平状态;而当有键按下时,

    49、列线电平状态将由通过此按键的行线电平决定:行线电平如果为低,列线电平为低;行线电平如果为高,则列线电平亦为高。通过这一点来识别矩阵式键盘是否被按下。因各按键之间相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 根据行扫描法的原理,识别矩阵键盘按键闭合分两步进行:(1)识别键盘哪一行的键被按下:让所有行线均为低电平,检查各列线电平是否为低,如果有列线为低,则说明该列有键被按下,否则说明无键被按下。(2)如果某列有键被按下,识别键盘哪一行的键被按下:逐行置低电平

    50、,并置其余各行为高电平,检查各列线电平的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。第第5 5章章 嵌入式系统输入嵌入式系统输入/ /输出设备接口输出设备接口 嵌入式系统设计嵌入式系统设计 5.4.3 5.4.3 采用专用芯片实现键盘及采用专用芯片实现键盘及LEDLED接口接口 一个54键盘及8位LED显示电路如下图所示,该电路采用支持IIC总线协议的ZLG7290芯片。 ZLG7290是一个采用IIC接口的键盘及LED驱动器芯片,IIC串行接口提供键盘中断信号方便与处理器接口,IIC接口传输速率可达32kbit/s,可驱动8位共阴数码管或64只独立LED和64个按键,可控

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第5章-嵌入式系统输入输出设备接口课件.ppt
    链接地址:https://www.163wenku.com/p-2897147.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库