贵 州 大 学 实 验 报 告 纸
系 别 电科 班 级 电科091班 姓 名 微机接口技术 成 绩 评 定 学号 教师签名 课 程 名 称 实 验 时 间
2012年 5 月11日 实验一 I/O口输入、输出实验
一、实验目的
学习单板方式下扩展简单I/O接口的方法。 学习微处理器的编程技术。 二、实验内容
数据口扩展74LS244输入数据,数据口扩展74LS273输出数据。输入端接八位逻辑电平输出,输出端接八位逻辑电平显示,编写一个程序,读入开关状态并输出显示。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
1、74LS244介绍:74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开。74LS244的引脚如图1-1A所示。
图1-1A 74LS244 图1-1B 74LS273
2、74LS273介绍:74LS273是八D型触发器,带清除端。本实验用74LS273输出数据,通过片选信号和写信号将数据总线上的值锁存在74LS273中,同时在74LS273的输出端口输出数据,当数据总线上的值撤消以后,由于74LS273能锁存信号,74LS273的输出端保持不变,直到有新的数据被锁存。74LS273的引脚如图1-1B所示。
贵州大学实验报告
附 1 页
辑电平显示电路原理图参见图1-5。
本实验需要用到CPU模块(F3区)、八位逻辑电平输出模块(E4区)、八位逻辑电平显
示模块(B5区)、扩展输入模块(F2区)、扩展输出模块(F1区)。扩展输入电路原理图参见
图1-2,扩展输出电路原理图参见图1-4,八位逻辑电平输出电路原理图参见图1-3,八位逻
贵州大学实验报告
图1-3 八位逻辑电平输出
图1-2 74LS244扩展输入电路
附 2 页
图1-4 74LS273扩展输出电路
图1-5 八位逻辑电平显示
五、实验程序
1、实验修改后程序:
;//**************************************************************** ;文件名: In_Out for 8088 ;功能: I/O口输入、输出实验
;接线: 用8位数据线连接八位逻辑电平输出模块的JD1E到扩展输入模块的JD2C; ; 八位逻辑电平显示模块的JD4B到扩展输出模块的JD1C; ; 用导线连接CPU模块的8000H到扩展输入模块的CS_244; ; 8100H到扩展输出模块的CS_273。
;//**************************************************************** D273 EQU 8100H D244 EQU 8000H
DATA SEGMENT DATA ENDS
贵州大学实验报告
附 3 页
STACK SEGMENT
STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV CX,8 MOV AX,0 MOV BX,0 LOOP1: CALL SOFTDLY
MOV DX,D244 ; 并行输入口地址
IN AL,DX ; 输入数据,读开关状态 ADD BX,AX
MOV DX,D273 ; 并行输出口地址 OUT DX,AL ; 输出数据 CALL SOFTDLY MOV AX,0FFH OUT DX,AL LOOP LOOP1 MOV AX,BX MOV BX,8 DIV BL
MOV DX,D273 OUT DX,AL CALL SOFTDLY HLT
SOFTDLY PROC NEAR PUSH CX PUSH BX MOV BX,200 DELAY: MOV CX,2801 WAIT:
LOOP WAIT DEC BX JNZ DELAY POP BX POP CX RET SOFTDLY ENDP CODE ENDS
END START
贵州大学实验报告
附 4 页
2、程序功能:
程序可以实现对开关的采样输出,在运行程序后,每隔一段时间对开关进行一次采样 ,并将结果输出到LED显示,在采样完8次,后还可以对这8个数字求平均值,将结果同样输出到LED显示。
六、实验步骤 1、验证原实验:
1)系统各跳线器处在初始设置状态。
用8位数据线连接八位逻辑电平输出模块的JD1E到扩展输入模块的JD2C; 八位逻辑电平显示模块的JD4B到扩展输B出模块的JD1C;
用导线连接扩展输入模块的CS_244到CPU模块的200H(面板标注为200,其它片选地址标注亦与此类同);
扩展输出模块的CS_273到208H。
2)启动PC机,打开THGMW-88软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)观察发光二极管的亮灭与拨动开关的状态是否一致。设拨动开关拨下输出为低电平,发光二极管点亮。改变拨动开关的状态,发光二极管的亮灭随之变化。
2、修改实验运行:
1)系统各跳线器处在初始设置状态。
用8位数据线连接八位逻辑电平输出模块的JD1E到扩展输入模块的JD2C; 八位逻辑电平显示模块的JD4B到扩展输B出模块的JD1C;
用导线连接扩展输入模块的CS_244到CPU模块的8000H(面板标注为200,其它片选地址标注亦与此类同);
扩展输出模块的CS_273到8100H。
2)启动PC机,打开THGMW-88软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)观察发光二极管的显示和记录开关值,计算出平均值,再与发光二极管的输出作比
较。
贵州大学实验报告
附 5 页
七、实验现象和分析 1、实验现象:
实验过程,在运行程序后,拨动开关,观察到LED 灯的状态与开关的状态一
致,说明程序和电路连接是正确的,可以实现开关量的输入输出。对程序进行修改后,再运行后,拨动开关,LED灯输出开关状态,发光二极管熄灭的时候,重新拨动开关,在发光二极管重新亮起时,就输出了新的数据,这样显示8次后,会再显示一组平均量,通过计算可以看到平均量的显示也是正确的。
2、实验分析:
对于修改后的程序,采用244和273作为输入输出接口芯片,程序实现八组数
据的采集和计算平均值,程序采用定时采样的方法进行数据的读取,才完一个就加一个,存在BX中,并输出到273中,为了能更好的观察输出结果,还用到了延时程序。当输入完八组数据后,就对数据求平均值,即将原来的总和除以8,就可以得到。得到结果就送到273中显示。实验的电路连接比较简单,主要是程序要编写正确,运行中可以得到了正确的结果,所以程序是正确的,基本上完成了实现的设计要求。
八、实验总结
要完成实验,我们要连接电路,编写程序,还要保证程序的正确以实现预想的要求,所以在实验的过程中,我们花了许多时间来了解试验箱的工作原理和程序的编写。在这个过程中,我们对试验箱上的各种接口芯片和CPU有了一个更全面的了解,而非只是书上的知识。这为自己做下面的实验提供了帮助,更重要的是,为以后的设计开发打下了基础。实验中,还让自己对汇编语言做进一步的复习,加深了对汇编语言的记忆和运用技巧掌握。使自己能够熟练的编写各种汇编程序。
贵州大学实验报告
附 6 页