目录
一、作业内容
二、解答
1、微机系统的I/O端口地址译码有哪几种译码方法?各用在什么场合?
2、要求在教材例3.4中,将I/O地址范围从300H~31F改为340H~34FH,其他不变,此时GAL器件输入源文件中的逻辑表达式应如何改写?(可参考例3.4)
3、定时常数或计算初值有什么作用?如何计算82C54A的定时常数?
4、设系统外接一片82C54A,口地址未280H~283H,GATA0接+5V,CLK0接入的输入计数脉冲信号为5MHz,要求在OUT0D端输出频率为2000Hz的脉冲信号,采用BCD计数方式,请完成下列程序段。
一、作业内容
1、完成教材P45的18
微机系统的I/O端口地址译码有哪几种译码方法?各用在什么场合?
2、完成教材P45的18
要求在教材例3.4中,将I/O地址范围从300H~31F改为340H~34FH,其他不变,此时GAL器件输入源文件中的逻辑表达式应如何改写?(可参考例3.4)
3、定时常数或计算初值有什么作用?如何计算82C54A的定时常数?
4、设系统外接一片82C54A,口地址未280H~283H,GATA0接+5V,CLK0接入的输入计数脉冲信号为5MHz,要求在OUT0D端输出频率为2000Hz的脉冲信号,采用BCD计数方式,请完成下列程序段。
MOV DX,(1)_______
MOV AL,(2) ______
OUT DX,AL ;写控制字
MOV DX,(3) ______
MOV AX,(4)_______
(5)____________
(6)___________
(7) ___________ ;写计数初值
二、解答
1、微机系统的I/O端口地址译码有哪几种译码方法?各用在什么场合?
(1)全译码,所有I/O地址线全部作为译码电路的输入参加译码,一般要求产生单个端口时采用,在台式PC微机中很少使用。
(2)部分译码,高位地址线参加译码产生片选信号,低位地址不参加译码,直接连接到接口芯片,进行接口芯片的片内端口寻址。
(3)开关式译码,在部分译码方法的基础上,加上地址开关来改变端口地址。一般在要求I/O端口地址需要改变时采用。
2、要求在教材例3.4中,将I/O地址范围从300H~31F改为340H~34FH,其他不变,此时GAL器件输入源文件中的逻辑表达式应如何改写?(可参考例3.4)
I/O范围变成340H—34FH后,只能片选4个芯片,每个芯片拥有4个端口。
A9 A8 A7 A6 A5 A4 | A3 A2 | A1 A0 |
110100 | Ix Ix | ? ? |
3根控制线,4根输出线,3根地址线
逻辑表达式:
Y0: A9*A8*/A7*A6*/A5*/A4*/A3*/A2*/AEN*/IOR+A9*A8*/A7*A6*/A5*/A4*/A3*/A2*/AEN*/IOW
Y1: A9*A8*/A7*A6*/A5*/A4*/A3*A2*/AEN*/IOR+A9*A8*/A7*A6*/A5*/A4*/A3*A2*/AEN*/IOW
Y2: A9*A8*/A7*A6*/A5*/A4*A3*/A2*/AEN*/IOR+A9*A8*/A7*A6*/A5*/A4*A3*/A2*/AEN*/IOW
Y3: A9*A8*/A7*A6*/A5*/A4*A3*A2*/AEN*/IOR+A9*A8*/A7*A6*/A5*/A4*A3*A2*/AEN*/IOW
3、定时常数或计算初值有什么作用?如何计算82C54A的定时常数?
定时常数是决定82C54A的计数多少和定时长短重要参数。由于82C54A内部采用的是减法计数器,因此,在它开始计数之前,一定要根据计数的要求,先计算出计数初值,装入计数初值寄存器。
计算方式:
(1)TC=要求定时的时间/时钟脉冲周期=t*CLK
(2)TC=时钟脉冲的频率/要求的波形频率=CLK/f
4、设系统外接一片82C54A,口地址未280H~283H,GATA0接+5V,CLK0接入的输入计数脉冲信号为5MHz,要求在OUT0D端输出频率为2000Hz的脉冲信号,采用BCD计数方式,请完成下列程序段。
(1)283H
(2)35H
(3)280H
(4)2500H
(5)OUT DX,AL
(6)MOV AL,AH
(7)OUT DX,AL