微机实验一 || 流水灯实验

一、实验目的及要求

1、通过对并行接口8255编程、调试,进一步熟悉仿真软件Proteus的使用方法,掌握8255的基本编程及调试方法,掌握编写程序控制硬件接口。

2、学生在实验课前必须认真预习教材与资料中的相关内容,绘制流程图,编写源程序,为实验做好充分准备,实验后撰写实验报告。

二、实验设备

Proteus 8 Professional、DOSBox 0.74、masm 5、EditPlus 5.2、PC机一台

三、实验内容

实现8255A口控制8个指示灯,循环点亮(瞬间只有一个灯亮)

  • 实验原理图

图1.1 8086CPU最小模式

图1.2 地址总线

图1.3 译码电路

图1.4 8255接口流水灯实验原理图

四、实验步骤

1、建立实验工程文件,绘制实验的原理图方案;

2、编写程序源代码,实现8255A口控制8个指示灯,循环点亮(瞬间只有一个灯亮)。

2、观察验证实验结果。

五、程序参考流程图

图1.5 8255接口流水灯程序流程图

  • 参考源程序
;FILE:8255.ASM
;This program is used for test output of 8255'S A port
;CHIP:8255
;CS      -->9000H
;PA0--PA7-->LED

PORT_8255_A EQU 9000H
PORT_8255_B EQU 9002H
PORT_8255_C EQU 9004H
CONTROL_PORT_8255 EQU 9006H

DELAY_NUM EQU 0FFFFH

STACK SEGMENT PARA STACK 'STACK'
      STA DB 1024 DUP(?)
STACK ENDS
CODE SEGMENT 
     ASSUME CS:CODE,SS:STACK
BEGIN:MOV DX,CONTROL_PORT_8255
      MOV AL,00000001B      ;A口,模式零,端口输出
      OUT DX,AL
      MOV DX,PORT_8255_A
      MOV AL,0FFH
      OUT DX,AL             ;关灯
      MOV AL,0FEH           ;11111110B 字模
 NEXT:OUT DX,AL
      CALL DELAY
      ROR AL,1	;11111101--11111011
      JMP  NEXT
DELAY PROC NEAR
       PUSH CX
       MOV CX,DELAY_NUM     ;Delay Times=DELAY_NUM       
AGAIN :NOP
       NOP
       LOOP AGAIN          
       POP CX
       RET
DELAY ENDP
CODE ENDS
     END BEGIN

 

六、实验结果及思考问题

1.如何使LED闪亮的顺序反向?

答:将11111110,逻辑左移,如果CF=1,则将循环左移的数加1,再这基础上重复循环上一步骤。

2.如何调整LED闪亮的时间间隔?

答:改变NOP指令的个数;改变延时子程序中的CX值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值