微机第三版教材习题参考答案 马维华(6)

2018-12-02 14:44

26 IA-32 & Intel64微机原理与接口技术(第三版) 布置的习题参考答案

CMP AL,DLV JA REPLP2 JMP REPLP1

2Vref?D?Vref2n

INCDV: INC AL

对于双极应用由式(10-2)知Vo=

D=51时,Vref=5V,因此Vo=2*5/256*51-5=-3V,

D=205时,Vref=5V,因此Vo=2*5/256*205-5=3V,因此程序不变时输出波形为-3V至+3V的三角波,输出波形如图所示。

3V0V-3V

10-5基于16位总线的压力检测系统如图10.21所示,已知8255的PA口作为A/D转换器ADC0809的接口;ADC0809的500KHz CLK时钟由8254 OUT1产生,已知8254的CLK1端接2MHz的时钟信号,GATE1接8255的PC7;DAC0832作为后向输出通道,各地址关系及与系统总线连接如图所示。系统工作过程为:采集8路压力,将其转换后的数字量一方面存放到内存缓冲区(由DATABUF指示),然后取8路压力的平均值,把平均值数字量通过逻辑取反后由DAC0832变换成模拟量输出,如果采集平均值超过Pmax值,则通过在8254的OUT0输出正脉冲为5ms的方波,如果低于Pmin,则让在8254的OUT2输出最大的负脉冲(不需要硬件触发)。

试按以下要求用编写有关程序片段:

(1) 写出8255在本应用系统中的初始化程序片段 (2) 写出供ADC0809的CLK端500KHZ方波的程序片段 (3) 根据系统工作过程写出满足要求的程序片段

(4)通过该电路,还可以扩展应用,请自行设计,说明要求,并给出参考答案。

A9A8A7

12U3374AS11654321A0A1U774AS138E3E2E1CBAY7Y6Y5Y4Y3Y2Y1Y079101112131415U8343332313029282753698356+5C1U2D0D1D2D3D4D5D6D7RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4PC5PC6PC7PB0PB1PB2PB3PB4PB5PB6PB7432140393837141516171312111018192021222324251714158181920212524239622lsb2-82-72-62-52-42-32-2msb2-1ADDAADDBADDCOESTARTALEADC080926272812345A6A5A4A3A2IORCIOWC2MHzD7~D012U5A374AS32IN0IN1IN2IN3IN4IN5IN6IN7压力1压力2压力3压力4压力5压力6压力7压力8信号调理电路模拟信号输入+5710EOCCLOCKref(+)ref(-)121687654321222391110D0D1D2D3D4D5D6D7RDWRCLK0GATE0OUT0A0A1U18254CSCLK1OUT1GATE1OUT2GATE2CLK21920211513141716188255R1U1276541615141312lsbDI0DI1DI2DI3DI4DI5DI6msbDI7CSWR1DAC0832RfbIout1Iout2VrefXferILEWR29+511128171918-5+5U9Vo压力传感器RW模拟输出VCCVCC

图10.21 一数据采集与处理系统原理示意图

解:地址分配: 8254:300H~303H 8255:304H~307H

微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案 27

DAC0832:314H~317H任何一个地址均可 P8254_0 P8254_1 P8254_2 P8254_C P8255A P8255B P8255C PDAC0832

EQU 300H EQU 301H EQU 302H EQU 304H EQU 305H EQU 306H EQU 314H

; 8254-0通道 ; 8254-1通道 ; 8254-2通道 ; 8255A口 ; 8255B口 ; 8255C口 ;DAC0832地址

;8255控制端口 ;92H

EQU 303H ; 8254控制口

P8255Ctrl EQU 307H ; 8255控制口

(1)8255初始化要做的工作就是确定工作方式:A方式0输入、B方式0输入、C口输出

MOV DX,P8255Ctrl MOV AL,10010010B OUT DX,AL

计数值初=2MHz/500KHz=2000/500=4 MOV DX,P8255Ctrl MOV AL,00001111B OUT DX,AL

;PC7=1(GATE1=1) ;8254控制端口地址

;8254通道1设置为8位读写,二进制计数 ;初值

MOV DX,P8254_C MOV AL,01010110B OUT DX,AL MOV AL,4 OUT DX,AL

MOV DX,P8254_1 ;8254通道1口地址

(2)8254产生500KHz方波

(3)

对ADC0809的操作依据三个步骤进行,即启动并锁存地址、查询EOC状态以及转换读取结果,然参考程序如下:

PROC MOV MOV MOV MOV INC OUT MOV MOV OUT MOV

NEAR CX,8 DX, P8255C BL,80H AL,BL BL

DX,AL

;8255的C端口地址

;通道0(低3位,高位1为GATE1) ;选择ADC0809通道 ;指向下一通道

;ALE、START、OE=0,选中INi

MOV SI,OFFSET DATABUF

后根据结果确定DAC0832的输出波形。假设初始化工作已经做完如(1)和(2) ADCS

START:

REPEATL:

DX,P8255Ctrl

AL,00001011B ;ALE=1 DX,AL

AL,00001001B ;START=1

28 IA-32 & Intel64微机原理与接口技术(第三版) 布置的习题参考答案

OUT NOP NOP MOV OUT MOV OUT MOV DX,AL

AL,00001010B ;ALE=0 DX,AL

AL,00001000B ;START=0 DX,AL DX,P8255B AL,DX

;指向8255的B端口

ADCWAIT: IN

RP2:

CALLSUB1:CALLSUB2:AND AL,01 JZ ADCWAIT

;判断EOC是否为1

MOV DX,P8255Ctrl

MOV AL,00000111B ;OE=1 MOV DX,P8255A ;8255的A口地址 IN AL,DX ;读取转换结果 MOV [SI],AL

;存结果 INC SI LOOP REPEATL MOV SI,OFFSET DATABUF MOV CX,8 MOV AX,0

MOV BH,0 MOV AL,[SI] ADD AX,BX INC SI LOOP RP2

MOV BL,8 DIV BL

CMP AL,Pmin JB CALLSUB1 ;低于Pmin产生最大的负脉冲 CMP AL,Pmax

;

JA CALLSUB2

;超过Pmax产生5ms为高电平的方波JMP START NOT AL

MOV DX,PDAC0832 ;DAC0832口地址(E14H~E17H) OUT DX,AL JMP START CALL SUB1 JMP

START CALL

SUB2 JMP

START

微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案 29

DATABUF DB 8 DUP(?)

RET

ADCS SUB2 SUB1

PROC

NEAR

MOV DX,P8254Ctrl ;8254控制端口地址

MOV AL,10110000B ;方式0中断信号发生器方式,产生最大负脉冲 OUT DX,AL MOV DX,P8254_2 MOV AL,0 OUT DX,AL OUT DX,AL RET ENDP

;8254计数通道2地址 ;最大常数0(65536)

ENDP

NEAR ;8254 OUT0产生5ms正脉冲的方波,方波周期为10ms

PROC

MOV DX,P8254Ctrl MOV AL,00110110B OUT DX,AL MOV DX,P8254_0

MOV AX,20000 ;2MHz*(5ms*2)=20000 OUT DX,AL MOV AL,AH OUT DX,AL RET ENDP

SUB2

SUB1

(4)没有使用的译码输出可接其它I/O接口,没有使用的PC6可接LED指示,没有使用的PB1~PB7可以接按键作为输入。具体略。


微机第三版教材习题参考答案 马维华(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于信的名言警句

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: