ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:655.87KB ,
资源ID:20050791      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20050791.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术习题集4Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理与接口技术习题集4Word格式文档下载.docx

1、 程序中,先使用一条输出指令把X坐标数据送到X向转换器的输入寄存器。然后又用另一条输出指令把Y坐标数据送到Y向转换器的输入寄存器。最后用一输出指令将前面两次写入输入寄存器的数据,同时打入两个转换器的DAC寄存器,进行数据转换,即可实现X和Y两个方向坐标量的同步输出。X向坐标数据和Y向坐标数据存于AX中。 绘图仪的驱动程序段为:HTY PROCPUSH CXPUSH DXMOV DX,380HOUT DX, AL ;输出XMOV DX, 384HXCHG H, ALOUT DX, AL ;输出YMOV DX, 388H ;X、Y送DAC寄存器LOOP $ ;等待转换POP DXPOP CXRET

2、HTY ENDP 618. 编写 DAC0832实现一次D/A转换的程序 设定要转换的数据放在1000H单元中 程序如下:MOV BX,1000HMOV AL,BX ;取转换数据MOV DX,PORTA ;PORTA为D/A转换器端口地址OUT DX,AL 在实际应用中,经常需要用到一个线性增长的电压去控制某一个检测过程,或者作为扫描电压去控制一个电子束的移动。执行下面的程序段,利用D/A转换器产生一个锯齿波电压,实现此类控制作用。 MOV DX,PORTA ; MOV AL,0FFH ;置初值ROTAT: INC AL OUT DX,AL ;往D/A转换器输出数据 CALL DELAY ;调

3、用延迟子程序 JMP ROTATDELAY:MOV CX,DATA ;置延迟常数DATADELAY1:LOOP DELAY1 RET 实际上,程序段执行结果得到的输出电压会有256个小台阶,不过从宏观上看,仍为连续上升的锯齿波。对于锯齿波的周期,则利用延迟进行调整。延迟的时间如果比较短,可以用几条NOP指令来实现;如果时间较长,则可以用延迟子程序来实现。该程序段就是利用延迟自程序来控制锯齿波周期的。如果需要一个浮想的锯齿波,只要指令INC AL改成DEC AL就可以了。619. 简述DAC0832芯片中8位输入寄存器和8位DAC寄存器的工作过程DAC0832采用二级缓冲输入数据方式,在DAC0

4、832进行D/A转换时可用两种方法: (1)8位输入寄存器工作于锁存状态,8位DAC寄存器工作于缓冲状态,即使为低电平,ILE为高电平,为低电平,当有一个负脉冲,完成一次转换。 (2)8位输入寄存器工作于缓冲状态,8位DAC寄存器工作于锁存状态;即使和输入一个负脉冲,完成一次转换。620. 编写ADC0809与CPU直接连接的程序由于ADC0809具有三态输出缓冲器,所以它能同CPU直接相连(但需要加译码电路),如图201所示。CPU的数据线D7D0直接与ADC0809的数据线D7D0相连。ADC0809的通道地址选择信号ADDA、ADDB和ADDC同数据总线D0、D1、D2相连。设ADC08

5、09的转换时间为100微秒,采用软件延时来等待转换结束。CPU的CLK经8分频后接至0809的CLOCK。地址译码器的输出端(地址为8487H)与CPU的经或非门#2控制启动信号START和通道地址锁存允许信号ALE;与CPU的经过或非门#1使0809的输出允许信号OE有效。则从输入通道读入一个模拟量经DAC0809转换后进入CPU的程序为:MOV AL,01H ;送输入通道号1OUT 84H,AL ;并发出启动信号CALL DELAY 100;等待转换结束,延时100微秒IN AL,84H ;转换结束,读入数据HLT若改用中断方式,则可将转换结束信号EOC作为中断请求信号,在中断服务程序中读

6、入转换后的数据。621. 编写ADC0809通过并行接口与CPU的连接的程序(P308例254)ADC0809通过并行接口芯片8255A与CPU相连的接口如图202所示。0809数字量输出D0D7同系统总线D0D7直接相连,CPU的CLK经8分频后接到0809的CLOCK端。地址译码器的输出(地址为80H83H),接到8255A的(地址为84H87H)用来选通ADC0809.0809的START与ALE同8255A的相连,EOC与相连。0809的ADDA、ADDB和ADDC同从输入通道读入一个模拟量经ADC0809转换后送入CPU的程序为:MOV AL,88H ;8255A初始化,工作方式0

7、OUT 83H,AL ;PB口输出,PC口高4位输入 MOV AL,00H ;取通道0,且产生为信号 OUT 81H,AL ;启动ADC0809转换 ADD AL,10H OUT 81H,AL SUB AL,10HLOP: IN AL,82H ;检查EOC TEST AL,80H JZ LOP ;EOC=0,继续查询 IN AL,84H ;EOC=0,使0809的OE有效,允许输出 HLT ;读入数字量622. 在ADC0809电路中,若改为中断方式读取转换后的数字量,则电路应做哪些改动?程序如何编写?(P310例255)PC机的系统总线中为保留引脚,是为了应用系统中采用中断方式工作时接受中断

8、请求信号所用。因此在采用中断方式工作时,可以把EOC通过一个单稳电路产生具有一定宽度的郑脉冲,送到总线的端即可。控制程序分为:主程序和服务中断程序。主程序:MOV AL,80HOUT 83H,ALMOV AL,00HOUT 81H,ALADD AL,10HOUT 81H,ALSUB AL,10HSTI中断程序:PROCADC PROC FAR PUSH AX IN AL,84H POP AX IRETPROCADC ENDP623. 设计D/A转换器的接口电路,并编写转换程序(P311例257)设8255A的端口A以工作在方式1时作D/A转换器的输出接口,利用下降沿启动D/A转换,转换结束的回

9、答信号为“0”脉冲,8255A的端口地址为3F0H3F3H。要求:(1)D/A转换器的接口电路包括:D/A转换器与8255A连接,8255A的主要信号线D0D7,如图所示。 (2)采用条件传送方式,将存储器BUFER缓冲区中的3000个波形数送D/A转换器转换。转换程序如下:MOV DX,3F3H MOV AL,10100000B ;8255A方式字 OUT DX,AL MOV AL,00001101B ;复位 LEA SI,BUFFER ;偏移首地址 MOV DX,3000LOP: MOV DX,3F0H MOV AL,SI ;从缓冲区取出一个数据送PA INC SI MOV DX,3F2H

10、LOP1: IN AL,DX AND AL,08H ;检查、=0时,继续查 JZ LOP1 LOOP LOP INC DX MOV AL,00001100B ;已输出3000个数据,将 HLT624. 编写中断方式进行数据传送的A/D转换的程序(P312例258)设用8253定时器产生定时启动,8253使用及联的方式,产生任意所需的A/D转换时间间隔,电路连接如图所示。8253的通道0工作在方式2,其速率输出负脉冲反向后启动A/D转换器转换。通道1工作在方式1,这是一种可重复触发的单稳输出,通道1的单稳输出可控制通道0的,该门控信号的上升沿或高电平使通道0技术。反之,则停止计数。因此,信号可控

11、制A/D转换的持续时间,而能提供两次A/D转换所需的时间。各通道的工作状况见下表。通道号计数值时钟输入工作方式输出作用N0F2F/N0启动A/D转换1N1F/N2F/N2*N1N1个持续时间N23产生级联时间若时钟F为1MHz,数据采集要求0.1s内采集100个数据,计算一下8253各个通道的计数常数值:1)0.1s采集100个数,则采样速率为1ms。 由F/N0=1ms得N0=1MHz/1ms=10002)共要采集1000个数,则采样持续时间为1s,则N1=10003)由于持续时间为1s,即F/N1*N2=1s;故N2=F/N1=1000在程序编写中,一般先建立中断矢量表;后初始化可编程接口

12、芯片。此时,应将8253定时器的初始化程序放在其他初始化程序之后,因为8253一旦初始化,定时就开始。最后才写主程序和中断服务程序。8253-0 EQU 40H 8253-1 EQU 42H 8253-2 EQU 44H 8253-C EQU 46H 8255-A EQU 80H 8255-B EQU 82H 8255-C EQU 84H 8255-S EQU 86H 8259- EQU 60H EQU 62HDATA SEGMENT: DW, :DW, ADBUF DW,1000 DUP(?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:

13、PUSH DS MOV AX,DATA MOV DS,AX MOV AX,0 ;建立中断矢量表 MOV ES,AX MOV DI,48H4 ;中断类型号为48H MOV AX,OFFSET ADINT ;ADINT为中断服务程序名 CLD STOSW MOV AX,CS CLI ;关中断 MOV AL,0B0H ;8255A初始化 OUT 8255-S,AL MOV AL,09 ;8255A OUT 8255-S,AL ;允许8255A口中断 MOV AL,1BH ;8259A初始化 OUT 8259- ,AL MOV AL,48H ; ,AL MOV AL,03 ; MOV AL,14H ;

14、8253通道0控制字OUT 8253-C,ALMOV AX, ;8253通道0计数值OUT 8253-0,ALMOV AL,AHOUT 8253-0,ALMOV AL,73H ;8253通道1控制字OUT 8253-C,ALMOV AX,8253通道1计数值OUT 8253-1,ALMOV AL,96H ;8253通道2控制字8253通道2计数值OUT 8253-2,ALMOV BX,OFFSET ADBUF ;A/D采集缓冲区首址MOV CX,ADCONT ;采集数据个数 STI ;开中断 HLT ;等待中断 INC BX ;中断返回准备下一个 LOOP LOP1 ;数据地址 POP DS

15、;采集结束 MOV AX,4C00H INT 21HADINT PROC NEAR ;中断服务 IN AL,8255-A ;取A/D转换数据 MOV BX,AL ;数据放缓冲区ADINT ENDPCODE ENDS END START625. 设计一块炉温控制接口卡,并编写驱动程序(P315例259)利用A/D转换器将反映炉温的模拟信号转换为数字信息Xhou,通过8255A的A口读入,进行f(x)运算后,经8255A B口输出,再经D/A转换为模拟信号输出去调节炉温,控制接口卡的逻辑原理图如图所示。接口卡的核心是一块8255A芯片,假设其端口地址为300H 303H。A口设为方式1输入与A/D

16、转换器相连。A/D转换器的特性如下:当输入控制端CI出现下跳沿时,就启动A/D转换,转换完一个数据时,在A/D的输出控制端CO会出现负脉冲。所以将8255A的接A/D的CI,将接A/D的CO。将接8259A的只要执行一次读A口的输入指令,CI就会出现负跳变,而启动A/D转换,当一次A/D转换完成后,从CO出现负脉冲。通过向发出中断请求信号。进入中断服务程序后,读A口,进行A/D输入,调用f(x)运算自程序,然后将结果从B口经D/A输出。驱动程序如下:STACK SEGMENT PARA STACK STACK DB 256DUP(?STACK ENDSCODE SEGMENT PARA PUB

17、LIC CODESTART PROC FAR ASSUNE CS:CODE, SS:STACK XOR AX,AX PUSH AX ;保存PSP首地址,以便执行完回DOS CLI ;为装入中断矢量而关中断 MOV ES,AX ;0装入ES MOV DI,28H ;矢量号0AH4=28H MOV AV,offsetADINT ;中断服务程序偏移量送AX CLD ;0送DF STOSW ;将AX填入0:28H,0:29H MOV AX,SEG ADINT ;中断服务程序段基址送AX2AH,0:2BH ;以上7条指令完成将A/D中断服务程序入口地址装入中断矢量号为0AH的中断矢量表中 IN AL,2

18、1H ;读入8259AIMR AND AL,11111011B OUT 21H,AL ;开放中断 MOV DX,303H ;指向8255控制口 MOV AL,10110000B ;设8255A A组方式1输入,B组方式0输出 MOV AL,00001001B OUT DX,AL ;开放8255A A组中断 MOV DX,300H ;指向825A口数据 IN AL,DX ;虚读使负跳变启动A/D转换 STI ;初始化完毕开中断 ;执行其他可能存在的主程序 RET ;返回DOSSTART ENDP 中断服务程序:ADINT PROC FAR SIT ;为中断嵌套而开中断 PUSH ES PUSH

19、AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH BP ;保存本服务程序用到的现场 MOV DX,300H IN AL,DX ;A/D输入 CALL IN ;调用控制算法子程序 MOV DX,301H OUT DX,AL ;从D/A输出 MOV AL,20H OUT 20H.AL ;向8259A送EOI命令 POP BP POP DI POP SI POP DX POP CX POP BX POP AX POP DS POP ES ;恢复现场 IRET ;中断返回 ADINT ENDPIN PROC NEAR ;控制算法子程序IN ENDP END

20、 STARS626. ADC0809与8088CPU的计入口硬件连接图及软件设计(P318例260)(1) 连接图如图所示。(2) 软件设计 下面示出采用程序查询法和中断法的汇编源程序1) 用程序查询法将通道1的模拟量转换成数字量,结果放于DATA单元。汇编源程序段:MOV DX,01H ;模拟通道1端口地址TESTO: MOV DX,09H ;模拟通道1状态口地址IN AL,DX ;读入EOC状态 AND AL,80H ;测试EOC状态 JZ TESTO ;EOC为0,转换未完成,继续测试 MOV DX,01H ;EOC为0,转换完毕读取结果 MOV DATA,AL ;存入指定单元也可以将A

21、DDA、ADDB、ADDC接到数据总线的D0、D1、D2 上,则各个模拟通道共用相同数据端口地址和状态贷款地址,而用数据线上低3位的不同状态去选通模拟通道。2) 采用中断法,将通道1的模拟量转换成数字量,结果放于DATA单元。当使用中断法时,应将ADC0809的EOC连接到系统中断请求输入端INTR上,转换结束时,EOC变为高电平,向CPU提出中断请求。在中断服务程序中,CPU读取转换结果,并送结果单元保存。主程序段:MOV DX,01H;OUT DX,AL ;WA:STI ; JMP WA ;等待A/D转换结束中断服务程序段: MOV DX,01H IN AL,DX ;读入转换结果数据 MO

22、V DATA,AL; HLT 627. 分析一个典型的实时控制系统(P324例263)图中是一个典型的对恒温装置进行实时控制的系统模型,图中,A/D采用ADC0809,D/A用DAC0832。恒温装置由电热丝加热,恒温装置的温度通过传感器经电路处理后加到A/D上,由微机将当前的温度值读入,设对应温度0C,经A/D转换后的值为0250。装置的加热量由D/A的输出来控制,D/A输出的值越大,加热产生的热量就越多,相应的温度就越高。当加热产生的热量与装置在所处的环境中散发的热量相等时,该装置的温度就能够保持稳定。因此,为保持恒温装置的温度恒定,可根据A/D检测到的温度值来控制D/A的输出。可建立一个

23、简单的控制模型来实现该恒温控制。在这个模型中,设恒温装置的温度要求控制在左右,为使得该装置的温度保持稳定,假定可采用如下的控制方法来达到要求:D/A的输出值为250减去A/D测得的温度值。那么,只要根据A/D测得的温度值,经微机运算后,由D/A输出相应的控制值,最终能够使温度达到平衡,从而达到保持该装置恒温的目的。实现该模型的控制程序如下:L1:OUT 90H,AL ;选择ADC0809的输入通道0(90H),并启动转换 CALL DELAY ;延时约150微秒,等待转换结束 IN 90H,AL ;将A/D转换的结果独到AL中 MOV BL,AL MOV AL,0FAH SUB AL,BL ;

24、求差值 OUT 80H,AL ;控制值送到D/A JMP L1628. 编写采用无条件传送方式轮流采集的模拟信号的程序(P325例264)如图示,轮流从采集8路模拟信号,并把采集到的数字量存入0100H开始的8个单元内的程序。程序如下:MOV DI,0100H ;设置存放数据的首址MOV BL,08H ;采集8次计数器MOV AH,00H ;选0通道AA1:MOV AL,AH MOV DX,ADPORT ;设置ADC0809芯片地址 OUT DX,AL ;使ALE、START有效,选择模拟通道 MOV CX,0050HWAIT:LOOP WAIT ;延时,等待A/D转换 IN AL,DX ;使OUTPUTENABLE有效,输入数据,见上图 MOV DI,AL ;保存数据 INC AH ;换下一个模拟通道 INC DI ;修改数据区指针 DEC BL JNZ AA1629. 利用8255A连接ADC0809与8086CPU,试编写程序(P334例270)如图示:采用查询方式,连续转换8个通道的模拟量的程序,如下:DATA为存放8个通道转换后的结果。MOV CL,8MOV BL,80HMOV SI,0MOV D

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1