微型计算机原理与接口技术第十一章课后答案

合集下载

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

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

《微机原理与接⼝技术》课后习题答案第⼀章1.在计算机中为什么使⽤⼆进制数存储数据⽽不使⽤⼗进制数存储数据?答:计算机是由⼤量的电⼦器件组成的,在这些电⼦器件中,电路的通和断、电位的⾼和低,⽤两个数字符号“1”和“0”分别表⽰容易实现。

同时⼆进制的运算法则也很简单,因此,在计算机内部通常⽤⼆进制代码来作为内部存储、传输和处理数据。

2.完成下列数制之间的转换。

(1)01011100B=92D (2)0.10110011B=0.41D(3)135D=1111101B (4)99.4375D=1100011.0111B3.组合型BCD码和⾮组合型BCD码有什么区别?写出⼗进制数254的组合型BCD数和⾮组合型BCD数答:1)BCD码是通常的8421码,它⽤4个⼆进制位表⽰⼀个⼗进制位,⼀个字节可以表⽰两个⼗进制位,即00~992)⾮组合BCD码⽤8个⼆进制位表⽰⼀个⼗进制位,实际上只是⽤低4个⼆进制位表⽰⼀个⼗进制位0~9,⾼4位任意,但通常默认为03)254(10)=0010 0101 0100(BCD)254(10)=00100101 00000100(BCD)4.ASCII码的编码⽅法是什么?写出⼗进制数205和字符串A+B=C的ASCII码。

答:1)ASCII码的编码⽅法是使⽤7 位⼆进制数来表⽰所有的⼤写和⼩写字母,数字0 到9、标点符号,以及在美式英语中使⽤的特殊控制字符2)⼗进制205的ASCII码是:011 000 1013)字符串A+B=C的ASCII码是:412B423D435.机器数与真值有什么区别?机器数有哪些特点?答:1)真值是所表⽰的数的⼤⼩,⼀般⽤⼗进制表征。

机器数原码,补码,反码都是机器数⼀种表现形式,或说都属于机器数2)机器数的特点:⼀:数的符号数值化。

实⽤的数据有正数和负数,由于计算机内部的硬件只能表⽰两种物理状态(⽤0和1表⽰),因此实⽤数据的正号“+”或负号“-”,在机器⾥就⽤⼀位⼆进制的0或1来区别。

微机系统及其接口设计原理 课后习题

微机系统及其接口设计原理 课后习题

第二章、练习
1. 8086 CPU由哪两部分组成?它们的主要功能 是什么?8086与8088的主要区别是什么?
8086/8088微处理器的内部组成结构按照功能可分成
总线接口部件BIU(Bus Interface Unit)和指令执行部件 EU(Execution Unit)两大部分。 BIU的主要作用是实现CPU对外部三总线的控制并 与外部进行数据交换。具体的操作主要是根据指令 的要求合成20位的地址信号及产生与外部总线数据 传输需要的控制信号时序,最终实现与外部的数据 交换。
2. 8086/8088 CPU内部有哪些 寄存器?其主要作用是什么?
通用寄存器:AX,BX,CX,DX
AX(AH+AL):累加器(Accumulator)。是寄存器中
最忙的一个。大多数的算术和逻辑运算以及输入/输 出都必须经由它进行。 BX(BH+BL):基地址寄存器(Base)。在间接寻址 中作为偏移地址寄存器;在基址寻址中作为基地址寄 存器。 CX(CH+CL):计数寄存器(Count)。在块传送和 循环等指令中固定的充当计数器。 DX(DH+DL):数据寄存器(Data)。在乘除法指 令中固定充当辅助的操作数寄存器;在输入/输出指 令中固定作为外设口地址寄存器。
3.试述8086/8088 CPU中的SP, BP,SI,DI有何种特殊用途。
SP:堆栈指针(Stack Pointer)。 固定配合SS来指定
(寻址)内存中的堆栈区栈顶的当前偏移地址。当 执行完入栈/出栈指令后,SP的值会自动减2/加2。 其值将始终指向栈顶位置。 BP:基数指针(Base Pointer)。 用于提供多种寻址 方式中的偏移地址或基地址,还用于配合SS提供堆 栈区的非栈顶单元偏移地址。

微型计算机原理与接口技术第十一章课后答案

微型计算机原理与接口技术第十一章课后答案

第十一章1. 包含A/D和D/A的实时控制系统主要由哪几部分组成?什么情况下要用多路开关?什么时候要用采样保持器?答:对多个变化较为缓慢的模拟信号进行A/D转换时,利用多路开关将各路模拟信号轮流与A/D转换器接通,使一个A/D转换器能完成多个模拟信号的转换,节省硬件开销。

一个模数转换器完成一次模数转换,要进行量化、编码等操作,每种操作均需化费一定的时间,这段时间称为模数转换时间tc。

在转换时间tc内, 输入模拟信号x(t)变化速率较高时,在转换过程中,输入模拟量有一个可观的△x,结果将会引入较大的误差。

也就是说,在A/D转换过程中,加在转换器上的电平在波动,这样,就很难说输出的数字量表示tc期间输入信号上哪一点的电压值,在这种情况下就要用采样保持器来解决这个问题。

2. 什么叫采样、采样率、量化、量化单位?12位D/A转换器的分辨率是多少?答:采样就是按相等的时间间隔t从电压信号上截取一个个离散的电压瞬时值,t越小,采样率f s越高。

对一个被采样的信号电压的幅度变化范围进行分层,确定某一个采样电压所在的层次,该分层的起始电平就是该采样的数字量,此过程称为量化,每个分层所包含的最大电压值与最小电压值之差,称为量化单位,用q表示,量化单位越小,精度越高。

12位D/A转换器,2n=4096,其分辨率为1/4096*FSR=0.0244%FSR3. 某一8位D/A转换器的端口地址为220H,已知延时20ms的子程序为DELAY_20MS,参考电压为+5V,输出信号(电压值)送到示波器显示,试编程产生如下波形:(1)下限为0V,上限为+5V的三角波(2)下限为1.2V,上限为4V的梯形波。

答:(1)由于1LSB=5V/256=0.019V,所以下限电压对应的数据为0/0.019V=0上限电压对应的数据为5V/0.019V=256程序段如下:BEGIN:MOV AL,0 ;下限值MOV DX,220HUP:OUT DX,AL ;D/A转换CALL DELAYINC AL ;数值增1CMP AL,00H ;超过上限了吗?JNZ UP ;没有,继续转换DEC AL ;超过了,数值减量DOWN:OUT DX,AL ;D/A转换CALL DELAYDEC AL ;数值减1CMP AL,00H ;低于下限了吗?JNZ DOWN ;没有JMP BEGIN ;低于,转下一个周期(2)下限电压对应的数据为1.2V/0.019V=61=3DH上限电压对应的数据为4V/0.019V=205=0CDH产生梯形波的程序如下:BEGIN:MOV AL,3DH ;下限值MOV DX,220HUP:OUT DX,AL ;D/A转换CALL DELAYINC AL ;数值增1CMP AL,0CDH ;到达上限了吗?JNZ UP ;没有,继续转换OUT DX,ALCALL DELAY_20MS ;到达上限延时输出方波DEC ALDOWN:OUT DX,AL ;D/A转换CALL DELAYDEC AL ;数值减1CMP AL,3DH ;到达下限了吗?JNZ DOWN ;没有,继续OUT DX,ALCALL DELAY_20MS ;到达下限延时输出方波INC ALJMP UP4. 利用DAC0832产生锯齿波,试画出硬件连线图,并编写有关的程序。

微机原理与接口技术课后习题答案完整版

微机原理与接口技术课后习题答案完整版

习题11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

汇编语言是面向及其的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。

2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。

这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。

3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。

答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。

“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。

②在计算机内部采用二进制来表示程序和数据。

③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。

④五大部件以运算器为中心进行组织。

4.请说明微型计算机系统的工作过程。

答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。

如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。

5.试说明微处理器字长的意义。

答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。

它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。

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

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

《微型计算机原理与接口技术》习题与思考答案第1章微型计算机概论1.1 A B C 1.2 B 1.3 B 1.4 C 1.5 A B C 1.6 B D1.7 00000111B=7D=07H 11010100B=212D=D4H01101010B=106D=6AH 10110.101B=22.625D=16.AH11001.011B=25.375D=19.6H1.8 127D=11111111B=FFH 12.625D=1100.101B=C.AH225.9375D=11100001.1111B=E1.FH 18.3l25D=10010.0101B=12.5H206.125=11001110.001B=CE.2H1.9 10H=10000B=16D 0.A8H=0.10101B=0.65625D28.9H=101000.1001B=40.5625D 4B.2AH=1001011.0010101B=75.6762D20E.4H=1000001110.01B=526.25D1.10 [+37]原=00100101B [+37]反=00100101B [+37]补=00100101B [+37]过余=10100101B[+94]原=01011110B [+94]反=01011110B [+94]补=01011110B [+94]过余=11011110B[-11]原=10001011B [-11]反=11110100B [-11]补=11110101B [-11]过余=01110101B[-125]原=11111101B [-125]反=10000010B [-125]补=10000011B [-125]过余=00000011B 1.11补码00010101B的真值为+21D 补码41H的真值为+65D补码9BH的真值为-101D 补码FFH的真值为-1D补码11110101B的真值为-11D1.12 A的ASCII码为41H a的ASCII码为61Hg的ASCII码为67H z的ASCII码为7AH0的ASCII码为30H 9的ASCII码为39H*的ASCII码为2AH +的ASCII码为2BHCR的ASCII码为0DH %的ASCII码为25H1.12一个16×16字形点阵占用存储空间32B一个24×24字形点阵占用存储空间72B一个32×32字形点阵占用存储空间128B1.14 (以8位补码为例)[X]补+[Y]补=[+38]补+[+100]补=0001010B,溢出[X]补+[Z]补=[+38]补+[-20]补=00010010B,未溢出[Y]补- [Z]补=[+100]补- [-20]补=01111000B,未溢出[Z]补- [X]补=[-20]补- [+38]补=11000110B,未溢出1.15 X与Y=0100B X或Z=1111B Y异或Z=1101B 非Y=1001B1.16微型计算机具有体积小、重量轻、功耗低;功能强;可靠性高;价格低廉;结构灵活、适应性强;使用方便、维护容易等特点。

16 32位微机原理、汇编语言及接口技术第十一章课后习题答案

16 32位微机原理、汇编语言及接口技术第十一章课后习题答案

习题11.4习题11.6连接只改PA→PB,其余不变只要把涉及输出到端口A的代码改为输出到端口B即可。

PC7做选通信号,为输出,即C端高部分为输出PC2为Busy,为输入,即C端低部分为输入C端整个定为方式0B端输出,方式0A端任意,这里为方式0输出假设8255A端口A、B、C和控制端口地址分别为FFF8H、FFFAH、FFFCH和FFFEH。

;8255A的初始化mov dx,0fffeh ;控制端口地址:FFFEHmov al,10000001B ;方式控制字:10000001=81Hout dx,al ;B端口方式0输出,C端口上方式0输出、下方式0输入,; 端口任意(方式0,出)mov al,00001111B ;端口C的复位置位控制字,使PC7=1out dx,al ;使PC7=1,即置STROBE*=1(只有输出数据时才为低脉冲);输出打印数据子程序,入口参数AH=打印数据;查询printc procpush axpush dxprn: mov dx,0fffch ;读取端口Cin al,dx ;查询打印机状态and al,04h ;00000100,PC2=BUSY=0?jnz prn ;PC2=1,打印机忙,则循环等待;打印子程序:输出mov dx,0fffAh ;PC2=0,打印机不忙,则输出数据mov al,ahout dx,al ;将打印数据从端口B输出;打印子程序:打印mov dx,0fffeh ;从PC7送出控制低脉冲mov al,00001110B ;置STROBE*=0out dx,alnop ;产生一定宽度的低电平nopmov al,00001111B ;置PC7=1,即STROBE*=1out dx,al ;最终,STROBE*产生低脉冲信号;打印子程序:返回pop dxpop axretprintc endp习题11.7方式1输出下:端口A的ACK*即PC6,OBF*即PC7,INTR即PC3对应端口B的ACK*即PC2,OBF*即PC1,INTR即PC0数据端口变换为PBmov dx,0fffehmov al,84hout dx,almov al,04h ;使INTEB(PC2)为0,禁止中断out dx,al……mov cx,counter ;打印字节数送CXmov bx,offset buffer ;取字符串首地址call prints ;调用打印子程序prints procpush ax ;保护寄存器push dxprint1: mov al,[bx] ;取一个数据mov dx,0fffahout dx,al ;从端口B输出mov dx,0fffchprint2: in al,dxtest al,02h ;检测(PC1)为1否?jz print2inc bxloop print1pop dxpop axretprints endp习题11.8L0~L3对应PC4~PC7,L亮否可以通过给PC4~PC7置位复位实现,即C端口的高部分为输出;根据K0~K3(PC0~PC3),确定L0~L3(对应PC4~PC7)亮否,所以C端低部分为输入;又C端的8位都被正常使用,所以A端口和B端口均为方式是0;写入方式字mov al,100×00×1b ;=81hmov dx,控制口地址;0fffehout dx,al;加入下一段更好,使L0~L3全亮mov al,0fhmov dx,端口C地址;0fffchout dx,al ;PC4~PC7为高,经反向驱动为0,与阳极间形成通路,LED亮;控制程序段mov dx,端口C地址;0fffchin al,dx ;读入PC0~PC3mov cl,4shl al,cl ;左移4位,PC0~PC3→PC4~PC7out dx,al ;控制PC4~PC7。

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

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

微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。

答:(1)微处理器:微处理器(Microprocessor)简称或MP,或CPU。

CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU (Arithmetic Logic Unit )、控制部件CU (Co ntrol Un it )和寄存器组R (Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。

(2)微型计算机:微型计算机(Microcomputer )是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。

(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。

其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。

软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。

一般把软件划分为系统软件和应用软件。

其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。

而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。

2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。

答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。

当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。

(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。

《微机原理与接口技术》课件第11章

《微机原理与接口技术》课件第11章

11.2 开 关 量 接 口
11.2.1 光电子器件
光电技术应用于计算机系统是当前一种较新的趋势,在信 号传输和存储等环节中,可有效地应用光信号。例如,在电话 与计算机网络的信息传输,声像演播用的CD或VCD,计算机光 盘CD-ROM,甚至于在船舶和飞机的导航装置、交通管理设备 中均采用现代化的光电子系统。光电子系统的突出优点是,抗 干扰能力较强,传输速率极高,而且传输损耗小,工作可靠。 它的主要缺点在于,光路比较复杂,光信号的操作与调制需要 精心设计。光信号和电信号的接口需要一些特殊的光电转换器 件,下面分别予以介绍。
4) 多路转换开关 在生产过程中,要监测或控制的模拟量往往不止一个,尤 其是数据采集系统中,需要采集的模拟量一般比较多,而且不 少模拟量是缓慢变化的信号。对这类模拟信号的采集,可采用 多路模拟开关切换,使多个模拟信号共用一个A/D转换器进行 采样和转换,以降低成本。
5) 采样保持电路 在数据采样期间,保持输入信号不变的电路称为采样保持 电路。由于输入模拟信号是连续变化的,而A/D转换器完成一 次转换需要一定的时间,这段时间称为转换时间。不同的A/D 转换芯片,其转换时间不同。对于变化较快的模拟输入信号, 如果在转换期间输入信号发生变化,就可能引起转换误差。 A/D转换芯片的转换时间越长,对同样频率模拟信号的转换精 度的影响就越大。所以,在A/D转换器前面要增加一级采样保 持电路,以保证在转换过程中,输入信号的值不变。
0.4~1
1~2
2.0~2.2
2~4
5~10
2.0~2.2
1~3
3~8
2.2~2.4
0.5~3
1.5~8
发光二极管的另一种重要用途是将电信号变为光信号,通 过光缆传输,然后再用光电二极管接收,再现电信号。图11.5表 示一发光二极管发射电路通过光缆驱动一个光电二极管电路。 在发射端,一个0~5 V的脉冲信号通过300 Ω的电阻作用于发光 二极管(LED),这个驱动电路可使LED产生一数字光信号,并作 用于光缆。由LED发出的光约有20%耦合到光缆。在接收端传 送的光中,约有80%耦合到光电二极管上,以致在接收电路的 输出端可复原为0~5 V电平的数字信号。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十一章1. 包含A/D和D/A的实时控制系统主要由哪几部分组成?什么情况下要用多路开关?什么时候要用采样保持器?答:对多个变化较为缓慢的模拟信号进行A/D转换时,利用多路开关将各路模拟信号轮流与A/D转换器接通,使一个A/D转换器能完成多个模拟信号的转换,节省硬件开销。

一个模数转换器完成一次模数转换,要进行量化、编码等操作,每种操作均需化费一定的时间,这段时间称为模数转换时间tc。

在转换时间tc内, 输入模拟信号x(t)变化速率较高时,在转换过程中,输入模拟量有一个可观的△x,结果将会引入较大的误差。

也就是说,在A/D转换过程中,加在转换器上的电平在波动,这样,就很难说输出的数字量表示tc期间输入信号上哪一点的电压值,在这种情况下就要用采样保持器来解决这个问题。

2. 什么叫采样、采样率、量化、量化单位?12位D/A转换器的分辨率是多少?答:采样就是按相等的时间间隔t从电压信号上截取一个个离散的电压瞬时值,t越小,采样率f s越高。

对一个被采样的信号电压的幅度变化范围进行分层,确定某一个采样电压所在的层次,该分层的起始电平就是该采样的数字量,此过程称为量化,每个分层所包含的最大电压值与最小电压值之差,称为量化单位,用q表示,量化单位越小,精度越高。

12位D/A转换器,2n=4096,其分辨率为1/4096*FSR=0.0244%FSR3. 某一8位D/A转换器的端口地址为220H,已知延时20ms的子程序为DELAY_20MS,参考电压为+5V,输出信号(电压值)送到示波器显示,试编程产生如下波形:(1)下限为0V,上限为+5V的三角波(2)下限为1.2V,上限为4V的梯形波。

答:(1)由于1LSB=5V/256=0.019V,所以下限电压对应的数据为0/0.019V=0上限电压对应的数据为5V/0.019V=256程序段如下:BEGIN:MOV AL,0 ;下限值MOV DX,220HUP:OUT DX,AL ;D/A转换CALL DELAYINC AL ;数值增1CMP AL,00H ;超过上限了吗?JNZ UP ;没有,继续转换DEC AL ;超过了,数值减量DOWN:OUT DX,AL ;D/A转换CALL DELAYDEC AL ;数值减1CMP AL,00H ;低于下限了吗?JNZ DOWN ;没有JMP BEGIN ;低于,转下一个周期(2)下限电压对应的数据为1.2V/0.019V=61=3DH上限电压对应的数据为4V/0.019V=205=0CDH产生梯形波的程序如下:BEGIN:MOV AL,3DH ;下限值MOV DX,220HUP:OUT DX,AL ;D/A转换CALL DELAYINC AL ;数值增1CMP AL,0CDH ;到达上限了吗?JNZ UP ;没有,继续转换OUT DX,ALCALL DELAY_20MS ;到达上限延时输出方波DEC ALDOWN:OUT DX,AL ;D/A转换CALL DELAYDEC AL ;数值减1CMP AL,3DH ;到达下限了吗?JNZ DOWN ;没有,继续OUT DX,ALCALL DELAY_20MS ;到达下限延时输出方波INC ALJMP UP4. 利用DAC0832产生锯齿波,试画出硬件连线图,并编写有关的程序。

答:设下限为1.2V,上限为4V,端口地址为300H产生锯齿波的程序如下:BEGIN:MOV AL,3CHMOV DX,300HAGAIN:INC ALOUT DX,AL ;D/A转换CALL DELAYCMP AL,0CDHJNZ AGAINJMP BEGIN5. (1)画出DAC1210与8位数据总线的微处理器的硬件连接图,若待转换的12位数字是存在BUFF开始的单元中,试编写完成一次D/A转换的程序。

(2)将DAC1210与具有16位数据总线的8086相连,其余条件同(1),画出该硬件连线和编写D/A转换程序。

答:(1)START:MOV DX,220H ;指向220H端口MOV CL,4 ;移位次数MOV BX,BUFF ;取要转换的数据SHL BX,CL ;BX中数左移4次后向左对齐MOV AL,BH ;取高8位OUT DX,AL ;写入8位输入寄存器INC DX ;口地址为221HMOV AL,BL ;取低4位OUT DX,AL ;写入4位输入寄存器INC DX ;口地址为222HOUT DX,AL ;启动D/A转换,AL中可为任意值(2)D11D10D9D8D7D6D5D4D3D2D1D0START:MOV DX,220H ;指向220H端口MOV AX,BUFF ;取要转换的数据OUT DX,AX ;写入8位输入寄存器INC DXINC DX ;口地址为222HOUT DX,AL ;启动D/A转换,AL中可为任意值6. 利用8255A和ADC0809等芯片设计PC机上的A/D转换卡,设8255A的口地址为3C0H~3C3H,要求对8个通道各采集1个数据,存放到数据段中以D_BUF为始址的缓冲器中,试完成以下工作:(1)画出硬件连接图。

(2)编写完成上述功能的程序。

答:(1)(2)AD_SUB PROC NEARMOV CX,8 ;CX作数据计数器MOV BL,00H ;模拟通道号存在BL中LEA DI,D_BUF ;缓冲区NEXT_IN: MOV DX,3C2H ;8255A端口C地址MOV AL,BLOUT DX,AL ;输出通道号MOV DX,3C3H ;指向控制口MOV AL,00000111B ;PC3置1OUT DX,AL ;送出开始启动信号NOP ;延时NOPNOPMOV AL,00000110B ;PC3复位OUT DX,AL ;送出结束启动信号MOV DX,3C2H ;C口NO_CONV: IN AL,DX ;读入C口内容TEST AL,80H ;PC7,EOC信号JNZ NO_CONV ;PC7=1,未开始转换,等待NO_EOC:IN AL,DX ;PC7=0,已启动转换TEST AL,80H ;再查PC7JZ NO_EOC ;PC7=0,转换未结束,等待MOV DX,3C0H ;PC7=1,转换结束,DX指向A口IN AL,DX ;读入数据MOV [DI],AL ;存入缓冲区INC DIINC BL ;指向下个通道LOOP NEXT_INAD_SUB ENDP7. 试利用ADC0809,8253和8259A等芯片设计8通道A/D转换电路。

系统中用8253作定时器,采用中断方式控制采样率,采样率为500Hz。

设8253的通道0输入时钟脉冲为2MHz,输出端OUT0接8259A的IR2,8253的口地址为300H~303H,8259A的口地址为304H和305H,ADC0809的8个输入通道的口地址为308H~30FH,查询EOC信号和状态口地址为306H,ADC0809的输入时钟频率为640KHz,A/D转换的结果依次存入数据段中以BUFFER 为始址的内存中,从通道0开始先存入各通道的第一个数据,再存放第二个数据,采集10秒钟后停止工作。

要求:(1)画出硬件连线图,可以不画具体的译码电路。

(2)编写8253,8259A(只需写入中断屏蔽字)的初始化程序及采集8路模拟信号的中断服务程序。

答:(1)308H~30FH306H 640KHz(2)因为8253的时钟输入频率为2MHz,而要求的采样频率f=500Hz,即用8253定时,每隔2ms中断一次,因此8253的分频次数(时间常数)N=2MHz/500Hz=4000。

采集10秒钟,共采集10s/2ms=5000次,即8253中断次数为5000次。

DATA SEGMENTBUFFER DB 8*5000 DUP(?)DATA ENDS;数据采集子程序8253初始化编程,通道0,方式2,先写低字节,后高字节,BCD计数,时间常数4000 MOV DX,303HMOV AL,00110101BOUT DX,ALMOV DX,300H ;通道0MOV AX,4000H ;时间常数OUT DX,ALMOV AL,AH;8259A设置屏蔽字,仅允许8259A的IR2和键盘中断,其余禁止MOV AL,11111001B ;屏蔽字MOV DX,305HOUT DX,AL ;向屏蔽寄存器输出屏蔽字;设置数据缓冲区始址到SI中,计数初值到BX中,等待中断,每通道采完5000次后结束中断MOV SI,OFFSET BUFFER ;SI指向数据缓冲区MOV BX,5000STI ;开中断AGAIN:CMP BX,0JNZ AGAINMOV AL,11111101B ;采集完,禁止IR2中断MOV DX,305HOUT DX,ALMOV AH,4CH ;退出中断INT 21H;中断服务程序,对每个通道均采集一个数据,存入BUFFERADINT PROC NEARMOV CX,0008H ;设置通道计数器初值MOV DX,308H ;DX指向ADC通道0NEXT:OUT DX,AL ;启动一次转换PUSH DX ;保存通道号MOV DX,306H ;DX指向状态口POLL:IN AL,DX ;读入EOC状态TEST AL,80H ;EOC(D7)=0?即开始转换了JNZ POLL ;非0,循环等待NO_END:IN AL,DX ;EOC=0,开始转换TEST AL,80H ;再查EOC是否为1JZ NO_END ;EOC=0,等待转换结束POP DX ;EOC=1,恢复通道地址IN AL,DX ;读取结果MOV [SI],AL ;存储到缓冲区INC DX ;DX指向下一个通道INC SI ;地址指针指向下一个缓冲单元LOOP NEXT ;通道计数器减1,结果非0则循环DEC BX ;为0,缓冲数据计数器减1MOV AL,20HMOV DX,304HOUT DX,ALSTI ;开中断IRETADINT ENDP8. 利用8255A 和AD574A 设计数据采集系统,输入模拟电压为0~+10V ,若每秒采集100个数据,转换后的数据字存放在W_BUF 开始的缓冲器中,低字节在前,高字节在后,采满16K 字节的数据后停止工作,要求: (1)画出硬件连线图。

(2)编写启动AD574A 工作和读取转换结果的子程序。

答:(1)(2)16K 字节的数据共需要8K=8192次采集;8255A 的端口地址PORT_A EQU 0F0H ;A 口地址 PORT_B EQU 0F1H ;B 口地址 PORT_C EQU 0F2H ;C 口地址 PORT_CTL EQU 0F3H ;控制口地址;8255A 控制字:A 口和B 口工作于方式0,A 口、B 口和C 口的上半部分为输入,C 口的下半部分为输出LEA DI ,W_BUF MOV CX ,8192AD_CONT :MOV AL ,10011010B ;方式字OUT PORT_CTL ,AL ;输出方式字 ;启动A/D 转换 MOV AL ,00HOUT PORT_C ,AL ;使CS ,CE ,C R/均为低 NOP ;延时 NOPMOV AL ,04HOUT PORT_C ,AL ;使CE=1,启动A/D 转换 NOP NOPMOV AL ,03HOUT PORT_C ,AL ;使CE=0,CS =C R/=1,结束启动状态READ_STS:IN AL,PORT_C ;读STS状态TEST AL,80H ;转换(STS=0)完了吗?JNZ READ_STS ;否,则循环等待;转换完成,启动读操作MOV AL,01HOUT PORT_C,AL ;使=0,CE=0,R/=1NOPR/=1 MOV AL,05H ;使CE=1,CS=0,COUT PORT_C,AL;读取数据,存入BX中IN AL,PORT_A ;读入高4位数据AND AL,0FHMOV BH,AL ;存入BHIN AL,PORT_B ;读入低8位MOV BL,AL ;存入BLMOV [DI],BX ;存入缓冲区INC DIINC DI;结束读操作MOV AL,03H ;使CE=0,CS=1OUT PORT_C,AL ;结束读操作CALL DELAY_10MS ;延时10个毫秒LOOP AD_CONT。

相关文档
最新文档