程序设计中使用指针可以使程序简洁紧凑高效有效地课件_第1页
程序设计中使用指针可以使程序简洁紧凑高效有效地课件_第2页
程序设计中使用指针可以使程序简洁紧凑高效有效地课件_第3页
程序设计中使用指针可以使程序简洁紧凑高效有效地课件_第4页
程序设计中使用指针可以使程序简洁紧凑高效有效地课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计中使用指针可以: 使程序简洁、紧凑、高效有效地表示复杂的数据结构动态分配内存得到多于一个的函数返回值C语言知识(161页):指针1谢谢欣赏2019-7-13C程序设计中使用指针可以: C语言知识(161页):指针11、变量与地址地址内存0x00…0x30350x31560x32780x33120x34340x35560x3678…如变量声明如下(默认存储在内存):ijk编译(对于全局变量)或函数调用(对于全局变量)时根据变量的类型为其分配地址,具体地址,我们不必关心。首地址就是该变量的地址内存中每个字节有一个编号-----地址首地址就是该变量的地址

就像院长只知道我院有多少学生宿舍,但并不关心哪个学生住哪个宿舍一样。一个字符型变量分配一字节(char)内存单元,一个整型(int)变量分配两字节内存单元,一个长整型变量分配4字节内存单元。2谢谢欣赏2019-7-131、变量与地址地址内存0x00…0x30350x31560x地址外存0x0000…0x2000350x2001560x2002780x2003120x2004340x2005560x200678…如变量声明如下(定义在外存):ijk首地址就是该变量的地址

外存,64K字节地址:0x0000-0xFFFF编译(对于全局变量)或函数调用(对于全局变量)时根据变量的类型为其分配地址,具体地址,我们不必关心。首地址就是该变量的地址3谢谢欣赏2019-7-13地址外存0x0000…0x2000350x2001560x2地址外存0x0000…0x2000350x2001560x2002780x200312…0x3000xx0x3001xx…ijk2、指针通过变量名获取变量值,是变量的基本使用方法——直接访问。通过对变量地址的访问,获取变量的值——间接访问。要访问变量的地址就涉及到了指针。就本质而言,指针就是地址。以定义在外部存储器变量为对象,具体说明指针的概念例3412间接访问,使用于访问数组、字符串(有序存储的“一串数据”,“一片存储区”)。4谢谢欣赏2019-7-13地址外存0x0000…0x2000350x2001560x2①指针变量②指针变量的定义指针变量是用来存储地址值的变量。首先,指针变量本身也是变量,其次,指针变量的值只能是地址(16bit,占2两个字节)。类型名*指针变量名;例如:指针(变量)将来只能指向整型变量,即:指针变量的类型,应和它指向的对象类型匹配一致“*”是指针(变量)的标示符,指针(变量)是k,而不是*k!一般不赋初值,无实际意义5谢谢欣赏2019-7-13①指针变量②指针变量的定义指针变量是用来存储地址值的变量。类③指针变量的指向指针变量赋值,就是获取指向“某变量地址”的过程。例如:0x0000…0x2000350x2001560x2002780x200312…0x3000xx0x3001xx…0020041Eij指针变量k0x7812>>2是1E04指针变量k,指向整型变量i,k的值就是i的地址“&”—“取地址”运算符“*k”是变量i。“k”是变量i的地址不必关心k的地址6谢谢欣赏2019-7-13③指针变量的指向例如:0x0000…0x2000350x20第7章AD转换器的控制

7.1.1AD转换器7.1概述AD转换器即ADC(AnalogtoDigitalConverter),是能将模拟量转换为数字量的器件。7.1.2AD转换分辨率(分解度)常用转换结果的二进制数的位数来表示。位数越大,分辨率越高。例:模拟量的变化范围:0V-5V,AD转换器分辨率是8位。5V/28=5V/256≈0.02V=20mV经8位AD转换器,能区别的最小输入电压(也就是数字量1对应的电压)为:经12位AD转换器,能区别的最小输入电压为:5V/212=5V/4069≈0.0012V=1.2mV7谢谢欣赏2019-7-13第7章AD转换器的控制7.1.1AD转换器7.17.2.3AD转换时间

即完成一次AD转换所用的时间输出的数字量为:N—A/D转换器的位数参考电压模拟输入电压8谢谢欣赏2019-7-137.2.3AD转换时间即完成一次AD转换所用的时间输出的7.2ADC08097.2.1ADC0809介绍

8路模拟通道输入8位,8路通道,转换时间100μs参考电压输入8位数字量输出模拟通道地址输入转换结束输出端转换启动信号输入时钟输入端地址锁存输入输出允许输入9谢谢欣赏2019-7-137.2ADC08097.2.1ADC0809介绍8地址稳定的模拟量ADDALEAINSTARTEOCOE数字量DOUTADC0809时序完成一次A/D,最多需要10个时钟(8位逐次渐进A/D)不必关心!先准备好地址,再锁存地址启动转换之前及转换期间,模拟量必须稳定启动转换后,EOC=0,表示正在转换EOC=1,表示转换结束ENABLE=0,数据线为“高阻”单片机“发现”EOC=1后,置ENABLE=1,数据线输出数字量ENABLE=0,数据线为“高阻”10谢谢欣赏2019-7-13地址稳定的模拟量ADDALEAINSTARTEOCOE数字量功能要求:用ADC0809实现一路A/D数模转换,并用LCD显示。7.2.2ADC0809应用实例1(查询)

1、硬件连接(电路)地址稳定的模拟量ADDALEAINSTART从时序图可以看到,ALE上升沿锁存地址,START下降沿启动A/D必须先锁存地址,再启动A/D,因而这两个信号可以“合并”。11谢谢欣赏2019-7-13功能要求:用ADC0809实现一路A/D数模转换,并用LCD晶振12M、复位电路未画出显示电路未画出要求较高时要用专用基准源,价格较高4分频降低频率,以满足ADC0809的要求晶振12M输出2M的脉冲500K时钟脉冲只用通道0ENABLE和START共用上拉电阻12谢谢欣赏2019-7-13晶振12M、复位电路未画出显示电路未画出要求较高时要用专用基2.软件

I/O口定义

13谢谢欣赏2019-7-132.软件I/O口定义13谢谢欣赏2019-7-13地址稳定的模拟量ADDALEAINSTARTEOCOE数字量DOUT编程:就是实现时序图

14谢谢欣赏2019-7-13地址稳定的模拟量ADDALEAINSTARTEOCOE数字量功能要求:ADC0809实现八路A/D数模转换(数据采集)。7.2.3ADC0809应用实例1(总线、中断、指针)

将ADC0809视为内存单元——利用数据总线/地址总线交换信息(控制/读取数据)电路15谢谢欣赏2019-7-13功能要求:ADC0809实现八路A/D数模转换(数据采集)。16谢谢欣赏2019-7-1316谢谢欣赏2019-7-13A15..A8A7..0ALE/RDP0P2DATAIN时序是由单片机执行读外部数据存储器时“自动”完成AT89C51读外部数据存储器的时序高阻P0口先输出存储器的低8位地址A7..0P2口输出存储器的高8位地址A15..8P0口从存储器读数据将A7..0锁存在74HC573中读:通知外存将数据送到端口17谢谢欣赏2019-7-13A15..A8A7..0ALE/RDP0P2DATAIN时A15..A8A7..0ALE/WRP0P2DATAOUTAT89C51写外部数据存储器的时序高阻P0口先输出存储器的低8位地址P2口输出存储器的高8位地址写:通知外存,存储数据将A7..0锁存在74HC573中锁存地址后P0口输出数据时序是由单片机执行写外部数据存储器时“自动”完成18谢谢欣赏2019-7-13A15..A8A7..0ALE/WRP0P2DATAOUT网络标号,同一标号是接在一起的时钟电路未画转换结束时,产生上升沿实现反相下降沿触发中断低8位地址锁存,固定接法!或非门高8位地址只用了A15(P2.7)执行一次写操作,产生一个正脉冲执行一次读操作,产生一个正脉冲读写信号通常是119谢谢欣赏2019-7-13网络标号,同一标号是接在一起的时钟电路未画转换结束时,产生上地址:0x7ff8-0x7fffP2:01111111P0:11111000-11111111高8位地址只用了A15(P2.7)执行一次写操作,产生一个正脉冲执行一次读操作,产生一个正脉冲读写信号通常是1不使用的“位”统统置1,一是,可以减小功耗;二是不影响这些位做输入20谢谢欣赏2019-7-13地址:0x7ff8-0x7fff高8位地址只用了A15(P20写操作,只有P2.7(A15)和/WR(写)信号起作用??,目的(1)将已锁存在74HC573的低三位地址锁存(上升沿)到ADC0809;(2)启动(下降沿)

ADC080921谢谢欣赏2019-7-130写操作,只有P2.7(A15)和/WR(写)信号起作用??0读操作,只有P2.7(A15)和/RD(写)信号起作用,只是为ADC0809的/OE提供一个正脉冲(高电平期间将结果送到数据线上22谢谢欣赏2019-7-130读操作,只有P2.7(A15)和/RD(写)信号起作用,只程序23谢谢欣赏2019-7-13程序23谢谢欣赏2019-7-1324谢谢欣赏2019-7-1324谢谢欣赏2019-7-1325谢谢欣赏2019-7-1325谢谢欣赏2019-7-13不必设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论