- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高效有效地表示复杂的数据结构动态分配内存得到多于一个.ppt
C程序设计中使用指针可以: 使程序简洁、紧凑、高效 有效地表示复杂的数据结构 动态分配内存 得到多于一个的函数返回值 * C语言知识(161页):指针 1、变量与地址 … 78 0x36 56 0x35 34 0x34 12 0x33 78 0x32 56 0x31 35 0x30 … 0x00 内存 地址 如变量声明如下(默认存储在内存): i j k 编译(对于全局变量)或函数调用(对于全局变量)时根据变量的类型为其分配地址,具体地址,我们不必关心。首地址就是该变量的地址 内存中每个字节有一个编号-----地址 首地址就是该变量的地址 就像院长只知道我院有多少学生宿舍,但并不关心哪个学生住哪个宿舍一样。 一个字符型变量分配一字节(char)内存单元, 一个整型(int)变量分配两字节内存单元, 一个长整型变量分配4字节内存单元。 … 78 0x2006 56 0x2005 34 0x2004 12 0x2003 78 0x2002 56 0x2001 35 0x2000 … 0x0000 外存 地址 如变量声明如下(定义在外存): i j k 首地址就是该变量的地址 外存,64K字节 地址: 0x0000-0xFFFF 编译(对于全局变量)或函数调用(对于全局变量)时根据变量的类型为其分配地址,具体地址,我们不必关心。首地址就是该变量的地址 … xx 0x3001 xx 0x3000 … 12 0x2003 78 0x2002 56 0x2001 35 0x2000 … 0x0000 外存 地址 i j k 2、指针 通过变量名获取变量值,是变量的基本使用方法——直接访问。 通过对变量地址的访问,获取变量的值——间接访问。 要访问变量的地址就涉及到了指针。 就本质而言,指针就是地址。 以定义在外部存储器变量为对象,具体说明指针的概念 例 34 12 间接访问,使用于访问数组、字符串(有序存储的“一串数据”,“一片存储区”)。 ①指针变量 ②指针变量的定义 指针变量是用来存储地址值的变量。 首先,指针变量本身也是变量, 其次,指针变量的值只能是地址(16bit,占2两个字节)。 类型名 *指针变量名; 例如: 指针(变量)将来只能指向整型变量,即:指针变量的类型,应和它指向的对象类型匹配一致 “*”是指针(变量)的标示符,指针(变量)是k,而不是*k! 一般不赋初值,无实际意义 ③指针变量的指向 指针变量赋值,就是获取指向“某变量地址”的过程。 例如: … xx 0x3001 xx 0x3000 … 12 0x2003 78 0x2002 56 0x2001 35 0x2000 … 0x0000 00 20 04 1E i j 指针变量k 0x78122是1E04 指针变量k,指向整型变量i,k的值就是i的地址 “”—“取地址”运算符 “*k” 是变量i。 “k”是变量i的地址 不必关心k的地址 第7章 AD转换器的控制 7.1.1 AD转换器 7.1 概述 AD转换器即ADC(Analog to Digital Converter),是能将模拟量转换为数字量的器件。 7.1.2 AD转换分辨率(分解度) 常用转换结果的二进制数的位数来表示。位数越大,分辨率越高。 例:模拟量的变化范围:0V-5V,AD转换器分辨率是8位。 5V/28=5V/256≈0.02V=20mV 经8位AD转换器,能区别的最小输入电压(也就是数字量1对应的电压)为: 经12位AD转换器,能区别的最小输入电压为: 5V/212=5V/4069≈0.0012V=1.2mV 7.2.3 AD转换时间 即完成一次AD转换所用的时间 输出的数字量为: N—A/D转换器的位数 参考电压 模拟输入电压 7.2 ADC0809 7.2.1 ADC0809介绍 8路模拟通道输入 8位,8路通道,转换时间100μs 参考电压输入 8位数字量输出 模拟通道地址输入 转换结束输出端 转换启动信号输入 时钟输入端 地址锁存输入 输出允许输入 地址 稳定的模拟量 ADD ALE AIN START EOC OE 数字量 DOUT ADC0809时序 完成一次A/D,最多需要10个时钟(8位逐次渐进A/D)不必关心! 先准备好地址,再锁存地址 启动转换之前及转换期间,模拟量必须稳定 启动转换后, EOC=0,表示正在转换 EOC=1,表示转换结束 ENABLE=0,数据线为“高阻” 单片机“发现”EOC=1后,置ENABLE=1,数据线输出数字量 ENABLE=0,数据线为“高阻” 功能要求:用ADC0809实现一路A/D数模转换,并用LCD显示。 7.2.2 ADC0809应用实例1(查询) 1、硬件连
文档评论(0)