汇编语言硬件03
- 格式:doc
- 大小:563.50 KB
- 文档页数:20
了解编程语言的种类和用途编程语言是一种用于编写计算机程序的语言系统。
在计算机科学和软件开发领域中,有许多不同类型的编程语言,每种编程语言都有其独特的特点和用途。
本文将介绍一些常见的编程语言种类及其主要用途。
一、低级语言低级语言是与计算机硬件直接相关的语言,它使用机器指令来编写程序。
低级语言主要分为汇编语言(Assembly Language)和机器语言(Machine Language)两种。
1. 汇编语言汇编语言是一种使用助记符(Mnemonic)来表示机器指令的低级语言。
它直接操作计算机硬件,具有更高的执行效率和灵活性。
汇编语言常用于嵌入式系统、驱动程序和操作系统的开发。
2. 机器语言机器语言是二进制代码的形式,直接与计算机硬件交互。
它的主要优点是执行速度快,但可读性差且编写复杂。
机器语言常用于底层硬件驱动程序和嵌入式系统开发。
二、高级语言高级语言是相对于低级语言而言的,它具有更高的抽象程度和易读性,可以快速开发应用程序。
下面介绍几种常用的高级编程语言。
C语言是一种通用的、面向过程的编程语言。
它简洁、高效,可以在不同硬件平台上运行。
C语言广泛应用于系统软件、嵌入式系统和科学计算等领域。
2. C++C++是在C语言基础上发展起来的一种编程语言。
它支持面向对象编程,具有强大的功能和灵活的语法。
C++被广泛应用于游戏开发、图形界面设计和高性能计算等领域。
3. JavaJava是一种跨平台的高级编程语言。
它具有面向对象的特性和平台无关性,可以在不同操作系统上运行。
Java常用于Web开发、移动应用开发和企业级应用程序开发。
4. PythonPython是一种简单易学的高级编程语言,具有清晰简洁的语法和丰富的开发库。
Python适用于数据分析、人工智能、网络爬虫等应用场景。
5. JavaScriptJavaScript是一种用于网页前端开发的脚本语言。
它可以与HTML 和CSS结合使用,实现网页的动态交互效果。
汇编语言的名词解释1. 什么是汇编语言?汇编语言(Assembly Language)是一种低级计算机语言,用于直接控制计算机硬件操作的编程语言。
它是由一系列符号化的指令组成,每条指令对应着一条特定的机器码(二进制代码)。
汇编语言与计算机体系结构紧密相关,不同的计算机体系结构使用不同的汇编语言。
与高级语言相比,汇编语言更接近底层硬件,并且更加直观。
通过使用特定的助记符和操作码,程序员可以直接操作寄存器、内存和其他硬件资源。
尽管汇编语言通常比高级语言更难以理解和编写,但它可以提供更高的性能和对底层硬件的更好控制。
2. 汇编指令集2.1 指令在汇编语言中,指令是最基本的操作单位。
每条指令执行一个特定的操作,并且可能包含一个或多个操作数。
2.2 寄存器寄存器是位于CPU内部的小型存储单元,用于临时存储数据和执行算术逻辑运算。
不同架构的计算机具有不同数量和类型的寄存器。
例如,x86架构的计算机有通用寄存器、段寄存器、标志寄存器等。
2.3 内存内存是计算机中用于存储程序和数据的地方。
在汇编语言中,内存可以通过地址来访问。
地址可以是直接指定的常数,也可以是通过寄存器间接指定的。
2.4 操作数操作数是指令所操作的数据。
它可以是立即数(常数)、寄存器、内存位置或者两个操作数之间的运算结果。
2.5 标志位标志位是一组二进制标志,用于表示某些特殊状态或条件。
例如,零标志位(ZF)用于表示上一条指令执行结果是否为零。
3. 汇编语言与机器码汇编语言与机器码之间存在一对一的映射关系。
每条汇编指令都对应着一个特定的机器码,它由一串二进制数字表示,并被计算机硬件直接执行。
汇编语言使用助记符(Mnemonic)来代替复杂而难以记忆的二进制代码。
例如,MOV指令用于将数据从一个位置复制到另一个位置,在x86架构中对应着机器码89。
编写汇编语言程序时,程序员需要将高级语言代码转换为汇编指令。
这可以通过手动编写汇编指令来完成,也可以通过汇编器(Assembler)自动将高级语言代码转换为汇编指令。
汇编语言的运行方式汇编语言是一种低级别的程序设计语言,与机器语言非常接近。
它直接与计算机硬件进行交互,可以实现对硬件的精细控制。
本文将详细探讨汇编语言的运行方式,包括指令集、编译过程和执行过程等。
一、指令集汇编语言的指令集是一组由机器码表示的基本操作,用于完成各种计算机操作。
指令集由操作码和操作数组成,操作码表示操作的类型,操作数则提供了操作所需的数据。
汇编语言的指令集通常为特定的计算机体系结构而定义,不同的处理器具有不同的指令集。
常见的指令包括数据传输指令、算术运算指令、逻辑运算指令和控制指令等。
二、编译过程将汇编语言程序翻译成机器语言的过程称为编译。
编译过程分为两个阶段:汇编和链接。
(1)汇编:汇编是将汇编代码转化为机器码的过程。
编写好的汇编程序被称为源代码,通过汇编器将源代码翻译成机器语言的指令。
(2)链接:链接是将多个汇编程序文件组合成一个可执行程序的过程。
链接器将不同文件中的代码、数据和库函数合并,解决符号引用、地址重定位等问题。
三、执行过程汇编语言程序的执行过程与机器语言非常相似,分为取指、解码、执行和写回四个阶段。
(1)取指:处理器从内存中读取下一条指令,并将其存储在指令寄存器中。
(2)解码:处理器解析指令,确定指令的类型和操作数。
(3)执行:处理器执行指令,进行数据传输、算术运算、逻辑运算或控制操作。
(4)写回:将执行结果写回内存或寄存器,更新程序状态。
汇编语言程序通过不断重复上述四个阶段,按照指令序列依次执行,完成各种计算和操作。
四、应用领域汇编语言虽然复杂而繁琐,但在一些特定的应用领域仍然发挥着重要作用。
(1)嵌入式系统开发:汇编语言可以直接操作硬件,实现对嵌入式系统的高效控制。
(2)低级优化:在对性能要求极高的软件中,使用汇编语言可以进行底层的优化,提高程序的执行效率。
(3)逆向工程:汇编语言是逆向工程的基础,通过分析汇编代码可以理解和修改程序的行为。
总结:汇编语言是一种与计算机硬件直接交互的低级别程序设计语言。
机器语言、汇编语言、高级语言的特点随着计算机技术的发展,不同层次的编程语言应运而生。
在一定程度上,它们代表了人们对于编程语言的不同需求和对计算机在不同领域的应用的不同期望。
从最底层的机器语言,到中层的汇编语言,再到高层的高级语言,每一种编程语言在特点和使用场景上都有着不同的优势和限制。
本文将分别介绍机器语言、汇编语言和高级语言的特点。
一、机器语言机器语言也被称为二进制代码或指令集,它是计算机指令的最低层次的表示形式。
机器语言使用二进制数码来表示指令的操作码和操作数,它们在计算机中被识别为电子开关(0或1)。
机器语言是计算机硬件可以直接识别并执行的语言,它是计算机的内部语言,以二进制编码的形式编写,需要极高的技术水平,通常只有硬件设计师和系统程序员才能编写。
机器语言的特点是最接近计算机底层,执行效率极高,能够直接访问计算机的硬件资源,也精细控制硬件的操作。
它能够保证计算机的稳定性和可靠性,也可以根据硬件调整程序的性能。
但是,由于机器语言难以理解和编写,程序员需要掌握一些高度抽象的知识,所以编写程序的效率非常低,因此难以开发复杂的应用程序。
此外,不同的计算机硬件使用的机器语言有所不同,在程序移植和开发的过程中也会遇到一些困难。
二、汇编语言汇编语言是机器语言的文本表示形式。
与机器语言相比,汇编语言对程序员更加友好,使用人类可以理解的符号来代替机器代码的混乱二进制串。
程序员可以使用一些助记符和符号来表示指令和操作数,如MOV(数据传送指令)、ADD(加法指令)等等。
每个助记符都被赋予了一个不同的二进制码,通过汇编器将汇编代码转换为机器码后,计算机硬件就可以识别并执行。
汇编语言的特点是比机器语言容易理解和编写,可以优化硬件的操作,有更多的汇编指令可以使用。
同时,汇编语言可以使用宏定义,支持二次开发,便于用户自定义开发程序。
然而,与机器语言相比,汇编语言的可移植性也相对较差,需要针对不同的硬件平台进行调试。
汇编语言与机器语言汇编语言和机器语言是计算机领域中重要的两种编程语言。
它们在计算机系统中起着关键的作用,对于理解计算机内部工作原理、进行底层编程和优化程序性能都至关重要。
本文将对汇编语言和机器语言进行介绍和比较,帮助读者更好地理解它们的特点和使用场景。
一、汇编语言1. 汇编语言的定义和作用汇编语言是一种低级别的编程语言,它使用助记符(Mnemonic)来代表计算机指令。
与高级语言相比,汇编语言更接近于机器语言,每条汇编指令都对应着一条机器指令。
汇编语言的主要作用是为程序员提供一种更直接地控制硬件的方式,实现对计算机底层资源的精确控制。
2. 汇编语言的特点和优势汇编语言具有以下特点和优势:(1)可读性强:相比于机器语言,汇编语言使用助记符,更加直观和易读,容易理解和修改。
(2)灵活性高:汇编语言可以直接访问底层硬件资源,提供了更精确的控制能力,能够实现高度优化和性能调优。
(3)资源利用率高:汇编语言可以直接使用底层硬件指令,不需要解释器或虚拟机的介入,能够充分发挥硬件性能。
3. 汇编语言的应用汇编语言在以下场景中得到广泛应用:(1)嵌入式系统开发:在嵌入式领域,对资源和性能要求较高,需要直接控制硬件的特点使得汇编语言成为首选。
(2)操作系统开发:操作系统需要直接管理硬件,对性能和资源管理要求较高,因此汇编语言在操作系统内核开发中得到广泛应用。
(3)驱动程序开发:驱动程序需要与硬件直接交互,对底层硬件的控制和性能优化要求较高,因此汇编语言是驱动程序的常用语言。
二、机器语言1. 机器语言的定义和特点机器语言是计算机系统可以直接执行的二进制代码。
它是计算机中最底层的语言,所有的计算机指令都以二进制形式表示。
机器语言通常由一系列的0和1组成,每一段二进制代码对应着一条机器指令。
2. 机器语言的优势和缺点机器语言具有以下优势和缺点:(1)执行效率高:机器语言是计算机可以直接执行的语言,不需要进行编译或解释过程,因此具有最高的执行效率。
第1章汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。
1.1微型计算机概述微型计算机由中央处理器(Central Processing Unit,CPU)、存储器、输入输出接口电路和总线构成。
CPU如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。
存储器包括随机存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)。
输入输出接口电路用来连接外部设备和微型计算机。
总线为CPU和其他部件之间提供数据、地址和控制信息的传输通道。
如图1.1所示为微型计算机的基本结构。
图1.1微型计算机基本结构特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。
数据总线用来在CPU与内存或其他部件之间进行数据传送。
它是双向的,数据总线的位宽决定了CPU和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。
在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。
汇编语言程序设计2地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU可以直接寻址的内存范围。
如CPU的地址总线的宽度为N,则CPU最多可以寻找2N个内存单元。
控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。
汇编语言的类型汇编语言是一种低级语言,它是由机器指令和汇编指令组成的。
汇编语言是一种直接操作计算机硬件的语言,它可以直接控制计算机的各种硬件资源,如CPU、内存、I/O等。
汇编语言的类型主要有以下几种:1. x86汇编语言x86汇编语言是一种基于Intel x86架构的汇编语言,它是目前最为流行的汇编语言之一。
x86汇编语言可以直接操作CPU的寄存器、内存和I/O端口等硬件资源,它可以实现高效的程序设计和优化。
x86汇编语言的语法比较复杂,需要掌握大量的指令和寄存器,但是它可以实现非常高效的程序设计和优化。
2. ARM汇编语言ARM汇编语言是一种基于ARM架构的汇编语言,它是嵌入式系统和移动设备上最为流行的汇编语言之一。
ARM汇编语言可以直接操作CPU的寄存器、内存和I/O端口等硬件资源,它可以实现高效的程序设计和优化。
ARM汇编语言的语法比较简单,但是需要掌握大量的指令和寄存器。
3. MIPS汇编语言MIPS汇编语言是一种基于MIPS架构的汇编语言,它是嵌入式系统和网络设备上常用的汇编语言之一。
MIPS汇编语言可以直接操作CPU的寄存器、内存和I/O端口等硬件资源,它可以实现高效的程序设计和优化。
MIPS汇编语言的语法比较简单,但是需要掌握大量的指令和寄存器。
4. AVR汇编语言AVR汇编语言是一种基于AVR架构的汇编语言,它是嵌入式系统和单片机上常用的汇编语言之一。
AVR汇编语言可以直接操作CPU 的寄存器、内存和I/O端口等硬件资源,它可以实现高效的程序设计和优化。
AVR汇编语言的语法比较简单,但是需要掌握大量的指令和寄存器。
5. PowerPC汇编语言PowerPC汇编语言是一种基于PowerPC架构的汇编语言,它是IBM和苹果电脑上常用的汇编语言之一。
PowerPC汇编语言可以直接操作CPU的寄存器、内存和I/O端口等硬件资源,它可以实现高效的程序设计和优化。
PowerPC汇编语言的语法比较复杂,需要掌握大量的指令和寄存器,但是它可以实现非常高效的程序设计和优化。
汇编语言的执行过程汇编语言是一种和机器语言最为接近的低级语言,它直接与计算机硬件进行交互。
在理解汇编语言的执行过程之前,我们先来了解一下汇编语言的基本概念和特点。
一、汇编语言的基本概念和特点汇编语言是一种使用助记符(Mnemonics)表示机器指令的语言。
它使用与机器指令相对应的助记符、寄存器、标号等来描述程序的执行流程。
汇编语言具有以下特点:1. 可读性强:汇编语言使用助记符而非二进制数字表示指令,更容易理解和记忆。
2. 直接操作硬件:汇编语言可以直接操作计算机硬件,实现对寄存器、内存等底层资源的操作。
3. 高效率:汇编语言编写的程序可以直接在计算机上执行,执行效率高。
二、汇编语言的执行过程汇编语言的执行过程可以分为四个主要步骤:汇编、链接、装载和执行。
1. 汇编(Assembly):汇编是将汇编语言源代码转换为机器语言的过程。
在汇编过程中,汇编器将每条汇编指令映射为对应的机器指令,并生成目标文件(Object File)。
2. 链接(Linking):链接是将目标文件与其他目标文件或库文件进行合并的过程。
在链接过程中,链接器将各个目标文件中的符号地址进行统一分配,并解决外部引用和重定位等问题,生成可执行文件(Executable File)。
3. 装载(Loading):装载是将可执行文件从磁盘加载到计算机内存中的过程。
在装载过程中,操作系统根据可执行文件的指令和数据段大小,在内存中为程序分配足够的空间,并将可执行文件中的指令和数据加载到相应的内存地址上。
4. 执行(Execution):执行是将加载到内存中的程序按照顺序逐条执行的过程。
在执行过程中,处理器根据程序计数器(Program Counter)指向的当前指令,解码并执行该指令。
执行过程中,处理器根据指令的类型和操作数对寄存器、内存等进行读写操作,实现程序的逻辑功能。
三、汇编语言的程序结构汇编语言的程序结构通常包括数据段(Data Segment)、代码段(Code Segment)和堆栈段(Stack Segment)等。
操作硬件的语言操作硬件的语言随着计算机技术的不断发展,计算机已经成为了人们生活中必不可少的一部分。
而计算机中最重要的组成部分之一就是硬件。
硬件包括了各种各样的设备,如CPU、内存、硬盘、显卡等等。
而操作这些硬件设备需要使用特定的语言,本文将介绍操作硬件设备所需的语言。
一、汇编语言汇编语言是一种底层语言,它可以直接操作CPU和内存。
在汇编语言中,每个指令都对应着CPU中的一个机器指令。
因此,使用汇编语言可以直接控制CPU执行特定的指令,从而实现对硬件设备的控制。
在汇编语言中,程序员需要手动管理内存和寄存器等资源。
因此,使用汇编语言进行开发需要具有较高的技术水平和经验。
二、C语言C语言是一种高级编程语言,在C语言中可以通过调用系统提供的库函数来实现对硬件设备的控制。
例如,在Linux系统下可以通过调用ioctl函数来实现对文件描述符所表示设备进行控制。
与汇编相比,C语言更加易于学习和使用,并且可以实现更复杂的功能。
但是,由于C语言是一种高级语言,因此在使用时需要注意一些细节问题,如内存管理和指针操作等。
三、Python语言Python是一种高级编程语言,它具有简单易学、代码简洁等特点。
在Python中可以使用第三方库来实现对硬件设备的控制。
例如,在树莓派上可以使用RPi.GPIO库来控制GPIO口。
与C语言相比,Python语言更加适合初学者入门,并且可以通过第三方库实现对硬件设备的控制。
但是,由于Python是一种解释性语言,因此在性能上可能不如C语言。
四、总结以上介绍了操作硬件设备所需的三种语言:汇编语言、C语言和Python语言。
不同的编程语言适用于不同的场景和开发目标。
在选择编程语言时需要根据实际情况进行选择,并且需要注意相关细节问题以确保程序的正确性和安全性。
微机原理与汇编语言综合性实验A/D转换器 ADC0809数字温度计设计学号200812030125姓名严磊班级信息081微机原理与汇编语言综合性实验微机原理与汇编语言综合性实验任务书实验项目名称:A/D转换器 ADC0809数字温度计设计课程名称:微机原理与汇编语言面向专业:信息与计算科学专业计划学时:4学时=实验课内2学时+实验课外2学时实验类型:√综合设计实验目的:掌握A/D转换原理,掌握0809A/D转换芯片的硬件电路和软件编程。
实验要求:包括开发环境要求,技术文档要求两部分。
开发环境要求:软件环境:windows98/windowsXP/windows2000,QTH-8086B环境硬件环境:计算机(Pen4CPU, 256MRAM,60G以上硬盘,输入输出设备)技术文档要求:按照实验报告编写要求进行。
要求流程图绘制规范,软、硬件功能描述清晰,实验总结深刻。
实验内容:1 熟悉A/D转换原理及相关芯片。
2 掌握ADC0809数字温度计设计应用原理,用汇编语言编写相关程序。
3 在QTH-8086B环境中运行编译好的的程序,将转换的结果在数码A/D转换器 ADC0809数字温度计设计管上显示,调节电位器观察数码管上数据的变化,得出相关结论。
实验方案(任务提示):按照系统板上硬件连线要求,在QTH-8086B16位微机教学实验仪上连好相关线路。
利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入ADC0809的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后送入数码管显示。
实验仪器设备:每个学生一台计算机、QTH-8086B 16位微机教学实验仪。
实验报告版式要求A4纸张打印;上下页边距各2.5cm,左右页边距各3.0cm,页眉1.5cm 页脚1.75cm;页码位于页脚居中打印;奇数页页眉“微机原理与汇编语言综合性实验”,偶数页页眉“A/D转换器 ADC0809数字温度计设计”,页眉宋体小5号,一级标题:黑体三号粗体字;二级标题:黑体4号;三级标题黑体小4号,正文,宋体5号。
实验报告装订顺序与规范封面A/D转换器 ADC0809数字温度计设计综合实验任务书A/D转换器 ADC0809数字温度计设计综合实验报告左边缘装订微机原理与汇编语言综合性实验微机原理与汇编语言综合性实验报告实验项目名称:A/D转换器 ADC0809数字温度计设计专业班级:信息081 ;姓名:严磊;学号200812030125实验起止日期:2010 年12 月13日起2010 年12 月20日止一.实验目的:掌握A/D转换原理,掌握0809A/D转换芯片的硬件电路和软件编程。
二.实验要求:2.1开发环境要求:软件环境:windows98/windowsXP/windows2000,QTH-8086B环境硬件环境:计算机(Pen4CPU, 256MRAM,60G以上硬盘,输入输出设备)2.2技术文档要求:按照实验报告编写要求进行。
要求流程图绘制规范,软、硬件功能描述清晰,实验总结深刻。
三.实验内容:实验原理,实验电路,连线3.1 实验原理:在数字电子技术的很多应用场合往往需要把模拟量转换为数字量,称为模 / 数转换器(A D转换器,简称ADC)3.2 ADC0809的内部结构:ADC0809是CMOS的8位模/数转换器,采用逐次逼近原理进行A/D转换,芯片内有模拟多路转换开关和A/D转换两大部分,可对8路0~5V的输入模拟电压信号分时进行转换。
器件的核心部分是8位A / D转换器,它由比较器、逐次渐近寄存器、D / A转换器及控制和定时5部分组成。
模拟多路开关由8路模拟开关和3位地址锁存译码器组成,可选通8路模拟输入中的任何一路,地址锁存信号ALE将3位地址信号ADDA、ADDB、ADDC进行锁存,然后由译码电路选通其中的一路,被选中的通道进行A/D转换。
A/D转换部分包括比较器、逐次逼近寄存器(SAR)、A/D转换器 ADC0809数字温度计设计256R电阻网络、树状电子开关、控制与时序电路等。
另外ADC0809输出具有TTL三态锁存缓冲器,可直接连到CPU数据总线上。
ADC0809的多路转换:在实时控制与实时检测系统中,被控制与被测量的电路往往是几路或几十路,对这些电路的参数进行模/数、数/模转换时,常采用公共的模数、数模转换电路。
因此,对各路进行转换是分时进行的。
此时,必须轮流切换各被测电路与模数、数模转换电路之间的通道,以达到分时切换的功能。
3.3 ADC0809的主要性能:(1)8位逐次逼近型A/D转换器,所有引脚的逻辑电平与TTL电平兼容。
(2)带有锁存功能的8路模拟量转换开关,可对8路0~5V模拟量进行分时切换。
(3)输出具有三态锁存功能。
(4)分辨率:8位,转换时间:100μs。
(5)不可调误差:±1LBS,功耗:15mW。
(6)工作电压:+5V,参考电压标准值+5V。
(7)片内无时钟,一般需外加640KHz以下且不低于100KHz的时钟信号。
3.4 ADC0809的内部结构图:微机原理与汇编语言综合性实验3.5 ADC0809转换时序:首先输入地址选择信号,在ALE信号作用下,地址信号被锁存,产生译码信号,选中一路模拟量输入。
然后输入启动转换控制信号START(不小于100ns ),启动A/D转换。
转换结束,数据送三态门锁存,同时发出EOC信号,在允许输出信号控制下,再将转换结果输出到外部数据总线。
3.6 ADC0809转换时序图:3.7 ADC0809的引脚图A/D转换器 ADC0809数字温度计设计ADC0809是采用CMOS工艺制成的单片8位8通道逐次渐近型模 / 数转换器,其逻辑框图及引脚排列如图上图所示。
3.8 ADC0809的引脚功能说明如下:INo -IN7:8路模拟信号输入端A 2、A1、A:地址输入端ALE:地址锁存允许输入信号,在此脚施加正脉冲,上升沿有效,此时锁存地址码,从而选通相应的模拟信号通道,以便进行A / D转换。
START:启动信号输入端,应在此脚施加正脉冲,当上升沿到达时,内部逐次逼近寄存器复位,在下降沿到达后,开始A / D转换过程。
EOC:转换结束输出信号(转换结束标志),高电平有效。
OE:输入允许信号,高电平有效。
CLOCK(CP):时钟信号输入端,外接时钟频率一般为640KHz。
Vcc:+5V单电源供电V REF (+)、VREF(-):基准电压的正极、负极。
一般VREF(+)接+5V电源,VREF(-)接地。
D7-Do:数字信号输出端3.9 ADC0809与CPU连接:3.10ADC0809应用说明(1).ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2).初始化时,使ST和OE信号全为低电平。
(3).送要转换的哪一通道的地址到A,B,C端口上。
(4).在ST端给出一个至少有100ns宽的正脉冲信号。
(5).是否转换完毕,我们根据EOC信号来判断。
(6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
1)模拟量输入通道选择8路模拟开关由A2、A1、A三地址输入端选通8路模拟信号中的任何一路进行A / D转换地址微机原理与汇编语言综合性实验译码与模拟输入通道的选通关系如下表所示。
3.11 D / A转换器以DAC0832为例, DAC0832采用CMOS工艺制成的单片电流输出型8位数 / 模转换器。
下图是DAC0832的逻辑框图及引脚排列。
图DAC0832单片D/A转换器逻辑框图和引脚排列。
器件的核心部分采用倒T型电阻网络的8位D / A转换器,如图所示。
它是由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压V四部分组成。
REFA/D 转换器 ADC0809数字温度计设计运放的输出电压为:()12001202222n n REF f n n n V R V D D D R ----=⋅+⋅+⋅⋅⋅+⋅由上式可见,输出电压V O 与输入的数字量成正比,这就实现了从数字量到模拟量的转换。
一个8位的D / A 转换器,它有8个输入端,每个输入端是8位二进制数的一位,有一个模拟输出端,输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
3.12 DAC0832的引脚功能说明如下:D 0-D 7 :数字信号输入端ILE :输入寄存器允许,高电平有效CS : 片选信号,低电平有效1WR :写信号1,低电平有效XFER :传送控制信号,低电平有效2WR :写信号2,低电平有效I OUT1,I OUT2:DAC 电流输出端R f B :反馈电阻,是集成在片内的外接运放的反馈电阻V REF :基准电压(-10~+10)VV CC :电源电压(+5~+15)VAGND :模拟地GNGD :数字地DAC0832输出的是电流,要转换为电压,还必须经过一个外接的运算放大器,实验线路如图所示。
微机原理与汇编语言综合性实验按上图接线,电路接成直通方式,即,,,22W R W R C S X F E R ----、接地;ALE 、V CC 、V REF 接+5V 电源;运放电源接±15V ;D 0~D 7 接逻辑开关的输出插口,输出端v O 接直流数字电压表。
(2) 调零,令D 0~D 7 全置零,调节运放的电位器使μA741输出为零;令D 0~D 7全为1,观察运放输入端电压值,如不是-5V ,则可在0832的第9端与μA741的第6接线端之间接一个1k Ω的可变电阻,调节该电位器使输出达到要求值。
3.13 D / A 转换过程在启动端(START )加启动脉冲(正脉冲),D / A 转换即开始。
如将启动端(START )与转换结束端(EOC )直接相连,转换将是连续的,在用这种转换方式时,开始应在外部加启动脉冲。
ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V ,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条ALE 为地址锁存允许输入线,高电平有效。
当ALE 线为高电平时,地址锁存与译码器将A ,B ,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A ,B 和C 为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示数字量输出及控制线:11条ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。