微机原理与接口技术 霓虹灯程序设计.docx
- 文档编号:10256138
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:12
- 大小:47.81KB
微机原理与接口技术 霓虹灯程序设计.docx
《微机原理与接口技术 霓虹灯程序设计.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术 霓虹灯程序设计.docx(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灯按要求依次逐一点亮。
其他变化原理类似。
Ø实验内容
✧八个灯半亮,半灭;
✧依次从左向右亮,从右向左亮,循环三次;
✧两边往中间,中间往两边亮,循环三次;
✧单数灯依次从左向右亮,双数灯依次从右往左亮,循环三次。
Ø
流程图
Ø程序代码
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观察指示灯的亮灭情况。
Ø设计总结与体会
经过这一周的专周,做关于霓虹灯实验设计,我认真查阅资料,学习关于这方面的知识,才真正体会到了其中的不易,每一个设计环节,稍有疏忽实验将难以成功。
有了这次实验设计的经历,我想以后再遇到类似的问题我将会考虑的更加全面一些。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 霓虹灯程序设计 微机 原理 接口 技术 霓虹灯 程序设计