实验10 简单的输出接口实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验10 简单的输出接口实验

一.实验目的:

1、学会使用74LS75、74LS273锁存数据。

2、学会数据总线、地址总线和控制总线简单使用。

3、掌握简单硬件和软件的调试。

二.实验器材:

计算机,微机原理实验箱

三.实验内容:

第一题:

利用74LS75设计一个接口电路,使四个LED同时亮、同时灭,中间间隔1秒,共循环5次,要求总线数据信号为高电平时,LED点亮。

框图和电路逻辑图如下:

源程序:

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,5;定义循环次数AGAIN:

MOV DX,280H

MOV AL,0FH;D0~D3为"1",全亮 OUT DX,AL

CALL DELAY;延时程序

MOV DX,280H

MOV AL,00H;D0~D3为"0",全灭 OUT DX,AL

CALL DELAY;延时程序

LOOP AGAIN;不到5次再循环

MOV AH,4CH INT 21H

DELAY PROC NEAR

PUSH CX;压栈保护现场

MOV BX,03FFH;外循环次数FOR1: MOV CX,0FFFFH;内循环次数FOR2: LOOP FOR2

DEC BX

JNZ FOR1

POP CX;弹栈

RET

DELAY ENDP

CODE ENDS

END START

第二题:

利用74LS273设计一个接口电路,使8个LED循环顺序点亮,中间间隔1秒,循环3次,要求高电平时LED点亮。

框图和电路逻辑图如下:

源程序:

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,3;循环次数

MOV SI,7;循环移位8次

L1: MOV DX,280H

MOV AL,01H;输出初始状态"00000001"

L2: OUT DX,AL

CALL DELAY;延时程序

SHL AL,1;左移1位

DEC SI;判断是否移位完成8位

JNZ L2;未完成继续移位

LOOP L1;是否完成3次循环

MOV AH,4CH INT 21H

DELAY PROC NEAR

PUSH CX;压栈保护现场

MOV BX,03FFH;外循环次数FOR1: MOV CX,0FFFFH;内循环次数FOR2: LOOP FOR2

DEC BX

JNZ FOR1

POP CX;弹栈

RET

DELAY ENDP

CODE ENDS

END START

附加题:

用3个发光二极管来模拟交通路口红绿黄灯的工作情况,先让绿灯连续亮10秒钟后熄灭,然后黄灯亮、灭5次,每次间隔时间为2秒,最后红灯连续亮5秒。整个过程循环3次。

框图和电路逻辑图如下:

源程序:

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,3;定义循环次数

AGAIN: MOV DX,280H

MOV AL,01H;D0为"1",绿灯亮

OUT DX,AL

CALL DELAY ;调用延时子程序

;连续调用10次,节省纸张不全写出 CALL DELAY

MOV DX,280H

MOV AL,00H;D0~D3为"0",绿灯灭

OUT DX,AL

CALL DELAY;延时程序

MOV DX,280H

MOV AL,02H;D1为"1",黄灯亮

OUT DX,AL

CALL DELAY ;延时程序

MOV DX,280H

MOV AL,00H;D0~D3为"0",黄灯灭

OUT DX,AL

CALL DELAY;

CALL DELAY;延时程序,间隔2秒

;上面这个模块是黄灯亮灭一次,

;应该连写5遍,为节省空间,省略之

MOV DX,280H MOV AL,04H;D3为"1",红灯亮

OUT DX,AL

CALL DELAY ;延时程序,延时5秒 CALL DELAY

CALL DELAY

CALL DELAY

CALL DELAY

MOV DX,280H

MOV AL,00H;D0~D3为"0",全灭

OUT DX,AL

CALL DELAY;延时程序

LOOP AGAIN;整个过程循环不到3次再循环

MOV AH,4CH

INT 21H

DELAY PROC NEAR;延时一秒的子程序

PUSH CX;压栈保护现场

MOV BX,03FFH;外循环次数

FOR1: MOV CX,0FFFFH;内循环次数

FOR2: LOOP FOR2

DEC BX

JNZ FOR1

POP CX;弹栈

RET

DELAY ENDP

CODE ENDS

END START

四.实验结果:

完美运行。

五.实验总结:

本次的几个实验比较简单,只要掌握了接口的基本原理,弄清楚电路图,就很容易实现题目要求,其中要注意各个芯片的使用方法和注意事项。在做附加题红绿灯编程时,编写黄灯的片段需要5个完全相同的步骤,做实验时我写了5遍(上面的源程序为了节约纸张并没有全部写出),这里也可以把它写成一个子程序,但是它里面又有对延时子程序的调用,这就用到了子程序的嵌套,编写方法一样,但要注意利用入栈出栈保护现场。

相关文档
最新文档