微机原理与接口技术 霓虹灯程序的设计说明

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

微机原理实验报告

课题名:霓虹灯设计

班级:

学号: _

姓名:

指导教师:

目录

实验目的 (4)

实验要求 (4)

实验原理 (4)

实验内容 (5)

程序代码 (7)

程序及硬件系统调试情况 (12)

设计总结与体会 (12)

➢实验目的

在熟悉8086/8088指令系统的基础上,掌握8086/8088汇编语言程序设计方法;

掌握8259可编程中断控制器,8255可编程并行接口的应用。

➢实验要求

模拟霓虹灯(实验箱中的发光二极管)交替变换的过程。

用8255设计霓虹灯,三种以上变化:

设计程序控制8个并排LED灯

霓虹灯至少4种不同的状态的变换,选择8255的任一数据端口连接发光二极管模拟。运行过程中可随时中断退出。

➢实验原理

可通过DVCC8086单板机上的8255芯片来实现,利用8255A中的PC口,将其8位输出PC7~PC0分别与8个LED灯L1~L8相连,当PC口其中某位输出为“0”时,则对应LED灯亮。

通过编程先对8255进行初始化,选择控制字,设置PC口为输出方式,然后给8088CPU中的AH赋值0EFH,采用循环移位指令对AH中的数值0EFH进行移位,最后将移位后的数据输到PC口,从而使8个LED灯按要求依次逐一点亮。

其他变化原理类似。

➢实验内容

✧八个灯半亮,半灭;

✧依次从左向右亮,从右向左亮,循环三次;

✧两边往中间,中间往两边亮,循环三次;

✧单数灯依次从左向右亮,双数灯依次从右往左亮,循环三次。

➢流程图

➢程序代码

STACK SEGMENT STACK

DW64 DUP(?)

stack ends

CODE SEGMENT

ASSUME CS:CODE,SS:STACK

START:

CLI

MOV BX,0010H

MOV AL,80H

OUT 63H,AL

PUSH DS

MOV AX,0000H

MOV DS,AX

MOV AX,OFFSET IRQ1

ADD AX,2000H

MOV SI,0024H

MOV [SI],AX

MOV AX,0000H

MOV SI,0026H

MOV [SI],AX

MOV AX,OFFSET IRQ5

ADD AX,2000H

MOV SI,0034H

MOV [SI],AX

MOV AX,0000H

MOV SI,0036H

MOV [SI],AX

POP DS

IN AL,21H

AND AL,0DDH

OUT 21H,AL

MOV AL,0FFH

OUT 61H,AL

a10:

STI

CMP BX,0000H

JZ A11

JMP A10

a11:

STI

MOV CX,3

A1: MOV AL,80H ;半亮,半灭

OUT 63H,AL

MOV AL,00H

OUT 61H,AL

CALL DALLY1

MOV AL,0FFH

OUT 61H,AL

CALL DALLY1

MOV AL,80H

OUT 63H,AL

MOV AL,0F0H

OUT 61H,AL

CALL DALLY1

MOV AL,80H

OUT 63H,AL

MOV AL,0FFH

OUT 61H,AL

CALL DALLY1

MOV AL,0FH

OUT 61H,AL

CALL DALLY2

LOOP A1

MOV CX,3

A2: MOV AL,07EH ;两边往中间,中间往两边OUT 61H,AL

CALL DALLY1

MOV AL,0BDH

OUT 61H,AL

CALL DALLY1

MOV AL,0DBH

OUT 61H,AL

CALL DALLY1

MOV AL,0E7H

OUT 61H,AL

CALL DALLY1

MOV AL,0E7H

OUT 61H,AL

CALL DALLY1

MOV AL,0DBH

CALL DALLY1

MOV AL,0BDH

OUT 61H,AL

CALL DALLY1

MOV AL,07EH

OUT 61H,AL

CALL DALLY2

LOOP A2

MOV CX,2

A3: MOV AL,07FH ;依次亮,左右OUT 61H,AL

CALL DALLY1

MOV AL,0BFH

OUT 61H,AL

CALL DALLY1

MOV AL,0DFH

OUT 61H,AL

CALL DALLY1

MOV AL,0EFH

OUT 61H,AL

CALL DALLY1

MOV AL,0F7H

OUT 61H,AL

CALL DALLY1

MOV AL,0FBH

OUT 61H,AL

CALL DALLY1

MOV AL,0FDH

OUT 61H,AL

CALL DALLY1

MOV AL,0FEH

OUT 61H,AL

CALL DALLY1

MOV AL,0FEH

OUT 61H,AL

CALL DALLY1

MOV AL,0FDH

OUT 61H,AL

CALL DALLY1

MOV AL,0FBH

OUT 61H,AL

CALL DALLY1

相关文档
最新文档