
微型计算机及接口技术自考练习.ppt
198页献给为这门课努力攻关的献给为这门课努力攻关的所有自考学生所有自考学生微机原理与接口技术自考练习微机原理与接口技术自考练习冯冯·诺依曼计算机的结构与原理诺依曼计算机的结构与原理中央处理器中央处理器输入设备输入设备存储器存储器输出设备输出设备运算器和控制器运算器和控制器(1) (1) 计算机的工作由程序控制,程序是一个指令序列,指计算机的工作由程序控制,程序是一个指令序列,指计算机的工作由程序控制,程序是一个指令序列,指计算机的工作由程序控制,程序是一个指令序列,指令是能被计算机理解和执行的操作命令;令是能被计算机理解和执行的操作命令;令是能被计算机理解和执行的操作命令;令是能被计算机理解和执行的操作命令;(2) (2) 程序程序程序程序( (指令指令指令指令) )和数据均以二进制编码表示,均存放在存和数据均以二进制编码表示,均存放在存和数据均以二进制编码表示,均存放在存和数据均以二进制编码表示,均存放在存储器中;储器中;储器中;储器中;(3) (3) 存储器中存放的指令和数据按地址进行存取存储器中存放的指令和数据按地址进行存取存储器中存放的指令和数据按地址进行存取存储器中存放的指令和数据按地址进行存取 ;;;;(4) (4) 指令是由指令是由指令是由指令是由CPUCPU一条一条顺序执行的。
一条一条顺序执行的一条一条顺序执行的一条一条顺序执行的计计算算机机系系统统硬件硬件主机主机主机主机微处理器微处理器(CPU)运算器运算器控制器控制器内存储器内存储器只读存储器只读存储器(ROM)随机存储器随机存储器(RAM)外外存储器存储器——硬盘、软盘、光盘硬盘、软盘、光盘外部设备外部设备外部设备外部设备输入设备输入设备——键盘、鼠标、光笔、扫描仪键盘、鼠标、光笔、扫描仪输出设备输出设备——显示器、打印机、绘图仪显示器、打印机、绘图仪软件软件系统软件系统软件系统软件系统软件操作系统操作系统语言编译系统语言编译系统数据库管理系统数据库管理系统应用软件应用软件应用软件应用软件文字处理软件文字处理软件…图形软件图形软件辅助设计软件辅助设计软件计算机系统组成框图计算机系统组成框图计算机系统组成框图计算机系统组成框图…寄存器组寄存器组输入输出接口输入输出接口微型计算机微型计算机单片机(可单片机(可没有没有ROM))单板机单板机台式台式PC的物理组成的物理组成台式台式PC主机主机外部设备外部设备显示卡显示卡芯片组芯片组BIOS ROMCMOSPCI插槽插槽(I/O总线总线)网卡网卡键盘键盘鼠标器鼠标器麦克风麦克风摄像头摄像头U盘、移动硬盘盘、移动硬盘显示器显示器打印机打印机音箱音箱/耳机耳机声卡声卡硬盘、软驱硬盘、软驱光盘驱动器光盘驱动器主板主板机箱、电源机箱、电源CPU内存条内存条输入设备输入设备输出设备输出设备外存储器外存储器I/O接口接口1 1 音箱音箱音箱音箱 5 CPU 5 CPU 2 2 调制解调器调制解调器调制解调器调制解调器 6 6 键盘键盘键盘键盘3 3 麦克风麦克风麦克风麦克风 7 7 鼠标器鼠标器鼠标器鼠标器 4 4 内存条内存条内存条内存条 8 CD8 CD驱动器驱动器驱动器驱动器9 9 软驱软驱软驱软驱10 10 硬盘驱动器硬盘驱动器硬盘驱动器硬盘驱动器11 11 打印机打印机打印机打印机12 I/O12 I/O接口接口接口接口13 CRT13 CRT显示器显示器显示器显示器14 14 扩展卡扩展卡扩展卡扩展卡台式PC机(立式)的主机箱扩展扩展空间空间主板主板 存储器插座存储器插座 处理器处理器插槽插槽外部设备插口外部设备插口(I/O接口接口)光驱及硬盘的光驱及硬盘的IDE连接器连接器电源连接器电源连接器 PCI总线槽总线槽 CPU插座插座显示卡的插槽显示卡的插槽南桥南桥芯片芯片 ROM BIOS CMOS 存储器存储器北桥北桥芯片芯片主板作用:主板作用: ______________________________ROM BIOS作用:作用:___________________________CMOS作用:作用: _______________________________________________________________________安装所有的电子器件、电路与接口安装所有的电子器件、电路与接口安装所有的电子器件、电路与接口安装所有的电子器件、电路与接口存放基本输入存放基本输入存放基本输入存放基本输入/ /输出系统输出系统输出系统输出系统(BIOS)(BIOS)存放硬件配置信息和系统的基本参存放硬件配置信息和系统的基本参存放硬件配置信息和系统的基本参存放硬件配置信息和系统的基本参数(日期、时间、口令等)数(日期、时间、口令等)数(日期、时间、口令等)数(日期、时间、口令等)华硕华硕P5Q主板主板CPU插插座座内存条内存条插座插座IDE ((((ATAATA))))硬盘光硬盘光驱连接驱连接器器PCI插槽插槽芯片组芯片组各种各种I/O插口插口显卡插槽显卡插槽PCI-E插槽插槽芯片组的作用芯片组的作用yALU寄存器组寄存器组CPU总线接口总线接口R6CPU(前端前端)总线总线I/O 总线总线主板扩展槽主板扩展槽PCI接口接口南桥芯片南桥芯片I/O 总线总线中中央央处处理理器器指令计数器指令计数器指令寄存器指令寄存器磁盘控制器磁盘控制器以太网卡以太网卡USB控制器和接口控制器和接口鼠标器鼠标器键盘键盘网线网线disk声卡声卡视频卡视频卡光驱光驱主存储器主存储器0A北桥芯片北桥芯片y存储器总线存储器总线显卡是是PC机各组成机各组成部分相互连接部分相互连接和通信的枢纽和通信的枢纽控控制制器器寄寄存存器器组组运运算算器器CPU的性能的性能计算机的性能主要表现为程序执行速度的快慢,由许多因计算机的性能主要表现为程序执行速度的快慢,由许多因素决定,例如素决定,例如CPU、内存、硬盘、显卡等,但通常、内存、硬盘、显卡等,但通常CPU是是主要因素,主要因素,CPU的性能高低主要表现为的性能高低主要表现为CPU的速度。
的速度字长字长(位数):指通用寄存器和定点运算器的宽度;(位数):指通用寄存器和定点运算器的宽度;指令系统指令系统:指令的类型、数目和功能等影响程序执行速度;:指令的类型、数目和功能等影响程序执行速度;逻辑结构逻辑结构::CPU包含的定点运算器和浮点运算器的数目、采包含的定点运算器和浮点运算器的数目、采用的流水线结构和级数、指令分支预测的机制、执行部件的用的流水线结构和级数、指令分支预测的机制、执行部件的数目等数目等内核数目;内核数目;高速缓存高速缓存((cache):其的容量与结构影响速度;):其的容量与结构影响速度; 主频主频((CPU内部时钟频率):它决定着内部时钟频率):它决定着CPU芯片内部数据传芯片内部数据传输与操作速度的快慢;输与操作速度的快慢; 总线总线:决定着:决定着CPU与内存之间传输数据速度快慢与内存之间传输数据速度快慢1980’ 1990’ 2005 2010 20151980’ 1990’ 2005 2010 20154核核 80x86 Pentium 80核核 双核双核年代年代性性能能提高提高CPU性能的性能的3大措施大措施提高主频提高主频增加逻辑增加逻辑复杂度复杂度增加内核数目增加内核数目处理器性能与处理器性能与其逻辑复杂性其逻辑复杂性的平方根成正的平方根成正比,若逻辑复比,若逻辑复杂性提高杂性提高1倍,倍,至多能提高至多能提高40%的性能的性能最大瓶颈是散热问题:最大瓶颈是散热问题:• 3.2GHz 的的Pentium 4功耗超过功耗超过100W,温度达,温度达70度!度!• 主频到主频到4.0GHz,功耗会达到,功耗会达到150W!!采用采用2个处理个处理器构成一个器构成一个双核处理器,双核处理器,可以提高可以提高70%~~80%的性能的性能电路与封装技术的进步,电路与封装技术的进步,能把多个处理器做在单能把多个处理器做在单个芯片上个芯片上1.___________;; 2 .________ ;;3. ______________。
改进改进CPU结构结构提高主频提高主频增加增加CPU(核核)的数目的数目InstructionsResults aresequenced1. ”线程线程“排排队等候进入队等候进入CPU处理处理并行处理并行处理3. 每个每个CPU负责负责执行分配给它的执行分配给它的线程中的指令线程中的指令2. 哪一个哪一个CPU空闲,就空闲,就把等候的线程把等候的线程交给它执行交给它执行(包含包含3个内核个内核)为什么为什么“多核多核”可提高计算机性能可提高计算机性能提高提高CPU性能的具体措施性能的具体措施扩展扩展CPU的字长:的字长:32位-位-> 64位位 扩充扩充CPU指令系统:指令系统:SSE指令指令提高提高CPU主频:目前已达主频:目前已达4GHz;;加快加快CPU前端总线的数据传输速率;前端总线的数据传输速率;增大增大cache存储器容量、增加存储器容量、增加cache的级数;的级数;改进改进CPU内部的逻辑结构;内部的逻辑结构;超标量结构(多个执行部件)超标量结构(多个执行部件) ;;指令流水线执行技术;超线程技术;指令流水线执行技术;超线程技术;采用多内核结构;采用多内核结构;高速缓存高速缓存(cache)012345678910111213141589143444101010主存中的部分信息拷主存中的部分信息拷贝在贝在cache存储器中存储器中cache主存储器主存储器CPUCPU芯片芯片随着计算机的发展。
存储器随着计算机的发展存储器与与CPU速度差距愈来愈大,速度差距愈来愈大, 从内存中存取数时,从内存中存取数时,CPU往往往需要等待,于是出现了往需要等待,于是出现了cache它是一种小容量高它是一种小容量高速缓冲存储器,它由速缓冲存储器,它由SRAM组成,直接制作在组成,直接制作在CPU芯片芯片内,速度几乎与内,速度几乎与CPU一样快当当CPU需要从内存读需要从内存读(写写)数数据或指令时,先检查据或指令时,先检查cache中有没有,若有,就直接从中有没有,若有,就直接从cache中读取,而不用访问中读取,而不用访问主存储器主存储器总线总线BUS总线的定义:总线的定义:用于在用于在CPU、内存、外存和各种输入输出设备、内存、外存和各种输入输出设备之间传输信息的一个共享的信息传输通路及其之间传输信息的一个共享的信息传输通路及其控制部件控制部件总线的性能:总线的性能:数据通路宽度;总线工作频率;每秒传输次数数据通路宽度;总线工作频率;每秒传输次数总线最高传输速率=总线最高传输速率=( (数据通路宽度数据通路宽度数据通路宽度数据通路宽度/8) x /8) x 总线工作频率总线工作频率总线工作频率总线工作频率 x x 传输次数传输次数传输次数传输次数总线分类总线分类CPUCPUCPUCPURAMRAMRAMRAMROMROMROMROMI/OI/OI/OI/O总线控制总线控制总线控制总线控制内总线内总线内总线内总线存储存储存储存储器扩器扩器扩器扩展模展模展模展模块块块块I/OI/OI/OI/O扩展扩展扩展扩展模块模块模块模块外存外存外存外存外设外设外设外设外外外外总线总线总线总线系统总线系统总线系统总线系统总线数据总线:传输数据信息(双向,取决于数据总线:传输数据信息(双向,取决于数据总线:传输数据信息(双向,取决于数据总线:传输数据信息(双向,取决于CPUCPU字长)字长)字长)字长)地址总线:传输地址信息(单向,决定内存空间)地址总线:传输地址信息(单向,决定内存空间)地址总线:传输地址信息(单向,决定内存空间)地址总线:传输地址信息(单向,决定内存空间)控制总线:传输控制信息(双向,取决于控制总线:传输控制信息(双向,取决于控制总线:传输控制信息(双向,取决于控制总线:传输控制信息(双向,取决于CPUCPU字长)字长)字长)字长)内总线内总线内总线内总线:计算机内部各芯片之间互连,即片总线,没统一标准。
计算机内部各芯片之间互连,即片总线,没统一标准计算机内部各芯片之间互连,即片总线,没统一标准计算机内部各芯片之间互连,即片总线,没统一标准系统总线系统总线系统总线系统总线:各插件板之间互连,有通用标准各插件板之间互连,有通用标准各插件板之间互连,有通用标准各插件板之间互连,有通用标准外部总线外部总线外部总线外部总线:微机与外部设备的连接,也称:微机与外部设备的连接,也称:微机与外部设备的连接,也称:微机与外部设备的连接,也称I/OI/O总线,有通用标准总线,有通用标准总线,有通用标准总线,有通用标准 ①①①① ISAISA((((Industry Standard ArchitectureIndustry Standard Architecture)))) ②②②② PCIPCI((((Peripheral Component InterconnectPeripheral Component Interconnect)))) ③③③③ PCI-ExpressPCI-Express ④④④④ AGP(AcceleratedAGP(Accelerated Graphics Port)Graphics Port) 系统总线系统总线称为称为称为称为“ “工业标准体系结构工业标准体系结构工业标准体系结构工业标准体系结构” ”,是针对,是针对,是针对,是针对Intel8088Intel8088微处理器设计的,微处理器设计的,微处理器设计的,微处理器设计的,1616位位位位, ,数数数数据传输率最高可达据传输率最高可达据传输率最高可达据传输率最高可达8MB/s8MB/s。
现在基本不用现在基本不用现在基本不用现在基本不用称外部设备互联总线数据传送宽度为称外部设备互联总线数据传送宽度为称外部设备互联总线数据传送宽度为称外部设备互联总线数据传送宽度为3232位,可以扩展到位,可以扩展到位,可以扩展到位,可以扩展到6464位,数据传位,数据传位,数据传位,数据传输率可达输率可达输率可达输率可达133MB/s133MB/s20002000年年年年IntelIntel提出了替代提出了替代提出了替代提出了替代PCIPCI总线的新总线技术它可工作于各种不同的物总线的新总线技术它可工作于各种不同的物总线的新总线技术它可工作于各种不同的物总线的新总线技术它可工作于各种不同的物理媒介上,从通用的铜线连接到光纤连接理媒介上,从通用的铜线连接到光纤连接理媒介上,从通用的铜线连接到光纤连接理媒介上,从通用的铜线连接到光纤连接加速图形接口,加速图形接口,加速图形接口,加速图形接口, IntelIntel公司配合公司配合公司配合公司配合PentiumPentium处理器开发的总线标准,数据传处理器开发的总线标准,数据传处理器开发的总线标准,数据传处理器开发的总线标准,数据传输率可以达到输率可以达到输率可以达到输率可以达到533MB/533MB/秒以上。
秒以上PCI-E的优点的优点PCI-E即即“PCI-Express”1.传输速率高:传输速率高: x1速率可达速率可达250MB/s,, x16速率可速率可达达5GB/s((2.0版速率提高为版速率提高为2倍倍,3.0版为版为4倍)倍)2.适应性好:包括适应性好:包括x1、、x4、、x8 及及x16,,外部总线外部总线 ①①①① USB(UniversalUSB(Universal Serial Bus) Serial Bus)通用串行总线接口通用串行总线接口通用串行总线接口通用串行总线接口是为解决是为解决是为解决是为解决PCPC与周边设备的通用连接而设计的,使所有的低速设备,都可以连与周边设备的通用连接而设计的,使所有的低速设备,都可以连与周边设备的通用连接而设计的,使所有的低速设备,都可以连与周边设备的通用连接而设计的,使所有的低速设备,都可以连接到统一的接到统一的接到统一的接到统一的USBUSB接口上允许接口上允许接口上允许接口上允许“ “热插拔热插拔热插拔热插拔” ”,实现安装自动化实现安装自动化实现安装自动化实现安装自动化 ②②②② IEEE 1394IEEE 1394是一种工业标准的高速串行总线,由苹果公司是一种工业标准的高速串行总线,由苹果公司是一种工业标准的高速串行总线,由苹果公司是一种工业标准的高速串行总线,由苹果公司率先创立,又称率先创立,又称率先创立,又称率先创立,又称FirewireFirewire即火线。
它的特点是传输速度快,现在即火线它的特点是传输速度快,现在即火线它的特点是传输速度快,现在即火线它的特点是传输速度快,现在确定为确定为确定为确定为400MB/s400MB/s,以后可望提高到,以后可望提高到,以后可望提高到,以后可望提高到800MB/s800MB/s、、、、1.6GB/s1.6GB/s、、、、3.2GB/s3.2GB/s所以传送数字图像信号也不会有问题所以传送数字图像信号也不会有问题所以传送数字图像信号也不会有问题所以传送数字图像信号也不会有问题 ③③③③ SCSISCSI(Small(Small Computer System Interface Computer System Interface,小型计算机,小型计算机,小型计算机,小型计算机系统接口系统接口系统接口系统接口) ) 可与各种采用可与各种采用可与各种采用可与各种采用SCSISCSI接口标准的外部设备相连,如硬盘接口标准的外部设备相连,如硬盘接口标准的外部设备相连,如硬盘接口标准的外部设备相连,如硬盘驱动器、扫描仪、光盘、打印机和磁带驱动器等但它价格相对驱动器、扫描仪、光盘、打印机和磁带驱动器等。
但它价格相对驱动器、扫描仪、光盘、打印机和磁带驱动器等但它价格相对驱动器、扫描仪、光盘、打印机和磁带驱动器等但它价格相对于于于于IDEIDE来说也十分昂贵,因此在普通家用电脑上不常用,一般应来说也十分昂贵,因此在普通家用电脑上不常用,一般应来说也十分昂贵,因此在普通家用电脑上不常用,一般应来说也十分昂贵,因此在普通家用电脑上不常用,一般应用于高端工作站或者服务器领域用于高端工作站或者服务器领域用于高端工作站或者服务器领域用于高端工作站或者服务器领域8/15/2024有专门的设备名有专门的设备名有专门的设备名有专门的设备名COM1 COM1 和和和和 COM2COM2 是电子工业协会是电子工业协会是电子工业协会是电子工业协会(EIA) (EIA) 所制定的异步传输标准接口所制定的异步传输标准接口所制定的异步传输标准接口所制定的异步传输标准接口 RS-232(RS-232(外部总线外部总线外部总线外部总线) ) 在TxDTxD和和和和RxDRxD上:逻辑上:逻辑上:逻辑上:逻辑1(MARK)=-3V1(MARK)=-3V~~~~-15V -15V 逻辑逻辑逻辑逻辑0(SPACE)=+30(SPACE)=+3~~~~++++15V15V。
与与TTLTTL逻辑电平不一样,可用逻辑电平不一样,可用逻辑电平不一样,可用逻辑电平不一样,可用TTL/EIATTL/EIA电平转换器电平转换器电平转换器电平转换器进行,如进行,如进行,如进行,如MC1488MC1488,,,,MC1489ICMC1489IC插座分为插座分为插座分为插座分为9 9针或针或针或针或2525针两种,针两种,针两种,针两种,目前最普遍的用途是连接鼠标和调制解调器目前最普遍的用途是连接鼠标和调制解调器目前最普遍的用途是连接鼠标和调制解调器目前最普遍的用途是连接鼠标和调制解调器串行接口串行接口串行接口串行接口并行接口并行接口并行接口并行接口常被称为打印口或并行打印机适配器,被赋予专门的设备常被称为打印口或并行打印机适配器,被赋予专门的设备常被称为打印口或并行打印机适配器,被赋予专门的设备常被称为打印口或并行打印机适配器,被赋予专门的设备名名名名LPTLPT,为区别同一台计算机上的多个并行端口,依次称,为区别同一台计算机上的多个并行端口,依次称,为区别同一台计算机上的多个并行端口,依次称,为区别同一台计算机上的多个并行端口,依次称为为为为LPT1LPT1、、、、LPT2LPT2等。
并行接口可同时传输等并行接口可同时传输等并行接口可同时传输等并行接口可同时传输8 8路信号,因此路信号,因此路信号,因此路信号,因此能够一次并行传递完整的一个字节的数据能够一次并行传递完整的一个字节的数据能够一次并行传递完整的一个字节的数据能够一次并行传递完整的一个字节的数据I/O设备接口设备接口串行口串行口9针针并行口并行口VGA视频口视频口键盘接口键盘接口双绞线接口双绞线接口PS/2接口接口串行口串行口25针针同轴电缆网同轴电缆网络接口络接口显示器显示器显示器显示器接口接口接口接口麦克风麦克风麦克风麦克风音音音音 箱箱箱箱键盘接口键盘接口键盘接口键盘接口并行口并行口并行口并行口USBUSB接口接口接口接口以太网以太网以太网以太网双绞线接口双绞线接口双绞线接口双绞线接口串行口串行口串行口串行口鼠标器鼠标器鼠标器鼠标器接口接口接口接口(安装在主板上的安装在主板上的I/O设备接口设备接口)I/O接口: I/O设备与主机之间的连接器包括:插头/插座的形式、通讯规程和电器特性等串行口串行口串行口串行口并行口并行口并行口并行口常用的I/O接口及其性能参数名 称数据传输方式数据传输速率标 准插头/插座形式可连接的设备数目通常连接的设备串行口串行,双向50~19200 b/sEIA-232或EIA-422DB25F或DB9F1鼠标器,MODEM并行口(增强式)并行,双向1.5MB/sIEEE 1284DB25M1打印机,扫描仪USB(1.0)USB(1.1)串行,双向1.5Mb/s(慢速)1.5MB/s(全速)USB-IFA型,B型最多127键盘,鼠标器,数码相机,移动盘等USB(2.0)串行,双向60MB/s(高速)USB-IFA型,B型,Mini型最多127外接硬盘,数字视频设备,扫描仪等IEEE 1394aIEEE 1394b 串行,双向50MB/s,100MB/s, 200MB/sFireWire(i.Link)最多63数字视频设备IDE并行,双向66MB/s100MB/s133MB/sUltra ATA/66 Ultra ATA/100Ultra ATA/133(E-IDE)1~4硬盘,光驱,软驱SATA串行,双向150MB/s300MB/sSATA1.0SATA2.07针插头/插座1硬盘,光驱显示器输出接口并行,单向200~500MB/sVGAHDB151显示器PS/2接口串行,双向低速IBM1键盘或鼠标器红外线接口(IrDA)串行,双向115,000 bps 或 4 Mbps红外线数据协会不需要1键盘,鼠标器,打印机等USB接口接口USB标识标识USB 3.0通用串行总线式接口(通用串行总线式接口(通用串行总线式接口(通用串行总线式接口(Universal Serial Bus Universal Serial Bus ))))高速、可连接多个设备、串行传输高速、可连接多个设备、串行传输高速、可连接多个设备、串行传输高速、可连接多个设备、串行传输传输速率:传输速率:传输速率:传输速率:USBUSB的的的的1.11.1版:版:版:版:1.5 Mb/s1.5 Mb/s和和和和12 Mb/s12 Mb/sUSB2.0USB2.0版:最高达版:最高达版:最高达版:最高达 480Mb/s480Mb/s((((60MB/s60MB/s))))USB3.0USB3.0版:最高达版:最高达版:最高达版:最高达 3.2Gbps3.2Gbps((((400MB/s400MB/s))))USB2.0USB2.0使用使用使用使用4 4线连接器,体积小,符合线连接器,体积小,符合线连接器,体积小,符合线连接器,体积小,符合即插即用即插即用即插即用即插即用规规规规范(范(范(范(Plug & Play,Plug & Play,即即即即________________))))PnPPnPUSB接口的接口的3种类型种类型接口类型接口类型A,通常通常在在PC上出现上出现接口类型接口类型B,通常在通常在USB设备上出现设备上出现Mini-USB,数码数码相机、移动硬盘相机、移动硬盘等设备经常使用等设备经常使用USB集线器集线器, 可扩展可扩展PC机的机的USB接口接口黑黑黑黑地地GND4绿绿绿绿数据+数据+++DATA3白白白白数据-数据---DATA2红红红红电源电源VCC1导线颜色名 称信 号引 脚CPU发展过程发展过程MMX——处理多媒体信息的指令(处理多媒体信息的指令(Multimedia Extension))SSE ——128位长操作数的单指令多数据流指令位长操作数的单指令多数据流指令(Streaming SIMD Extention))→ → → → → → → →→ → → →→ → →8088((8086))802868038680486PentiumPentium PROPentium IIPentium IIIPentium 4奔腾奔腾D奔腾至尊奔腾至尊酷睿酷睿酷睿酷睿2Core i3/ i5/ i7浮点部件和浮点部件和cache32b24条条AD20条条AD16b超标量技术超标量技术64b总线总线UV流水线流水线增增57条条MMX增增70条条SSE增增144条条SSE2增增13条条SSE3增增40多条多条SSE4Pentium MMX64b进制运算进制运算1010BAH =1011BBH =1100BCH =1101BDH =1110BEH =1111BFH =熟记下面数的关系熟记下面数的关系1GB =1MB =1KB = 210B220B230B二进制数二进制数11位位二进制数二进制数21位位二进制数二进制数31位位十六进制字节二进制二进制10根地址线可以访问根地址线可以访问1KB容量内存容量内存20根地址线可以访问根地址线可以访问1MB容量内存容量内存进制运算进制运算15×161 + 5×160 + 4×16--1 = 245.253×82+ 6×81+ 5×80 + 2×8--1 = 245.25F5.4H=365.2Q =1×22++0×21++1×20 ++0×2--1++1×2--2 ==5.25101.01 B =八进制进制运算进制运算29.687511101.101135.541D. B HQB1 129293 37 714142 21 12 22 22 22 20 00 01 11 11 1余余余余数数数数低低低低位位位位高高高高位位位位整整数数部部分分小小数数部部分分0.68750.6875× 2× 21 1. 3750. 37500 0. 7500. 75001 1. 5000. 50001 1. 0000. 0000× 2× 2× 2× 2× 2× 2高位高位高位高位低位低位低位低位整数部分:除整数部分:除2取余;取余; 小数部分:乘小数部分:乘2取整。
取整 带符号整数的表示带符号整数的表示[+43]的的8位原码为:位原码为:[- 43]的的8位原码为:位原码为:0010101110101011- 27+1~~27-1((- 127~~127))8位原码范围:位原码范围:16位原码范围:位原码范围: - 215+1~~215- 1((- 32767~~32767))[+0]的的8位原码为:位原码为:[- 0]的的8位原码为:位原码为:0000000010000000带符号整数的表示带符号整数的表示X==++1011011 [X]原码原码==[X]反码反码==[X]补码补码==Y==--1011011 [Y]原码原码==[Y]原码原码==[Y]补码补码==0101101101011011110110111010010001011011101001018位补码范围:-位补码范围:-128 ~~ ++127,,16位补码范围:-位补码范围:-32768 ~~ ++32767反码表示的整数范围与原码反码表示的整数范围与原码相同[+0]反反==00000000[-0]反反==1111111100000000[+0]补补== [-0]补补=反码反码= 符号位符号位+数值的非数值的非补码补码=反码反码+1补码的意义补码的意义补码有减化二进制加法的作用。
补码有减化二进制加法的作用题:题:X=+1101B,,Y=-0110B求:求:X+Y= 00111B过程:过程: [X+Y]补=X补+Y补 [X-Y]补=X补+[-Y]补[X+Y]补补=[01101+11010]去进位去进位=00111则:则:X+Y= 00111B(符号位为正)(符号位为正)13+((-6))=7二二 ~ 十进制编码(十进制编码(BCD)) (0101 1001 0000.0001 1001)BCD(590.19)D=注意注意BCD与二进制(与二进制(B)不同)不同常用:常用:8421码码(后后6位不用位不用) ;;2421码码(中间中间6位不用位不用);;余三码余三码(前后前后3位不用位不用) ;格雷码(循环二进制码或反;格雷码(循环二进制码或反射二进制码射二进制码 )最常用)最常用8421码汉字编码汉字编码汉字编码是指将汉字转换成二进制代码的过程汉字编码是指将汉字转换成二进制代码的过程码码——即输入法可以由键盘上的英文字符、数字和即输入法可以由键盘上的英文字符、数字和某些特殊字符构成某些特殊字符构成《《中华人民共和国国家标准信息交换中华人民共和国国家标准信息交换汉字编码汉字编码》》,共收录一、二级汉字和图形符号,共收录一、二级汉字和图形符号7445个。
简个简称称_____码码,又称,又称_____码码或或 _____码码,没有重码;其它输入,没有重码;其它输入法都有重码法都有重码码码——计算机内部存储、处理汉字所用的编码输入计算机内部存储、处理汉字所用的编码输入码通过汉字操作系统转换为机内码;每个汉字的机内码用码通过汉字操作系统转换为机内码;每个汉字的机内码用___个字节表示汉字的输入法不同,但机内码是个字节表示汉字的输入法不同,但机内码是一致一致的码码——指汉字信息的输出编码所占内存比其机内码指汉字信息的输出编码所占内存比其机内码大得多点阵越大所用字节越多点阵越大所用字节越多16×16点阵汉字需要点阵汉字需要__________ (字节)(字节)机外机外国标国标交换交换区位区位机内机内字型字型16×16/8=322ASCII 美国信息交换标准码美国信息交换标准码有两种形式:有两种形式: 7位位ASCII码码 / 8位位ASCII码码常用常用7位位ASCII码码 特点:用特点:用7位二进制数(位二进制数(0,,1)表示一个字符)表示一个字符容量:容量:27 =128 (个:(个:0 ~ 127))其中:第其中:第48-57号表示数字符号号表示数字符号 0~9:_______H 第第65-90号表示大写字母号表示大写字母A~Z:_______H 第第97-122号表示小写字母号表示小写字母a~z:_______H字母字母“A”即即(65)D的的ASCII码值为码值为:字符字符“2”即即(50)D的的ASCII码值为码值为:30~3941~5A61~7A10000010110010b7b6b5b4b3b2b1b0奇偶校验位奇偶校验位ASCII编码位编码位为了使用方便,在计算机存储中每个为了使用方便,在计算机存储中每个为了使用方便,在计算机存储中每个为了使用方便,在计算机存储中每个ASCIIASCII码码码码值用一个字节(值用一个字节(值用一个字节(值用一个字节(8 8个二进制位)表示。
个二进制位)表示个二进制位)表示个二进制位)表示 后后后后7 7位用位用位用位用作作作作ASCIIASCII码值本身,第一位(最高位)用作奇码值本身,第一位(最高位)用作奇码值本身,第一位(最高位)用作奇码值本身,第一位(最高位)用作奇偶校验位;偶校验位;偶校验位;偶校验位;奇偶校验奇偶校验奇校验规定:奇校验规定:正确的代码一个字节中正确的代码一个字节中“1”的个数必须是的个数必须是奇数,若非奇数,则在高位奇数,若非奇数,则在高位“b7”添添“1”来满足偶校验规定:偶校验规定:正确的代码一个字节中正确的代码一个字节中“1”的个数必须是的个数必须是偶数,若非偶数,则在高位偶数,若非偶数,则在高位“b7”添添“1”来满足题:当题:当ASCII码值为码值为“111001”时,它表示什么字时,它表示什么字 符?当采用符?当采用偶校验偶校验时时“b7”应等于什么?应等于什么?解:解:查出(查出(111001))2 =39H 表示表示“ 9” 字符;字符;即:即:00111001根据偶校验规则根据偶校验规则“b7”应等于应等于“0”移码移码定义:定义: [X]移移=2n+X ((2n>X≥-2n))式中式中X为真值,为真值,n即数值位个数。
即数值位个数 移码将有符号数转化为在中值附近的正数移码将有符号数转化为在中值附近的正数 在数轴上移码所表示的范围恰好对应于真值在在数轴上移码所表示的范围恰好对应于真值在数轴上的范围向轴的正方向移动数轴上的范围向轴的正方向移动2n个单元这就是个单元这就是移码名字的由来其中移码名字的由来其中2n可称为偏移量可称为偏移量题题1::n=4,, X=6=110B,则,则[X]移移=_____B题题2::n=4,, X=-6=-110B,则,则[X]移移=_____B11100010真真值X[X]补[X]移移[X]移移对应的十的十进制整数制整数-100000-11111-11110┇┇-00001±±00000+00001+00010┇┇+11110+11111100000100001100010┇┇111111000000000001000010┇┇011110011111000000000001000010┇┇011111100000100001100010┇┇111110111111012┇┇31323334┇┇6263中中中中轴轴符号位相反符号位相反真值、补码和移码对照表真值、补码和移码对照表数的浮点表示数的浮点表示E1 E2 E3 …EmMSM1 M2 M3 …Mn阶符阶符尾数尾数尾符尾符ES阶码阶码计算机中浮点数的格式计算机中浮点数的格式ES为阶码的符号位,表示阶的正负;为阶码的符号位,表示阶的正负;MS为尾数的符号位,表示阶的正负。
为尾数的符号位,表示阶的正负N=M·RE浮点数可以写成:浮点数可以写成:浮点数可以写成:浮点数可以写成:尾数尾数尾数尾数指数或阶码指数或阶码指数或阶码指数或阶码基数基数基数基数可以取可以取2、、4、、8或或者者16,它在计算机,它在计算机中通常是一个默认中通常是一个默认的固定值的固定值参数参数 单精度浮点数单精度浮点数 双精度浮点数双精度浮点数 扩充精度浮点数扩充精度浮点数 浮点数长度浮点数长度(字长)(字长) 80 尾数长度尾数长度P 23 52 64 符号位符号位S位数位数 1 1 1 指数指数E长度长度 8 11 15 最大指数最大指数 +127 +1023 +16383 最小指数最小指数 -126 -1022 -16382 Pentium处理器三种类型浮点数格式处理器三种类型浮点数格式 ::32 32 6464BIU 负责指负责指负责指负责指令译码和令译码和令译码和令译码和指令执行指令执行指令执行指令执行(算术逻(算术逻(算术逻(算术逻辑运算)辑运算)辑运算)辑运算) 负责取负责取负责取负责取指令和传指令和传指令和传指令和传送数据,送数据,送数据,送数据,合成合成合成合成2020位位位位物理地址物理地址物理地址物理地址_____单元单元 _____单元单元1F100h1F101h1F102h1FFFFh地址地址...16位处理器位处理器8086CPUEU总线总线内存内存执行执行总线接口总线接口+AHALBHBLCHCLDHDLSIDIBPSPCSDSESSSIP译码译码译码译码指令队列指令队列指令队列指令队列地址合成地址合成AXBXCXDX控制器控制器控制器控制器FLAGSPSW标志寄标志寄存器存器段段寄寄存存器器通通用用寄寄存存器器堆栈指针寄存器堆栈指针寄存器计数器计数器累加器累加器变址寄存器变址寄存器指令指指令指针寄存针寄存器器源变址源变址基址基址代码段代码段数据段数据段堆栈段堆栈段栈段的基址栈段的基址栈段顶栈段顶目的变址目的变址附加数据段附加数据段ALU算术逻辑单元算术逻辑单元总总线线接接口口数据数据执行部件执行部件 ((EU)总线接口部件总线接口部件 ((BIU)计算机通过计算机通过CS : IP来取指来取指访问存储器的方式访问存储器的方式 默认的默认的段寄存器段寄存器可可跨越的跨越的段寄存器段寄存器偏移地址偏移地址取取指令指令 CS 无无 IP堆栈操作堆栈操作 SS 无无 SP一般数据访问一般数据访问 DS CS ES SS 有效地址有效地址EABP作为基址的寻址作为基址的寻址 SS CS DS ES BP串操作的源操作数串操作的源操作数 DS CS ES SS SI串操作的目的操作数串操作的目的操作数 ES 无无 DI寄存器的使用规定寄存器的使用规定 8086/80888086/8088程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器) b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF 符号符号 名称名称 值为值为“1”的条件的条件 进位标志进位标志进位标志进位标志 加加加加/ /减法时产生进位减法时产生进位减法时产生进位减法时产生进位/ /借位借位借位借位 溢出标志溢出标志溢出标志溢出标志 运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围 零标志零标志零标志零标志 运算结果为运算结果为运算结果为运算结果为0 0 时时时时 符号标志符号标志符号标志符号标志 运算结果的最高位为运算结果的最高位为运算结果的最高位为运算结果的最高位为“ “1”(1”(负数负数负数负数) )时时时时 辅助进位标志辅助进位标志辅助进位标志辅助进位标志 运算时半字节(运算时半字节(运算时半字节(运算时半字节(b3b3))))产生进位产生进位产生进位产生进位/ /借位借位借位借位 奇偶标志奇偶标志奇偶标志奇偶标志 操作结果低操作结果低操作结果低操作结果低8 8位为位为位为位为“ “1”1”的位数为偶数时的位数为偶数时的位数为偶数时的位数为偶数时 方向标志方向标志方向标志方向标志 串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动 中断允许标志中断允许标志中断允许标志中断允许标志 允许允许允许允许CPUCPU响应可屏蔽中断请求时响应可屏蔽中断请求时响应可屏蔽中断请求时响应可屏蔽中断请求时 跟踪标志跟踪标志跟踪标志跟踪标志 CPUCPU处于单步执行的工作方式处于单步执行的工作方式处于单步执行的工作方式处于单步执行的工作方式CFCFOFOF ZF ZF SFSFAFAFPFPFDFDFIFIFTFTF控制控制反映结果状态反映结果状态题:以下的几个题:以下的几个题:以下的几个题:以下的几个4 4位十六进制数相加,会使得位十六进制数相加,会使得位十六进制数相加,会使得位十六进制数相加,会使得80888088状状状状态寄存器的以下几位为什么值?态寄存器的以下几位为什么值?态寄存器的以下几位为什么值?态寄存器的以下几位为什么值?CFPFAFZFSFOF8000H8000H+0000HC000HC000H+8000H4008H4008H+8010H0808HC000H+C808H1 110101 11 110010 00 001011 10 000010 0在补码加减运算中,有时会遇到这样的情况:两个正数相加,结果的符在补码加减运算中,有时会遇到这样的情况:两个正数相加,结果的符在补码加减运算中,有时会遇到这样的情况:两个正数相加,结果的符在补码加减运算中,有时会遇到这样的情况:两个正数相加,结果的符号位却为号位却为号位却为号位却为1 1(结果为负);两个负数相加,结果的符号位却为(结果为负);两个负数相加,结果的符号位却为(结果为负);两个负数相加,结果的符号位却为(结果为负);两个负数相加,结果的符号位却为0 0(结果为(结果为(结果为(结果为正),以下是两个正),以下是两个正),以下是两个正),以下是两个5 5位补码加法的例子。
位补码加法的例子位补码加法的例子位补码加法的例子 0,10110,1011 ( ( ( (+11+11)))) 1,01011,0101((((-11-11)))) + 0,0111+ 0,0111 ( ( ( (+7+7)))) + 1,1001+ 1,1001((((-7-7)))) —————————————————————— ———————————————————————— 1,00101,0010 ( ( ( (-14-14) ) ) ) 0,11100,1110((((+14+14)))) 为什么会发生这种错误?计算机是有位数限制的, 为什么会发生这种错误?计算机是有位数限制的, 为什么会发生这种错误?计算机是有位数限制的, 为什么会发生这种错误?计算机是有位数限制的,5 5位补码可以表示位补码可以表示位补码可以表示位补码可以表示的十进制数的范围是从的十进制数的范围是从的十进制数的范围是从的十进制数的范围是从-16-16到到到到+15+15,结果超过额定位数,就会溢出。
结果超过额定位数,就会溢出结果超过额定位数,就会溢出结果超过额定位数,就会溢出 如果将符号位扩充为两位( 如果将符号位扩充为两位( 如果将符号位扩充为两位( 如果将符号位扩充为两位(Ss1Ss1、、、、Ss2Ss2),既能判别是否溢出,又能),既能判别是否溢出,又能),既能判别是否溢出,又能),既能判别是否溢出,又能指出结果的符号 指出结果的符号 指出结果的符号 指出结果的符号 Ss1Ss1、、、、Ss2=00Ss2=00结果为正数,无溢出结果为正数,无溢出结果为正数,无溢出结果为正数,无溢出 0101结果正溢出结果正溢出结果正溢出结果正溢出 1010结果负溢出结果负溢出结果负溢出结果负溢出 1111结果为负数,无溢出结果为负数,无溢出结果为负数,无溢出结果为负数,无溢出 结论: 结论: 结论: 结论:溢出判断溢出判断当两位符号位的值不一致时,表明产生溢出。
当两位符号位的值不一致时,表明产生溢出当两位符号位的值不一致时,表明产生溢出当两位符号位的值不一致时,表明产生溢出第一符号位为第一符号位为第一符号位为第一符号位为0 0时为正为时为正为时为正为时为正为1 1为负~内存储器内存储器AC927BALU0 1 2 3 4 5 6 70 1 2 3 4 5 6 7运算器运算器(ALU)与通用寄存器与通用寄存器(GPR)工作过程工作过程3.存数指令存数指令92.加法指令加法指令(3#寄存器内容与#寄存器内容与5#寄存器内容相#寄存器内容相加,并把和数写入加,并把和数写入1#寄存器#寄存器)1.取数指令取数指令27362793636通用寄存器通用寄存器GPR~~~LOADR3内存地址内存地址AADDR1R3R5LOADR5内存地址内存地址BSTORE内存地址内存地址CR18086微处理器外部基本引脚微处理器外部基本引脚12345678910111213141516171819204039383736353433323130292827262524232221 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCCAD15A16 / S3A17 / S4A18 / S5A19 / S6BHE/S7 MN / MXRDHOLD (RQ)/ GT0)HLDA (RQ1 /GT1)WR (LOCK)M / IO ( S2 )DT / R ( S1 )DEN ( S0 )ALEINTATESTREADYRESET8086不可屏蔽中断不可屏蔽中断可屏蔽中断可屏蔽中断时钟时钟准备好准备好等待测试等待测试中断响应中断响应复位复位地址锁存允许地址锁存允许数据允许数据允许数据发送数据发送/接收接收写写读读高位允许高位允许最大最大/最小模式最小模式电源电压电源电压地线地线储存器储存器/输入输出输入输出最小方式:最小方式:最小方式:最小方式:单个微单个微处理器组成的系统,处理器组成的系统,由由8086产生系统产生系统所需的全部控制信所需的全部控制信号。
号 最大方式:最大方式:最大方式:最大方式:用于多用于多处理器系统中,处理器系统中,8086不直接提供不直接提供控制信号控制信号 地址数据地址数据线有三态线有三态((0,,1,,高阻)数高阻)数据线是双据线是双向的高位地址线高位地址线三态单向三态单向总线保持总线保持总线保持响应总线保持响应复位后复位后CS==FFFFH其它寄存器=其它寄存器=0000H时钟产生时钟产生器器8086最小模式典型系统结构最小模式典型系统结构VOC(+5V)ABTOE*OE*==0,导通,导通 T==1 A→B T==0 A←BOE*==1,不导通,不导通双向三态门双向三态门或或74LS373或或74LS2458086最大模式典型系统结构最大模式典型系统结构控制总线控制总线控制总线控制总线由总线控制器8288形成地址总线地址总线地址总线地址总线由三个三态地址锁存器8283形成数据总线数据总线数据总线数据总线通过总线收发器8286形成和驱动 S S S S2 2 2 2、、、、S S S S1 1 1 1、、、、S S S S0 0 0 0总线操作8288控制信号 0 0 0 中断响应 INTA 0 0 1 读I/O IORC 0 1 0 写I/O IOWC AIOWC 0 1 1 无总线操作 1 0 0 取指 MRDC 1 0 1 读内存 MRDC 1 1 0 写内存 MWTC AMWC典型的总线周期典型的总线周期由由T T1 1--T--T4 44 4个个T T状态构成,在状态构成,在I/OI/O或存储器忙时,或存储器忙时,CPUCPU还会产生还会产生T TW W(等待)状态(等待)状态 。
地址产生周期,同时地址产生周期,同时地址产生周期,同时地址产生周期,同时CPUCPUCPUCPU检查检查检查检查M/IOM/IOM/IOM/IO信号;信号;信号;信号;CPUCPUCPUCPU产生各种控制信号(如读写、产生各种控制信号(如读写、产生各种控制信号(如读写、产生各种控制信号(如读写、DT/RDT/RDT/RDT/R、、、、DENDENDENDEN),同时),同时),同时),同时ADADADAD0 0 0 0—AD—AD—AD—AD15151515进行信号转换;进行信号转换;进行信号转换;进行信号转换;ADADADAD0 0 0 0—AD—AD—AD—AD15151515出现稳定的数据信号(写),出现稳定的数据信号(写),出现稳定的数据信号(写),出现稳定的数据信号(写),或者或者或者或者I/OI/OI/OI/O、存储器译码,读出数据;、存储器译码,读出数据;、存储器译码,读出数据;、存储器译码,读出数据;完成读写操作完成读写操作完成读写操作完成读写操作T T1 1————T T2 2————T T3 3————T T4 4————8086CPU的主频为的主频为5MHz,周期,周期0.2μs =200nsT T1 1T T2 2T T3 3T T4 4T T1 1CLKCLK地址地址地址地址状态输出状态输出状态输出状态输出A16—A19A16—A19地址地址地址地址 数据数据数据数据A0—A15A0—A15高电平,存储器读写,否则高电平,存储器读写,否则高电平,存储器读写,否则高电平,存储器读写,否则I/OI/OM/IOM/IOALEALEDENDENWRWRDT/RDT/RCPU写操作写操作数据传送数据传送/接收接收数据允许数据允许地址允许地址允许T1T2T3T4T1CLK地址地址状态输出状态输出A16—A19地址地址 数据数据A0—A15高电平,存储器读写,否则高电平,存储器读写,否则I/OM/IOALEDENRDDT/RCPU读操作读操作数据传送数据传送/接收接收数据允许数据允许地址允许地址允许T1T2T3TWT4CLK地址地址状态输出状态输出A16—A19地址地址 数据数据A0—A15高电平,存储器读写,否则高电平,存储器读写,否则I/OM/IOALEDENRDREADY具有等待的具有等待的CPU读操作读操作READY=0插入等待周期插入等待周期现代微机的存储结构现代微机的存储结构 CPU内内的寄存器的寄存器L1 数据数据CacheL1 代码代码CacheL2 CacheL3 Cache内部存储器(内存)内部存储器(内存)外部存储器(外存)外部存储器(外存)外存外存Cache————————((((Random Access MemoryRandom Access MemoryRandom Access MemoryRandom Access Memory)即随机存储器。
即随机存储器即随机存储器即随机存储器 ————————(Static RAM)(Static RAM)(Static RAM)(Static RAM)即静态随机存储器:读取速度相当快,造价昴贵,主要用作即静态随机存储器:读取速度相当快,造价昴贵,主要用作即静态随机存储器:读取速度相当快,造价昴贵,主要用作即静态随机存储器:读取速度相当快,造价昴贵,主要用作高速缓冲存储器高速缓冲存储器高速缓冲存储器高速缓冲存储器(Cache)(Cache)(Cache)(Cache)————————(Dynamic (Dynamic RAM)RAM)RAM)RAM)即动态随机存储器:读取速度较慢,但造价低廉,集成度高,即动态随机存储器:读取速度较慢,但造价低廉,集成度高,即动态随机存储器:读取速度较慢,但造价低廉,集成度高,即动态随机存储器:读取速度较慢,但造价低廉,集成度高,目前内存条主要是目前内存条主要是目前内存条主要是目前内存条主要是DRAMDRAMDRAMDRAM———————— ((((Read-Only MemoryRead-Only Memory)即只读存储器:只能读不能写。
存放在)即只读存储器:只能读不能写存放在)即只读存储器:只能读不能写存放在)即只读存储器:只能读不能写存放在ROMROMROMROM中的中的中的中的信息,没有电源的情况也能保持信息,没有电源的情况也能保持信息,没有电源的情况也能保持信息,没有电源的情况也能保持———————— ((((Programmable ROMProgrammable ROMProgrammable ROMProgrammable ROM)))):允许一次编程,此后不可更改允许一次编程,此后不可更改———————— ((((Erasable Programmable ROMErasable Programmable ROMErasable Programmable ROMErasable Programmable ROM)即可擦除可编程的只读存储器:用户可)即可擦除可编程的只读存储器:用户可)即可擦除可编程的只读存储器:用户可)即可擦除可编程的只读存储器:用户可通过编程器写入通过编程器写入通过编程器写入通过编程器写入EPROMEPROMEPROMEPROM重新写入可通过紫外线照射重新写入可通过紫外线照射。
重新写入可通过紫外线照射重新写入可通过紫外线照射EPROMEPROMEPROMEPROM,擦除原来信息,然,擦除原来信息,然,擦除原来信息,然,擦除原来信息,然后写入———————— ((((Electrically Erasable Programmable ROMElectrically Erasable Programmable ROMElectrically Erasable Programmable ROMElectrically Erasable Programmable ROM)即电可擦除)即电可擦除)即电可擦除)即电可擦除ROMROMROMROM::::采用加采用加电方法进行擦除和编程电方法进行擦除和编程 Flash MemoryFlash Memory(闪存):能够快速擦写的(闪存):能够快速擦写的EEPROMEEPROM,但只能按块(,但只能按块(BlockBlock)擦除半导体存储器半导体存储器RAMRAMSRAMSRAMDRAMDRAMROMROMPROMPROMEPROMEPROMEEPROMEEPROM半导体半导体半导体半导体存储器存储器存储器存储器只只只只 读读读读存储器存储器存储器存储器(ROM)(ROM)随机存取存随机存取存随机存取存随机存取存储器储器储器储器(RAM)(RAM)静态随机存储器静态随机存储器静态随机存储器静态随机存储器SRAMSRAM动态随机存储器动态随机存储器动态随机存储器动态随机存储器DRAMDRAM掩膜式掩膜式掩膜式掩膜式ROMROM(用作(用作Cache存储器存储器)) (用作(用作主存储器)主存储器)• 每个存储单元每个存储单元(cell)由由6个晶体管组成个晶体管组成• 只要加上电源,信息就能一直保持只要加上电源,信息就能一直保持• 对电器干扰相对不很敏感对电器干扰相对不很敏感• 比比DRAM更快,也更贵更快,也更贵• 每个存储单元由每个存储单元由1个电容和个电容和1个晶体管组成个晶体管组成.• 每每10-100 ms必须刷新一次必须刷新一次• 对电器干扰比较敏感对电器干扰比较敏感• 比比SRAM慢,但便宜慢,但便宜(用作(用作BIOS存储器)存储器)(图形卡、硬盘控制器图形卡、硬盘控制器)可擦除可编程可擦除可编程可擦除可编程可擦除可编程ROM ROM ((((EPROMEPROM))))电可擦除可编程电可擦除可编程电可擦除可编程电可擦除可编程ROM ROM (((( EEPROM EEPROM ))))一次性可编程一次性可编程一次性可编程一次性可编程ROMROM(((( PROM PROM ))))移动存储器移动存储器移动存储器移动存储器 移动硬盘: 移动硬盘: 移动硬盘: 移动硬盘:移动硬盘一般由笔记本电脑的硬盘改装而成。
笔移动硬盘一般由笔记本电脑的硬盘改装而成笔移动硬盘一般由笔记本电脑的硬盘改装而成笔移动硬盘一般由笔记本电脑的硬盘改装而成笔记本电脑的硬盘加上接口电路(一般为记本电脑的硬盘加上接口电路(一般为记本电脑的硬盘加上接口电路(一般为记本电脑的硬盘加上接口电路(一般为USBUSB接口)就组成了一个接口)就组成了一个接口)就组成了一个接口)就组成了一个移动硬盘移动硬盘使用与计算机的硬盘使用完全一样移动硬盘移动硬盘使用与计算机的硬盘使用完全一样移动硬盘移动硬盘使用与计算机的硬盘使用完全一样移动硬盘移动硬盘使用与计算机的硬盘使用完全一样 FlashFlash存储设备:存储设备:存储设备:存储设备:FlashFlash存储设备利用存储设备利用存储设备利用存储设备利用FlashFlash闪存芯片为存储介闪存芯片为存储介闪存芯片为存储介闪存芯片为存储介质制作的移动存储器作为微型计算机使用的质制作的移动存储器作为微型计算机使用的质制作的移动存储器作为微型计算机使用的质制作的移动存储器作为微型计算机使用的FlashFlash存储器就是我存储器就是我存储器就是我存储器就是我们说的们说的们说的们说的U U盘。
它是由盘它是由盘它是由盘它是由FlashFlash闪存芯片为存储介质,采用闪存芯片为存储介质,采用闪存芯片为存储介质,采用闪存芯片为存储介质,采用USBUSB接口,接口,接口,接口,无需外接电源、支持即插即用和热插拔,只要用户计算机的主板无需外接电源、支持即插即用和热插拔,只要用户计算机的主板无需外接电源、支持即插即用和热插拔,只要用户计算机的主板无需外接电源、支持即插即用和热插拔,只要用户计算机的主板上有上有上有上有USBUSB接口,就可以使用接口,就可以使用接口,就可以使用接口,就可以使用U U盘计算机存储器的层次结构计算机存储器的层次结构cache存储器存储器主存储器主存储器(RAM和和ROM)外存储器(软盘、硬盘、光盘)外存储器(软盘、硬盘、光盘)后备存储器(磁带库、光盘库)后备存储器(磁带库、光盘库)内存储器内存储器外存储器外存储器寄存器寄存器典型容量典型容量<1KB几个几个MB几个几个GB100GB-1TB10TB-100TB典型存取时间典型存取时间1 ns2 ns10 ns10 ms10 s工作过程:工作过程:1))CPU运行时,需要的操作数大部分来自寄存器运行时,需要的操作数大部分来自寄存器2)如需要从)如需要从(向向)存储器中取存储器中取(存存) 数据时,先访问数据时,先访问cache,如在,取自,如在,取自cache3)如操作数不在)如操作数不在cache,则访问,则访问RAM,如在,如在RAM中,则取自中,则取自RAM4)如操作数不在)如操作数不在RAM,则访问硬盘,操作数从硬盘中读出,则访问硬盘,操作数从硬盘中读出→RAM →cache存储器结构存储器结构译译码码器器A5A4A3A2A1A06301存储单元存储单元64个单元个单元行行译译码码A2A1A0710列译码列译码A3A4A501764个单元个单元单译码单译码双译码双译码000011111111111000000001地地 址址A1A0D3D2D1D0内内 容容位线位线A1A0A1A0A1A0A1A0A1A0D3D2D1D0-VCC译译码码器器K: 输出输出控制端控制端字线字线输入任意一输入任意一个地址码,译码个地址码,译码器就可使与之对器就可使与之对应的某条字线为应的某条字线为高电平,进而从高电平,进而从位线上读出四位位线上读出四位输出数字量。
输出数字量简单的二极管简单的二极管ROM电路电路内存内存(RAM)的功能与原理的功能与原理·····0110100110101010存存储储内内容容00001000000001000011001001111011111·······存储存储单元单元地址地址地地址址寄寄存存地地址址译译码码存储体存储体控制电路控制电路AB数数据据寄寄存存读读写写电电路路DBOE WECS片选端片选端输出端输出端控制读操作控制读操作输入端输入端控制写操作控制写操作地址地址总线总线数据总线数据总线芯片的存储容量=芯片的存储容量=2M×N=存储单元数=存储单元数×存储单元的位数存储单元的位数 M:芯片的地址线根数:芯片的地址线根数 N:芯片的数据线根数:芯片的数据线根数RAMRAM按制造工艺不同可分为双极型和按制造工艺不同可分为双极型和按制造工艺不同可分为双极型和按制造工艺不同可分为双极型和MOSMOS型两大型两大型两大型两大类双极型类双极型类双极型类双极型RAMRAM存取速度高,但功耗大,集成度存取速度高,但功耗大,集成度存取速度高,但功耗大,集成度存取速度高,但功耗大,集成度较低用作高速缓冲存储器较低。
用作高速缓冲存储器较低用作高速缓冲存储器较低用作高速缓冲存储器CacheCache一般内存用一般内存用一般内存用一般内存用MOSMOS型型型型RAMRAMVCCWiDDI/OR / W123T2T3T4T5T6T1字线字线数数据据线线数数据据线线SRAM的结构和原理的结构和原理字线字线Wi==1门控管门控管T5和和T6导通,时可导通,时可以进行以进行“读读”或或“写写”的操作 R/W = 0时,三态门时,三态门1、、3接通,而门接通,而门2处于高处于高阻,使阻,使 I/O 信号得信号得以经过门以经过门1、、3送到送到数据线上,以便写数据线上,以便写入;入; R/W == 1 时,时,门门2接通,将数据线接通,将数据线上电位送到上电位送到I/O,以,以便读出VCCT2T1T3T4DD列选线列选线行选线行选线SRAM基本储存单元基本储存单元2345678910232221201918171615A0A1D0A3A4A5A6A9A10CSGNDVCCD3D2D1D4SRAM 6116 管脚图管脚图A2A711112141324A8D5D6D7RDWRDRAMDRAM的特点是集成度高(存储容量大),功耗低,但速度慢(目前最快的特点是集成度高(存储容量大),功耗低,但速度慢(目前最快的特点是集成度高(存储容量大),功耗低,但速度慢(目前最快的特点是集成度高(存储容量大),功耗低,但速度慢(目前最快存取时间为几存取时间为几存取时间为几存取时间为几nSnS),外围电路复杂。
外围电路复杂外围电路复杂外围电路复杂DRAMT T 刷新刷新刷新刷新R R行选线行选线行选线行选线X X输出缓冲器输出缓冲器输出缓冲器输出缓冲器/ /灵敏放大器灵敏放大器灵敏放大器灵敏放大器刷新缓冲器刷新缓冲器刷新缓冲器刷新缓冲器输入缓冲器输入缓冲器输入缓冲器输入缓冲器位位位位线线线线B B单管动态存储单元是目单管动态存储单元是目单管动态存储单元是目单管动态存储单元是目前所有大容量前所有大容量前所有大容量前所有大容量DRAMDRAM首首首首选存储单元选存储单元选存储单元选存储单元, ,结构简单结构简单结构简单结构简单每个基本存储每个基本存储单元存储二进单元存储二进制数一位制数一位由于电容很小(约为由于电容很小(约为由于电容很小(约为由于电容很小(约为0.1uuF0.1uuF~~~~0.2uuF0.2uuF),所以信号很弱,需要),所以信号很弱,需要),所以信号很弱,需要),所以信号很弱,需要放大每次读出后,放大每次读出后,放大每次读出后,放大每次读出后,C C上电荷损失,上电荷损失,上电荷损失,上电荷损失,必须把原来信号重新写入(刷新)必须把原来信号重新写入(刷新)必须把原来信号重新写入(刷新)。
必须把原来信号重新写入(刷新) CPU(子系统)(子系统) RAMCSWE 芯片地址芯片地址 ROM CS 芯片地址芯片地址译译码码器器ABDBCPU与存贮器连接与存贮器连接CPUCPU的低位地址接于存贮器芯片地址,作为的低位地址接于存贮器芯片地址,作为的低位地址接于存贮器芯片地址,作为的低位地址接于存贮器芯片地址,作为存贮器单元地址存贮器单元地址存贮器单元地址存贮器单元地址CPUCPU高位地址高位地址高位地址高位地址接于译码器,接于译码器,接于译码器,接于译码器,经译码后产生经译码后产生经译码后产生经译码后产生存贮器片选信存贮器片选信存贮器片选信存贮器片选信号号号号CS(CS(或或或或CE)CE)IO/MWR低位地址低位地址高位地址高位地址数据线数据线如何连接?如何连接?如何连接?如何连接?1 1、全译码、全译码、全译码、全译码——CPU——CPU的全部地址线都参与寻址的全部地址线都参与寻址的全部地址线都参与寻址的全部地址线都参与寻址特点:特点:特点:特点:每个存贮单元的地址是唯一的每个存贮单元的地址是唯一的每个存贮单元的地址是唯一的每个存贮单元的地址是唯一的————无地址重叠。
无地址重叠无地址重叠无地址重叠2 2、部分译码、部分译码、部分译码、部分译码——CPU——CPU的部分地址线参与寻址,部分的部分地址线参与寻址,部分的部分地址线参与寻址,部分的部分地址线参与寻址,部分 地址未用地址未用地址未用地址未用特点:特点:特点:特点:有地址重叠区(每个存贮单元有若干地址)有地址重叠区(每个存贮单元有若干地址)有地址重叠区(每个存贮单元有若干地址)有地址重叠区(每个存贮单元有若干地址)3 3、线译码、线译码、线译码、线译码————除用于存贮器芯片寻址的地址线外,除用于存贮器芯片寻址的地址线外,除用于存贮器芯片寻址的地址线外,除用于存贮器芯片寻址的地址线外, 用剩余的某一条地址线作为存贮器的片选控制信号用剩余的某一条地址线作为存贮器的片选控制信号用剩余的某一条地址线作为存贮器的片选控制信号用剩余的某一条地址线作为存贮器的片选控制信号CSCS特点:特点:特点:特点:电路简单(不需要译码器),有地址重叠区电路简单(不需要译码器),有地址重叠区电路简单(不需要译码器),有地址重叠区电路简单(不需要译码器),有地址重叠区译码方式译码方式常用常用74LS138译码器译码器功能表功能表功能表功能表G GG G2A 2A GG2B2B C B A Y C B A Y7 7 Y Y6 6 Y Y5 5 Y Y4 4 Y Y3 3 Y Y2 2 Y Y1 1 Y Y0 0 ≠1 0 0 ××× 1 1 1 1 1 1 1 1 ≠1 0 0 ××× 1 1 1 1 1 1 1 1 ====1 0 0 0 0 0 1 1 1 1 1 1 1 01 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 … … 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1译码器译码器原码原码原码原码译码译码译码译码低电位有效低电位有效低电位有效低电位有效原码原码原码原码G1 Y7G2A Y6G2B Y5 Y4 138 Y3C Y2B Y1A Y0——全译码全译码练习练习A15 A14A13A16CBAG1138 2764A19A18A17A12~~A0CEY6G2AG2BIO/M1C000H1DFFFH全全0全全10 0 0 1 1 1 00 0 0 1 1 1 0地址范围地址范围A12~~A0A19A18A17A16A15A14 A13写出地址范围写出地址范围解:解:部分译码练习部分译码练习138A17 A16A11~~A0A14 A13A12(4)(3)(2)(1)2732273227322732CBA GG2AG2AIO/MCECECECEY0Y1Y2Y3A19~~ A15A14~~ A12A11~~A0一个一个可用地址可用地址1234××10×××10×××10×××10×000001010011全全0~全~全1全全0~全~全1全全0~全~全1全全0~全~全120000H~~20FFFH21000H~~21FFFH22000H~~22FFFH23000H~~23FFFH写出地址范围写出地址范围有有7个可个可用地址用地址EPROM线选译码线选译码练习练习A14A12~~A0A13(1)2764(2)2764 CECEA19~~ A15A14 A13A12~~A0一个一个可用地址可用地址12××××××××××1 00 1全全0~全~全1全全0~全~全104000H~~05FFFH02000H~~03FFFH切记: A14 A13==00的情况不能出现(冲突)A14 A13==11 则储存器没有用写出地址范围写出地址范围题:题:题:题:用用用用Intel 6116Intel 6116Intel 6116Intel 6116形成形成形成形成8 8 8 8KBKB的存储器的存储器的存储器的存储器 。
M/IORDWRA0A10…D0…D7D0…D7A12A11A13A148086A0A10…A0A10…CSWEOE6116CSWEOE6116CSWEOE6116CSWEOE6116A0A10…A0A10…D0…D7D0…D7D0…D7D0…D71234解:解:SRAM 6116SRAM 6116为为2K2K×8b8b存储器所以需要存储器所以需要4 4片形成片形成8 8KB的存储的存储器器 接线如下:接线如下:1KB1KB需需要要1010根根地址线地址线地址范围地址范围7000~~77FFH6800~~6FFFH5800~~5FFFH3800~~3FFFH线选法形成地线选法形成地址空间不连续址空间不连续题:题: 用用EPROM 2732EPROM 2732构成构成16KB16KB内存的一种部分译码电路内存的一种部分译码电路在采用部分译码的存储在采用部分译码的存储器中,存储地址通常取器中,存储地址通常取未用高位地址的值为全未用高位地址的值为全0,这样确定的地址叫,这样确定的地址叫基基本地址本地址 ABG1Y6Y5Y4Y3Y2Y1Y0Y7G2bG2aCA14A13A15A16A12IO/MRDA00A11~~D00D7~~CS OE2732CS OE2732CS OE2732CS OE27321384321地址译码法形成的地址空间连续,地址译码法形成的地址空间连续,但有不相关位,对地址空间的利但有不相关位,对地址空间的利用率不高。
用率不高 C B AA19A18 A17A16 A15 A14 A13 A12 地址范围(地址范围(1)) 0 0 0 1 0 0 0 0 → 10000H~ 10FFFH 1 1 1 1 0 0 0 0 → F0000H~F0FFFH高位高位A17~A19的不确定性每一单元有的不确定性每一单元有8个地址编码重叠个地址编码重叠 C B AA19A18 A17A16 A15 A14 A13 A12 地址范围(地址范围(2)) 0 0 0 1 0 0 0 1 → 11000H~ 11FFFH 1 1 1 1 0 0 0 1 → F1000H~F1FFFH高位高位A17~A19的不确定性每一单元有的不确定性每一单元有8个地址编码重叠个地址编码重叠 C B AA19A18 A17A16 A15 A14 A13 A12 地址范围(地址范围(3)) 0 0 0 1 0 0 1 0 → 12000H~ 12FFFH 1 1 1 1 0 0 1 0 → F2000H~F2FFFH高位高位A17~A19的不确定性每一单元有的不确定性每一单元有8个地址编码重叠个地址编码重叠 C B AA19A18 A17A16 A15 A14 A13 A12 地址范围(地址范围(4)) 0 0 0 1 0 0 1 1 → 13000H~ 13FFFH 1 1 1 1 0 0 1 1 → F3000H~F3FFFH高位高位A17~A19的不确定性每一单元有的不确定性每一单元有8个地址编码重叠个地址编码重叠解:解:EPROM 2732为为4K ×8b存储器所以需要存储器所以需要4片形成片形成8KB的存储器的存储器 。
接线如下:接线如下: D7~~D0 IO/M A19 A18 CPU A17 A16 A15 A14 A13 A12~~A0 WRG2B Y7G1 Y6 Y5G2A Y4 138 Y3C Y2B Y1A Y0RAMCSWEROMCS((1))ROMCS((2))题:题:题:题:设计设计设计设计80888088的存贮器系统,要求用的存贮器系统,要求用的存贮器系统,要求用的存贮器系统,要求用8K×88K×8的的的的EPROMEPROM构成构成构成构成16Kb16Kb的的的的ROMROM区,地址为区,地址为区,地址为区,地址为82000H82000H~~~~84FFFH84FFFH;用;用;用;用8K×88K×8的的的的SRAMSRAM构成构成构成构成8Kb8Kb的的的的RAMRAM区,区,区,区,地址为地址为地址为地址为80000H 80000H ~~~~81FFFH81FFFH;用;用;用;用1 1片片片片138138译码器实现全译码方式。
译码器实现全译码方式译码器实现全译码方式译码器实现全译码方式解:解:解:解:任何两相邻的字节构成一个字任何两相邻的字节构成一个字31H32H33H01H02H03H12H56H12H00H23H0FHXXHXXH内容内容 地址地址2003H:0000H2003H:0000H2003H:0001H2003H:0001H2003H:0002H2003H:0002H2003H:0003H2003H:0003H2003H:0004H2003H:0004H2003H:0005H2003H:0005H2003H:0006H2003H:0006H2003H:0007H2003H:0007H2003H:0008H2003H:0008H2003H:0009H2003H:0009H2003H:000AH2003H:000AH2003H:000BH2003H:000BH2003H:000CH2003H:000CH2003H:000DH2003H:000DH(2003H:0005H)=1203H(2003H:0006H)=5612H8086的存储器组织的存储器组织高位字节存放在高地址,高位字节存放在高地址,低位字节存放在低地址。
低位字节存放在低地址字的地址:字的地址:字的地址:字的地址:低字节的地址作为这个字的地址低字节的地址作为这个字的地址字:字:字:字:字的存放:字的存放:字的存放:字的存放:31H32H33H01H02H03H12H56H12H00H23H0FHXXHXXHXXH2003H:0000H2003H:0000H2003H:0000H2003H:0000H2003H:0001H2003H:0001H2003H:0002H2003H:0002H2003H:0002H2003H:0002H2003H:0003H2003H:0003H2003H:0004H2003H:0004H2003H:0004H2003H:0004H2003H:0005H2003H:0005H2003H:0006H2003H:0006H2003H:0006H2003H:0006H2003H:0007H2003H:0007H2003H:0008H2003H:0008H2003H:0008H2003H:0008H2003H:0009H2003H:0009H2003H:000AH2003H:000AH2003H:000AH2003H:000AH2003H:000BH2003H:000BH2003H:000CH2003H:000CH2003H:000CH2003H:000CH2003H:000DH2003H:000DH=0偶地址共有偶地址共有512K→偶存贮体偶存贮体经经D0~D7传送数据传送数据=1奇地址共有奇地址共有512K→奇存贮体奇存贮体经经D8~D15传送数据传送数据A0=奇偶存贮体奇偶存贮体D7D0…D0~D7连接偶地址,所有的偶地连接偶地址,所有的偶地址单元构成偶存贮体址单元构成偶存贮体D15D8…D8~D15接奇地址。
所有的奇地址接奇地址所有的奇地址单元构成奇存贮体单元构成奇存贮体偶地址字读写为一个总线周期偶地址字读写为一个总线周期奇地址字读写为两个连续总线周期奇地址字读写为两个连续总线周期A0~A198086BHED8~D15D0~D7地址地址锁存锁存A1~A19偶存储体:偶存储体:A0=0A1~A19寻址寻址512K偶地址偶地址BHE=1偶偶存存储体储体A0奇奇存储体:存储体:A0=1A1~A19寻址寻址512K奇地址奇地址BHE=0奇存奇存储体储体BHE80868086存储体的选择存储体的选择存储体的选择存储体的选择: :奇偶奇偶存储体:存储体:A0=0A1~A19寻址寻址512K奇地址奇地址BHE=0A1~A19寻址寻址512K偶地址偶地址机器语言机器语言实例:在实例:在MIPS计算机上求最大公约数(计算机上求最大公约数(GCD)的机器程序()的机器程序(16进制表示)进制表示)机器语言就是计算机器语言就是计算机的指令机的指令(二进制编二进制编码码)系统系统B8 7F 01BB 21 0203 D8B8 1F 042B C3(计算(计算1055-(383+545)的的5条机器指令)条机器指令)操作码操作码1条机器指令条机器指令操作数地址操作数地址不同的计算机机器语言不同。
不同的计算机机器语言不同MISP计算机的每条机器指令均为计算机的每条机器指令均为32个二进位,用个二进位,用8个个16进制数表示进制数表示如:如:汇编程序汇编程序源程序的编译程序源程序的编译程序源程序的编译程序源程序的编译程序masm.exemasm.exe 汇编程序汇编程序汇编语言汇编语言汇编语言汇编语言源程序源程序源程序源程序机器语言机器语言机器语言机器语言目标程序目标程序目标程序目标程序用助记符号来表示机器指令系统用助记符号来表示机器指令系统用助记符号来表示机器指令系统用助记符号来表示机器指令系统MOV AX 383MOV BX 545ADD BX AXMOV AX 1055SUB AX BX汇汇编编语语言言程程序序1055-(383+545)的的5条指令)条指令)B8 7F 01BB 21 0203 D8B8 1F 042B C3机机器器语语言言程程序序.ASM.OBJ汇编语言汇编语言汇编语言汇编语言(Assembly Language)(Assembly Language) ————汇编语言程序设计编程过程汇编语言程序设计编程过程经经LINK: 将将OBJ文件与文件与库文件库文件或或其它目标文件其它目标文件连接成连接成可执行文件可执行文件(EXE文件文件),,EXE文件由文件由DOS装入存储器装入存储器并在机器上运行。
并在机器上运行汇编语言源程序结构汇编语言源程序结构数据段名数据段名 SEGMENT …数据段名数据段名 ENDS附加段名附加段名 SEGMENT …附加段名附加段名 ENDS堆栈段名堆栈段名 SEGMENT …堆栈段名堆栈段名 ENDS代码段名代码段名 SEGMENT …代码段名代码段名 ENDS指示汇编程序要完成的操作;用指示汇编程序要完成的操作;用来定义变量来定义变量 ;分配存储单元;指;分配存储单元;指示程序开始和结束等示程序开始和结束等指令码:指令码:指令码:指令码:伪指令:伪指令:伪指令:伪指令:命令命令CPU要完成的操作要完成的操作注释:注释:注释:注释:用于说明程序或语句的功能,以用于说明程序或语句的功能,以便于阅读和理解用便于阅读和理解用分号分号作为注作为注释的开始释的开始操作数:操作数:操作数:操作数:有寄存器,存储器单元,常量,有寄存器,存储器单元,常量,变量或标号,表达式变量或标号,表达式标号和名字标号和名字标号标号——名字名字——标号和名字统称为标识符标号和名字统称为标识符 标识符可由不超过标识符可由不超过31个字符的字符个字符的字符串组成。
串组成可选的字符集如下:可选的字符集如下: ①① ASCII字母字母A~~Z或或a~~z(汇编不分大小写汇编不分大小写);; ②② 数字数字0 ~~ 9;; ③③ 特殊字符特殊字符@ $ _ . : ? [ ] ( ) ; / + - * % &等标号不允许用数字开头;标号不允许用数字开头;不允许将特殊符号单独用作标识符;不允许将特殊符号单独用作标识符;不允许使用保留字如不允许使用保留字如指令、伪指令、寄存器名指令、伪指令、寄存器名等注意:注意:①①②②③③指令单元的符号名称指令单元的符号名称伪指令起的符号名称伪指令起的符号名称·········标号后要有冒号,标号后要有冒号,伪指令名称后不要冒号伪指令名称后不要冒号解释下列指令和伪指令解释下列指令和伪指令解释下列指令和伪指令解释下列指令和伪指令DATA SEGMENT [USE16/USE32] DATA SEGMENT [USE16/USE32] ;;;; ;;;;DATA ENDSDATA ENDSSTACK SEGMENT [USE16/USE32] STACK STACK SEGMENT [USE16/USE32] STACK ;;;; ;;;;STACK ENDSSTACK ENDSCODE SEGMENT [USE16/USE32] CODE SEGMENT [USE16/USE32] ;;;; ASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATA; ASSUME CS:CODE,SS:STACK,DS:DATA,ES:DATA; STARTSTART::::MOV AXMOV AX,,,,DATA DATA ;;;; MOV DSMOV DS,,,,AX AX ;;;; MOV ESMOV ES,,,,AX AX ;;;; ;;;; MOV AHMOV AH,,,,4CH 4CH ;;;; INT 21HINT 21HCODE ENDSCODE ENDS END START END START定义数据段定义数据段定义数据段定义数据段数据定义伪指令序列数据定义伪指令序列数据定义伪指令序列数据定义伪指令序列定义堆栈段定义堆栈段定义堆栈段定义堆栈段数据定义伪指令序列数据定义伪指令序列数据定义伪指令序列数据定义伪指令序列定义代码段定义代码段定义代码段定义代码段说明源程序中定义说明源程序中定义的段由哪个段寄存的段由哪个段寄存器寻址器寻址取数据段基址取数据段基址取数据段基址取数据段基址建立数据段的可寻址性建立数据段的可寻址性建立数据段的可寻址性建立数据段的可寻址性建立附加数据段的可寻址性建立附加数据段的可寻址性建立附加数据段的可寻址性建立附加数据段的可寻址性核心程序段:指令序列核心程序段:指令序列核心程序段:指令序列核心程序段:指令序列返回操作系统返回操作系统返回操作系统返回操作系统BYTE(字节字节)可任意可任意WORD(WORD(字字) )偶数偶数DWORD(DWORD(双字双字) )4 4的倍数的倍数PARA(PARA(节节) )1616的倍数的倍数PAGE(PAGE(页页) )256256的倍数的倍数段定义语句格式段定义语句格式段名段名 SEGMENT [定位类型定位类型][,组合类型组合类型][,字长选择字长选择][,‘类类别别’] (段体段体) 段名段名 ENDS定位类型定位类型:指段起始地址,有四种::指段起始地址,有四种:组合类型组合类型:告知:告知LINK程序本段与程序本段与其它段的组合连接关系。
若缺省,其它段的组合连接关系若缺省,表示该段为独立段表示该段为独立段 5种类型:种类型:①① PUBLIC::该段连接时将与其它同名段该段连接时将与其它同名段连接成一连续段连接成一连续段②② STACK::将多个同名堆栈段连接成一将多个同名堆栈段连接成一连续段,连续段,SP设置在第一个堆栈段的开始设置在第一个堆栈段的开始③③ COMMON::该段在连接时与其它同名该段在连接时与其它同名段有相同的起始地址,所以会产生覆盖段有相同的起始地址,所以会产生覆盖④④ MEMORY 本段在同名段的最高地址处本段在同名段的最高地址处⑤⑤ AT 表达式表达式 :段起始地址由表达式算出:段起始地址由表达式算出字长选择字长选择:定义段中使用的偏移:定义段中使用的偏移地址和寄存器的字长地址和寄存器的字长类别类别:同类别的段在连接时按先后顺序连接同类别的段在连接时按先后顺序连接起来USE16::16位寻址方式,最大位寻址方式,最大段长度为段长度为64KB;;USE32:32位寻址方式,最大段位寻址方式,最大段长度为长度为4GB典型段类别有:典型段类别有:’DADT’’STACK’’CODE’2、等号语句、等号语句 = 该语句功能与该语句功能与EQU相同,相同,只是它可以重新定义。
只是它可以重新定义符号定义符号定义1、等值语句、等值语句 EQUEQU语句不能重新定义,语句不能重新定义,必须先定义,后使用必须先定义,后使用例如:例如:X EQU 50Y EQU X+10 COUNT EQU [BP+2] NUM EQU CX例如:例如:PORT1=30HPORT1=PORT1+20HPORT1=64×8数据定义伪指令数据定义伪指令格式:格式:[符号名符号名] DB/DW/DD/DF/DQ/DT 数据项序列数据项序列功能:为数据项分配一个字节功能:为数据项分配一个字节/字字/双字双字/长字长字/四字四字/十十字节的存储空间,可以赋初值,也可以用一个符号名字节的存储空间,可以赋初值,也可以用一个符号名与之联系与之联系VAR1 DB ? ;;STR DB ‘ABCDE’ ;;NUM DT 123H ;;ARRAY DW 20 DUP(1) ;;BUFF DB 6 DUP(?) ;;COUNT DB 20,,30,,40 ;;给出解释给出解释给给VAR1分配一字节,不赋初值分配一字节,不赋初值给给NUM分配十字节,赋初值分配十字节,赋初值123H给字符串给字符串STR分配五字节,赋值分配五字节,赋值给给ARRAY分配分配20个字,初值为个字,初值为1相当于相当于 DB ?,?,?,?,?,?给给COUNT分配三字节,赋初值分配三字节,赋初值数据定义伪指令数据定义伪指令(100H)(100H)0AH0AH10H10H00H00H01H01HFBHFBHFFHFFH3CH3CH00H00H00H00H00H00HFDHFDHFFHFFH00H00H00H00H41H41H42H42H42H42H41H41H(10)(10)(10H)(10H)( (–5 5) )( (6060) )‘A A’‘B B’‘A AB B’D1D2D3D4D5存储器存储器 低低端端00H00H00H00H写出数据定义程序写出数据定义程序DATA SEGMENT D1 D2 D3 D4 D5DATA ENDSDB 10,,10HDW 100H,,-5DD 3×20,, 0FFFDHDB ‘A’ ,,‘B’D5 DD ‘AB’标号定义伪指令标号定义伪指令格式:符号名格式:符号名格式:符号名格式:符号名 LABEL LABEL 类型类型类型类型功能:为标号、指令单元、过程或变量建立新的符号名,建立功能:为标号、指令单元、过程或变量建立新的符号名,建立功能:为标号、指令单元、过程或变量建立新的符号名,建立功能:为标号、指令单元、过程或变量建立新的符号名,建立另一种类型属性。
另一种类型属性另一种类型属性另一种类型属性标号意义:它指定了机器指令的起始地址,可以作为转移指令标号意义:它指定了机器指令的起始地址,可以作为转移指令标号意义:它指定了机器指令的起始地址,可以作为转移指令标号意义:它指定了机器指令的起始地址,可以作为转移指令如如如如JMPJMP、、、、JZJZ、、、、JNAJNA等的转移目标等的转移目标等的转移目标等的转移目标对标号、指令单元或过程,其类型有:对标号、指令单元或过程,其类型有:NEAR(可缺省):(可缺省):FAR::对变量,其类型有:对变量,其类型有:BYTE/WORD/DWORD/FWORD/QWORD/TBYTE字节字节字字双字双字长字长字四字四字十字节十字节32-bit 段内调用段内调用段间调用段间调用指定地址伪指令指定地址伪指令格式:格式:ORG 偏移地址偏移地址 ORG $+偏移地址+偏移地址注:以给定的偏移地址或由注:以给定的偏移地址或由$给出的当前地址加上指定的给出的当前地址加上指定的偏移地址作为当前开始分配和使用的偏移地址偏移地址作为当前开始分配和使用的偏移地址符号符号$——当前位置计数器当前位置计数器从从0F0H开始安排数据开始安排数据跳过跳过10H个字节安排数据个字节安排数据(100H)=1,(102H)=106HORG 0F0H ;; ORG $+10H ;; DW 1,,$+4 ;题:解释下列伪指令题:解释下列伪指令过程和宏命令定义伪指令过程和宏命令定义伪指令 过程名过程名 PROC [ NEAR / FAR ] ┇ ┇ RET 过程名过程名 ENDP过程允许嵌套,嵌套深度过程允许嵌套,嵌套深度(层数层数)只受堆栈的限制。
只受堆栈的限制①①宏体是指令和伪指令序列,它决宏体是指令和伪指令序列,它决定宏的功能,宏也允许嵌套;定宏的功能,宏也允许嵌套;②②宏与过程相似,也可由其它程序宏与过程相似,也可由其它程序用宏名直接调用用宏名直接调用过程可由其它程序用过程可由其它程序用CALL指令指令调用,执行完后用调用,执行完后用RET指令返回指令返回调用程序调用程序过程定义伪指令过程定义伪指令过程定义伪指令过程定义伪指令格式:格式:格式:格式:宏定义伪指令格式:宏定义伪指令格式:宏定义伪指令格式:宏定义伪指令格式:宏名宏名 MACRO [形式参数表形式参数表] … ENDM宏操作可以通过形式参数直接传递数据而过程不能编程较后者容易宏操作可以通过形式参数直接传递数据而过程不能编程较后者容易宏操作可以通过形式参数直接传递数据而过程不能编程较后者容易宏操作可以通过形式参数直接传递数据而过程不能编程较后者容易汇编时,宏调用几次,就加入几段而过程只在汇编时产生一次目标代汇编时,宏调用几次,就加入几段而过程只在汇编时产生一次目标代汇编时,宏调用几次,就加入几段而过程只在汇编时产生一次目标代汇编时,宏调用几次,就加入几段。
而过程只在汇编时产生一次目标代码所以宏占用存储空间多宏执行速度稍快宏适合于代码较短,过码所以宏占用存储空间多宏执行速度稍快宏适合于代码较短,过码所以宏占用存储空间多宏执行速度稍快宏适合于代码较短,过码所以宏占用存储空间多宏执行速度稍快宏适合于代码较短,过程适合于调用频繁情况程适合于调用频繁情况程适合于调用频繁情况程适合于调用频繁情况定义一个带定义一个带定义一个带定义一个带3 3 3 3个形参的宏个形参的宏个形参的宏个形参的宏SUM=AD1+AD2SUM=AD1+AD2SUM=AD1+AD2SUM=AD1+AD2宏调用,用实际参数宏调用,用实际参数宏调用,用实际参数宏调用,用实际参数BXBXBXBX、、、、 24242424、、、、DXDXDXDX取代对应的形参取代对应的形参取代对应的形参取代对应的形参练习题:解释下列宏练习题:解释下列宏练习题:解释下列宏练习题:解释下列宏……CODE SEGMENTCODE SEGMENT … …ADDUP MACRO AD1ADDUP MACRO AD1,,,,AD2AD2,,,,SUM SUM ;;;; MOV AXMOV AX,,,,AD1 AD1 ;;;; ADD AXADD AX,,,,AD2AD2 MOV SUM MOV SUM,,,,AXAX ENDM ENDM … … ADDUP BX ADDUP BX,,,,2424,,,,DX DX ;;;; ……MOV 传送指令传送指令,格式:格式: MOV reg,reg/memXCHG 交换指令交换指令,格式:格式: XCHG reg,reg/memXLAT 换码指令换码指令,格式:格式: XLAT ;;al←ds:[bx+al] LEA((load effective address)) 地址传送指令地址传送指令LDS((load pointer into DS))LES ((load pointer into ES))格式:格式:LEA/ LDS /LES r16,mem ;;PUSH 进栈指令进栈指令,格式:格式: PUSH r16/m16/seg; SP←SP-2POP 出栈指令出栈指令,格式:格式: POP r16/m16/seg; SP←SP++2PUSHF 标志进栈指令标志进栈指令,格式:格式: PUSHF ;;SS:[SP]←FLAGSPOPF 标志出栈指令标志出栈指令,格式:格式: POPF ;;FLAGS←SS:[SP]数据传送指令数据传送指令MOV BX,,OFFSET DATA LEA BX,,DATA等价于等价于等价于等价于不能内存不能内存数据传送数据传送或交换或交换memmem的有效地址的有效地址EAEA传传送到送到16位寄存器位寄存器——指指8086CPU寻找指令和操寻找指令和操作数存放的位置的方式。
作数存放的位置的方式寻寻址址方方式式操作数操作数寻址方式寻址方式指令的指令的寻址方式寻址方式 直接寻址直接寻址 间接寻址间接寻址立即数寻址立即数寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址相对寄存器寻址相对寄存器寻址基址基址-变址寻址变址寻址相对基址变址寻址相对基址变址寻址段内寻址段内寻址段间寻址段间寻址寻址方式寻址方式基址寄存器基址寄存器――数据段数据段BX 、堆栈段、堆栈段BP ;;变址寄存器变址寄存器――SI、、DI物理地址(物理地址(EA))=段地址段地址×16+有效地址(有效地址(EA))MOV AXMOV AX,,,, [2000H][2000H];;;; MOV AXMOV AX,,,,3000H3000H;;;;MOV DSMOV DS,,,,AXAX;;;;MOV AXMOV AX,,,, [SI] [SI] ;;;;MOV AXMOV AX,,,,[BP][BP];;;;MOV ALMOV AL,,,,BHBH;;;;MOV AX,ES:[2000H]MOV AX,ES:[2000H];;;;MOV AXMOV AX,,,,DSDS::::[BP][BP];;;;MOV AXMOV AX,,,,COUNT[SI]COUNT[SI];;;;MOV AXMOV AX,,,,[BX][SI] [BX][SI] ;;;; MOV AXMOV AX,,,,[BX+SI][BX+SI];;;;立即数寻址立即数寻址寄存器寻址寄存器寻址寄存器间接寻址(寄存器间接寻址(DS))× 16+((SI)) 寄存器寻址寄存器寻址寄存器间接寻址(寄存器间接寻址(DS))× 16+(( BP )) 相对寄存器寻址(相对寄存器寻址(DS))×16+((SI))+COUNT基址基址-变址寻址(变址寻址(DS))×16+ ((BX))+ ((SI))同上同上寄存器间接寻址(寄存器间接寻址(SS))×16+((BP)) 直接寻址(直接寻址(DS))×16+2000H 直接寻址(直接寻址(ES))×16+2000H mov ax,1234h ;;mov bx,5678h ;;xchg ax,bx ;;xchg ah,al ;;mov bx,100hmov al,03hxlat ;;mov bx,0400hmov si,3chlea bx,[bx+si+0f62h];;mov word ptr [3060h],0100hmov word ptr [3062h],1450hles di,[3060h];;lds si,[3060h];;题题:给出每条指令的结果给出每条指令的结果BX==0400h++003ch++0f62h==139EHes=1450h,,di=0100hds=1450h,,si=0100hax=1234hbx=5678hax=5678h,,bx=1234hax=7856hal ←ds:[103H]修改修改CS、、IP的指令的指令mov指令可以修改除指令可以修改除CS、、IP和标志寄存器以外的寄存器和标志寄存器以外的寄存器的值。
修改除的值修改除CS、、IP的值用主要用的值用主要用jmp转移指令转移指令段内转移段内转移只改只改IPjmp 标号标号无条件转移无条件转移条件转移条件转移循环指令循环指令调用指令调用指令中断中断转移指转移指令分类令分类段间转移:段间转移:同时改同时改CS和和IPJE=JZ,,JS,,JB,,JA,,JG,,JL,,JCXZ 0 负负 低于低于 高于高于 大于大于 小于小于 CX=0格式:格式:LOOP 标号标号当当CX≠0 ,,IP=标号标号IP,每次循环,每次循环CX-1直接转移直接转移jmp far ptr 标号标号间接转移间接转移jmp dword ptr [ ]格式:格式: CALL 子程序名子程序名,返回指令返回指令 ret短转移短转移jmp short ptr 标号标号((IP))=((IP))+8位偏移量位偏移量近转移近转移 jmp near ptr 标号标号((IP))=((IP))+16位偏移量位偏移量格式:格式: INT 中断号中断号,返回指令返回指令 retjmp 2AE3:3 ;;jmp ax ;; JMP CX ;; JMP WORD PTR [BX];; JMP DWORD PTR [BX] ;; ((CS))=2AE3H,(,(IP))=3 ((IP))=((ax))题:写出下列语句修改的值。
题:写出下列语句修改的值 ((IP))=((CX))((IP))=(([BX]))((CS))= [BX+2] ,(,(IP))= [BX] [BX]内存单元中的双字的低字修改内存单元中的双字的低字修改IP,高字修改,高字修改CS的值 题:题: TABLE = 20A2H TABLE = 20A2H ,,(BX) = 1256H(BX) = 1256H,,(SI) = 528EH(SI) = 528EH,, (DS) = 2000H(DS) = 2000H,, (232F8H) = 3280H (232F8H) = 3280H ,, (264E4H) = 2450H(264E4H) = 2450H,,写写出下列出下列语句修改的句修改的值 JMP BX ; JMP TABLE[BX] ; JMP WORD PTR TABLE[BX] ; JMP [BX][SI];; JMP WORD PTR [BX][SI] ; (IP)=1256H(IP)=3280H(IP)=2450H(IP)=3280H(IP)=2450Hcode1 segmentcode1 segment ……jmpjmp far far ptrptr next next ……code1 endscode1 endscode2 segment code2 segment …… next: next: …...... ……code2 endscode2 ends段间转移示意图:段间转移示意图:段间转移示意图:段间转移示意图:题:用题:用DEBUG查看内存,结果如下:查看内存,结果如下:2000::1000 BE 00 06 00 00 00 …..则此时,则此时,CPU执行指令:执行指令:mov ax,2000hmov es,axjmp dword ptr es:[1000h]后,后, ((CS))= ?? ((IP))= ??06 00 00 00BE 00运算符运算符算术运算算术运算::+,,-,,*,,/,,MOD, SHL, SHL…逻辑运算逻辑运算::AND,,OR,,NOT,,XOR关系运算:关系运算:EQ,,NE,,LT,,GT,,LE,,GE取值运算和属性运算:取值运算和属性运算:OFFSET ,, SEG,, TYPE,, LENGTH,, SIZE,,PTR ,,THIS其它运算其它运算:(),:(),[ ]符号符号名称名称运算结果运算结果实实 例例+ +加法加法和和2+6=82+6=8- -减法减法差差8-2=68-2=6* *乘法乘法乘积乘积8*5=408*5=40/ /除法除法商商22/5=422/5=4MODMOD模除模除余数余数12MOD3=012MOD3=0,,32MOD6=232MOD6=2算术运算符算术运算符add\adc\sub\sbb\inc\dec\cmp\mul\imul\div\idiv\aaa 算术运算指令:算术运算指令:加后加后转换转换为非为非组合组合BCD有有符符号号乘乘有有符符号号除除比比较较+1-1带带借借位位减减带带进进位位减减乘乘法法除除法法减减法法加加法法MOV AX , 7896H; ADD AL , AH; (AH)=78H,(AL)=96H(AL)=0EH(OPRD1) (OPRD1) + (OPRD2) (DX)=0002H, (AX)=0F365H, (BX)=0005H,(CX)=0F024H 指令序列为指令序列为 ADD AX,CX;; ADC DX,BX;; (AX)=0D389H,SF=1, CF=1,OF=0(DX)=0008H,SF=0, CF=0,OF=0题题1::题题2::(OPRD1) (OPRD1)+(OPRD2)+CF题题3::cmp ax,ax;;结果不在结果不在ax中保存,仅影响中保存,仅影响flag的相关各位。
的相关各位ZF=1,,PF=1,,SF=0,,CF=0,,OF=0题题4::mov ax,8mov bx,3cmp ax,bx;;(ax)=8,,ZF=0,,PF=1,,SF=0,,CF=0,,OF=0最低位最低位最高位最高位CF0(a)算术算术/逻辑左移逻辑左移 SAL/SHL最低位最低位最高位最高位CF(b)算术右移算术右移 SAR最低位最低位最高位最高位CF(c)逻辑右移逻辑右移 SHR0非循环移位指令非循环移位指令移位指令格式:移位指令格式:SAL mem/reg,n/CL移位操作代替乘除法可提高运算速度移位操作代替乘除法可提高运算速度移位操作代替乘除法可提高运算速度移位操作代替乘除法可提高运算速度算术移位:把操作数看做有符号数;算术移位:把操作数看做有符号数;算术移位:把操作数看做有符号数;算术移位:把操作数看做有符号数;逻辑移位:把操作数看做无符号数逻辑移位:把操作数看做无符号数逻辑移位:把操作数看做无符号数逻辑移位:把操作数看做无符号数符号位不变符号位不变符号位不变符号位不变移位操作影响移位操作影响C,P,S,Z,O标志,当没有溢出时,标志,当没有溢出时,左移左移左移左移1 1位位位位≡ ≡ 右移右移右移右移1 1位位位位≡ ≡ 操作数操作数操作数操作数×2×2操作数操作数操作数操作数/2/2最低位最低位最低位最低位最高位最高位最高位最高位CFCF( (a) ROLa) ROL最低位最低位最低位最低位最高位最高位最高位最高位CFCF( (c) RCLc) RCL最低位最低位最低位最低位最高位最高位最高位最高位CFCF( (b) RORb) ROR最低位最低位最低位最低位最高位最高位最高位最高位CFCF( (d) RCRd) RCR循环移位指令循环移位指令符号符号名称名称应用应用实实 例例NOTNOT非非NOT 1010B=0101BNOT 1010B=0101BANDAND与与1010B AND 1100B=1000B1010B AND 1100B=1000BOROR或或1011B OR 1100B=1111B1011B OR 1100B=1111BXORXOR异或异或1010B XOR 1100B=0110B1010B XOR 1100B=0110Bmov al,75h;;and al,32h;;or al,71h;;xor al,0f1h;;not al ;;题题:写出每个指令的结果写出每个指令的结果AL==75HAL==30HAL==71HAL==80HAL==7FHTEST操作与操作与操作与操作与ANDAND指令类似指令类似指令类似指令类似, ,但不将但不将但不将但不将” ”与与与与” ”的结果送回的结果送回的结果送回的结果送回, ,只影响标志位。
只影响标志位只影响标志位只影响标志位 如如如如TEST AL,80H TEST AL,80H ;;;;双操作数逻辑指令双操作数逻辑指令AND、、OR、、XOR和和TEST置置CF==OF==0,根据结果设置,根据结果设置SF、、ZF和和PF状态,而对状态,而对AF未定未定义单操作数逻辑指令单操作数逻辑指令NOT不不影响标志位影响标志位所有位置反所有位置反将某位置将某位置0将某位置将某位置1置反某位置反某位检查检查检查检查ALAL中中中中D7=1D7=1????逻辑运算符逻辑运算符题:给出每条指令结果题:给出每条指令结果mov dx,6075h;;DX==01100000 01110101Bshl dx,1;;;;sar dx,1;;;;shr dx,1;;;mov cl,4;;sar dx,cl;;;;DX==11000000 11101010BCF==0,,SF==1、、ZF==0、、PF==0DX==11100000 01110101BCF==0,,SF==1、、ZF==0、、PF==0DX==01110000 00111010BCF==1,,SF==0、、ZF==0、、PF==1CL==4,标志不变,标志不变DX==00000111 00000011BCF==1,,SF==0、、ZF==0、、PF==1符号符号名称名称运算结果运算结果实实 例例EQEQ相等相等结果为真结果为真输出全输出全““1”1”结果为假结果为假输出全输出全““0”0”6 EQ 11B=6 EQ 11B=全全““0”0”NENE不等不等6 NE 11B=6 NE 11B=全全““1”1”LTLT小于小于5 LT 8=5 LT 8=全全““1”1”LELE不大于不大于7 LE 101B=7 LE 101B=全全““0”0”GTGT大于大于6 GT 100B=6 GT 100B=全全““1”1”GEGE不小于不小于6 GE 111B=6 GE 111B=全全““0”0”关系运算符关系运算符符号符号名名 称称运算结果运算结果SEGSEG返回段基址返回段基址段基址段基址OFFSETOFFSET返回偏移地址返回偏移地址偏移地址偏移地址LENGTHLENGTH返回变量单元数返回变量单元数单元数单元数TYPETYPE返回元素字节数返回元素字节数字节数字节数SIZESIZE返回变量总字节数返回变量总字节数总字节数总字节数注:注:SIZE=LENGTH×TYPE取值运算符符符 号号运算结果运算结果实实 例例PTRPTR修改后类型修改后类型THISTHIS指定后类型指定后类型段寄存器名段寄存器名修改段修改段ES:[BX]ES:[BX]HIGHHIGH高字节高字节HIGH 2345H=23HHIGH 2345H=23HLOWLOW低字节低字节LOW 2345H=45HLOW 2345H=45HSHORTSHORT““短转移短转移””JMP SHORT JMP SHORT LEBELLEBEL属性运算符属性运算符 movsb\movsw\cmpsb\cmpsw\rep格式:格式:[REP/REPZ/REPNZ] 串操作指令串操作指令每执行一次每执行一次CX-1,,CX=0时停。
时停 串操作中由串操作中由DF决定串传送的方向,当决定串传送的方向,当DF=0时时为正方向(由低地址向高地址);当为正方向(由低地址向高地址);当DF=1是为负是为负方向(由高地址向低地址)方向(由高地址向低地址) 串操作中,源串地址默认在串操作中,源串地址默认在DS::SI中,目的中,目的串地址默认在串地址默认在ES::DI中串处理指令串处理指令•方向标志方向标志DF 置置0 _____ 置置1 _____•中断标志中断标志IF 置置0 _____ 置置1 _____•近位标志近位标志CF 置置0 _____ 置置1 _____ 取反取反 _____•空操作指令空操作指令 _____•暂停机指令暂停机指令 _____•等待指令等待指令 _____控制指令控制指令CLDSTDCLISTICLCSTCCMCNOPHLTWAIT输入输出指令输入输出指令8086用于寻址外设端口(用于寻址外设端口(Port)的地址线为)的地址线为16条,端口最条,端口最多为多为216==65536((64K)个,端口号为)个,端口号为0000H~~FFFFH每个端口用于传送一个字节的外设数据每个端口用于传送一个字节的外设数据直接寻址直接寻址只用于寻址只用于寻址00H~~FFH前前256个端口个端口间接寻址间接寻址可可用于寻址全部用于寻址全部64K个端口,个端口,DX寄存器的值就是端口号,大寄存器的值就是端口号,大于于FFH的端口只能采用间接寻址方式的端口只能采用间接寻址方式端口输入端口输入IN 直接寻址格式:直接寻址格式:端口输出端口输出OUT 直接寻址格式:直接寻址格式:间接寻址格式:间接寻址格式:间接寻址格式:间接寻址格式:MOV DX,,PORTOUT DX , AL/AXOUT PORT, AL/AXMOV DX,,PORT IN AL/AX, DXIN AL/AX, PORTDOS 功能调用功能调用DOS 功能包含了功能包含了设备设备管理、管理、目录目录管理管理、、文件管文件管理理等等多个子功能的功能包,用软中断指令调用,多个子功能的功能包,用软中断指令调用,中断类型码固定为中断类型码固定为21H,各子功能采用功能号来,各子功能采用功能号来区分。
区分调用格式:调用格式: MOV AH,,功能号功能号 <置相应参数置相应参数> INT 21H常用功能号:常用功能号:1,, 2,, 5,, 9,, 10,, 4CH键入键入字符字符AL中中屏幕屏幕显示显示DL中中字符字符打印打印DL中中字符字符屏幕显示屏幕显示DS::DX地地址开始的字址开始的字符串,结束符串,结束符$字符串键入字符串键入开始地址开始地址DS::DX程序结束,程序结束,返回操作返回操作系统系统执行以下程序:执行以下程序:MOV AH,,02MOV DL,,41HINT21H运行结果:运行结果:屏幕显示屏幕显示A题题1题题2题题3DAT1 DB 20 DUP(?)(?)LEA DX,,DAT1MOV AH,,0AHINT 21H运行结果:运行结果:输入少于输入少于20个字的字符串个字的字符串DATA SEGMENTMESS1 DB ‘Input String:’ 0DH,,0AH,’$’DATA ENDSCODE SEGMENT ┇ ┇MOVAH,,09MOVDX,,OFFSET MESS1INT21H屏幕显示屏幕显示Input String:换行换行回车回车运行结果:运行结果:优先级优先级优先级优先级符符符符 号号号号高高高高低低低低1 1 1 1( )( )( )( ),,,,[ ][ ][ ][ ],,,,LENGTHLENGTHLENGTHLENGTH,,,,SIZESIZESIZESIZE2 2 2 2PTRPTRPTRPTR,,,,OFFSETOFFSETOFFSETOFFSET,,,,SEGSEGSEGSEG,,,,TYPETYPETYPETYPE,,,,THISTHISTHISTHIS3 3 3 3HIGHHIGHHIGHHIGH,,,,LOWLOWLOWLOW4 4 4 4+ + + +,,,,-(-(-(-(单目单目单目单目) ) ) )5 5 5 5* * * *,,,,/ / / /,,,,MODMODMODMOD,,,,SHLSHLSHLSHL,,,,SHRSHRSHRSHR6 6 6 6+ + + +,,,,-(-(-(-(双目双目双目双目) ) ) )7 7 7 7EQEQEQEQ,,,,NENENENE,,,,LTLTLTLT,,,,LELELELE,,,,GTGTGTGT,,,,GEGEGEGE8 8 8 8NOTNOTNOTNOT9 9 9 9ANDANDANDAND10101010OROROROR,,,,XORXORXORXOR11111111SHORTSHORTSHORTSHORT注:优先级相同的运算符操作顺序为先左后右。
注:优先级相同的运算符操作顺序为先左后右运算符的优先级表运算符的优先级表微机接口微机接口接口接口(Interface)——端口端口——接口的功能接口的功能 :数据暂存(缓冲、锁存与驱动)、信号联络、:数据暂存(缓冲、锁存与驱动)、信号联络、地址译码和端口读写、数据转换和中断管理地址译码和端口读写、数据转换和中断管理 CPUCPU与外设之间起连接作用的电路与外设之间起连接作用的电路与外设之间起连接作用的电路与外设之间起连接作用的电路接口电路内的寄存器接口电路内的寄存器接口电路内的寄存器接口电路内的寄存器端口的分类端口的分类控制口控制口----存放控制信息存放控制信息----由由CPU写写入入端口编址方式端口编址方式独立编址独立编址使用使用IN/OUT指令对端口进行读指令对端口进行读/写写与存储器统一编址与存储器统一编址与存储器一样读与存储器一样读/写写数据口数据口----存放数据信息存放数据信息状态口状态口----存放状态信息存放状态信息----由由CPU读出读出DMA批量存取批量存取CPU与与I/O程序控制程序控制中断控制中断控制程序查询程序查询主机与外设的信息交换方式主机与外设的信息交换方式外设与外设与内存内存程序控制程序控制无条件传送无条件传送一般外设需要查询其状态是否一般外设需要查询其状态是否就绪后就绪后,才数据传送才数据传送.外设未准外设未准备好时备好时CPU反复查询等待,浪反复查询等待,浪费费CPU资源资源外设简单如外设简单如开关开关LED显示器显示器,不需要查询,不需要查询外设的状态外设的状态外设具有申请外设具有申请CPU服务的主动权,当服务的主动权,当设备准备好时,就可以向设备准备好时,就可以向CPU提出中提出中断请求,使断请求,使CPU暂时停下目前的工作暂时停下目前的工作而和外设进行一次数据传输,完成后而和外设进行一次数据传输,完成后CPU继续原来的工作。
继续原来的工作外设外设外设外设 存储器存储器存储器存储器外设外设→CPU→存储器存储器外设外设←CPU←存储器存储器DMA请求的优先权比中断请求高即请求的优先权比中断请求高即CPU优先响应优先响应DMA请求无条件传送方式无条件传送方式优点:简单;缺点:数据交换双方优点:简单;缺点:数据交换双方配合能力差、可靠性低配合能力差、可靠性低PORT1PORT2输出输出输出输出锁存锁存锁存锁存输出输出输出输出设备设备设备设备输入输入输入输入缓冲缓冲缓冲缓冲输入输入输入输入设备设备设备设备端口端口译码器译码器 DBABCPU输出指令序列:输出指令序列:Mov dx , port1 ;Mov al , dataOut dx ,al输入指令序列:输入指令序列:Mov dx , port2 ;In al , dx ;外设接口提供状态,外设接口提供状态,CPU通过端口通过端口读取状态;准备好,数据输入给读取状态;准备好,数据输入给CPU;未,再查未,再查查询输入方式查询输入方式CPUD0┆ ┆ 数据数据D7READY((状态)状态)地地址址译译码码器器AB 数据数据缓冲器缓冲器DB输输入入型型外外设设如扫描仪如扫描仪PORT2PORT1 mov dx , PORT2;读入状态读入状态next:In al ,dx test al ,1;判判READY=1?? jz next ; READY=0,等待,等待 mov dx , PORT1; In al , dx ; READY=1,输入数据,输入数据查询查询查询查询程序程序程序程序外设接口提供状态,外设接口提供状态,CPU通过端口通过端口读取状态;不忙,读取状态;不忙,CPU输出数据给输出数据给外设外设;忙,再查。
忙,再查查询输出方式查询输出方式CPUD0┆ ┆ 数据数据D7BUSY((状态)状态)地地址址译译码码器器AB输输出出型型外外设设如打印机如打印机PORT2PORT1 mov dx , PORT2;读入状态读入状态next:In al ,dx test al ,1;判判BUSY=1?? jnz next ; BUSY=1,忙,等待,忙,等待 mov dx , PORT1; In al , dx ; BUSY=0,输出数据,输出数据查询查询查询查询程序程序程序程序输出输出锁存锁存DB中断方式中断方式查询方式是查询方式是CPU主动,于是主动,于是CPU忙;若外设主忙;若外设主动,一旦准备好就向动,一旦准备好就向CPU发请求,这样就可以发请求,这样就可以节约节约CPU资源平时资源平时CPU执行正常的程序,接执行正常的程序,接到外设请求,就中断当前的操作,转向执行为到外设请求,就中断当前的操作,转向执行为外设服务的子程序外设服务的子程序----中断服务子程序,结束中断服务子程序,结束后又回到断点处继续运行原来的程序。
后又回到断点处继续运行原来的程序中断请求中断请求INTR=1中断服务程序中断服务程序(数据输入(数据输入/输出输出操作指令)操作指令)正正常常程程序序继继续续中断答应中断答应INTA=1现场保护现场保护现场保护现场保护CSCS、、、、IPIP及及及及FRFR压栈压栈压栈压栈恢复现场恢复现场恢复现场恢复现场CSCS、、、、IPIP及及及及FRFR出栈出栈出栈出栈中断服务程序段地中断服务程序段地中断服务程序段地中断服务程序段地址送入址送入址送入址送入CSCS中,偏移中,偏移中,偏移中,偏移地址送入地址送入地址送入地址送入IPIP中关中断关中断关中断关中断开中断开中断开中断开中断push ax ;保护现场;保护现场……push bxsti;开中断;开中断……;中断处理;中断处理cli;关中断;关中断pop bx ;恢复现场;恢复现场……pop axsti;开中断;开中断reti;中断返回;中断返回一一般般中中断断程程序序中断类型号中断类型号返回中断处理原则中断处理原则 CPUCPU每执行一条指令,其内的中断请求检测电路都要检每执行一条指令,其内的中断请求检测电路都要检每执行一条指令,其内的中断请求检测电路都要检每执行一条指令,其内的中断请求检测电路都要检测中断请求输入端的状态:测中断请求输入端的状态:测中断请求输入端的状态:测中断请求输入端的状态: ①①①①先测先测先测先测NMINMI,若,若,若,若NMI=1NMI=1有效,则有效,则有效,则有效,则CPUCPU进入非屏蔽中响阶段。
进入非屏蔽中响阶段进入非屏蔽中响阶段进入非屏蔽中响阶段 ②②②②若若若若NMI=0NMI=0无效,则检测无效,则检测无效,则检测无效,则检测INTRINTR的状态 ③③③③若若若若INTR=1INTR=1有效且有效且有效且有效且IF=1IF=1开中断开中断开中断开中断 ,则,则,则,则CPUCPU进入可屏蔽中响阶进入可屏蔽中响阶进入可屏蔽中响阶进入可屏蔽中响阶段 ④④④④若若若若INTRINTR有效但有效但有效但有效但 IF=0IF=0关中断关中断关中断关中断 ,则,则,则,则CPUCPU执行下一条指令执行下一条指令执行下一条指令执行下一条指令 ⑤⑤⑤⑤若若若若INTRINTR无效,则无效,则无效,则无效,则CPUCPU执行下一条指令执行下一条指令执行下一条指令执行下一条指令 当多个中断源同时提出中请时,当多个中断源同时提出中请时,当多个中断源同时提出中请时,当多个中断源同时提出中请时,CPUCPU按优先级的高低有按优先级的高低有按优先级的高低有按优先级的高低有高到低依次为外设服务高到低依次为外设服务高到低依次为外设服务高到低依次为外设服务。
CPUCPUACKACKD D触发器触发器触发器触发器ACKACK通过中断请求触发器向通过中断请求触发器向通过中断请求触发器向通过中断请求触发器向CPUCPU请求中断服请求中断服请求中断服请求中断服务,务,务,务,INTAINTA应答后,请求信号撤消,应答后,请求信号撤消,应答后,请求信号撤消,应答后,请求信号撤消,CPUCPU从从从从三态缓冲器读取中断号,进行中断服务三态缓冲器读取中断号,进行中断服务三态缓冲器读取中断号,进行中断服务三态缓冲器读取中断号,进行中断服务溢出中断0000 : 0014 H 0000 : 0013 H0000 : 0010 H 0000 : 000F H0000 : 000C H 0000 : 000B H0000 : 0008 H 0000 : 0007 H0000 : 0004 H 0000 : 0003 H0000 : 0000 H类型5类型255供用户定义的中断(共224个)0000 : 007 FH 0000 : 007 EH0000 : 03 FFHCS IPCS IPCS IPCS IPCS IPCS IPCS IP专用的中断(共5个)不需要自己写中断服务程序保留的中断(共27个)类型32 类型31类型0类型4类型3类型2类型1除数为 0 中断非屏蔽中断单步中断断点中断中中断断向向量量表表掉线或关机形成的掉线或关机形成的掉线或关机形成的掉线或关机形成的中断中断中断中断, ,下次能够从上下次能够从上下次能够从上下次能够从上次的地方接着运行次的地方接着运行次的地方接着运行次的地方接着运行. .TF=1TF=1时,时,时,时,CPUCPU在每在每在每在每条指令执行后自动产条指令执行后自动产条指令执行后自动产条指令执行后自动产生中断生中断生中断生中断INT nINT n:由中断指令引起的:由中断指令引起的:由中断指令引起的:由中断指令引起的中断。
其中中断其中中断其中中断其中n n是中断号是中断号是中断号是中断号内部中断和异常内部中断和异常软件中断(软件中断(INT nINT n))))外部非屏蔽中断外部非屏蔽中断NMI外部可屏蔽中断外部可屏蔽中断IMR单步中断(调试用)单步中断(调试用)优优先先级级递递增增(如除0、溢出等)中断向量中断向量——中断服务程序中断服务程序的入口地址的入口地址中断向量中断向量= 中断类型码中断类型码 n× 4p 8086中断系统支持中断系统支持256种中断,每种中断都一个中断类型码,分别种中断,每种中断都一个中断类型码,分别 对应对应 00H~0FFH,又分为两大类:内部中断和外部中断,又分为两大类:内部中断和外部中断p 内部中断:内部中断:n 除法错中断除法错中断(00H);;n 单步中断单步中断(01H)n 断点中断断点中断(03H)n 溢出中断溢出中断(04H)n 软件中断软件中断INT np 外部中断:外部中断:n 非屏蔽中断非屏蔽中断(NMI) (02H)n 可屏蔽中断可屏蔽中断(INTR) (08H~0FH)硬件方式的中断优先级的判断硬件方式的中断优先级的判断硬件优先权排队电路:又称硬件优先权排队电路:又称菊花链式菊花链式优先权排队电路。
它是利用外设连接在排队优先权排队电路它是利用外设连接在排队电路的物理位置来决定其中断优先权的,排在最前面的优先权最高,排在最后面电路的物理位置来决定其中断优先权的,排在最前面的优先权最高,排在最后面的优先权最低的优先权最低低电平有效低电平有效高高电电平平有有效效1#中断请求中断请求响应响应返回返回1#中断中断服务程序服务程序2#中断请求中断请求响应响应返回返回2#中断中断服务程序服务程序3#中断请求中断请求响应响应返回返回3#中断中断服务程序服务程序原主程序原主程序中断优先级中断优先级3#>2#>1#中断嵌套运行中断嵌套运行按照中断按照中断优先先级响响应实例例 中断请求中断请求 3 3级,级, 2 2 级级 4 4级级 1 1级级 主程序主程序 中断服务程序中断服务程序 1 1级级2 2级级3 3级级4 4级级 时间时间t t 多中断响多中断响应注意:注意:级数越小越高数越小越高处理机优先级改变后响应中断的过程处理机优先级改变后响应中断的过程 中断优先级改变中断优先级改变 中中断断请请求求 主主程程序序 中中断断服服务务程程序序 时时间间t tI I1 1, ,I I2 2, ,I I3 3, ,I I4 4I I1 1I I2 2调高调高I I3 3调高调高I I4 4原优先级原优先级高高低低数据总线数据总线缓冲器缓冲器读读/写写逻辑逻辑级联缓冲级联缓冲/比较器比较器中断服中断服务寄存务寄存器器中断优中断优先级裁先级裁决器决器中断屏蔽寄存器中断屏蔽寄存器中断请中断请求寄存求寄存器器控制逻辑控制逻辑D0~D7内内部部总总线线8259A功能与结构功能与结构 8259A是一种可编程中断控制器是一种可编程中断控制器, 把当前优先级最高的中断请求送到把当前优先级最高的中断请求送到CPU的的INTR端,为端,为CPU提供中断类型码。
一片提供中断类型码一片Intel 8259可管理可管理8个中断请求,可个中断请求,可以指定优先级,可以通过编程屏蔽某些中断请求,或者通过编程改变中断类以指定优先级,可以通过编程屏蔽某些中断请求,或者通过编程改变中断类型码允许型码允许9片片8259级联,构成级联,构成64级中断系统级中断系统ISR))((PR))((IRR))((IMR))有两个端口地址A0=0主片为20H从片A0H中断命令寄存器端口A0=1主片为21H从片A1H中断屏蔽寄存器端口端口0端口1优先级方式优先级方式1.1.优先级全嵌套方式优先级全嵌套方式优先级全嵌套方式优先级全嵌套方式 中断优先级固定:从中断优先级固定:从中断优先级固定:从中断优先级固定:从IRIR0 0~IR~IR7 7依次是依次是依次是依次是IRIR0 0最高,最高,最高,最高,IRIR7 7最低2.2.优先级特殊嵌套方式优先级特殊嵌套方式优先级特殊嵌套方式优先级特殊嵌套方式 主片开放主片开放主片开放主片开放“ “同级同级同级同级” ”中断;中断;中断;中断;3.3.优先级自动循环方式优先级自动循环方式优先级自动循环方式优先级自动循环方式 如图如图如图如图4.4.优先级特殊循环方式优先级特殊循环方式优先级特殊循环方式优先级特殊循环方式 起始优先级由命令字设起始优先级由命令字设起始优先级由命令字设起始优先级由命令字设置,自动循环。
置,自动循环置,自动循环置,自动循环IR0IR1IR2IR3IR4IR5IR6IR7IR0中断响应后中断响应后最高最高最低最低IR0IR1IR2IR3IR4IR5IR6IR7初始优先级队列初始优先级队列最高最高最低最低自自自自动动动动循循循循环环环环方方方方式式式式 普通中断结束方式普通中断结束方式(结束发一般结束命令)(结束发一般结束命令)特殊中断结束方式特殊中断结束方式(结束时发特殊结束命令)(结束时发特殊结束命令)两大类两大类自动结束自动结束非自动结束非自动结束3种种中断结束中断结束(EOI)方式方式一般的一般的一般的一般的EOIEOI方式,中断命令寄存器端口地址为方式,中断命令寄存器端口地址为方式,中断命令寄存器端口地址为方式,中断命令寄存器端口地址为20H20H,结束外中断用下面的指令:,结束外中断用下面的指令:,结束外中断用下面的指令:,结束外中断用下面的指令: MOV AL,20HMOV AL,20HOUT 20H,ALOUT 20H,AL8259A8259A接收到后,将接收到后,将接收到后,将接收到后,将ISRISR中当前最高的置中当前最高的置中当前最高的置中当前最高的置1 1位清位清位清位清0 0。
如果中断是从片如果中断是从片如果中断是从片如果中断是从片8259A8259A的中断的中断的中断的中断输入线产生的,则要同时对主片和从片的中断命令寄存器发输入线产生的,则要同时对主片和从片的中断命令寄存器发输入线产生的,则要同时对主片和从片的中断命令寄存器发输入线产生的,则要同时对主片和从片的中断命令寄存器发EOIEOI命令从片命令从片命令从片命令从片8259A8259A中断命令寄存器端口地址是中断命令寄存器端口地址是中断命令寄存器端口地址是中断命令寄存器端口地址是A0H A0H 命令命令OCW2中指出了要清除当前中指出了要清除当前ISR的哪位如的哪位如 OCW2::EOI=1、、SL=1、、R=0,这是结束这是结束ISR中第二位的特殊中断结束命令字中第二位的特殊中断结束命令字 8259A8259A工作方式设定及运行中的控制,均由工作方式设定及运行中的控制,均由80868086发来的命令字发来的命令字(1(1字节代码字节代码) )决定命令字分初决定命令字分初始化命令字和操作命令字两种,系统向始化命令字和操作命令字两种,系统向8259A8259A两个两个端口之一写入端口之一写入。
二类二类初始化命令字初始化命令字(Initialization Command Word,ICW),,有有ICW1~ICW4共共四四个个,,有有接接收收顺序要求顺序要求操作命令字操作命令字((Operation Command Word,OCW),),有有OCW1~OCW3共共3个,无接收顺序个,无接收顺序要求8259A命令字命令字1A15/T7A14/T6A13/T5A12/T4A13/T3A10A9A8ICW2(type)用于用于8085A00ADILTIMSNGLA7A6A5IC41D7D6D5D2D1D0D4D3ICW1(chip control)8085用于用于8085IC4=1?N1S5S4S6S7S3S2/ID2S1/ID1S0/ID0ICW3(slave control)SNGL=1?YN1SFNM00BUFM/SAEOIPM0ICW4(mode control)可中断可中断SNGL=0级联级联单片单片芯片控制芯片控制0则则IC4不不用用0为上升沿触发为上升沿触发1为高电平触发为高电平触发中断类型中断类型主从控制主从控制方式控制方式控制中断类型号中断类型号1自动结束自动结束0其它其它1主主0从从1缓存缓存0非缓存非缓存对主片对主片1为有从片为有从片对从片决定对从片决定INT连到主片哪个连到主片哪个IRi8 82 25 59 9A A初初初初始始始始化化化化流流流流程程程程若若8个可屏蔽中断个可屏蔽中断IR0~IR7类型号为类型号为38H~3FH,,则初始化的则初始化的ICW2为为08H((00111000)。
1特殊全嵌套特殊全嵌套0全嵌套全嵌套微处理微处理器选择器选择0RSLEOI00L2L1L0A01M2M5M1M7M6M5M0M4D7D6D5D2D1D0D4D30SMM0ESMM×1PRRRIS8 82 25 59 9A A操操操操作作作作命命命命令令令令字字字字Mi=1即即IRi屏蔽屏蔽设置设置/清除中断屏蔽清除中断屏蔽设置优先级循环方式和中断结束方式操作设置优先级循环方式和中断结束方式操作设置特殊屏蔽和查询读出操作设置特殊屏蔽和查询读出操作OCW3OCW2OCW1题:写出主题:写出主8259的的IR5屏蔽程序屏蔽程序OCW1 EQU 21HIN AL,,OCW1 OR AL,,00100000B OUT OCW1,,AL1非自动结束0自动结束1优先级循环0优先非循环1L210有效1L210无效编码要结束的编码要结束的IRi允许允许1特殊屏蔽0非特殊屏蔽1查询0非查询1读寄存器0非读1读ISR0读IRROCW3 EQU 20HIRR EQU OCW3ISR EQU OCW3MOV AL,,0BH ;;OUT OCW3,,ALIN AL,,ISR题:读题:读ISR注注:0BH=00001011B从片从片1 8259A从片从片2 8259A主片主片 8259ACPU+5V中中断断请请求求中中断断请请求求8259A的级联的级联采用非缓冲方式,主片采用非缓冲方式,主片 接接+5V,从片从片 接地。
接地DMA系统系统DMA是一种外设与存储器或者存储器与存储器之间直接传送数据的方法,适是一种外设与存储器或者存储器与存储器之间直接传送数据的方法,适用于需要大量数据高速传送的场合,如用于需要大量数据高速传送的场合,如:图像显示、磁盘存取、磁盘间的数据图像显示、磁盘存取、磁盘间的数据传送和高速的数据采集系统传送和高速的数据采集系统DMA=Direct Memory Access 直接存储器存取直接存储器存取CPU内存内存外设外设数据通道数据通道数据通道数据通道非非DMA方式方式(包括程序控制方式和中断方式包括程序控制方式和中断方式)DMA方式方式DMAC内存内存外设外设数据通道数据通道DMA控制器控制器HRQ DREQDMACHLDA DACK总线请求总线请求总线响应总线响应DMA请求请求DMA响应响应地址总线地址总线 HOLD HLDAI / O设备设备控制总线控制总线数据总线数据总线CPUDMA工作过程工作过程DMA操作之操作之前,应先对前,应先对DMAC编程,编程,把要传送的把要传送的数据块长度、数据块长度、数据块在存数据块在存储器中的起储器中的起始地址,数始地址,数据传送方向据传送方向等信息发送等信息发送给给DMACI/OI/O向向DMACDMAC发请求发请求 DMACDMAC向向CPUCPU发请求发请求 CPUCPU响应响应DMACDMAC请求请求 DMACDMAC向向I/OI/O发响发响应应DMADMA传传送结束送结束DMADMA数数据传送据传送DMACDMAC发出发出控制信号控制信号DMACDMAC发出发出内存地址内存地址8237A芯片芯片内部结构内部结构地址锁存选通地址锁存选通IO写写IO读读内存读内存读内存写内存写外设准备好外设准备好复位复位总线请求总线请求输出时,表明内部通道传送结束;输入时,输出时,表明内部通道传送结束;输入时,表明外部强迫表明外部强迫DMA传送仃止。
传送仃止总线响应总线响应地址锁存允许地址锁存允许外设请求外设请求DMADMA响应响应8237A有四个独立通道:通道有四个独立通道:通道0~通道通道3每个通道可独立响应外部每个通道可独立响应外部DMA请请求,完成求,完成DMA传送放放DMA传送传送RAM地址初值地址初值每次传送后每次传送后-1,可读,可读存储器到存储器传送时,暂存储器到存储器传送时,暂存中间数据存中间数据每次传送后每次传送后-1,可读,可读放放DMA传送字节数初值传送字节数初值16位位16位位1位位1位位6位位8位位8位位CPU控制总线,输出控制总线,输出AEN=0A7~A0(输出):(输出):8237访问存储器的地址信号的低访问存储器的地址信号的低8位输入时寻址输入时寻址8237内部寄存器内部寄存器8位位8237A命令字命令字D1D0D7D6D5D4D3D20 DACK低电平有效低电平有效0 禁止内存间的传输禁止内存间的传输1 DACK高电平有效高电平有效1 允许内存间的传输允许内存间的传输0 DREQ高电平有效高电平有效1 内存间传输源地址内存间传输源地址1 DREQ低电平有效低电平有效0 无意义无意义0 不扩展写信号不扩展写信号0 允许允许8237工作工作1 扩展写信号扩展写信号1 禁止禁止8237工作工作0 固定优先级固定优先级0 正常时序正常时序1 循环优先级循环优先级1 压缩时序压缩时序端口地址端口地址08H控制寄存器控制寄存器D7D6D5D4D3D2D1D000 请求传输请求传输00 通道通道001 单字节传输单字节传输01 通道通道110 数据块传输数据块传输10 通道通道211 级联传输级联传输11 通道通道3模式选择模式选择通道选择通道选择地地址址增增/减减选选择择传传送送类类型型选选择择0 地址增地址增100 校验传输校验传输1 地址减地址减101 写传输写传输自自动动预预置置功功能能选选择择10 读传输读传输11 无意义无意义0 禁止禁止1 允许允许模式寄存器模式寄存器端口地址端口地址0BH请求寄存器请求寄存器请求寄存器请求寄存器×××××D2D1D0通道选择DMA请求标志0 复位请求复位请求1 设置请求设置请求00 通道通道0 ;;01通道通道1 10 通道通道2 ;;11通道通道3单通道屏蔽寄存器单通道屏蔽寄存器单通道屏蔽寄存器单通道屏蔽寄存器×××××D2D1D0通道选择屏蔽设置标志0清除屏蔽清除屏蔽 1设置屏蔽设置屏蔽 00 通道通道0 ;;01通道通道1 10 通道通道2 ;;11通道通道3端口地址端口地址09H端口地址端口地址0AH多通道屏蔽寄存器多通道屏蔽寄存器多通道屏蔽寄存器多通道屏蔽寄存器端口地址端口地址0FH××××D3D2D1D00清除屏蔽清除屏蔽 1设置屏蔽设置屏蔽 通通道道3通通道道2通通道道1通通道道0一次就设置一次就设置一次就设置一次就设置4 4个通道个通道个通道个通道状态寄存器状态寄存器状态寄存器状态寄存器D7D6D5D4D3D2D1D01计数结束计数结束0计数没结束计数没结束通通道道3通通道道2通通道道1通通道道0通通道道3通通道道2通通道道1通通道道01有有DMA请求请求0无无DMA请求请求端口地址端口地址08H对对端口端口0EH写入写入0,可以一次清除四个通道的屏蔽触发器,可以一次清除四个通道的屏蔽触发器对对端口端口0DH写入写入0,使,使8237复位,其功能等同于硬件复位复位,其功能等同于硬件复位8237复位后的状态为:复位后的状态为: 控制寄存器控制寄存器 状态寄存器状态寄存器 请求寄存器请求寄存器 暂存器暂存器 先先/后触发器后触发器 置置0屏蔽寄存器屏蔽寄存器置置1 GATE0CLK0OUT0计数器计数器0#GATE1CLK1OUT1计数器计数器1#GATE2CLK2OUT2计数器计数器2#内内部部数数据据总总线线读读/写写控制逻辑控制逻辑控制字控制字寄存器寄存器A0A1DO-D7DO-D7数据总线数据总线缓冲器缓冲器定时定时/计数器计数器8253计数脉冲计数脉冲门控信号门控信号波形输出波形输出接译码器接译码器00计数器计数器001计数器计数器110计数器计数器211控制器控制器作用:作用:作用:作用:定时和计数定时和计数8位位只写不读只写不读有高有高8位和低位和低8位位两个初值寄存器两个初值寄存器内部的各计数器的结构内部的各计数器的结构&CLKGATE16位当前计数值锁存器位当前计数值锁存器16位减一计数器位减一计数器16位计数初值寄存器位计数初值寄存器OUT(减(减1至至0时)时)MSBLSB装入初值装入初值LSBMSB锁存后读锁存后读出当前值出当前值8253A8253A的的A A1 1、、A A0 0:与:与8086CPU8086CPU的地址线连接不同,的地址线连接不同,端口地址不同。
端口地址不同A1A1A0A08位位80888253端口地址端口地址:A1 A00 00 11 01 1X0HX1HX2HX3H80868253低低8位位A2A1A1A0A2 A1A00 00 11 01 10000端口地址端口地址:X0HX2HX4HX6H8253端口地址端口地址8253的控制字端口(端口(端口(端口(A1 A0=11A1 A0=11))))BCD:0000~9999H即即0~10000 二进制:二进制:0000~FFFFH即即0~ 65536 对方式对方式0、、2、、3、、4,,GATE=0时停止计数时停止计数软件定时软件定时硬件定时硬件定时硬件可重触发单稳态分频器分频器脉冲发生器方波器方波器软件选通软件选通硬件选通硬件选通硬件重复硬件重复不重复不重复自动重复自动重复自动重复自动重复不重复不重复不重复不重复六六种种工工作作方方式式初值N为奇数时,高电位保持(N+1)/2个时钟周期对方式对方式1和和5,,GATE上沿触发计数上沿触发计数4 3 2 1 0CWn=4CLKOUTGATE=1工作方式工作方式工作方式工作方式0 0详解详解详解详解n=44 3 2 2 2 2 2 1 0CWCLKOUTGATEn=34 3 2 1 3 2 1 0CWn=4CLKOUTGATE=1控制字写完控制字写完OUT就变低就变低初值写完初值写完CLK下沿就计数下沿就计数(软定时软定时)GATE=0停止计数停止计数重新写入初值就重新计数重新写入初值就重新计数定时时间定时时间 t=n×TCK;; n为计数初值,为计数初值,TCK为时钟周期为时钟周期工作方式工作方式工作方式工作方式1 1详解详解详解详解控制字写完控制字写完OUT由低变高由低变高初值写完要等初值写完要等GATE上沿触发下一个上沿触发下一个CLK下沿才计数下沿才计数4 3 2 1 0CWn=4n=5CLKOUTGATE工作方式工作方式工作方式工作方式3 3详解详解详解详解n=5CW5 5 55 2 0 2 0 2 0n=4CW4 4 4 44 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2CLKOUTGATE=1OUT不对称方波不对称方波,高电位长于低电位高电位长于低电位(硬定时硬定时) 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0B6HB6HMOVMOV AL AL,,,,0B6H0B6H;计数器;计数器;计数器;计数器2 2,先低后高字节,先低后高字节,先低后高字节,先低后高字节OUTOUT 43H 43H,,,,ALAL ;写命令字;写命令字;写命令字;写命令字MOVMOV AX AX,,,,533H533H;计数初值;计数初值;计数初值;计数初值OUTOUT 41H 41H,,,,ALAL ;写计数值低位;写计数值低位;写计数值低位;写计数值低位MOVMOV AL AL,,,,AHAHOUTOUT 41H 41H,,,,ALAL ;写计数值高位;写计数值高位;写计数值高位;写计数值高位题题题题: :将计数器将计数器将计数器将计数器2 2初始化为工作方式初始化为工作方式初始化为工作方式初始化为工作方式3 3,计数初值为,计数初值为,计数初值为,计数初值为533H533H,为二进制计数方,为二进制计数方,为二进制计数方,为二进制计数方式,设寄存器地址为式,设寄存器地址为式,设寄存器地址为式,设寄存器地址为40H ~ 43H40H ~ 43H8253编程练习编程练习控制字控制字控制字控制字解解解解: :题题题题: 8253: 8253工作为计数器工作为计数器工作为计数器工作为计数器 1 1,方式,方式,方式,方式 3 3,,,,初值为初值为初值为初值为4020D4020D解解解解: : 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 177H77H MOV ALMOV AL,,,,77H77H OUT 43H OUT 43H,,,,ALAL MOV AL MOV AL,,,,20H20H OUT 41H OUT 41H,,,,ALAL MOV AL MOV AL,,,,40H40H OUT 41H OUT 41H,,,,ALAL控制字控制字控制字控制字题:计数器题:计数器题:计数器题:计数器0 0,工作在模式,工作在模式,工作在模式,工作在模式2 2,计数初值和输出锁存器仅使用低,计数初值和输出锁存器仅使用低,计数初值和输出锁存器仅使用低,计数初值和输出锁存器仅使用低8 8位,位,位,位,初值为初值为初值为初值为100100,计数值为二进制格式。
计数值为二进制格式计数值为二进制格式计数值为二进制格式寄存器地址为寄存器地址为寄存器地址为寄存器地址为70H ~ 73H70H ~ 73HMOV ALMOV AL,,,,00010100B00010100B;控制字;控制字;控制字;控制字 OUT 73HOUT 73H,,,,ALALMOV ALMOV AL,,,,100 100 ;计数初值;计数初值;计数初值;计数初值 OUT 70HOUT 70H,,,,ALAL 0 0 0 00 0 1 1 0 0 1 1 0 0 0 0控制字控制字控制字控制字解解解解: :14H14H未超过未超过256MOVMOVALAL,,,,58H58H;控制字;控制字;控制字;控制字OUTOUT0E3H0E3H,,,,ALALMOVMOVALAL,,,,3 3;初值;初值;初值;初值OUTOUT0E1H0E1H,,,,ALAL题:题:题:题:设计数器设计数器设计数器设计数器1 1工作于方式工作于方式工作于方式工作于方式4 4,二进制计数,计数初值为,二进制计数,计数初值为,二进制计数,计数初值为,二进制计数,计数初值为3 3端口地址为端口地址为端口地址为。
端口地址为0E0H0E0H~~~~0E3H0E3H解解解解: :控制字控制字控制字控制字0 0 1 10 0 1 1 1 1 0 0 0 0 0 058H58H线路连接图:线路连接图:线路连接图:线路连接图:CLK0GATE0OUT1DBA1A0译码器译码器D0~D7WRRDA1A0CS8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT2IOWIOR采用采用采用采用82538253作定时作定时作定时作定时/ /计数器,其接口地址为计数器,其接口地址为计数器,其接口地址为计数器,其接口地址为0120H~0123H0120H~0123H输入输入输入输入82538253的时钟频率为的时钟频率为的时钟频率为的时钟频率为2MHz2MHz计数器计数器计数器计数器0: 0: 每每每每10ms10ms输出输出输出输出1 1个个个个CLKCLK脉冲宽的负脉冲脉冲宽的负脉冲脉冲宽的负脉冲脉冲宽的负脉冲计数器计数器计数器计数器1: 1: 产生产生产生产生10KHz10KHz的连续方波信号的连续方波信号的连续方波信号的连续方波信号计数器计数器计数器计数器2: 2: 启动计数启动计数启动计数启动计数5ms5ms后后后后OUTOUT输出高电平。
输出高电平输出高电平输出高电平画线路连接图,并编写初始化程序画线路连接图,并编写初始化程序画线路连接图,并编写初始化程序画线路连接图,并编写初始化程序应用题应用题应用题应用题确定计数初值:确定计数初值:确定计数初值:确定计数初值: CNT0CNT0:::: 10ms/0.5us = 2000010ms/0.5us = 20000 CNT1 CNT1:::: 2MHz/10KHz = 2002MHz/10KHz = 200 CNT2 CNT2:::: 5ms/0.5us = 100005ms/0.5us = 10000确定控制字:确定控制字:确定控制字:确定控制字: CNT0CNT0:方式:方式:方式:方式2 2,,,,1616位计数值位计数值位计数值位计数值 00110100B00110100B CNT1 CNT1:方式:方式:方式:方式3 3,低,低,低,低8 8位计数值位计数值位计数值位计数值 01010110B01010110B CNT2 CNT2:方式:方式:方式:方式0 0,,,, 1616位计数值位计数值位计数值位计数值 10110000B10110000B解:解:解:解:编程:编程:编程:编程:MOV DX, MOV DX, 0123H0123HMOV AL,MOV AL, 34H 34HOUT DX, ALOUT DX, ALMOV DX, 0120HMOV DX, 0120HMOV AX, MOV AX, 2000020000OUT DX, ALOUT DX, ALMOV AL, AHOUT DX, ALMOV DX, MOV DX, 0123H0123HMOV AL,MOV AL, 56H 56HOUT DX, ALOUT DX, ALMOV DX, 0121HMOV DX, 0121HMOV AL, MOV AL, 200200OUT DX, ALOUT DX, ALMOV DX, MOV DX, 0123H0123HMOV AL,MOV AL, 8BH 8BHOUT DX, ALOUT DX, ALMOV DX, 0122HMOV DX, 0122HMOV AX, MOV AX, 1000010000OUT DX, ALOUT DX, ALMOV AL, AHOUT DX, AL1 1)计数器)计数器)计数器)计数器0 0:方式:方式:方式:方式3 3,,,,OUTOUT0 0输出方波输出方波输出方波输出方波N N0 0= = fCLK/fOUT = = 1MHz1MHz /2 /2KHzKHz =10=106 6/2 /2 10103 3 = 500= 500控制字:控制字:控制字:控制字:00110111B=37H00110111B=37H2 2)计数器)计数器)计数器)计数器1 1:方式:方式:方式:方式1 1,,,,OUT1OUT1输出单脉冲输出单脉冲输出单脉冲输出单脉冲N1= TOUT/TCLK N1= TOUT/TCLK = = 480 480 s s / / 1 1 s s = 480= 480控制字:控制字:控制字:控制字:01110011B=73H01110011B=73H应用题应用题应用题应用题82538253芯片,端口地址分别为芯片,端口地址分别为芯片,端口地址分别为芯片,端口地址分别为310H310H,,,,312H312H,,,,314H314H,,,,316H316H 所用的时钟脉冲频率为所用的时钟脉冲频率为所用的时钟脉冲频率为所用的时钟脉冲频率为1MHz1MHz。
要求完成以下功能:要求完成以下功能:要求完成以下功能:要求完成以下功能:1 1)计数器)计数器)计数器)计数器0 0工作于方式工作于方式工作于方式工作于方式3 3,输出频率为,输出频率为,输出频率为,输出频率为2KHz2KHz的方波;的方波;的方波;的方波; 2 2)计数器)计数器)计数器)计数器1 1产生宽度为产生宽度为产生宽度为产生宽度为480 480 s s的单脉冲;的单脉冲;的单脉冲;的单脉冲;3 3)计数器)计数器)计数器)计数器2 2用硬件方式触发,输出单脉冲,时间为用硬件方式触发,输出单脉冲,时间为用硬件方式触发,输出单脉冲,时间为用硬件方式触发,输出单脉冲,时间为26 26 s s 线路线路线路线路连接连接连接连接图:图:图:图:解:解:解:解:编程:编程:编程:编程:3 3)计数器)计数器)计数器)计数器2 2:模式:模式:模式:模式5 5,,,,OUT2OUT2输出门控单脉冲,输出门控单脉冲,输出门控单脉冲,输出门控单脉冲, N2= 26N2= 26控制字:控制字:控制字:控制字:10011011B=9BH10011011B=9BHMOV DX,316HMOV AL,00110111BOUT DX,ALMOV DX,310HMOV AL,00HOUT DX,ALMOV AL,05HMOV DX,316HMOV AL,01110011BOUT DX,ALMOV DX,312HMOV AL,80HOUT DX,ALMOV AL,04HOUT DX,ALMOV DX,316HMOV AL,10011011BOUT DX,ALMOV DX,314HMOV AL,26HOUT DX,AL480us宽单脉冲宽单脉冲CLK0808674LS1388253CLK1CLK2GATE0OUT0GATE1OUT1GATE2OUT21MHzCSA1A0RDWRD7~ D0D7~ D0WRRDA1A2A0A3A4ABCG2BG2AG1A5A6A7A8A9M/IO2KHzY4负脉冲负脉冲+5VA9~A0=1100010XX0 310H~316H时钟脉冲以时钟脉冲以时钟脉冲以时钟脉冲以2MHz2MHz输入输入输入输入82538253,实现每,实现每,实现每,实现每5 5秒定时中断(设秒定时中断(设秒定时中断(设秒定时中断(设82538253端口地址端口地址端口地址端口地址4040H~46HH~46H))))按照公式计数初值按照公式计数初值按照公式计数初值按照公式计数初值n=Tout/n=Tout/TclkTclk=10=107 7, ,而初值计数器只而初值计数器只而初值计数器只而初值计数器只有有有有1616位,最大计数次数为位,最大计数次数为位,最大计数次数为位,最大计数次数为6553665536,所以一个计数器不行,,所以一个计数器不行,,所以一个计数器不行,,所以一个计数器不行,所以需要两个计数器串联。
所以需要两个计数器串联所以需要两个计数器串联所以需要两个计数器串联OUT0OUT0GATE0GATE0CLK0CLK0OUT1OUT1GATE1GATE1CLK1CLK1+5V+5V+5V每每每每5 5秒产生秒产生秒产生秒产生一个脉冲一个脉冲一个脉冲一个脉冲应用题应用题应用题应用题线路线路线路线路连接连接连接连接图:图:图:图:解:解:解:解:编程:编程:编程:编程:计数器计数器计数器计数器1 1:方式:方式:方式:方式2 2,,,,OUT1OUT1每每每每5ms5ms输出一个脉冲输出一个脉冲输出一个脉冲输出一个脉冲, ,初值初值初值初值 N1=N1=定时时间定时时间定时时间定时时间/ /TcTc=5ms/ 0.5 =5ms/ 0.5 s =10000s =10000控制字:控制字:控制字:控制字:01110100B=76H01110100B=76H计数器计数器计数器计数器0 0:方式:方式:方式:方式2 2,,,,OUT0 OUT0 每每每每5s5s输出一个脉冲输出一个脉冲输出一个脉冲输出一个脉冲, ,初值初值初值初值N2=N2=定时时间定时时间定时时间定时时间/ /TcTc=5s/5m=5s/5ms=1000s=1000控制字:控制字:控制字:控制字:00110100B=34H00110100B=34H2MHz0.5 0.5 s sMOV AL, 01110100B MOV AL, 01110100B MOV DX, MOV DX, 4646H HOUT DX, AL OUT DX, AL MOV AX, MOV AX, 1000010000MOV DX, MOV DX, 4242H HOUT DX, ALOUT DX, ALMOV AL, AHMOV AL, AHOUT 42H, ALOUT 42H, ALMOV AL, 00110100B MOV AL, 00110100B MOV DX, 46HMOV DX, 46H OUT DX, ALOUT DX, ALMOV AX, MOV AX, 10001000MOV DX, MOV DX, 4040H HOUT DX, ALOUT DX, ALMOV AL, AHMOV AL, AHOUT DX, ALOUT DX, AL每每每每5ms5ms一一一一个脉冲个脉冲个脉冲个脉冲外设接口外设接口CPU接口接口内部逻辑内部逻辑8255A结构结构两组寄存器(两组寄存器(4个口地址)个口地址):控制寄存器控制寄存器11,数据寄存器数据寄存器00,,01,,10可可编编程程并并行行通通信信接接口口芯芯片片有三种工作有三种工作方式方式有两种工作有两种工作方式方式可以按位置可以按位置位位/复位操作复位操作可以按位置可以按位置位位/复位操作复位操作PA7~PA0PB7~PB0PC7~PC4PC3~PC0D7~D0数据数据总线总线缓冲缓冲器器读读/写写控制控制逻辑逻辑A口口((8位)位)A组组控制控制部件部件B组组控制控制部件部件C口口(高(高4位)位)B口口((8位)位)C口口(低(低4位)位)RESETA1A08255A三种工作方式三种工作方式8255ABCBDBRD WRD7~D0A0 A1 CSPBPAPC88I/OI/O44PB7 ~PB0PA7 ~PA0PC3 ~PC0 PC7 ~PC4I/OI/O88I/OI/OPB7 ~PB0PA7 ~PA0PBPAPC控制或I/O控制或I/O88I/OI/OPB7 ~PB0PA7 ~PA0PBPAPCI/O控制方式方式0:基本输入输出:基本输入输出主要用于无条件传送方式主要用于无条件传送方式也用于查询方式,不设置也用于查询方式,不设置专用的联络信号线。
专用的联络信号线方式方式1:单向选通传送:单向选通传送主要用于主要用于CPU与外设以中与外设以中断或查询方式断或查询方式方式方式2:双向选通传送:双向选通传送适用于中断或查询方式双适用于中断或查询方式双向传输CPU三总线三总线端口端口A A方式方式1 1作输入作输入PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中断允许触发器用于控制中断允许或中断屏蔽(接外设)(接外设)(接CPU)(接外设)PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB端口端口B B方式方式1 1作输入作输入(接CPU)(接外设)(接外设)(接外设)用于控制中断允许或中断屏蔽中断允许触发器③③⑤⑤①①数据选通信号表示外设已经准备好数据①①数据选通信号表示外设已经准备好数据①①②②数据输入②②输入缓冲器满表示B口已经接收数据③③输入缓冲器满表示A口已经接收数据③③④④中断请求信号请求CPU接收数据⑤⑤数据输入②②④④中断请求信号请求CPU接收数据⑤⑤端口端口A A方式方式1 1作输出:作输出:PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中断允许触发器(接外设)(来自外设)(接CPU)端口端口B B方式方式1 1作输出:作输出:PC2PC1PC0PA7~PA0INTEAOBFBINTRBACKB中断允许触发器(接外设)(来自外设)(接CPU)(接外设)(接外设)①①中断请求信号请求CPU再次输出数据①①输出缓冲器满信号通知外设来取数据②②输出缓冲器满信号通知外设来取数据②②②②③③③③③③外设响应信号表示外设已经接收到数据④④外设响应信号表示外设已经接收到数据④④④④中断请求信号请求CPU再次输出数据①①⑤⑤⑤⑤PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2方式方式2(双向选通方式)(双向选通方式)只能用于只能用于A口口当当A口工作在方式口工作在方式2下,下,B口工作在方式口工作在方式1下,则此下,则此时时C口每一端都成了控制口每一端都成了控制信号端。
信号端PC7PC6PC5PC4PC3PC2PC1PC0OBFAACKAIBFASTBAINTRAACKBINTRBOBFBSTBBIBFB 1 D6 D5 D4 D 3 D2 D1 D0A组控制组控制B组控制组控制特特征征位位00方式方式001方式方式11×方式方式21输入输入0输出输出A口口CH口口1输入输入0输出输出1输入输入0输出输出1输入输入0输出输出0方式方式01方式方式1CL口口B口口方式选择方式选择控制字控制字8255控制字控制字C口置位口置位/复复位控制字位控制字 0 D6 D5 D4 D3 D2 D1 D0不用不用1置位置位0复位复位C口指定位口指定位000::C0001::C1 ~111::C7特特征征位位题:端口题:端口A :方式:方式1输入端口输入端口C上半部:输出,端口上半部:输出,端口C口下半部:输入,口下半部:输入,端口端口B :方式:方式0输出端口地址输出端口地址300~303H写出初始化程序写出初始化程序方式控制字:方式控制字:10110001B=B1H初始化的程序段:初始化的程序段:解:解:MOV DX,303H;假设控制端口为假设控制端口为303HMOV AL,0B1H;方式控制字方式控制字OUT DX,AL;送到控制端口送到控制端口题:写出对输出端口题:写出对输出端口B的的PB7位置位的程序段,端口地址位置位的程序段,端口地址300~303H。
MOV DX,301H;端口;端口B假设为假设为301HIN AL,DX;读出端口;读出端口B原输出内容原输出内容OR AL,80H;使;使PB7==1,不改变其它位,不改变其它位OUT DX,AL;输出新的内容;输出新的内容解:解:PC5题:设一片题:设一片题:设一片题:设一片8255A8255A的口地址为的口地址为的口地址为的口地址为60H~63H60H~63H,,,,PC5PC5平时为低电平,要求从平时为低电平,要求从平时为低电平,要求从平时为低电平,要求从PC5PC5的引脚输出一个正脉冲的引脚输出一个正脉冲的引脚输出一个正脉冲的引脚输出一个正脉冲MOV AL,,00001011BOUT 63H,,AL ;置;置PC5为高电平为高电平MOV AL,,00001010BOUT 63H,,AL ;置;置PC5为低电平为低电平解:解:题:题:题:题:一片一片一片一片82558255芯片,其各个端口的地址分别为芯片,其各个端口的地址分别为芯片,其各个端口的地址分别为芯片,其各个端口的地址分别为0 0F8H~0FBHF8H~0FBH,,,,现要求:现要求:现要求:现要求:端口端口端口端口A A方式方式方式方式0 0 输入输入输入输入;;;;端口端口端口端口B B方式方式方式方式1 1输出输出输出输出;;;;PC7 ~PC4PC7 ~PC4输出输出输出输出;;;;PC3 PC3 输入输入输入输入。
初始化编程初始化编程初始化编程初始化编程解:解:10011001根据根据8255工作模式可确定方式控制字工作模式可确定方式控制字95H初始化编程初始化编程::MOV AL,,95H OUT 0FBH,,AL没有超出没有超出256,不需要寄存器间接寻址不需要寄存器间接寻址 MOV DX,,103H MOV AL,, 90H ;方式控制字;方式控制字 OUT DX,, AL;写入控制字;写入控制字L1::MOV DX,,100H IN AL,,DX ;读入;读入A口开关状态口开关状态 MOV DX,,101H ;指向端口;指向端口B OUT DX,,AL;从;从B口控制口控制LED XOR AL,,0FFH;;AL← AL取反取反 MOV DX,,102H;; OUT DX,,AL;从端口;从端口C输出输出 JMP L1;循环;循环应用题:在某一系统中,有应用题:在某一系统中,有应用题:在某一系统中,有应用题:在某一系统中,有8 8个开关个开关个开关个开关K7K7~~~~K0K0,要求不断地检测它们的通断状态,,要求不断地检测它们的通断状态,,要求不断地检测它们的通断状态,,要求不断地检测它们的通断状态,并随时在发光二极管上显示。
通过并随时在发光二极管上显示通过并随时在发光二极管上显示通过并随时在发光二极管上显示通过8255A8255A的端口的端口的端口的端口A A读入开关状态信息,使端口读入开关状态信息,使端口读入开关状态信息,使端口读入开关状态信息,使端口B B、、、、端口端口端口端口C C连接的发光二极管的状态与端口连接的发光二极管的状态与端口连接的发光二极管的状态与端口连接的发光二极管的状态与端口A A开关状态相呼应,并重复执行端口地开关状态相呼应,并重复执行端口地开关状态相呼应,并重复执行端口地开关状态相呼应,并重复执行端口地址分别为址分别为址分别为址分别为100H~103H100H~103H,试设计出硬件电路图,并编写程序试设计出硬件电路图,并编写程序试设计出硬件电路图,并编写程序试设计出硬件电路图,并编写程序解:解:都用方式都用方式0基本输入输出,基本输入输出,A口输入,口输入,B口口C口输出,所以:口输出,所以:方式控制字:方式控制字:10010000B=90H如图开关闭(接通)时如图开关闭(接通)时PAi=0,,让此时对应的让此时对应的PBi=0,,LED亮,亮,C口相反编程:编程:图:图:D0~D7A7A6A5A4A3A0D0~D7CPU8255A&G1CBARDRDWRWRRESETRESETIOM/AG2BG24YCSA2A1A1A0PB7PB6PB0PA7PA6PA0…+5VK7K6K0…LED7LED6LED074LS138应用题:如图,要求当输入不是全应用题:如图,要求当输入不是全0时,输出与输入保持一致;当输入全时,输出与输入保持一致;当输入全0时,时,A口输出发光二极管闪烁告警信号。
口输出发光二极管闪烁告警信号A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 0 × × 0则端口地址为:则端口地址为: F0H 、、F2H、、 F4H和和 F6H解:解:1 0 0 00×1 ×82H方式选择控制字方式选择控制字 MOV DX,,0F6H MOV AL,,82H OUT DX,,AL: MOV DX,,0F2H IN AL,,DX ADD AL,0 JZ DISP OUT 0F0H,AL JMP DISP:MOV AL, 0;;暗暗 OUT 0F0H,AL CALL DELAYMOV AL, 0FFH;;亮亮OUT 0F0H,ALCALL DELAYJMP DISP编程:编程: DELAY: MOV BL, 0FFH TT : MOV CX, 0FFFFH SS: LOOP SS DEC BL JNZ TT RET延迟子程序延迟子程序8255A8255APA7PA7PA0PA0~ ~驱驱动动器器+5V+5V++5V5VK0K0K1K1K2K2K3K3PC3PC3PC2PC2PC1PC1PC0PC0D7~D0D7~D0RD RD WR WR A1 A1 A2 A2 A A B B C C G2A G2A G2BG2B G1 G1 Y0 Y0 Y1 Y1 Y2 Y2 o o o o o oD7~D0 D7~D0 RD RD WR WR A0 A0 A1A1CSCSA0 A0 A3A3A4A4A7A780868086LS138LS138M/IOM/IO& &A5A5A6A6应用题:应用题:应用题:应用题:8255A8255A作为开关作为开关作为开关作为开关K0~K3K0~K3及七段及七段及七段及七段LEDLED显示器接口。
要求开关设置的二显示器接口要求开关设置的二显示器接口要求开关设置的二显示器接口要求开关设置的二进制信息,由进制信息,由进制信息,由进制信息,由PC0~PC3PC0~PC3输入,经程序转换为对应的七段输入,经程序转换为对应的七段输入,经程序转换为对应的七段输入,经程序转换为对应的七段LEDLED显示器的字形代显示器的字形代显示器的字形代显示器的字形代码后,由码后,由码后,由码后,由PAPA口输出显示口输出显示口输出显示口输出显示解:解:编程:编程:各端口地址为:各端口地址为:E8H~EEH由图可知:由图可知: A7 A6 A5 A4 A3 A2 A1 A01 1 1 0 1 0按题设置端口按题设置端口A A方式方式0 0输出输出, ,下下C C口输入口输入. .1 0 0 0××× 1方式控制字方式控制字81H81HLEDLED显示器的字形代码表存放在显示器的字形代码表存放在TABLETABLE单元开始的内存中单元开始的内存中MOV DX,,0EEH ;;设置设置8255A工作方式工作方式MOV AL,,81H OUT DX,,ALMOV DX,,0ECH ;;指向端口指向端口C,,读开关状态读开关状态IN AL,,DXAND AL,,0FHLEA BX,,TABLE ;;显示代码表首地址送显示代码表首地址送BXXLAT ;;查表,取出相应的字形码送查表,取出相应的字形码送ALMOV DX, 0E8H ;;指向端口指向端口AOUT DX, AL ;;输出字形码显示输出字形码显示HLT因8255A工工作作在在方方式式0,,端端口口A,,输输出出;;端端口口C高高4位位输输出出,,低低4位位输输入入。
则控制字为:则控制字为:10000001B=81HPC6置位:置位: 00001101B==0DHPC6复位:复位: 00001100B==0CH设设待待打打印印字字符符在在内内存存的的首首地地址址为为2000H,,编写打印机驱动程序如下:编写打印机驱动程序如下:MOV DX,,247HMOV AL,, 81HOUT DX,, ALMOV AL,, 0DH OUT DX,,AL ;使;使STB*==1MOV SI,,2000H MOV CX,,0FFH;打印字节数;打印字节数NEXT:: MOV DX,,46HIN AL,,DX ;查询;查询PC3==0??AND AL,,08HJNZ NEXT ;忙,则等待;忙,则等待MOV DX,,244H MOV AL,[,[SI]] OUT DX,,ALMOV DX,,247HMOV AL,,0CH ;;PC6为为0 OUT DX,,AL ; ;STB*为为0应用题:查询式打印机接口及编程当应用题:查询式打印机接口及编程当CPU准备输出打印的数据时,先查询打印准备输出打印的数据时,先查询打印机忙信号机忙信号(BUSY),当打印机不忙后,,当打印机不忙后,CPU对打印机接口输出对打印机接口输出8位二进制数,并使选位二进制数,并使选通信号(简称)为负脉冲时,将数据送入通信号(简称)为负脉冲时,将数据送入打印机中的数据端口。
打印机中的数据端口NOPNOPNOP ;适当延时;适当延时MOV AL,,0DHOUT DX,,AL;;STB*==1,,启动打印启动打印INC SI ;内存地址加;内存地址加1LOOP NEXT解:解:编程:编程:全双工全双工: : 两条独立的传输线两条独立的传输线, , 双方可同时接收与发送双方可同时接收与发送半双工半双工:一条传输线:一条传输线, 在某一时刻只能一个方向传输信息,线路切换后可在某一时刻只能一个方向传输信息,线路切换后可改变传输方向改变传输方向单工单工:通信一方为发送器,另一方为接收器:通信一方为发送器,另一方为接收器,一条传输线相连一条传输线相连, 单向传输单向传输A发送器发送器接收器接收器B发送器发送器接收器接收器全双工全双工A发送器发送器接收器接收器B发送器发送器接收器接收器半双半双工工发送器发送器A接收器接收器B单工单工调制解调器调制解调器(MODEM) ----把数字信号的把数字信号的1和和0调制成两种不同频率的正弦波调制成两种不同频率的正弦波串行通信的方式串行通信的方式数据块数据块包头包头包尾包尾数据帧数据帧同步字符同步字符同步字符同步字符数据数据01011117位位数据数据I/O I/O I/O 0/1I/O I/O I/O I/O低低位位高高位位起起始始位位停停止止位位奇偶奇偶校验校验第第n个字符个字符空闲位空闲位第第(n+1)个字符个字符下降沿指出下一下降沿指出下一个字符的开始个字符的开始同步与异步通信方式同步与异步通信方式同步方式:同步方式:通信双方用通信双方用统一的时钟控制通信统一的时钟控制通信过程过程, 信息传输组成数据包信息传输组成数据包(数据数据帧帧)。
每帧头尾是控制代码每帧头尾是控制代码,中间是数据块,有若干个字符中间是数据块,有若干个字符异步方式异步方式: 通信双方通信双方无统一时钟同步无统一时钟同步,传送的信息以一个字符数据为单位传送的信息以一个字符数据为单位起始位起始位 1位;数据位位;数据位 5、、6、、7、、8位位 (采用(采用ASCII码:码:7位采用EBCDIC码:码:8位位 )奇偶校验位)奇偶校验位1位,停止位位,停止位 1、、1.5、、2位包头包头CRC 包尾包尾波特率和比特率波特率和比特率011000101110001000 01 10 1 0 00 11 01 10 00 0 0 0 0 11 10 11 00 10比特率比特率比特率比特率————每秒接收或发送的二进制位数称为(每秒接收或发送的二进制位数称为(每秒接收或发送的二进制位数称为(每秒接收或发送的二进制位数称为(bpsbps)波特率(波特率(波特率(波特率(Baud Rate))————每秒采样接收或发送的信号数每秒采样接收或发送的信号数每秒采样接收或发送的信号数每秒采样接收或发送的信号数((((BpsBps)))) 两者之间的差别在于每次采样的量化值两者之间的差别在于每次采样的量化值两者之间的差别在于每次采样的量化值两者之间的差别在于每次采样的量化值波特率波特率波特率波特率= =比特率比特率比特率比特率/ /波特率因子波特率因子(采样一次位数采样一次位数采样一次位数采样一次位数) )1ms 2ms 1ms 2ms 1Kbps=1Kbps=1KBps1KBps2Kbps=1KBps2Kbps=1KBps波特因子波特因子=2UART硬件框图硬件框图奇偶错奇偶错奇偶错奇偶错溢出错溢出错溢出错溢出错帧格式错帧格式错帧格式错帧格式错RxDRxDRxCRxCTxDTxDTxCTxC控制控制控制控制电路电路电路电路RESETRESETWEWERDRDCSCSINTINTPEPEOEOEFEFEDB7 ~ DB0DB7 ~ DB0Transmit Buf EmptyTransmit Buf EmptyReceive Data ReadyReceive Data ReadyRDRRDRTBETBE接接接接收收收收 移移移移位位位位寄寄寄寄存存存存器器器器接接接接收收收收 数数数数据据据据缓缓缓缓冲冲冲冲器器器器发发发发送送送送 数数数数据据据据缓缓缓缓冲冲冲冲器器器器发发发发送送送送 移移移移位位位位寄寄寄寄存存存存器器器器UART((Universal Asynchronous Receiver/Transmitter)通用异步收发器)通用异步收发器Transmitter Transmitter DateDateTransmitter Transmitter ClockClockReceiver DateReceiver DateReceiver ClockReceiver Clock数数数数据据据据总总总总线线线线缓缓缓缓冲冲冲冲器器器器读读读读/ /写写写写控制逻辑控制逻辑控制逻辑控制逻辑调制调制调制调制/ /解调解调解调解调控制逻辑控制逻辑控制逻辑控制逻辑同步字符寄存器同步字符寄存器同步字符寄存器同步字符寄存器1 1同步字符寄存器同步字符寄存器同步字符寄存器同步字符寄存器2 2方式寄存器方式寄存器方式寄存器方式寄存器状态寄存器状态寄存器状态寄存器状态寄存器控制寄存器控制寄存器控制寄存器控制寄存器发送移位寄存器发送移位寄存器发送移位寄存器发送移位寄存器数据输出寄存器数据输出寄存器数据输出寄存器数据输出寄存器发送缓冲器发送缓冲器发送缓冲器发送缓冲器接收缓冲器接收缓冲器接收缓冲器接收缓冲器拉收移位寄存器拉收移位寄存器拉收移位寄存器拉收移位寄存器数据输入寄存器数据输入寄存器数据输入寄存器数据输入寄存器计数器计数器计数器计数器发送控制器发送控制器发送控制器发送控制器接收控制器接收控制器接收控制器接收控制器计数器计数器计数器计数器可编程串行接口芯片可编程串行接口芯片8251A8251A是一种通用同步异步收发器是一种通用同步异步收发器USART((Universal Synchronous-Asynchronous Receiver/Transmitter))Receiver DateReceiver DateTransmitter DateTransmitter DateTransmitter ReadyTransmitter ReadyReceiver ReadyReceiver ReadyTransmitter EmptyTransmitter EmptyTransmitter ClockTransmitter ClockReceiver ClockReceiver Clock同步检测同步检测同步检测同步检测清除发送清除发送清除发送清除发送请求发送请求发送请求发送请求发送数据终端准备好数据设备准备好控制字控制字/数据数据接收数据过程接收数据过程:异步通信:把输入的串型数据位变成并行数据,然后RxRDY输出高电平同步通信:把输入的串型数据位变成并行数据,检测是否同步字,则SYNDET输出高电平。
然后继续接收数据,接收到,则RxRDY输出高电平发送数发送数据过程据过程异步通信:把准备输出并行数据从异步通信:把准备输出并行数据从TxD引脚串型输出,自动加上起始位、引脚串型输出,自动加上起始位、奇偶位和停止位,然后奇偶位和停止位,然后TxRDY输出高电平输出高电平,请求请求CPU中断中断. 同步通信:输出数据前,自动插入同步通信:输出数据前,自动插入1-2个同步字符从个同步字符从TxD引脚串型输出引脚串型输出 发送时,必须发送时,必须TxE=1且且CTS引脚为引脚为0D7D6D5D4D3D2D1D0S2S1EPPENL2L1B2B1同步同步x0::内同步内同步x1::外同步外同步0x::双同步字双同步字1x::单同步字单同步字 异步异步(帧控制帧控制)停止位停止位00:不确定:不确定01::1个个10::1.5个个11::2个个 字符长度字符长度00::5位位01::6位位10::7位位11::8位位 波特率因子波特率因子00:同步方式:同步方式01:异步:异步x110::异步异步x1611::异步异步x64 1偶校验偶校验0奇校验奇校验0无校验无校验1有校验有校验方式控制字方式控制字方式控制字方式控制字0----偶地址:偶地址:----数据输入数据输入/输出输出1----奇地址奇地址:读状态;:读状态;先方式,后命令先方式,后命令:写:写方式和命令;方式和命令;控制与状态端口控制与状态端口控制与状态端口控制与状态端口数据端口数据端口数据端口数据端口8251A8251A操作地址操作地址操作地址操作地址D7D6D5D4D3D2D1D0EHIRRTSERSBRKRxEDTRTxEN内部复位内部复位0:正常工作:正常工作1::8251A复位复位 请求发送请求发送0:正常工作:正常工作1:置:置RTS引引脚低电平脚低电平 错误标志错误标志0:正常工作:正常工作1::PE/OE/FE复位复位 送中止字符送中止字符0:正常工作:正常工作1:置:置TxD引引脚低电平脚低电平 允许发送允许发送0:禁止发送:禁止发送1:允许发送:允许发送 数据终端准备好数据终端准备好0:正常工作:正常工作1:置:置DTR引引脚低电平脚低电平 允许接收允许接收0:禁止接收:禁止接收1:允许接收:允许接收 外部搜索外部搜索0:不搜索:不搜索SYN1::搜索搜索SYN异步时无意义异步时无意义命令控制字命令控制字命令控制字命令控制字D7D6D5D4D3D2D1D0DSRSYNDETPEOEFETxERxRDYTxRDY数据装置准备好数据装置准备好 帧格式错帧格式错 发送缓冲区空发送缓冲区空 与引脚定义相同与引脚定义相同 溢出错溢出错 奇偶错奇偶错 状态控制字状态控制字状态控制字状态控制字同步方式同步方式复位操作复位操作 输出方式字输出方式字异步方异步方式式 ?? 输出命令字输出命令字输出第一个同步字符输出第一个同步字符双同步双同步 ??输出第二个同步字符输出第二个同步字符否否是是否否是是40H写入奇地址写入奇地址方式字写入方式字写入奇地址奇地址(同步方式和异步方(同步方式和异步方式初始化程序段)式初始化程序段)8251A初始化编程初始化编程命令字写入命令字写入奇地址奇地址 MOV DX,,3F9H ;状态口 ;状态口NEXT::IN AL,,DX ;读状态口;读状态口 AND AL,,02H ;查询;查询D1=1?? JZ NEXT ;未准备好,转;未准备好,转NEXT MOV DX,,3F8H ;数据口地址送;数据口地址送DX IN AL,,DX 题:设题:设题:设题:设8251A8251A工作于异步方式,波特率系数为工作于异步方式,波特率系数为工作于异步方式,波特率系数为工作于异步方式,波特率系数为1616,具有,具有,具有,具有7 7位数据位,位数据位,位数据位,位数据位,1 1 位停位停位停位停止位,偶校验,发送、接收允许,设端口地址为止位,偶校验,发送、接收允许,设端口地址为止位,偶校验,发送、接收允许,设端口地址为止位,偶校验,发送、接收允许,设端口地址为3F8H3F8H和和和和3F9H3F9H,试编程初,试编程初,试编程初,试编程初始化。
始化MOV DX,,3F9H MOV AL,,7AH ;送方式命令字 ;送方式命令字OUT DX,,ALMOV AL,,37H ;设操作命令字;设操作命令字OUT DX,,AL题:查询题:查询题:查询题:查询8251A8251A接收器准备好后传输数据接收器准备好后传输数据接收器准备好后传输数据接收器准备好后传输数据 端口地址:端口地址:端口地址:端口地址:3F8H 3F8H 和和和和3F9H3F9H解:解:编程:编程:奇地址奇地址3F9H根据题目要求,可以确定根据题目要求,可以确定方式命令字为:方式命令字为:解:解:编程:编程:操作命令字为操作命令字为00110111B=37H01111010B=7AH状态端口:状态端口:数据端口:数据端口:偶地址偶地址3F8H利用两片利用两片8251A8251A通过标准串行接口通过标准串行接口RS-232CRS-232C实实现两台现两台80868086微机之间的异步串行通信微机之间的异步串行通信双机串行通信双机串行通信模拟量模拟量I/OI/O通道的组成:通道的组成:模拟接口电路的任务模拟接口电路的任务模拟电路的任务模拟电路的任务0010110110101100工工业业生生产产过过程程微微型型计计算算机机物理量物理量变换变换信号信号处理处理信号信号变换变换I/O接口接口输出通道输出通道输入通道输入通道传传感感器器放大放大滤波滤波多路转换多路转换&采样保持采样保持A/D转换转换输入输入接口接口输出输出接口接口D/A转换转换放大放大驱动驱动执行执行机器机器量化量化D/A变换器的基本构成权电阻网络权电阻网络R-2R梯形电阻网络梯形电阻网络VrefRf 模拟开关模拟开关电阻网络电阻网络VO数字量数字量∑∑模拟开关模拟开关电阻网络电阻网络运算放大器运算放大器×虚断虚断虚短虚短D/A变换原理变换原理VinRf VO∑R VinRf ∑∑R1Rn…VO令每个支路的令每个支路的Ri=2iRf , 并令并令Vin为一基准电压为一基准电压Vref,则有,则有每个支路接上开关每个支路接上开关Si,,Si=1表示合上,表示合上,Si=0表示断开,则:表示断开,则:即:即:二进制数二进制数权电阻网络权电阻网络VrefRf =RS1S2S3S4S5S6S7S82R22R23R24R25R26R27R28R梯形电阻网络梯形电阻网络V0模拟量模拟量数字量数字量Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF数字量数字量模拟量模拟量双向双向CMOS模拟开关模拟开关D/AD/A转换器的主要技术指标转换器的主要技术指标分辨率分辨率——转换精度转换精度—— 转换时间(速率)转换时间(速率) ——线性误差线性误差——动态范围动态范围——指数字量输入到完成指数字量输入到完成D//A转换,输出达到最终转换,输出达到最终值并稳定为止所需的时间。
值并稳定为止所需的时间指指D//A转换器实际输出电压与理论值之间的误差转换器实际输出电压与理论值之间的误差一般采用数字量的最低有效位作为衡量单位,如一般采用数字量的最低有效位作为衡量单位,如+1/2LSB模拟输出偏离理想输出的最大值称为线性误差模拟输出偏离理想输出的最大值称为线性误差指输出值指输出值V0最小和最大范围最小和最大范围取决与参考电压取决与参考电压Vref的高低参考电压高,动态范围就大参考电压高,动态范围就大标称满量程(标称满量程(NFS))—— 指相应于数字量标称值指相应于数字量标称值2n的模拟输出量的模拟输出量实际数字量最大为实际数字量最大为2n-1输出模拟量的相对最小变化量:输出模拟量的相对最小变化量:1/2n常用常用D//A能够转换的二进制数的位数表示能够转换的二进制数的位数表示LSB= Vref //2n输出模拟量的最小值:输出模拟量的最小值:DAC 0832DAC 0832允许锁存信号允许锁存信号传送控制信号传送控制信号 模拟电流输出端模拟电流输出端反馈电阻引出反馈电阻引出参考电压参考电压两级缓冲两级缓冲寄存器都寄存器都是直通锁是直通锁存器存器电源电源这是一种最常用的数模轮换器这是一种最常用的数模轮换器(8位位D/A转换器转换器) LE==1,直通(输出等于输,直通(输出等于输入)入)LE==0,锁存(输出保持不,锁存(输出保持不变)变) VREF RFB IOUT1 IOUT2 AGNDDAC0832 DA PC总线总线 R1 R VOUT1 VOUT2 A2 A1 - + - + 2R 2R R3 R2 单极性与双极性输出单极性与双极性输出单单极极性性电电路路双极性输出双极性输出单极性输出单极性输出DAC0832的工作方式:的工作方式:DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout1输入的数字数输入的数字数据直接进入据直接进入D/A转换器转换器1.直通方式直通方式LE1 =1LE2 =1DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout1LE2=0LE1=1LE2=1LE1=02.单缓冲方式单缓冲方式两个寄存器两个寄存器之一始终处之一始终处于直通状态于直通状态DAC0832输入输入寄寄存存器器DI0~~DI7D/A转转换换器器DAC寄寄存存器器Iout1LE2=0LE1=02.双缓冲方式双缓冲方式两个寄存器两个寄存器始终处于缓始终处于缓冲状态冲状态DAC0832DAC0832三种工作方式电路三种工作方式电路 (a)单级缓冲方式单级缓冲方式(b) 双级缓冲方式双级缓冲方式(c) 直接驱动方式直接驱动方式 MOV DX,,300HR0::MOV CX,,0FFH MOV AL,,00HR1::OUT DX,,AL INC AL LOOP R1 MOV CX,,0FFHR2::DEC AL OUT DX,,AL LOOP R2 JMP R0 应用题应用题应用题应用题 :利用:利用:利用:利用DAC 0832 DAC 0832 设计一个三角波信号发生器,设计一个三角波信号发生器,设计一个三角波信号发生器,设计一个三角波信号发生器,试画出接口电路,写出控制程序。
端口地址:试画出接口电路,写出控制程序端口地址:试画出接口电路,写出控制程序端口地址:试画出接口电路,写出控制程序端口地址:300H300H编程:编程:接口电路接口电路接口电路接口电路::-5+5tA/DA/D接口接口 模拟信号转换成数字信号,要求的基本部件有:模拟多路转换模拟信号转换成数字信号,要求的基本部件有:模拟多路转换器与信号调节;采样器与信号调节;采样/保持放大器;保持放大器;A/D转换器;通道控制电路转换器;通道控制电路采样速度由模拟信号带宽、数据通道数和每个周期的采样数决定采样速度由模拟信号带宽、数据通道数和每个周期的采样数决定 奈奎斯特(奈奎斯特(Nyquist)采样定理:)采样定理: 实际使用上,为了保证数据采集精度,在前向通道中采取:实际使用上,为了保证数据采集精度,在前向通道中采取: ((1)增加每个周期的采样数,在最高频率端每个周期采样)增加每个周期的采样数,在最高频率端每个周期采样7~~10次;次; ((2)在)在A/D转换前设置低通滤波,消除信号中无用的高频分量转换前设置低通滤波,消除信号中无用的高频分量 在理想的数据采集系统中,为了使采样输出信号能无失真地复现在理想的数据采集系统中,为了使采样输出信号能无失真地复现在理想的数据采集系统中,为了使采样输出信号能无失真地复现在理想的数据采集系统中,为了使采样输出信号能无失真地复现原输入信号,必须使采样频率至少为输入信号最高有效频率的两倍,原输入信号,必须使采样频率至少为输入信号最高有效频率的两倍,原输入信号,必须使采样频率至少为输入信号最高有效频率的两倍,原输入信号,必须使采样频率至少为输入信号最高有效频率的两倍,否则会出现频率混迭误差。
否则会出现频率混迭误差否则会出现频率混迭误差否则会出现频率混迭误差A/D转换器转换器控制逻辑电子开关计数器VX积分器VREF标准时钟比较器数据输出T1正比与输入电压固定积分时间T0BAVB0VAT2固定斜率(反向积分)积分输出t模模/数转换器:能够将模拟量转换成数字量的器件数转换器:能够将模拟量转换成数字量的器件按转换的位数分类:按转换的位数分类:8、、10、、12、、16位等按工作原理分类最常用的两种:双积分式,逐位逼近式按工作原理分类最常用的两种:双积分式,逐位逼近式双积分式双积分式A/D转换器原理转换器原理优点:消除干扰和电源噪声;精度高优点:消除干扰和电源噪声;精度高缺点:速度慢缺点:速度慢,一般要大于一般要大于40~~50ms应用:主要用于数字式测量仪表中应用:主要用于数字式测量仪表中逐位逼近式逐位逼近式A/D转换器原理转换器原理特点:较高的特点:较高的速度和精度速度和精度应用:实时测应用:实时测控系统中控系统中控制逻辑N位寄存器D/A转换器输出缓冲器VfVxDn-1..D0比较器输出允许转换结束启动时钟SAR逐次逼近式逐次逼近式A/DA/D转换转换 将输入模拟量将输入模拟量V Vx x与反馈电压与反馈电压V Vf f做做n n次比较,使量化次比较,使量化的数字量逐次逼近输入模拟量。
的数字量逐次逼近输入模拟量 启动脉冲到来后,移位寄存器的最高位置启动脉冲到来后,移位寄存器的最高位置1 1,其,其它各位置它各位置0 0,即,即1000 ┄001000 ┄00,这时,这时D/AD/A转换器的输出转换器的输出V Vf f是是最高位对应的电压值,输入信号最高位对应的电压值,输入信号V Vx x首先与最高位首先与最高位((MSBMSB)置)置1 1时所代表的电压量时所代表的电压量VMSB=1/2VRVMSB=1/2VR相比较,判相比较,判断取舍,若断取舍,若Vi≧1/2VR Vi≧1/2VR ,最高位输出是,最高位输出是1 1,否则为,否则为0 0;;如最高位是如最高位是1 1,则继续与,则继续与3/4VR3/4VR相比较,判断第二位是相比较,判断第二位是1 1还是还是0 0;如最高位是;如最高位是0 0,则,则ViVi继续与继续与1/4VR1/4VR相比较,判相比较,判断取舍,依次类推,即可得出各位的数字量以断取舍,依次类推,即可得出各位的数字量以3 3位位为例,给出示意图为例,给出示意图AD574AAD574AAD574AAD574A是分辨率为是分辨率为1212位的位的A A//D D转换器芯片,下图为其原理结构框图转换器芯片,下图为其原理结构框图. . 20VINMSBAGND 逐位 逼近寄存器 (SAR)8711115VDD272625242322212019181716 三态 输出 锁存缓冲器D7D6D5D4D3D2D1D0D11D10D9D82345620控制逻辑CS12/8A0R/CSTSEC D/A转换器 AD565A 10V基准电源10VINREFINREFOUTBIPOFVEEVCCDGND101213149LSB时钟电路比较器+-10K5K5K模拟电压模拟电压信号输入信号输入线线模拟电路电源模拟电路电源数字电路电源数字电路电源数字电路公共接地线数字电路公共接地线内部基准电源输出线内部基准电源输出线转换基准电压输入线转换基准电压输入线读、起动转换控制信号读、起动转换控制信号字节选择字节选择转换结束转换结束模拟电路公共接地线模拟电路公共接地线补偿调整补偿调整最大值最大值最小值最小值使能使能选择转换位选择转换位ADC 0809ADC 0809模拟输入模拟输入STARTEOCOE数字输出数字输出通道地址通道地址ALE工工工工作作作作时时时时序序序序通道地址锁存通道地址锁存启动转换启动转换转换结束状态输出转换结束状态输出输出允许输出允许(打开输出三态门)(打开输出三态门)时钟输入(时钟输入(10KHz~~1.2MHz))通道地址通道地址8通道(路)通道(路)模拟输入模拟输入转换时间转换时间地址锁存地址锁存转换启动转换启动8位数字信号位数字信号输出输出转换时间转换时间100μs通道地址线通道地址线ADDA-ADDCADDA-ADDC的连接的连接1.简单接口芯片简单接口芯片74LS273,,74LS373等(占用一个等(占用一个I/O地址)地址)2.可编程并行接口可编程并行接口8255(占用四个(占用四个I/O地址)地址)ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输输入入DB74LS273Q2Q1Q0CP来自来自I/O译码译码D0-D7ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809DB8255PB2PB1PB0CS#来自来自I/O译码译码D0-D7A1A0A1A0多路输入时,地址线不能接死,要通过一个接口芯片与数据总线连多路输入时,地址线不能接死,要通过一个接口芯片与数据总线连接。
接口芯片可以选用:接接口芯片可以选用:基本程序片段基本程序片段判断转换结束读入程序判断转换结束读入程序判断转换结束读入程序判断转换结束读入程序 转化延时等待读入程序转化延时等待读入程序转化延时等待读入程序转化延时等待读入程序IN AL, DX ;读入结果读入结果MOV DX, start_portOUT DX, AL ;启动转换启动转换CALL DELAY_1MS ;延时延时1msMOV DX, oe_portMOV DX, start_portOUT DX, AL ;启动转换启动转换LL: MOV DX, eoc_port IN AL, DXAND AL, 01H ;测试测试EOC状态状态JZ LLMOV DX, oe_port IN AL, DX ;EOC=1从从oe_port端口读入结果端口读入结果未用未用 MOV AL,,07H ;通道号通道号07→ALOUT 84H,,AL ;AL →84H :*Y1,07,START,ALECALL DELAY100 ;延时延时100µs等待转换结束等待转换结束IN AL,,84H ;读入转换数据读入转换数据:OEHLT题:编写如图题:编写如图ADC0809ADC0809与与CPUCPU直接连接,从通道直接连接,从通道7 7读入转换数据的程序。
读入转换数据的程序编程:编程:解:解:Y1即是启动端口地即是启动端口地址,也是读入转换址,也是读入转换数据端口地址,设数据端口地址,设端口地址为端口地址为84H应用题:如图,编写从应用题:如图,编写从0通道输入模拟量通道输入模拟量, 经经ADC0809转换后转换后,送入送入CPU的程序编程:编程:解:解: MOV AL,,88H ; 8255:方式方式0,PB输出输出,PC高高4位输入位输入 OUT 83H,,AL;;方式控制字送入方式控制字送入8255控制口控制口 MOV AL,,00H ; PB0、、PB1、、…=0 OUT 81H,,AL ; PB0、、PB1、、…=0 ADD AL,,10H OUT 81H,,AL ; PB4=1启动转换信号上沿启动转换信号上沿 SUB AL,,10H OUT 81H,,AL ; PB4=0启动转换信号下沿启动转换信号下沿LOP:: IN AL,,82H ;读入读入PC7:转换结束信号转换结束信号1 TEST AL,,80H ; AL∧∧80H: EOC=PC7=1? JZ LOP ; EOC=PC7=0,循环等待循环等待 IN AL,,84H ; PC7=1,读入读入ADC0809数字量数字量 HLT8255端口地址:端口地址:80H~83HA口口80HB口口81HC口口82H控制口控制口83HOE端口地址:端口地址:84H~87H,取,取84HY0::A7A6A5A4A3A2A1A0 1 0 0 0 0 0 ××Y1::A7A6A5A4A3A2A1A0 1 0 0 0 0 1 ××应用题:应用题:PC/XT机控制机控制ADC 0809构成一个压力参数采集系统,要求以查询方构成一个压力参数采集系统,要求以查询方式采集式采集400个压力值,存入个压力值,存入ADCBUF开始的存储单元,试设计硬件接口电路,开始的存储单元,试设计硬件接口电路,并编写程序。
并编写程序DATA SEGMENTADCBUF DB 8 DUP(?) ;采样数据缓冲区;采样数据缓冲区DATA ENDSADCC EQU 84H ;;A/D控制口地址控制口地址ADCS EQU 88H ;;A/D状态口地址状态口地址CODE SEGMENT ASSUME CS:CODE,DS:DATAX3: MOV AL, 0 OUT ADCC, AL ;启动通道;启动通道0X1: IN AL, ADCS ;读取状态口;读取状态口 TEST AL, 80H ;析取;析取EOC JNZ X1 ;;EOC=1,未开始转换,未开始转换,等待等待X2: IN AL, ADCS TEST AL, 80H JZ X2 ;;EOC≠1,未转换完,未转换完,等待等待 IN AL, ADCC ;读数据;读数据 MOV [BX], AL INC BX LOOP X3 MOV AX, 4C00H ;; INT 21H ;; 程序结束返回程序结束返回DOS CODE ENDSEND STARTSTART: MOV AX, DATA MOV DS, AX MOV BX, OFFSET ADCBUF ;; MOV CX, 400 ;设置采样次数;设置采样次数编程:编程:。












