通用IO与第一个汇编程序80_第1页
通用IO与第一个汇编程序80_第2页
通用IO与第一个汇编程序80_第3页
通用IO与第一个汇编程序80_第4页
通用IO与第一个汇编程序80_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章 通用I/O与第一个汇编程序 主要内容 MC68HC908GP32的普通I/O 汇编程序编程框架 08汇编语言编译过程所涉及的文件 SD-HC08嵌入式MCU在线编程集成开发系统 嵌入式应用技术基础教程课件6.1 MC68HC908GP32的普通I/O 所谓普通I/O,即根本的输入/输出,有时也称为并行I/O。作为普通输入引脚,MCU内部程序可以读取该引脚,知道该引脚是“1高电平或“0低电平,即开关量输入。作为普通输出引脚,MCU内部程序向该引脚输出“1高电平或“0低电平,即开关量输出。MC68HC908GP32单片机有5个普通I/O口,分别是A口、B口、C口、D口、E口。它们中的大局部

2、具有双功能,本节仅讨论它们作为普通I/O功能时的编程方法。 嵌入式应用技术基础教程课件 A口的8根引脚与键盘中断模块的引脚复用,这里只讨论A口作为普通I/O口的功能。 1A口的存放器 A口作为普通I/O口时,具有三个存放器,它们是:A口数据方向存放器DDRA、A口数据存放器PTA、A口上拉电阻允许存放器PTAPUE。 A口数据方向存放器Data Direction Register A,DDRA A口数据方向存放器DDRA的地址是:$0004,DDRA的第70位分别记为DDRA7DDRA0,这些位分别控制着A口引脚PTA7 PTA0是输入还是输出,假设DDRAx=0,那么引脚PTAx为输入,假

3、设DDRAx=1,那么引脚PTAx为输出。复位时DDRA为$00。 记忆要点:数据方向存放器的一位:0定义输入,1定义输出 6.1.1 A口嵌入式应用技术基础教程课件A口数据存放器PTA的地址是:$0000,PTA的第70位分别记为PTA7PTA0。假设A口的某一引脚PTAx被定义成输出,程序使A口数据存放器PTA的相应位PTAx0,那么引脚PTAx输出“低电平;程序使PTAx1,那么引脚PTAx输出“高电平。假设A口的某一引脚PTAx被定义成输入,程序通过读取A口数据存放器PTA,获得输入情况,0表示输入为“低电平,1表示输入为“高电平。记忆要点: 输出时:数据存放器的一位:0输出低电平 1

4、输出高电平输入时:数据存放器的一位:0代表外部输入低电平 1代表外部输入高电平 嵌入式应用技术基础教程课件 A口数据存放器Port A Data Register,PTAA口上拉电阻允许存放器PTAPUE的地址是:$000D。PTAPUE的第70位分别记为PTAPUE7PTAPUE0。假设A口的某一引脚PTAx 被定义成输入,那么可通过置PTAPUE的相应位PTAPUEx为1来定义其内接上拉电阻,即引脚PTAx已经通过内部电阻与电源VDD相接,此时假设引脚PTAx假设通过开关接地,那么开关闭合时为低电平。那么存放器PTA的相应位PTAx=0,开关断开时为高电平,存放器PTA的相应位PTAx=1

5、,通过读取存放器PTA获得开关状态。记忆要点: 在引脚被定义成输入时,可通过上拉电阻允许存放器定义有无内部上拉电阻:0没有内部上拉电阻1有内部上拉电阻 嵌入式应用技术基础教程课件 A口上拉电阻允许存放器Port A Input Pullup Enable Register,PTAPUE 以下图给出了A口作为普通I/O使用时,一个外部引脚的相应内部逻辑电路框图。当DDRAx=1时,读地址$0000就是读PTAx。当DDRAx=0时,读地址$0000就是读引脚PTAx 电平。嵌入式应用技术基础教程课件 读DDRA($0004) 写DDRA($0004) 复位 写PTA($0000) 引脚 PTAx

6、 VDD PTAPUEx 内部上拉电阻 读PTA($0000)A口的一个引脚内部逻辑电路框图A口数据方向寄存器DDRAx位A口数据寄存器PTAx位内部数据总线2A口逻辑电路框图 B口的8根引脚与8路A/D转换模块的引脚复用,这里只讨论B口作为普通I/O口的功能。 1B口的存放器 B口作为普通I/O口时,具有二个存放器,它们是:B口数据方向存放器DDRB和B口数据存放器PTB。 B口数据方向存放器Data Direction Register B,DDRB B口数据方向存放器DDRB的地址是:$0005,DDRB的第70位分别记为DDRB7DDRB0,这些位分别控制着B口引脚PTB7PTB0是输

7、入还是输出,假设DDRBx=0,那么引脚PTBx为输入,假设DDRBx=1,那么引脚PTBx为输出。复位时DDRB为$00。记忆要点:数据方向存放器的一位:0定义输入,1定义输出 6.1.2 B口 嵌入式应用技术基础教程课件B口数据存放器PTB的地址是:$0001,PTB的第70位分别记为PTB7PTB0。假设B口的某一引脚PTBx被定义成输出,程序使B口数据存放器PTB的相应位PTBx0,那么引脚PTBx输出“低电平,程序使PTBx1,那么引脚PTBx输出“高电平。假设B口的某一引脚PTBx被定义成输入,程序通过读取B口数据存放器PTB,获得输入情况,0表示输入为“低电平,1表示输入为“高电

8、平。注意:B口被定义成输入时,没有内部上拉电阻 嵌入式应用技术基础教程课件 B口数据存放器Port B Data Register,PTB以下图给出了B口作为普通I/O使用时,一个外部引脚的相应内部逻辑电路框图。嵌入式应用技术基础教程课件 读DDRB($0005) 写DDRB($0005) 复位 写PTB($0001) 引脚 PTBx 读PTB($0001)B口的一个引脚内部逻辑电路框图B口数据方向寄存器DDRBx位B口数据寄存器PTBx位 内部数据总线 2B口逻辑电路框图6.1.3 C口、D口和E口 1C口 对44引脚的MC68HC908GP32芯片的C口只有7根引脚:PTC6 pinPTC

9、0 pin,而40及42引脚的MC68HC908GP32芯片的C口只有5根引脚:PTC4 pinPTC0 pin。下面以44引脚的MC68HC908GP32芯片进行说明。C口只有普通I/O功能,它的内部逻辑结构框图与A口逻辑结构框图相同,只是其中的有关字母“A改为字母“C,地址作相应改变即可。它也具有三个存放器,它们是:C口数据方向存放器DDRC、C口数据存放器PTC、C口上拉电阻允许存放器PTCPUE。嵌入式应用技术基础教程课件C口数据方向存放器DDRC的地址是:$0006,由于对应引脚只有7根,最高位没有意义。DDRC的第60位分别记为DDRC6DDRC0,这些位分别控制着C口引脚PTC6

10、PTC0是输入还是输出,含义参考A口说明。复位时DDRC为$00。 C口数据存放器Port C Data Register,PTCC口数据存放器PTC的地址是:$0002,PTC的第60位分别记为PTC6PTC0。含义请类比A口、B口的相应说明。C口上拉电阻允许存放器Port C Input Pullup Enable Register,PTCPUEC口上拉电阻允许存放器PTCPUE的地址是:$000E。PTCPUE的第60位分别记为PTCPUE6PTAPUE0。含义请类比A口的相应说明。 嵌入式应用技术基础教程课件 C口数据方向存放器Data Direction Register C,DDR

11、C对于40引脚的MC68HC908GP32芯片的D口只有6根引脚:PTD5PTD0。而42及44引脚的MC68HC908GP32芯片的D口有8根引脚:PTD7PTD0。下面以42及44引脚的MC68HC908GP32芯片进行说明。D口是I/O功能与其它特殊功能SPI,TIM复用口,这里只讨论它作为普通I/O口的功能。它的内部逻辑结构框图与A口逻辑结构框图相同,只是其中的有关字母“A改为字母“D,地址作相应改变即可。它也具有三个存放器,它们是:D口数据方向存放器DDRD、D口数据存放器PTD、D口上拉电阻允许存放器PTDPUE。嵌入式应用技术基础教程课件2D口D口数据方向存放器DDRD的地址是:

12、$0007。DDRD的第70位分别记为DDRD7DDRD0,这些位分别控制着D口引脚PTD7PTD0是输入还是输出,含义参考A口说明。复位时DDRD为$00。 D口数据存放器Port D Data Register,PTD D口数据存放器PTD的地址是:$0003,PTD的第70位分别记为PTD7PTD0。含义请类比A口、B口的相应说明。D口上拉电阻允许存放器Port D Input Pullup Enable Register,PTDPUE D口上拉电阻允许存放器PTDPUE的地址是:$000F。PTDPUE的第70位分别记为PTDPUE7PTDPUE0。含义请类比A口的相应说明。嵌入式应用

13、技术基础教程课件 D口数据方向存放器Data Direction Register D,DDRDE口只有PTE1、PTE0引脚。它是I/O功能与串行通讯接口SCI复用口,这里只讨论它的普通I/O口功能。其内部逻辑结构框图与B口相同,只需将其中的有关字母“B改为字母“E,地址作相应改变即可。它有两个存放器: E口数据方向存放器Data Direction Register E,DDREE口数据方向存放器DDRE的地址是:$000C。DDRE只有低两位有用。DDRE的第1、0位分别记为DDRE1、DDRD0,这两位分别控制着E口引脚PTE1、PTE0是输入还是输出,含义参考B口说明。复位时DDRE

14、为$00。 E口数据存放器Port E Data Register,PTEE口数据存放器PTE的地址是:$0008,PTE的第10位分别记为PTE1PTE0。含义请类比B口的相应说明。嵌入式应用技术基础教程课件3E口返回6.2.1 C口、D口和E口 1程序描述 给出程序名、硬件连接以及根本功能等描述,还可以给出编制者、编制时间等,假设调试过程有新的体会,也可在此添加。 2头文件与有关常量命名 汇编语言也借用C语言中“头文件的概念,将映像存放器的地址定义在“头文件中,程序直接使用存放器地址所对应的“名称。例如,有了“头文件,对“D口数据存放器读出操作,可用“LDA PTD取代“LDA $0003

15、,更容易理解。 嵌入式应用技术基础教程课件 6.2 汇编程序编程框架 如果程序中使用到内存变量,需在此定义。实际上,这里是对内存变量的声明,通常称为“开辟内存变量,内存变量的初始化在主程序开始局部完成。第一个内存变量需用“ORG语句定位,随后,按地址从小到大顺序存放。每个内存变量都有固定的内存地址。借用C语言术语,这里所开辟的所有内存变量都是“全局变量。对应于C语言中的“局部变量将在讲解子程序标准时说明。 4主程序 主程序一般包括初始化与主循环两大局部。初始化包括堆栈初始化、系统初始化、内存变量初始化、I/O端口初始化、中断初始化等。主循环是程序的工作循环,根据实际需要安排程序段,但一般不宜过

16、长,建议不要超过200行,具体功能可通过调用子程序来实现,或由中断程序实现。不带操作系统的MCU程序总有一个主循环,表示程序周而复始地执行。嵌入式应用技术基础教程课件3内存变量 假设有不单独存盘的子程序,建议放在此处。这样在主程序总循环的最后一个语句就可以看到这些子程序。建议不要超过3个,每个子程序不要超过200行。假设有更多的子程序请单独存盘,单独测试。 6外部子程序 假设程序使用独立存盘的子程序,可在此处使用“$include 子程序名将其包含。注意,独立存盘的子程序必须与主程序在同一个目录中。 7中断向量 中断向量一般放在最后。复位向量地址内容为MCU上电后执行的程序地址,即主程序的第一

17、个语句地址。 嵌入式应用技术基础教程课件5内部直接调用子程序 第一个程序嵌入式应用技术基础教程课件 6.2.2 第一个可执行的08汇编程序 返回6.3 08汇编语言编译过程所涉及的文件 1头源文件.H 这是借用C语言中的概念,利用.H文件,存放 MCU的映像存放器地址、定义常量等。GP32ASM.H是包含MC68HC908GP32的映像存放器地址的汇编语言头文件。使用08系列MCU的任何一种型号,均可拷贝此文件,并参考用户手册进行少量修改,获得相应芯片的映像存放器地址的头文件。 在嵌入式应用系统的实际开发中,建议采用面向“实际对象的编程方式,可以使程序结构更清晰,移植性更强。例如,上一节给出的

18、实例程序是使一盏小灯闪烁,小灯是接在PTA口的第1脚,程序中包含定义见下页 嵌入式应用技术基础教程课件 *指示灯所接引脚定义 Light_P equ PTA ;灯(Light)接在PTA口 Light_D equ DDRA ;相应的方向存放器 Light_Pin equ 1 ;所在的引脚 这样,点亮小灯的程序是: BCLR Light_Pin,Light_P 熄灭小灯的程序是: BSET Light_Pin,Light_P 假设把小灯接在PTB口的第2脚,只要作如下变动: *指示灯所接引脚定义 Light_P equ PTB ;灯(Light)接在PTB口 Light_D equ DDRB ;

19、相应的方向存放器 Light_Pin equ 2 ;所在的引脚 而小灯闪烁的主程序无需改变。实际对象所在引脚的定义,可集中或分类放在相应的头文件.H中,硬件变动,只要更改头文件中引脚定义就可以了,增强了程序的通用性。 嵌入式应用技术基础教程课件 源程序文件,后缀名为ASM。可以使用一般的文本编辑软件编辑,以ASCII形式存盘。5.5.1节已经对08汇编源程序格式作了说明,上一节给出了实例,关键是注意程序的书写标准。 3目标代码文件.S19 源程序文件经08编译器编译后可以获得目标代码文件.S19,它是Motorola MCU的机器码文件,将其下载到MCU内部Flash存储器之后,MCU执行这些

20、机器码。 目标代码文件.S19是以S记录格式表示的机器码文件。S记录格式是Motorola公司的十六进制目标代码文件,它将目标程序和数据以可打印的ASCII码格式表示,可直接显示和打印。目标文件由假设干行S记录构成,每行S记录可以用CR/LF/NUL结尾。一行S记录由以下五局部组成:类 型 记录长度 地 址 编码/数据 校验和2字节 2字节 2、3或4字节 0n字节 1字节嵌入式应用技术基础教程课件2源程序文件.ASM表示S记录的类型。共有8种记录类型S0、S1、S2、S3、S5、S6、S8、S9。它们是为了满足不同的编码、传送方式以及解码的需求。ASM08编译器只使用S1、S9两种类型构成目

21、标文件。S1该记录包含程序/数据以及2字节存储其程序/数据的存储器首地址。S9S1记录的结束记录。该记录没有程序/数据局部。地址局部可包含控制将转向的2字节地址,如果不指定,那么为第一次使用的入口地址。 记录长度表示该记录行中字符对的数目,不包括类型和记录长度。 地址它可以是2个字节、3个字节或4个字节,取决于记录类型。S1记录、S9记录均是2个字节。它表示其后的编码/数据局部将要装入的存储器起始地址。 编码/数据就是实际的目标程序或数据,这一局部将被下载到单片机的程序存储器并运行。其字节数由“记录长度域的实际数值决定。 校验和为1个字节,它是“记录长度、“地址、“编码/数据三个局部所有字符之

22、和的反码的低8位。供装入单片机时校验之用。 嵌入式应用技术基础教程课件 类型S113801040CD80253B40FA12006EFA40CD80253BCES113802040FACC800C87A6C89D9D4BFC868187A610S113803001B71EA63DB71F3F366E01366E01386E7ES11380402C396E803A6E013B1A361E3718368681FBS105FFFE80007DS9030000FC嵌入式应用技术基础教程课件范例程序经编译后得到的目标文件:编译过程还将产生列表文件.LST。列表文件包含地址、目标代码、行号、源程序等信息,

23、该文件对用户很有帮助,它可以使用户清晰地看到程序代码的编译情况。列表文件的文件名与源程序的文件名相同,只是扩展名不同 。以下图给出了上节实例程序的.LST文件的片段 。 121 *主程序 8000 122 ORG FlashStartAddr ;程序起始地址 123 MainInit: ;复位后程序从此开始执行 124 ;系统初始化 8000 9B 125 SEI ;禁止所有中断 8001 45023F 126 LDHX #$023F ;堆栈初始化为RAM最高端 8004 94 127 TXS 8005 CD802E 128 JSR GP32Init ;系统初始化,初学时跳过此处地址目标代码行

24、号源程序嵌入式应用技术基础教程课件4列表文件.LST返回6.4 SD-HC08嵌入式MCU在线编程集成开发系统6.4.1 硬件系统说明 1总体结构布局 实验板硬件局部主要由MC68HC908GP32芯片及外围电路、LCD、键盘、模块化电源、串行口驱动电路、IC插线及其它元件扩展槽、输出开关量接线排、输入开关量接线排等局部组成,其主要作用是通过MC68HC908GP32芯片的监控程序和PC机进行通信,完成芯片程序的写入、运行、断点调试。嵌入式应用技术基础教程课件系统的硬件布局框图: 嵌入式应用技术基础教程课件电源指示灯LCD插孔键盘电位器2电位器1电源开关IC插线及其它元件扩展槽AIC插线及其它

25、元件扩展槽B8位拨线开关PTAMC68HC908GP32芯片写入器引线键盘接线区MAX232发送指示灯键盘插孔串行口FUSE8个输出指示灯PTBPTCPTD蜂鸣器LCD自行接线区RSTSD-HC08(GP32)实验板布局 将实验开发板的串行口通过串行通信线与PC机的串行口1或2连接。 接通实验开发板电源,电源指示灯亮。 连接实验所需线路。 按实验板上的复位按钮。 执行PC机的配套软件,硬件系统等待SD-1软件系统的握手信号。 2连接方法嵌入式应用技术基础教程课件 实验开发板用拨线开关提供8位数字量的输入。拨线开关状态为OFF时是高电平,拨线开关状态为ON时是低电平。 4开关量输出 实验开发板用

26、LED提供8位开关量的输出。导线接插点为高电平时LED是暗的,低电平时LED是亮的。 实验开发板含有蜂鸣器输出, 5模拟量输入 MCU电位器电路实验开发板利用电位器提供两路模拟量输入,供进行A/D转换实验使用。 6元件扩展口 实验开发板提供元件扩展口,使用者可以进行IC扩展。 液晶显示接口、键盘接口、串行口分别见后面的相应章节。嵌入式应用技术基础教程课件3开关量输入6.4.2 软件使用说明系统软件功能的主要结构,如以下图所示。嵌入式应用技术基础教程课件在线编程开发系统文件处理源文件编辑源文件编译帮 助断 点 调 试目标代码写打 印S19文件分解建立通信线路数据传输汇编代码编译编译出错处理设置断

27、点建立通信线路数据传输分解显示数据C代码编译 工程管理。 源文件编辑。 源文件编译。 目标代码写入芯片。 断点调试。1软件系统根本功能SD-1V20型MC68HC908GP32 MCU在线实验开发系统采用了WIN32的MDI风格,操作方便,直接支持Motorola的.S19文件格式,不改变用户中断向量,写入后直接转入用户程序执行。新建工程。源文件编辑。编译设置。编译工程。下载程序。 2软件系统使用嵌入式应用技术基础教程课件返回本章小结通过6.1节普通I/O的学习,理解MCU编程的根本原理,掌握存放器的使用方法。必须认真仔细阅读6.2节、6.3节给出的08汇编与08C语言的编程框架,参考实例进行

28、体会,一开始就形成良好的编程标准。在学习范例的根底上,动手编制I/O程序,进行实际的编程及调试训练,由此入门。返回2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdOgSjVnYq!t*w

29、-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9Ld

30、OgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%

31、v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+A2E5H9KcN

32、fRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhSkWnZr$u

33、*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z0C4F7Ja

34、MdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVmYq!t*

35、w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3E6I9L

36、dOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMTlWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)

37、z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWnZr$u(x+A2E5H8KcN

38、fRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y

39、+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$+B2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)

温馨提示

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

评论

0/150

提交评论