预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验一 I/O地址译码 实验目的 掌握I/O地址译码电路的工作原理。 实验原理和内容 实验电路如图1-1所示,图中线路两端有节点的信号线需要用户用实验导线连接起来,其中74LS74为D触发器,可直接使用实验台上部系统板上的D触发器。74LS138为地址译码器。译码输出端Y0-Y7在实验台中间系统板上引出,每个输出端包含8个地址,即: Y0:280H~287H; Y4:2A0H~2A7H; Y1:288H~28FH; Y5:2A8H~2AFH; Y2:290H~297H; Y6:2B0H~2B7H; Y3:298H~29FH; Y7:2B8H~2BFH; 图1-1I/O地址译码电路图 当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令,对应的译码输出脚输出一个负脉冲。 MOV DX,PORT1 OUT DX,AL(或IN AL,DX) 执行下面两条指令,对应的译码输出脚输出一个负脉冲。 MOV DX,PORT2 OUT DX,AL(或IN AL,DX) 利用这个负脉冲控制发光二极管L0闪烁发光(灭亮循环),时间间隔通过软件延时实现。 注意:命令中的端口地址PORT1、PORT2是根据DVCC卡的I/O基址再加上偏移量计算出来的,不同的微机DVCC卡的I/O基址可能不同,需要事先查找出来。计算公式如下: PORT1=查找出的DVCC卡的I/O基址+偏移量 其中:偏移量=Y0~Y7中所选定的任意一个译码地址值-280H。下面的程序用到L4,即2A0H。假设DVCC卡的I/O基地址=0C400H,经计算PORT1=0C420H。 编程提示 1.实验电路中D触发器的CLK端输入脉冲时,上升沿使Q端输出高电平,L0发光,CLK端加低电平L0灭。 2.由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。 参考程序 ioport equ0e400h-0280h io8255aequioport+288h io8255bequioport+28bh io8255cequioport+28ah codesegment assumecs:code start: movdx,io8255b moval,008bh outdx,al inout: movdx,io8255c inal,dx movdx,io8255a outdx,al movdl,0ffh movah,06h int21h jzinout movah,4ch int21h codeends endstart 实验总结: 通过这次试验,我基本了解了微机接口实验系统及其开发环境。对I/O地址译码的内容与工作原理有了深一步的了解,切实体会到了编程写程序需要的耐心细致。另外,设计电路时也可采用多种方法,优化结构。