微机原理与接口技术 霓虹灯程序设计教学文案.docx

上传人:b****1 文档编号:705438 上传时间:2022-10-12 格式:DOCX 页数:11 大小:34.26KB
下载 相关 举报
微机原理与接口技术 霓虹灯程序设计教学文案.docx_第1页
第1页 / 共11页
微机原理与接口技术 霓虹灯程序设计教学文案.docx_第2页
第2页 / 共11页
微机原理与接口技术 霓虹灯程序设计教学文案.docx_第3页
第3页 / 共11页
微机原理与接口技术 霓虹灯程序设计教学文案.docx_第4页
第4页 / 共11页
微机原理与接口技术 霓虹灯程序设计教学文案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术 霓虹灯程序设计教学文案.docx

《微机原理与接口技术 霓虹灯程序设计教学文案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术 霓虹灯程序设计教学文案.docx(11页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术 霓虹灯程序设计教学文案.docx

微机原理与接口技术霓虹灯程序设计教学文案

 

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

微机原理实验报告

 

课题名:

霓虹灯设计

班级:

学号:

_

姓名:

指导教师:

 

 

Ø实验目的

在熟悉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灯按要求依次逐一点亮。

其他变化原理类似。

Ø实验内容

✧八个灯半亮,半灭;

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

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

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

Ø

流程图

Ø程序代码

STACKSEGMENTSTACK

DW64DUP(?

stackends

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

CLI

MOVBX,0010H

MOVAL,80H

OUT63H,AL

PUSHDS

MOVAX,0000H

MOVDS,AX

MOVAX,OFFSETIRQ1

ADDAX,2000H

MOVSI,0024H

MOV[SI],AX

MOVAX,0000H

MOVSI,0026H

MOV[SI],AX

MOVAX,OFFSETIRQ5

ADDAX,2000H

MOVSI,0034H

MOV[SI],AX

MOVAX,0000H

MOVSI,0036H

MOV[SI],AX

POPDS

INAL,21H

ANDAL,0DDH

OUT21H,AL

MOVAL,0FFH

OUT61H,AL

a10:

STI

CMPBX,0000H

JZA11

JMPA10

a11:

STI

MOVCX,3

A1:

MOVAL,80H;半亮,半灭

OUT63H,AL

MOVAL,00H

OUT61H,AL

CALLDALLY1

MOVAL,0FFH

OUT61H,AL

CALLDALLY1

MOVAL,80H

OUT63H,AL

MOVAL,0F0H

OUT61H,AL

CALLDALLY1

MOVAL,80H

OUT63H,AL

MOVAL,0FFH

OUT61H,AL

CALLDALLY1

MOVAL,0FH

OUT61H,AL

CALLDALLY2

LOOPA1

MOVCX,3

A2:

MOVAL,07EH;两边往中间,中间往两边

OUT61H,AL

CALLDALLY1

MOVAL,0BDH

OUT61H,AL

CALLDALLY1

MOVAL,0DBH

OUT61H,AL

CALLDALLY1

MOVAL,0E7H

OUT61H,AL

CALLDALLY1

MOVAL,0E7H

OUT61H,AL

CALLDALLY1

MOVAL,0DBH

OUT61H,AL

CALLDALLY1

MOVAL,0BDH

OUT61H,AL

CALLDALLY1

MOVAL,07EH

OUT61H,AL

CALLDALLY2

LOOPA2

MOVCX,2

A3:

MOVAL,07FH;依次亮,左右

OUT61H,AL

CALLDALLY1

MOVAL,0BFH

OUT61H,AL

CALLDALLY1

MOVAL,0DFH

OUT61H,AL

CALLDALLY1

MOVAL,0EFH

OUT61H,AL

CALLDALLY1

MOVAL,0F7H

OUT61H,AL

CALLDALLY1

MOVAL,0FBH

OUT61H,AL

CALLDALLY1

MOVAL,0FDH

OUT61H,AL

CALLDALLY1

MOVAL,0FEH

OUT61H,AL

CALLDALLY1

MOVAL,0FEH

OUT61H,AL

CALLDALLY1

MOVAL,0FDH

OUT61H,AL

CALLDALLY1

MOVAL,0FBH

OUT61H,AL

CALLDALLY1

MOVAL,0F7H

OUT61H,AL

CALLDALLY1

MOVAL,0EFH

OUT61H,AL

CALLDALLY1

MOVAL,0DFH

OUT61H,AL

CALLDALLY1

MOVAL,0BFH

OUT61H,AL

CALLDALLY1

MOVAL,07FH

OUT61H,AL

CALLDALLY2

LOOPA3

MOVcx,3

A4:

MOVAL,07FH;单数依次从左向右亮,双数依次从右向左亮

OUT61H,AL

CALLDALLY1

MOVAL,0DFH

OUT61H,AL

CALLDALLY1

MOVAL,0F7H

OUT61H,AL

CALLDALLY1

MOVAL,0FDH

OUT61H,AL

CALLDALLY1

MOVAL,0FEH

OUT61H,AL

CALLDALLY1

MOVAL,0FBH

OUT61H,AL

CALLDALLY1

MOVAL,0EFH

OUT61H,AL

CALLDALLY1

MOVAL,0BFH

OUT61H,AL

CALLDALLY2

LOOPA4

MOVAL,0FAH

OUT61H,AL

CALLDALLY2

LOOPA4

MOVCX,3

JCXZA12

JMPA11

a12:

INT21H

irq1:

MOVAL,0FFH

OUT61H,AL

MOVAL,20H

OUT20H,AL

HLT

IRET

irq5:

MOVBX,0000H

MOVAL,20H

IRET

DALLY1PROC

PUSHAX

PUSHCX

MOVCX,0040H

B1:

MOVAX,0200H

B2:

DECAX

JNZB2

LOOPB

POPAX

RET

DALLY1ENDP

DALLY2PROC

PUSHAX

PUSHCX

MOVCX,0200H

B3:

MOVAX,0200H

B4:

DECAX

JNZB4

LOOPB3

POPCX

POPAX

RET

DALLY2ENDP

CODEENDS

ENDSTART

Ø程序及硬件系统调试情况

在Wmd86调试软件里面打开程序,首先编译改程序,此时会弹出一个编译出错对话框,按提示的出错行数对应进行修改,修改完后再编译—汇编—链接。

实验步骤一

✧关闭DVCC8086电源,按要求连接线路:

①8255芯片PB口输出端PB0~PB7依次接D0~D7

②IRQ5开始连接kk2

③IRQ1中断连接kk1

✧打开DVCC8086电源,输入u2000来查询程序是否装入,装入后键入G=2000,然后按下kk2观察指示灯的显示状态,然后按下kk1观察指示灯的亮灭情况。

Ø设计总结与体会

经过这一周的专周,做关于霓虹灯实验设计,我认真查阅资料,学习关于这方面的知识,才真正体会到了其中的不易,每一个设计环节,稍有疏忽实验将难以成功。

有了这次实验设计的经历,我想以后再遇到类似的问题我将会考虑的更加全面一些。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1