第3章嵌入式系统输入输出设备接口技术课件

上传人:我*** 文档编号:141136936 上传时间:2020-08-04 格式:PPT 页数:17 大小:205.50KB
返回 下载 相关 举报
第3章嵌入式系统输入输出设备接口技术课件_第1页
第1页 / 共17页
第3章嵌入式系统输入输出设备接口技术课件_第2页
第2页 / 共17页
第3章嵌入式系统输入输出设备接口技术课件_第3页
第3页 / 共17页
第3章嵌入式系统输入输出设备接口技术课件_第4页
第4页 / 共17页
第3章嵌入式系统输入输出设备接口技术课件_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《第3章嵌入式系统输入输出设备接口技术课件》由会员分享,可在线阅读,更多相关《第3章嵌入式系统输入输出设备接口技术课件(17页珍藏版)》请在金锄头文库上搜索。

1、第3章 输入/输出设备接口技术,1、通用I/O端口结构(GPIO),3.1 通用I/O端口,GPIO端口: PORT数据寄存器、DDR数据方向寄存器。,输出:置“1”,输出数据;,DDR方向寄存器:,输入:置“0”,输入数据。,117个GPIO端口: 1个23位的Port A; 2个11位的Port B、H; 3个16位的Port C、D、E、G; 1个 8位的Port F。,2、接口电路 通过端口D的GPD1、GPD0控制发光二极管轮流闪烁。,端口D控制寄存器,GPDCON= GPDCON,GPDDAT= GPDDAT,GPDCON= GPDCON,GPDDAT= GPDDAT,例题1,判断

2、D端口的输入/输出状态及高低电平,3.2 A/D转换器接口,S3C2410A包含 一个8通道的A/D转换器。 10位分辨率。 采样电压范围是03.3V。,讨论1 当参考电压为3.3V时,输入电压为2.0V,采集的数字量为多少?,1、ADC内部结构及ADC控制器相关寄存器,A/D转换器和触摸屏接口电路,(1)ADC控制寄存器(ADCCON),A/D转换的转换时间计算。 例,PCLK为50MHz,PRESCALER=49; 所有10位转换时间为 50 MHz/(49+1)=1MHz 转换时间为1/(1M/5 cycles)=5us 注意: 完成一次A/D转换需要5个时钟周期。A/D转换器的最 大工

3、作时钟为2.5MHz,所以最大的采样率可以达到 500kbit/s。,1、要使A/D 转换器正常启动,预分频因子取50,应向ADCCON写入什么控制字?,2、要启动A/D 转换器读第2号通道数据启动(预分频因子取16),应向ADCCON写入什么控制字?,例题2,(2)ADC触摸屏控制寄存器(ADCTSC),在正常A/D转换时,AUTO_PST和XY_PST都置成0即可,其他各位与触摸屏有关,不需要进行设置。,(3)ADC转换数据寄存器(ADCDAT0和ADCDAT1),在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转换数据。对于正常的A/D转换,使用ADCDAT0来

4、保存转换后的数据。,(4)ADC启动延时寄存器(ADCDLY),思考1 如何判断ADC转换完成? 如何启动ADC转换?,A/D转换的数据可以通过中断或查询的方式来访问,如果是中断方式,则全部的转换时间(从A/D转换的开始到数据读出)要更长。 如果是查询方式,则要检测ADCCON15(转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。 A/D转换开始的一种方式是将ADCCON0置为1, 另一种方式是将ADCCON1置为1,这时只要有读转换数据的信号,A/D转换就会同步开始。,A/D转换的流程图,2、ADC接口编程,例题3、ADC转换,定义与AD转换相关的寄存器 定义如下:

5、 #define rADCCON(*(volatile unsigned*)0 x58000000) /ADC控制寄存器 #define rADCTSC(*(volatile unsigned*)0 x58000004) /ADC触摸屏控制寄存器 #define rADCDLY(*(volatile unsigned*)0 x58000008) /ADC启动或间隔延时寄存器 #define rADCDAT0(*(volatile unsigned*)0 x5800000c)/ADC转换数据寄存器0 #define rADCDAT1(*(volati1e unsigned*)0 x5800001

6、0)/ADC转换数据寄存器 对A/D转换器进行初始化 程序中的参数ch表示所选择的通道号,程序如下: void AD_Init(unsigned char ch) rADCDLY=100; /ADC启动或间隔延时 rADCTSC=0; /选择ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(01)|(0); /设置ADC控制寄存器 ,获取A/D的转换值 程序中的参数ch表示所选择的通道号,程序如下: int Get_AD(unsigned char ch) int i; int val= 0; i f (ch7) return 0; /通道不能大于7 for(i=0; i 4); /为转换准确,除以16取均值 ,例题4、 预分频值为32,采集07个信道,进行ADC转换。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号