微机原理与接口技术——第11章(ADDA)

合集下载

微机原理与接口技术各章知识要点

微机原理与接口技术各章知识要点

各章知识要点、小结第一章微型计算机系统概述本章知识要点:∙微型计算机的发展。

∙微型计算机的特点。

∙微型计算机系统的组成。

∙微型计算机的主要性能指标。

本章小结:本章首先介绍了微型计算机的发展、组成。

然后对计算机的结构进行了简单介绍,并介绍了微型计算机的3种不同的总线结构。

最后,介绍了计算机的软、硬件的概念,区别和联系以及计算机的主要性能指标。

在学习完本章内容之后,需要掌握如下内容。

∙微型计算机的发展阶段和特点。

∙微型计算机属于第四代计算机,为冯·诺伊曼结构。

∙微型计算机系统由硬件和软件组成。

硬件由输入设备、输出设备、运算器、存储器和控制器等5部分组成。

∙微型计算机中的软硬件概念、分类、联系以及区别。

∙微型计算机的主要性能指标有字长、存储器容量、运算速度、外部设备配置、系统软件配置、性价比等。

∙1KB=1024B 1MB=1024KB 1GB=1024MB第二章计算机中的信息表示本章知识要点:∙进位计数制及其相互转换。

∙二进制数的运算规则。

∙计算机中带符号数与小数点的表示方法。

∙计算机中的常用码制。

本章小结:本章着重介绍了计算机中数据的表示方法,重点讲述了二、八、十、十六进制数的相关概念及各类进制数之间相互转换的方法,无符号数和带符号数的机器内部表示以及字符编码和汉字编码等内容。

在学习完本章内容之后,需要掌握如下内容。

∙掌握计算机内部的信息处理方法和特点。

∙熟悉原码、反码、补码等各类数制之间的相互转换。

∙理解无符号数和带符号数的表示方法。

∙掌握各种BCD码的特点及其之间的相互转换。

∙了解循环码和余3码的表示方法。

∙掌握在计算机中如何运用字符的ASCII码表示非数字信息的。

∙了解汉字编码以及在计算机中对汉字的表示方法。

第三章微处理器本章知识要点:∙CP U的发展过程。

∙80486的内部基本结构。

∙80486的外部基本引脚。

∙CPU的内部寄存器。

∙CPU的流水线操作过程。

∙Pentium CPU的简介和CPU的发展趋势。

《数字电子技术基础》第11章ADDA

《数字电子技术基础》第11章ADDA
第八章 DAC和ADC
第十一章 DAC和ADC
§11-1 概述 §11-2 D/A转换器 §11-3 A/D转换器 §11-4 ADC与DAC应用知识
第八章 DAC和ADC
11.1 概 述
大多数物理量都可以转换为模拟电信号,它们必须经ADC 转换为数字信号后才能送计算机进行处理。同样,计算机输出 的数字信号必须经DAC转换为模拟信号后才能被某些类型的执 行机构所接收。
第八章 DAC和ADC 例:把0~1V模拟电压转换成3位二进制代码。
第八章 DAC和ADC
001 (+1)
第八章 DAC和ADC
量化的方法不同其输出的格式也不同,即输出编码的形式不 同,这就需要进行一步编码。即编码就是将量化的结果转换为 需要的代码形式。
二、模数转换的几种方法
模数转换的方法很多,其在转换速度、转换精度、抗干扰 能力方面各有特色。
第八章 DAC和ADC
集成D/A转换器CB7520(A/D7520)的电路原理图
输入为10位二进制数,采用CMOS电路构成的模拟开关。 使用时需要外接运算放大器。其反馈电阻可以外接也可以 用内设的。
第八章 DAC和ADC
11.2.7 DAC的主要技术指标
(一)转换精度
l、分辨率
分辨率可用DAC的位数表示。n位DAC的输出电压能够给出2n 个不同的数量等级。当然DAC的位数高,它的输出电压等级就 多,每个电压等级对应的电压值就越小。这从理论上讲可以表 示DAC的精度。
D/A 转换器的基本原理和转换特性
D/A转换器的作用是将数字量转换为相应的模拟量。 例如:对于0 ~ 5V的直流电压,计算机用8位数字量来描 述时:最小值(00000000)B = 0对应0V,

ADDA转换器原理及控制电路设计PPT课件

ADDA转换器原理及控制电路设计PPT课件

8
8
电子设计创新开放实验讲义
2.5 DAC的转换精度与转换速度
1. 转换精度
①分辨率:表示DAC对模拟量的分辨能力,它是最低有效位(LSB)所对应模拟 量的值。由于满度值所代表的模拟值在不同的应用中是可变的,因 此分辨率通常用DAC二进制的位数来表示,如8位、10位、12位,有 时也表示成:分辨 1率 LSB1 FSR2n1
电子设计创新开放实验讲义
D/A、A/D转换器原理及控制电路设计
1、 概述 2、 D/A转换器 3、 A/D转换器
22.11.2020
1
1
电子设计创新开放实验讲义
1、 概述
能将模拟量转换为数字量的电路称为模数转换器,简称 A/D转换器或ADC;能将数字量转换为模拟量的电路称为 数模转换器,简称D/A转换器或DAC。ADC和DAC是沟通 模拟电路和数字电路的桥梁,也可称之为两者之间的接口。
②转换误差:指实际输出模拟电压与理想值之间的最大偏差。
通常有两种表示方法,即绝对误差、相对误差。
绝对误差:用最低有效位的分数形式表示,如±(1/2)LSB,则它表示最大误差:
VE
1 VFS 2 2n 1
相对误差:用最大误差与满量程电压VFS的百分数表示。例如相对误差为±0.1%,
则表示最大误差:VE=±0.1%·VFS,如果VFS=10V,VE=±10mV。
22.11.2020
17
17
③取样—保持电路
电子设计创新开放实验讲义
原理:
①S(t)=1,T٧,VI对CH充电,VO=VI 采样
保持
,VO=VC不变S(t)=0,T②
22.11.2020
18
18
电子设计创新开放实验讲义

微机原理与接口技术课后习题有答案

微机原理与接口技术课后习题有答案

第一章解:五代,详细见书解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统 ;PC机:PCPersonal Computer机就是面向个人单独使用的一类微机 ;单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等;数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换 ;好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线 ;其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号;解:1用于数值计算、数据处理及信息管理方向;采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段;2用于过程控制及嵌人应用方向;采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电;解:解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU 从繁杂的I/O任务中解脱出来;由10根信号线组成A9-A0;解:BIOS:基本输入输出系统;主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备解:基本RAM区:640KB保留RAM区:128KB扩展ROM区:128KB基本ROM区:128KB解:1、数—用来直接表征量的大小,包括:定点数、浮点数;2、码—用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制;区别:使用场合不同,详见P16.解:123解:原码反码补码+37 00100101/25H 00100101/25H 00100101/25H解:解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F解:1、相加后若出现和大于9,则将和减去10后再向高位进12、若出现组间进位,则将低位加6解:详见课本16页;解:C3 40 20 00D:44Hd:64HCR:0DHLF:0AH0:30HSP:20HNUL:00H解:国标码:36 50H机内码:B6 B0H第3章解:1完整的汇编语言源程序由段组成2一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列3需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点4所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内5通常,程序还需要一个堆栈段开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编解:段定位、段组合和段类型;解:stack segment stackdb 10240stack endsdata segmentstring db 'Hello,Assembly',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start解:1. EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序2. COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序MASM 需要采用TINY模式解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值;例如:X= 7 ;等效于:X equ 7X= X+5 ;“X EQU X+5”是错误的解:1 al=67h2 ax=133h,dx=4h3 ax=0230h4 al=41h4 ax=7654h解:my1b db 'Personal Computer'my2b db 20my3b db 14hmy4b db 00010100bmy5w dw 20 dupmy6c = 100my7c = <'Personal Computer'>解:利用定位伪指令控制,如org,even,align解:包括逻辑地址和类型两种属性;解:;数据段org 100hvarw dw 1234h , 5678hvarb db 3 , 4buff dd 10 dupmess db 'Hello';代码段mov ax , offset varb + offset messmov ax , type buff + type mess + type vard mov ax , sizeof varw+ sizeof buff+ sizeof messmov ax , lengthof varw+ lengthof vard解:1 1000超过一个字节所能表达的最大整数2SI应为偶数3两个内存单元不能直接运算4应改为al+15条件转移指令后面应接标号,而不是变量解:mov ah,1 ;只允许输入小写字母int 21hsub al,20h ;转换为大写字母mov dl,almov ah,2int 21h ;显示解:mov bx,offset LEDtablemov al,lednumxlat解:mov ax, bufXcmp ax, bufYjae donemov ax, bufYdone: mov bufZ, ax解:.model small.stack.databufX dw -7signX db.code.startupcmp bufX,0 ;test bufX,80hjl next ;jnz nextmov signX,0jmp donenext: mov signX,-1done: .exit 0end解:mov dl,’2’mov ax,bufXcmp ax,bufYje next1dec dlnext1: cmp ax,bufZje next2dec dlnext2: mov ah,2int 21h解:;代码段mov al,numbermov bx,0 ;BX←记录为1的位数restart: cmp al,0 ;AL=0结束jz doneagain: shr al,1 ;最低位右移进入CFjc next ;为1,转移inc bx ;不为1,继续jmp againnext: push axpush bxshl bx,1 ;位数乘以2偏移地址要用2个字节单元jmp addrsbx ;间接转移:IP←table+BX;以下是各个处理程序段fun0: mov dl,'0'jmp dispfun1: mov dl,'1'jmp dispfun2: mov dl,'2'jmp dispfun3: mov dl,'3'jmp dispfun4: mov dl,'4'jmp dispfun5: mov dl,'5'jmp dispfun6: mov dl,'6'jmp dispfun7: mov dl,'7'jmp disp;disp: mov ah,2 ;显示一个字符int 21hpop bxpop axjmp restartdone: …编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中不考虑溢出和进位;;.model small.stack.datab_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数sum db ;预留结果单元.code.startupxor si, si ;位移量清零xor al, al ;取第一个数mov cx, num ;累加次数again: add al, b_datasi ;累加inc si ;指向下一个数loop again ;如未完,继续累加mov sum, al ;完了,存结果.exit 0end求主存0040h:0开始的一个64KB物理段中共有多少个空格;.model small.codestart: mov ax,0040h ;送段地址mov ds, axmov si, 0 ;偏移地址mov cx, si ;计数循环次数xor ax, ax ;空格计数器清零again: cmp byte ptr si, 20h ;与空格的ASCII码比较jne next ;不是空格,转inc ax ;是空格,空格数加1next: inc si ;修改地址指针loop again ;cx=cx-1,如cx=0 退出循环.exit 0end start编写计算100个16位正整数之和的程序;如果和不超过16位字的范围65535,则保存其和到wordsum,如超过则显示‘overflow’;答:;数据段count equ 100parray dw count dup ;假设有100个数据wordsum dw 0msg db ‘overflow’,’$’;代码段mov cx,countmov ax,0mov bx,offset parrayagain: add ax,bxjnc nextmov dx,offset msgmov ah,9int 21h ;显示溢出信息jmp done ;然后,跳出循环体next: add bx,2loop againmov wordsum,axdone: …编程把—个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数;转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;依次用余数除以l00、10和l,得到“百位”、“十位”和“个位”; ;.model small.stack 256.dataarray dw ;源字数据dbcd db 5 dup ;五位bcd结果,高对高低对低.code.startupmov dx, array ;取源数据余数mov bx, 10000 ;除数mov cx, 10 ;除数系数mov si, 4 ;目的数据高位位移量again: mov ax, dx ;中存放被除数mov dx, 0div bx ;除于bx,商ax,余数dxmov dbcdsi, al ;商<10,存结果push dx ;暂存余数mov ax, bx ;除数除于10mov dx,0div cx ;除于cx,商ax、余数0存在dxmov bx, ax ;bx是除数pop dxdec si ;目的数据位移量减1jnz againmov dbcd, dl ;存个位数 < 10.exit 0end解:1汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:过程名PROC NEAR|FAR……;过程体过程名ENDP2保护用到的寄存器内容,以便子程序返回时进行相应的恢复;3改错:crazy procpish bxpush cxxor ax,axxor dx,dxagain:add a,bxadc dx,0inc bxinc bxloop againpop cxpop bx解不需调用HTOASC子程序:again: mov ah,1int 21hcmp al,1bh ;ESC的ASCII码是1bhje donemov dl,almov ah,2int 21h ;是大写字母则转换为小写字母jmp againdone: …解答:asctob procpush cxand dh,0fh ;先转换十位数shl dh,1 ;十位数乘以10采用移位指令mov ch,dhshl dh,1shl dh,1add dh,chand dl,0fh ;转换个位数add dh,dl ;十位数加个位数mov al,dh ;设置出口参数pop cxretasctob endp解:DIPASC proc ;入口参数:AL=要显示的一个16进制数push cxpush dxpush axmov cl,4 ;转换高位shr al,clcall HTOASCmov dl,al ;显示mov ah,2int 21hpop ax ;转换低位call HTOASCmov dl,al ;显示mov ah,2int 21hmov dl,’H’;显示一个字母“H”mov ah,2int 21hpop dxpop cxretDIPASC endpHTOASC proc ;将AL低4位表达的一位16进制数转换为ASCII码and al,0fhcmp al,9jbe htoasc1add al,37h ;是0AH~0FH,加37H转换为ASCII码ret ;子程序返回htoasc1: add al,30h ;是0~9,加30H转换为ASCII码ret ;子程序返回HTOASC endp解:lucase procpush bxmov bx,offset stringcmp al,0je case0cmp al,1jz case1cmp al,2jz case2jmp donecase0: cmp byte ptr bx,0je donecmp byte ptr bx,’A’jb next0cmp byte ptr bx,’Z’ja next0add byte ptr bx,20hnext0: inc bxjmp case0case1: cmp byte ptr bx,0je donecmp byte ptr bx,’a’jb next1cmp byte ptr bx,’z’ja next1sub byte ptr bx,20hnext1: inc bxjmp case1case2: cmp byte ptr bx,0je donecmp byte ptr bx,’A’jb next2cmp byte ptr bx,’Z’ja next20add byte ptr bx,20hjmp next2next20: cmp byte ptr bx,’a’jb next2cmp byte ptr bx,’z’ja next2sub byte ptr bx,20hnext2: inc bxjmp case2done: pop bxretlucase endp解:1用寄存器传递参数:最简单和常用的参数传递方法是通过寄存器,只要把参数存于约定的寄存器中就可以了由于通用寄存器个数有限,这种方法对少量数据可以直接传递数值,而对大量数据只能传递地址采用寄存器传递参数,注意带有出口参数的寄存器不能保护和恢复,带有入口参数的寄存器可以保护、也可以不保护,但最好能够保持一致2用共享变量传递参数子程序和主程序使用同一个变量名存取数据就是利用共享变量全局变量进行参数传递如果变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTREN声明如果主程序还要利用原来的变量值,则需要保护和恢复利用共享变量传递参数,子程序的通用性较差,但特别适合在多个程序段间、尤其在不同的程序模块间传递数据3用堆栈传递参数参数传递还可以通过堆栈这个临时存储区;主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们采用堆栈传递参数是程式化的,它是编译程序处理参数传递、以及汇编语言与高级语言混合编程时的常规方法解:方法:主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们注意:压栈与弹栈必须要一一对应;解:方法1:neg32 proc ;入口参数:=32位有符号数neg ax ;实现0-功能neg dxsbb dx,0 ;这条指令也可以用dec dx代替retneg32 endp ;出口参数:=32位有符号数的补码方法2:neg32 proc ;入口参数:=32位有符号数not ax ;实现求反加1not dxadd ax,1adc dx,0retneg32 endp ;出口参数:=32位有符号数的补码解:;数据段array db 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h ;数组count equ $-array ;数组元素个数result db ;校验和;代码段mov bx,offset array ;BX←数组的偏移地址mov cx,count ;CX←数组的元素个数call checksum ;调用求和过程mov result,al ;处理出口参数mov ax,4c00hint 21h;计算字节校验和的通用过程;入口参数:DS:BX=数组的段地址:偏移地址,CX=元素个数;出口参数:AL=校验和;说明:除AX/BX/CX外,不影响其他寄存器checksum procxor al,al ;累加器清0sum: add al,bx ;求和inc bx ;指向下一个字节loop sumretchecksum endpend解:⑴.model small.stack.datawdata dw 34abh.code.startupmov ax,wdatacall dispa.exit 0;dispa procpush cxpush dxmov cl,4mov dl,ahshr dl,clcall dldispmov dl,ahand dl,0fhcall dldispmov dl,alshr dl,clcall dldispmov dl,aland dl,0fhcall dldisppop dxpop cxretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend⑵.model small.stack.datawdata dw 34abhwordtemp dw.code.startupmov ax,wdatamov wordtemp,axcall dispa.exit 0;dispa procpush cxpush dxmov cl,4mov dl,byte ptr wordtemp+1shr dl,clcall dldispmov dl,byte ptr wordtemp+1and dl,0fhcall dldispmov dl,byte ptr wordtempshr dl,clcall dldispmov dl,byte ptr wordtempand dl,0fhcall dldisppop dxpop cxretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend⑶.model small.stack.datawdata dw 34abh.code.startuppush wdatacall dispapop ax ;add sp,2.exit 0;dispa procpush bpmov bp,sppush axpush cxpush dxmov ax,bp+4mov cl,4mov dl,ahshr dl,clcall dldispmov dl,ahand dl,0fhcall dldispmov dl,alshr dl,clcall dldispmov dl,aland dl,0fhcall dldisppop dxpop cxpop axpop bpretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend解:如果利用共享变量传递函数,且变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTERN 声明;解:1宏定义由一对宏汇编伪指令MACRO和ENDM来完成,格式如下:宏名MACRO 形参表……;宏定义体ENDM宏定义之后就可以使用它,即宏调用:宏名实参表2宏调用的格式同一般指令一样:在使用宏指令的位置写下宏名,后跟实体参数;如果有多个参数,应按形参顺序填入实参,也用逗号分隔3宏展开:在汇编时,宏指令被汇编程序用对应的代码序列替代,这就是宏展开宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体完全替代源程序的宏指令,同时用位置匹配的实参对形参进行取代解:宏调用的参数通过形参、实参结合实现传递,简捷直观、灵活多变;宏汇编的一大特色是它的参数;宏定义时既可以无参数,也可以有一个或多个参数;宏调用时实参的形式也非常灵活,可以是常数、变量、存储单元、指令操作码或它们的一部分,也可以是表达式;只要宏展开后符合汇编语言的语法规则即可;解:宏:仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变通过形参、实参结合实现参数传递,简捷直观、灵活多变子程序:还是目标程序级的简化:子程序调用在执行时由CALL指令转向、RET指令返回;形成的目标代码较短,执行速度减慢需要利用寄存器、存储单元或堆栈等传递参数选择:宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法;通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序编写一个宏指令move doprnd,soprnd,它实现任意寻址方式的字量源操作数soprnd送到目的操作数doprnd,包括存储单元到存储单元的传送功能;答:move macro doprnd,soprndmov ax,soprndmov doprnd,axendm定义一个宏logical,用它代表4条逻辑运算指令:and/or/xor/test;注意需要利用3个形式参数,并给出一个宏调用以及对应宏展开的例子;答:logical macro lcode,dopd,sopdlcode dopd,sopdendm例如,如果使用“and ax,bx”指令,可以利用该宏定义,写出宏指令如下:logical and,ax,bx解:utol macrolocal nextcmp al,’A’;小于“A”不转换jb nextcmp al,’Z’;大于“A”不转换ja nextadd al,20h ;是大写字母则转换为小写字母next:endm定义一个宏movestr strn,dstr,sstr,它将strn个字符从一个字符区sstr传送到另一个字符区dstr解:假设它们都在数据段movestr macro strn,dstr,sstrmov cx,dsmov es,cxmov cx,strnmov di,offset dstrmov si,offset sstrcldrep movsb ;;重复传送ES:DI←DS:SIendm第五章解:主存的作用:保存正在使用的、处于活动状态的程序和数据;辅存的作用:长期保存程序文件和数据文件,在需要时将这些文件调入RAM内存并激活使用;cache的作用:提高对存储器的访问速度;虚拟存储:由容量较小的主存和容量较大的辅存构成,其目标是扩大程序员眼中的主存容量;区别:通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的用户命令和功能调用对辅存进行访问;在半导体存储器中,RAM指的是随机存取存储器 ,他可读可写,但断电后信息一般会丢失;而ROM指的是只读存储器 ,正常工作时只能从中读取信息,但断电后信息不会丢失 ;以EPROM芯片2764为例,其存储容量为8K×8位,共有 8 条数据线和 13 条地址线;用它组成64KB的ROM存储区共需 8 片2764芯片; 解:双译码方式使得地址译码器的输出线的数目大为减少,使得芯片设计得时候复杂度就低了;地址线A9~A4根数据线I/O4~I/O1片选CS读写WE解:假想的RAM有12根地址线、4根数据线片选端CS或CE:有效时,可以对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片输出OE:控制读操作;有效时,芯片内数据输出,该控制端对应系统的读控制线MEMRMRDC写WE:控制写操作;有效时,数据进入芯片中,该控制端对应系统的写控制线MEMWMWTC解:位片结构:每个存储单元具有一个唯一的地址,可存储1位;4116字片结构:每个存储单元具有一个唯一的地址,可存储多位;2114解:组成单元速度集成度应用SRAM 触发器快低小容量系统DRAM 极间电容慢高大容量系统NVRAM 带微型电池慢低小容量非易失掩膜ROM:信息制作在芯片中,不可更改PROM:允许一次编程,此后不可更改EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程EEPROME2PROM:采用加电方法在线进行擦除和编程,也可多次擦写Flash Memory闪存:能够快速擦写的EEPROM,但只能按块Block擦除解:位扩充——存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据“位”方向的扩充;地址扩充字扩充——当一个存储器芯片不能满足系统存储容量时,利用多个存储器芯片在“地址”方向的扩充组成32KB存储空间,用SRAM 21141K×4需要64个芯片;组成32KB存储空间,用DRAM 411616K×1需要16个芯片;它们都需要进行位扩充和地址扩充解:片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间存储器片选信号通常与CPU地址总线的高位地址线相关联,可以采用“全译码”、“部分译码”、“线选译码”方式采用全译码方式可以避免地址重复采用部分或线选译码可以节省译码硬件解:24=16解:解:解:解:解:动态随机存取存储器 DRAM 的存储单元电路动态存储单元是由 MOS 管的栅极电容 C 和门控管组成的;数据以电荷的形式存储在栅极电容上,电容上的电压高表示存储数据 1 ;电容没有储存电荷,电压为 0 ,表明存储数据 0 ;因存在漏电,使电容存储的信息不能长久保持,为防止信息丢失,就必须定时地给电容补充电荷,这种操作称为“ 刷新” 由于要不断地刷新,所以称为动态存储;方法:采用“仅行地址有效”方法刷新;刷新周期:15μs刷新次数:128解:4 256KB A19-A16 4解:访问的局部性原理:在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内;指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次;因此,对这些地址的访问就自然地具有时间上集中分布的倾向;数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中;这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性;cache的作用:提高对存储器的访问速度;虚拟存储:其目标是扩大程序员眼中的主存容量;第七章解:总线:指可以由多个信息处理单元所共享的信息通道;使用特点:⑴在某一时刻,只能由一个主设备控制总线,其他主设备此时可作为从设备出现⑵在某一时刻,只能有一个设备向总线上发送数据,但可以有多个设备从总线上接收数据在各种微机总线中,根据总线连接对象的不同可将它们分为以下几类,它们是:片内总线、芯片总线、板级总线、设备总线和互连总线_;例如,ISA总线属于板级总线,USB总线属于设备总线,I2C总线属于芯片总线;总线中除电源和地线外的信号线,也可按传输信息的不同分为以下3类,即:数据总线、地址总线、控制总线 ;解:分时复用就是一个引脚在不同的时刻具有两个甚至多个作用总线复用的目的是为了减少对外引脚个数在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7 ~ A0,其他时间用于传送8位数据D7 ~ D0 解:并行总线:多维数据通过多根信号线同时进行传递;并行同步传输、并行异步传输见P174;解:见P174.解:总线的性能指标包括:总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线控制方式总线宽度:它是指数据总线的根数, 用bit位表示,如8位、16位、32位、64位;解:D0~D7:8位双向数据总线A0~A19:20位输出地址总线ALE:地址锁存允许,每个CPU 总线周期有效IOR:I/O读,输出IOW:I/O写,输出IO CH RDY:I/O通道准备好,输入第九章解:软件延时、不可编程的硬件定时、可编程的硬件定时解:CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号下降沿,计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束计数值减为0,OUT引脚上将产生一个输出信号解:8253每个通道有 6 种工作方式可供选择;若设定某通道为方式0后,其输出引脚为低电平;当写入计数初值并进入减1计数器后通道开始计数, CLK 信号端每来一个脉冲减1计数器就减1;当计数器减为0 ,则输出引脚输出高电平,表示计数结束;8253的CLK0接的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为 5=÷300KHz ,应选用的工作方式是 3解:1 mov al,50hmov dx,207hout dx,almov al,128 ;80hmov dx,205hout dx,al2 mov al,33hmov dx,207hout dx,almov ax,3000h ;不是3000mov dx,204hout dx,almov al,ahout dx,al3 mov al,0b4hmov dx,207hout dx,almov al,02f0hmov dx,206hout dx,almov al,ahout dx,al解:mov al,33hout 0fbh,al ;写入计数器0地址:0fbhmov al,80h ;out 0f8h,al ;写入低字节计数初值mov al,50hout 0f8h,al ;写入高字节计数初值作用:计数器0的计数初值为5080h解计数器0——每隔55ms产生一个IRQ0中断请求计数器1——每隔15μs产生一个DRAM刷新请求计数器2——控制扬声器音调解101个下降沿,还可以采用方式4GATE0接外部启动计数器的控制信号,可以选用方式1或方式5 mov dx,203hmov al,12h ;方式5为1ahout dx,almov dx,200hmov al,64hout dx,al解:计数器0的计数值:5M/1K=5000=1388H方式控制字:00100101=25H、2DH、35H、3DH十进制计数00100100=24H、2CH、34H、3CH二进制计数计数器1的计数值:1000方式控制字:01101001=69H、79H十进制计数 01101000=68H、78H二进制计数MOV DX,0FFF3HMOV AL,25H ;通道0,只写高字节,方式2,十进制OUT DX,ALMOV DX, 0FFF0HMOV AL,50H ;计数初值5000OUT DX,ALMOV DX,0FFF3HMOV AL,69H ;通道1,方式4OUT DX,ALMOV DX, 0FFF1HMOV AL,10H ;计数初值1000OUT DX,AL解:stack segment stackdw 1024 dupstack endsdata segmentfreq dw 8,,,,,,,,data endscode segment 'code'assume cs:code, ds:data,ss:stack start: mov ax,datamov ds,axagain:mov ah,01hin 21hcmp al,1BHjz nextcmp al,31Hjb next1cmp al,38Hja next1and al,0fhmov ah,00hmov si,axmov bx,offset freqmov ax,BX+SIcall speakercall speakonjmp againnext1: call speakoffjmp againnext: mov ax,4c00hint 21hspeaker procpush axmov al,0b6hout 43h,alpop axout 42h,almov al,ahout 42h,alretspeaker endp speakon procpush axin al,61hor al,03hout 61h,alpop axretspeakon endp speakoff procpush axin al,61hand al,0fchout 61h,alpop axretspeakoff endpcode endsend starts 解:1 f 1162f。

微机原理与接口技术:第11(2)讲 6.1

微机原理与接口技术:第11(2)讲 6.1
第6章 半导体存储器
第6章 半导体存储器
6.1 存储器概述
6.1.1 半导体存储器的分类 6.1.2 半导体存储器的结构 6.1.3 存储器读写时序 6.1.4 半导体存储器的主要性能指标
6.2 典型存储器芯片及其接口特性 6.3 存储器系统的组织 6.4 高速缓存技术 6.5 虚拟缓存技术
MECHANICAL & ELECTRICAL ENGINEERING COLLEGE OF SHANDONG AGRICULTURAL UNIVERSITY
第6章 半导体存储器
6.1.1 半导体存储器的分类
• ROM的分类和特点:
– 掩摸ROM,用掩摸改变MOS管的连接,也就是 改变芯片存储的信息。适于成批生产。
– 可编程ROM,即PROM。可以现场写入信息, 但只能写入一次。
– 可擦除可改写的EPROM。可多次擦除,多次改 写。有用紫外线擦除的UVEPROM和用电擦除 改写的EEPROM,或称E2PROM。
MECHANICAL & ELECTRICAL ENGINEERING COLLEGE OF SHANDONG AGRICULTURAL UNIVERSITY
第6章 半导体存储器
6.1.1 半导体存储器的分类
按制造工艺分类
(2)金属氧化物半导体型 •金属氧化物半导体型又称MOS型,在微机系统中主要 用来构造内存。 •根据制造工艺,可分为NMOS、HMOS、CMOS、 CHMOS等,可用来制作多种半导体存储器件,如静态 RAM、动态RAM、EPROM等。 •特点是集成度高、功耗低、价格便宜,但速度较双极 型器件慢。
MECHANICAL & ELECTRICAL ENGINEERING COLLEGE OF SHANDONG AGRICULTURAL UNIVERSITY

微机原理与接口技术第1-11章作业答案

微机原理与接口技术第1-11章作业答案

第一章:1.1 为什么需要半加器和全加器,它们之间的主要区别是什么?答:无论是全加器还是半加器均能实现两个一位的二进制数相加,得到相加的和和向高位的进位。

半加器不需要考虑来自低位的进位,而全家器需考虑来自低位的进位。

1.2 用补码法写出下列减法的步骤:(1) 1111(2)-1010(2)=?(2)=?(10)=00001111B+11110110B=00000101B=5D(2) 1100(2)-0011(2)=?(2)=?(10)=00001100B+11111101B=00001001B=9D第二章:2.1 ALU是什么部件?它能完成什么运算功能?试画出其符号。

答:ALU是算术逻辑运算单元的简称,该部件既能进行二进制数的四则运算,也能进行布尔代数的逻辑运算。

符号略!2.2 触发器、寄存器及存储器之间有什么关系?请画出这几种器件的符号。

答:触发器能存储一位的二进制信息,是计算机记忆装置的基本单元。

寄存器是由多个触发器构成的,能存储多位二进制信息。

存储器又是由多个寄存器构成的。

器件的符号略!2.4 累加器有何用处?画出其符号。

答:累加器是由多个触发器构成的多位寄存器,作为ALU运算过程的代数和的临时存储处。

累加器不仅能装入及输出数据外,还能使存储其中的数据实现左移或右移。

符号略!2.6 何谓L门及E门?它们在总线结构中有何用处?答:L门即LOAD控制端,是用以使寄存器接受数据输入的控制门;E门即ENABLE控制端,是三态输出门,用以控制寄存器中的数据输出至总线。

有了L门及E门,就可以利用总线结构,从而使信息传递的线路简单化。

2.10 除地线公用外,5根地址线和11根地址线各可选多少个地址?答:5根地址线可选25=32个地址;11根地址线可选211=2048个地址。

2.12 存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处?答:MAR和MDR均是存储器的附件。

存储地址寄存器(MAR)是一个可控的缓冲寄存器,具有L门以控制地址的输入,它和存储器的联系是双态的,存储地址寄存器存放的是索要寻找的存储单元的地址。

微机原理与接口技术(第三版)周荷琴课后答案

微机原理与接口技术(第三版)周荷琴课后答案

微机原理与接口技术(第三版)周荷琴课后答案2,3,6,10,11,12,13,15,17,182. DS=1000H,BX=0200H,SI=2,内存10200H-10205H单元的内容分别是10H, 2AH, 3CH, 46H, 59H, 6BH下列指令执行后,AX=?(1)MOV AX,0200H (2) MOV AX,[200H](3)MOV AX,BX (4) MOV AX,3[BX](5)MOV AX,[BX+SI] (6) MOV AX,2[BX+SI](4)5946H答:(1)0200H, (2)2A10H (3)0200H(5)463CH (6)6B59H3.DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX =0100H,BP=0200H,数据段中变量名为V AL的偏移地址值为0030H,说明下列源操作数的寻址方式和物理地址?(1)MOV AX,[100H] (2) MOV AX,V AL(3)MOV AX,[BX] (4) MOV AX,ES:[BX](5)MOV AX,[SI] (6) MOV AX,[BX+10H](7)MOV AX,[BP] (8) MOV AX,V AL[BP][SI](9)MOV AX,V AL[BX][DI] (10) MOV AX,[BP][DI]答:(1)直接,10100H (2)直接,10030H(3)寄存器间接,10100H (4)寄存器间接,20100H(5)寄存器间接,100A0H (6)寄存器相对,10110H(7)寄存器间接,35200H (8)相对基址变址,352D0H(9)相对基址变址,10154H (10)基址变址,35224H6.指出下列指令哪些是错误的,错在哪里(1) MOV DL,AX (2) MOV 8650H,AX(3) MOV DS,0200H (4) MOV [BX],[1200H](5) MOV IP,0FFH (6) MOV [BX+SI+3],IP(7) MOV AX,[BX][BP] (8) MOV AL,ES:[BP]0A20H(9) MOV DL,[SI][DI] (10)MOV AX,OFFSET(11) MOV AL,OFFSET TABLE (12)XCHG AL,50HOUT AL,0FFEH(13)(14)IN BL,05H答:(1)长度不匹配(2)立即数不能做目的操作数(3)段寄存器不能用立即数赋值(4)不能两个内存(5)IP不能用指令直接修改(6)指令中不能出现IP(7)BX/BP应与SI/DI搭配(8)对(9)SI/DI 应与BX/BP搭配(10)OFFSET后应该内存(11)应用AX (12)不能立即数(13)IN必须用AL/AX (14)操作数反;地址应为8位10. 某班有7个同学英语成绩低于80分,分数存在字节类型ARRAY数组中,编程完成:(1)给每人加5分,结果存到NEW数组中(2)把加分后的总分存到字类型SUM单元中(3)把加分后的平均分存到字节类型A VERAGE单元中答:ARRAY DB 79,78,77,76,77,78,79NEW DB 7 DUP(?)SUM DW 1 DUP(?)A VERAGE DB 1 DUP(?)MOV DS, AXMOV ES, AXLEA SI,ARRAYLEA DI,NEWMOV CX,7CLDREP MOVSBMOV CX,7MOV AX,0LEA SI,NEWADD5: ADD BYTE PTR[SI],5ADD AL,[SI]ADC AH,0SIINCLOOP ADD5MOV SUM,AXMOV BL,7DIV BLMOV A VERAGE,AL11.AX=2508H,BX=0F36H,CX=0004H,DX=1864H,下列指令执行后结果是多少,标志位CF=?(1) AND AH,CL (2) OR BL,30HXOR CX,0FFF0H(4)(3)NOT AX(5) TEST DH,0FH (6) CMP CX,00H(7) SHR D X,CL (8) SAR A L,1(9) SHL BH,CL (10) SAL AX,1B X,1 (12)ROR DX,CLRCL(11)答:(1)AX=0408H,CF=0 (2)BX=0F36H,CF=0(3)AX=0DAF7H,CF不变(4)CX=0FFF4H,CF=0(5) DX=01864H,CF=0 (6)CX=0004H,CF=0(7)DX=0186H,CF=0 (8)AX=2504H,CF=0(9)BX=0F036H,CF=0 (10)AX=4A10H,CF=0(11)BX=1E6C/1E6DH,CF=0 (12)DX=4186H,CF=012.数据段定义如下:DATA SEGMENTComputer&PersonalTV’DB‘TheSTRINGDATA ENDS用字符串操作等指令完成以下功能:(1)把该字符串传送到附加段中偏移量为GET_CHAR开始的内存单元中(2)比较该字符串是否与’The computer’相同,若相同则将AL寄存器的内容置1,否则置0,并将比较次数送到BL寄存器(3)检查该字符串是否有’&’符,若有则用空格符替换(4)把大写字母传送到附加段中以CAPS开始的单元中,其余字符传送到以CHART 开始的单元,然后将数据段中存储上述字符串的单元清零。

微机原理与接口技术课后习题与参考答案

微机原理与接口技术课后习题与参考答案

微机原理与接口技术课后习题与参考答案-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。

① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。

① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。

① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。

① +355 ② -11.7 计算机分那几类各有什么特点1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。

1.9 80X86微处理器有几代各代的名称是什么1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=111101110.000111B=494.109D ②63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1] 补= 11111111③ [-0] 补=00000000 ④[-128] 补=100000001.6 ① [+355] 补= 0000000101100011 ② [-1] 补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。

第11章ADDA转换器

第11章ADDA转换器
例如:Q=0.5V/格,设用三位(二进编码) u0=2.4Q 2Q ( 010 )Q
(0 22 1 21 0 20 ) 0.5V 1V
6. A/D转换
将采样保持电路锁存的模拟信号转换成数字信号的器件。
11.3.2 A / D转换器的原理(P401) 按转换方式可分为:直接转换、间接转换。
计算机控制系统方框图如下:
… …
… …


传 感
滤波 放大
多路转 换开关
A/D








执行 机构
模拟 开关
功 放
D/A

11.2 数/模( D/A )转换器(P391)
定义:数字—模拟转换。把数字信号转换为模拟信号输出的器件 称为数/模转换器(简称D/A转换器)。 11.2.1 D/A转换器的原理
n
V0
V ai
2i
R
i 1
4. 集成化D/A转换器 分类:双极型和CMOS型 电阻网络:离子注入或扩散电阻条、薄膜电阻 离子注入或扩散电阻条:价廉物美,但精度不高; 薄膜电阻:高精度。 特点: 双极型:转换速度快,适合于高速转换的场合。 CMOS型:优点是制造容易、造价低;缺点是转换速度较慢。
JMP T1
HLT
输出三角波(设D/A的口地址为300H)
MOV DX,300H R0:MOV CX,0FFH
MOV AL,00H R1:OUT DX,AL
INC AL LOOP T1 MOV CX,0FFH R2:DEC AL OUT DX,AL LOOP T2 JMP R0 HLT
输出锯齿波(设D/A的口地址为300H) MOV DX,300H MOV AL,00H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

20
DAC0832结构 结构
• 双缓冲结构:输入寄存器、DAC寄存器。 都为8位并行输入,并行输出寄存器。 • 输入寄存器输出与DAC寄存器相联,数据 输入受内部LE2控制。 • 输入寄存器输入与系统数据总线相联,数 据输入受内部LE1控制。 • 通过外部控制信号不同组合,有不同的工 作方式。双缓冲2结构及引脚信号 结构及引脚信号
16
DAC0832结构及引脚信号 结构及引脚信号
• ILE:输入锁存允许信号,输 入,高电平有效,与CS联合, 允许WR1 • WR1:8位输入寄存器写选通 信号,输入,低电平有效。 • WR2:DAC寄存器写选通信 号,与XFER联合,将数据从输 入寄存器写入DAC寄存器。 • XFER:数据传送信号 ,为 WR2的使能信号
• 分辨率:常用DAC的位数表示 。分辨率通常用二进 制位数表示,如分辨率为8位的DAC能给出满量程电 压的1/256的分辨能力。 • 精度:实际输出值与理想输出值之间存在的偏差 。 失调误差:指输入数字量全部是0时,模拟量的实际输 出值与理想输出值之间的偏差 增益误差:指输入数字量全部是1时,模拟量的实际输 出值与理想输出值之间的偏差 可通过外电路调整补偿
23
24
DAC0832的工作方式 的工作方式
1. 双缓冲工作方式 双缓冲工作方式是指两个寄存器分别受到 控制,当ILE、CS和WR1信号均有效时,8 位数字量写入输入寄存器,而未写入DAC 寄存器。当XFER和WR2信号均有效时, 才将输入寄存器的数据写入DAC寄存器, 并开始A/D转换。 双缓冲工作方式主要用于需要多路同步输出 多路同步输出 的情况。
10
梯形网络法
•改变权电阻网络的结构, 减少电阻的种类 •从权电阻网络任一节点 看,其阻抗均为R:R, 因此,从左到右,每一 个节点的电位均是它前 一节点的1/2。这种方法 的变换精度可以很高, 因为所用电阻只有两种 阻值(R和2R)。 •DAC和ADC中最常用。
11
梯形网络法
12
D/A转换器的性能指标 转换器的性能指标
7
运算电路(加法)
• If=Ia+Ib+Ic • Vo=Rf(Va/Ra+ Vb/Rb+Vc/Rc) • Ka=Rf/Ra Kb=Rf/Rb Kc=Rf/Rc • Vo=(KaVa+KbVb +KcVc)
8
加权电流法原理
• 令Va=Vb=Vc=Vref, Ra = R, Rb=2R,Rc=4R, (=……) • 得: Vo=-(VrefRf/R)(1+1/2+1/4+……)
DAC0832电源与地线
• VCC:电源,+5V ~+15V,+15V性能更好。 • 引脚3为模拟地端AGND ,引脚10为数字地 DGND。 • 引脚3上的电位应与输出电流(IOUT1 、IOUT2 ) 相同,它会影响输出线性性。
19
DAC0832结构 结构
• DA转换器:R-2R梯形电阻网络组成。 • 其中开关由DAC寄存器输出组成。 • DAC寄存器为0,相应开关处于“0”位置。
36
逐次逼近式 A/D变换
• 计数器式用最低位加 1计数,由于电压不 同,每次转换时间不 一样,平均转换时间 为2n-1次计数时间。 2 转换速度慢。 • 逐次逼近式 A/D变换 同样由寄存器、D/A 转换器和比较器组成。 • 逐次逼近式从最高位 比较开始。
37
逐次逼近式 A/D变换
• 转换前,寄存器各位清除为0。转换开始,寄存器的 最高位置1,使DA变换器权电阻网络最高位接DAC 放大器的输入端,DAC输出值与被测的模拟值进行 比较,如果DA输出“低于”未知电压(比较器输出 为高),则1被保留;反之,则1被清除。 • 然后将下一位置1,重复上述过程,根据比较器输出, 决定保留还是舍弃该位,……逐位进行比较,直至最 低位。 • 此时,寄存器中的数值就是A/D转换的结果。 • 对n位ADC来讲,逐次逼近式只要n次比较,就可完 成转换 。 • 转换速度较快,是最常见的A/D变换器原理。
6
D/A转换
• I/O接口:并行或串行接口,将数字量从CPU输出。 • D/A变换器:数字量转换成模拟量,并具有保持功能。 在一下次CPU输出前保持不变 。当CPU输出新数字 量后,立即变为新值,并保持新值不变。通常D/A变 D/A 换器具有0阶保持器特性。 • 变换:将D/A变换器输出的标准电信号转换成相应的 物理量。(电信号,气信号,液压信号等),以及进行 功率放大。 • 执行机构:对生产过程控制的实施者。
17
其它引脚信号 引脚信号
• DI7 ~DI0:数据输入(数据总线)。 • IOUT1、IOUT2:电流输出端,IOUT1+IOUT2=常数。 并且IOUT1端输出电流与DAC寄存器中数据成正 比,当数据为全0, IOUT1=0;当数据为全1, IOUT1电流达最大。 • RFB:反馈信号输入端。 片内有电阻,与外接 运算放大器电压输出直联,不需外加电阻。 • VREF:基准电源输入端。 外部提供的精密稳压 电源。为内部R-2R梯型网络提供电源。 VREF范 18 围在-10V~+10V可选。
33
A/D变换原理 (计数器式)
• A/D变换器的工 作原理与D/A变 换器非常相似。 • 由计数器、D/A 转换器和比较器 组成计数式A/D 变换器。
34
计数式 A/D变换
35
计数器式A/D变换原理
• 比较器同相输入接未知模拟输入,反相端接D/A输出 (电压输出)。 • 计数器的输出作为数模(D/A)变换器的输入。 • 计数器由零开始计数,DAC输出一个逐步升起的电 压, • 根据图中连接,比较器对两个电压进行比较。当 DAC电压超过输入模拟电压时,比较器输出变低, 停止计数器计数。此时,DAC的输出电压值就是模 拟量的近似值,而计数器的值,为模拟输入电压的数 字值,偏差在最小数字位代表的电压当量以下。理论 上,平均误差为1/2LSB。
25
26
DAC0832的工作方式 的工作方式
2.单缓冲工作方式 单缓冲工作方式是指将一个寄存器的有关控制信号预 先设置成永远有效,使之直通,而只用一个寄存器完 成D/A转换控制;或将两个寄存器的控制信号连在一 起,两个寄存器作为一个来使用。当CPU写输入寄 存器时,直接写入DAC寄存器。 控制信号的连接有许多不同的选择,如ILE仍可接A0, 与DAC1230兼容。或接高电平。 CS与XREF同接片选,或XREF接地, WR1与WR2并联,接WR, WR1与WR2 之一接WR , 另一接地。或者XREF、WR1、WR2三者并联接WR。 等等,只要符合逻辑都可以。
38
ADC0809芯片 芯片
• CMOS工艺的8位逐 次逼近式ADC • 转换时间为100µs • 内部一个A/D变换器 • 8个模拟输入通道, 可对8路信号进行模 数变换。 • 三态输出锁存
39
ADC0809芯片 芯片
40
ADC0809芯片引脚信号 芯片引脚信号
IN7~IN0:模拟量输入通道。接外部模拟电压信号。 D7~D0:A/D变换结果,数字量输出,三态。接系统数 据总线。 ADDA、ADDB、ADDC:模拟通道选择。接系统地址 总线。 ADC0809的引脚信号比较特别,无片选信号, , 只有通道选择,要组合片选信号。 START:启动转换。 EOC:工作状态标志,输出。低 电平,正在转换;高电平,转换结束。可作为中断请 求信号。 OE:输出允许,高电平有效。有效时A/D结果出现在数 字量输出引脚端。接系统IOR。
13
D/A转换器的性能指标(2) 转换器的性能指标( ) 转换器的性能指标
线性误差:指D/A转换器的实际转换特性曲线 与理想转换特性曲线之间的最大偏差 线性误差 = (|实际值 – 理想值|)/分辨率。 • 建立时间:指从D/A变换器输入端数字量发 生变化,到模拟量输出端达到稳定值所需 要的时间。反映了D/A变换器的速度。 • 温度系数:温度系数是指在规定的温度范 围内,温度每变化1℃时,失调、增益、线 性度等参数的变化量
21
DAC0832结构及引脚信号 结构及引脚信号
22
DAC0832与CPU连接
• DAC0832没有地址线,只有片选信号CS,只要 CS为低即选中。 • DI7~DI0接数据总线 • DAC0832写控制逻辑相对复杂,有两个写信号, 其中WR2与XREF控制写DAC寄存器。 WR XREF DAC WR1、ILE和CS控制写输入寄存器。 • CS为片选,接译码器,ILE有两种接法: 1 接电源(+5V),这时, 2 接地址线A0,当CS为低,且ILE(A0)=1。可 与DAC1230(12位DA兼容)。
29
DAC0832的工作方式 的工作方式
30
单极性电压输出
• • • • 假定反馈电阻Rfb= R, 当输入DI=0,IOUT1=0,VOUT=0, 当DI=80H,输入电阻=2R,VOUT=VREF/2 当DI=0FFH,输入电阻网络=R,VOUT ≈ VREF
31
单极性输出电路输出电压为
• VOUT= ―( D/256 )*VREF • 因为IOUT1接运算放大器的反相输入端,所 以式中有一个负号。如果基准电压VREF = 5V,当输入0~255时,图(a)的输出电压为 0~ 4.98v • VOUT = -IOUT*RFB = -(VREF / R)*(D/28)*RFB = - VREF*(D/256) VREF可正,可负。若要得到正输出电压, VREF为负电压。
27
DAC0832单缓冲方式连接
28
DAC0832的工作方式 的工作方式
3 单极性和双极性电压输出 DAC0832是电流输出型D/A转换器。内部阻抗 较大,无法直接驱动负载,必须外加变换电路。 要得到模拟电压输出,需外加I/V转换电路。 常用运算放大器实现单极性电压输出电路 。 并且为反相输出(a)。此时要得到正输出电压, VREF要采用负电源。 采用两级运算放大器,可实现双极性电压输出 (b)。 此时,VREF要采用正电源。
相关文档
最新文档