微机原理与接口技术 霓虹灯程序设计Word文档格式.docx
《微机原理与接口技术 霓虹灯程序设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术 霓虹灯程序设计Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
指导教师:
实验目的实验目的在熟悉8086/8088指令系统的基础上,掌握8086/8088汇编语言程序设计方法;
掌握8259可编程中断控制器,8255可编程并行接口的应用。
实验要求实验要求模拟霓虹灯(实验箱中的发光二极管)交替变换的过程。
用8255设计霓虹灯,三种以上变化:
设计程序控制8个并排LED灯霓虹灯至少4种不同的状态的变换,选择8255的任一数据端口连接发光二极管模拟。
运行过程中可随时中断退出。
实验原理实验原理可通过DVCC8086单板机上的8255芯片来实现,利用8255A中的PC口,将其8位输出PC7PC0分别与8个LED灯L1L8相连,当PC口其中某位输出为“0”时,则对应LED灯亮。
通过编程先对8255进行初始化,选择控制字,设置PC口为输出方式,然后给8088CPU中的AH赋值0EFH,采用循环移位指令对AH中的数值0EFH进行移位,最后将移位后的数据输到PC口,从而使8个LED灯按要求依次逐一点亮。
其他变化原理类似。
实验内容实验内容八个灯半亮,半灭;
依次从左向右亮,从右向左亮,循环三次;
两边往中间,中间往两边亮,循环三次;
单数灯依次从左向右亮,双数灯依次从右往左亮,循环三次。
流程图流程图程序代码程序代码STACKSEGMENTSTACKDW64DUP(?
)stackendsCODESEGMENTASSUMECS:
CODE,SS:
STACKSTART:
CLIMOVBX,0010HMOVAL,80HOUT63H,ALPUSHDSMOVAX,0000HMOVDS,AXMOVAX,OFFSETIRQ1ADDAX,2000HMOVSI,0024HMOVSI,AXMOVAX,0000HMOVSI,0026HMOVSI,AXMOVAX,OFFSETIRQ5ADDAX,2000HMOVSI,0034HMOVSI,AXMOVAX,0000HMOVSI,0036HMOVSI,AXPOPDSINAL,21HANDAL,0DDHOUT21H,ALMOVAL,0FFHOUT61H,ALa10:
STICMPBX,0000HJZA11JMPA10a11:
STIMOVCX,3A1:
MOVAL,80H;
半亮,半灭OUT63H,ALMOVAL,00HOUT61H,ALCALLDALLY1MOVAL,0FFHOUT61H,ALCALLDALLY1MOVAL,80HOUT63H,ALMOVAL,0F0HOUT61H,ALCALLDALLY1MOVAL,80HOUT63H,ALMOVAL,0FFHOUT61H,ALCALLDALLY1MOVAL,0FHOUT61H,ALCALLDALLY2LOOPA1MOVCX,3A2:
MOVAL,07EH;
两边往中间,中间往两边OUT61H,ALCALLDALLY1MOVAL,0BDHOUT61H,ALCALLDALLY1MOVAL,0DBHOUT61H,ALCALLDALLY1MOVAL,0E7HOUT61H,ALCALLDALLY1MOVAL,0E7HOUT61H,ALCALLDALLY1MOVAL,0DBHOUT61H,ALCALLDALLY1MOVAL,0BDHOUT61H,ALCALLDALLY1MOVAL,07EHOUT61H,ALCALLDALLY2LOOPA2MOVCX,2A3:
MOVAL,07FH;
依次亮,左右OUT61H,ALCALLDALLY1MOVAL,0BFHOUT61H,ALCALLDALLY1MOVAL,0DFHOUT61H,ALCALLDALLY1MOVAL,0EFHOUT61H,ALCALLDALLY1MOVAL,0F7HOUT61H,ALCALLDALLY1MOVAL,0FBHOUT61H,ALCALLDALLY1MOVAL,0FDHOUT61H,ALCALLDALLY1MOVAL,0FEHOUT61H,ALCALLDALLY1MOVAL,0FEHOUT61H,ALCALLDALLY1MOVAL,0FDHOUT61H,ALCALLDALLY1MOVAL,0FBHOUT61H,ALCALLDALLY1MOVAL,0F7HOUT61H,ALCALLDALLY1MOVAL,0EFHOUT61H,ALCALLDALLY1MOVAL,0DFHOUT61H,ALCALLDALLY1MOVAL,0BFHOUT61H,ALCALLDALLY1MOVAL,07FHOUT61H,ALCALLDALLY2LOOPA3MOVcx,3A4:
单数依次从左向右亮,双数依次从右向左亮OUT61H,ALCALLDALLY1MOVAL,0DFHOUT61H,ALCALLDALLY1MOVAL,0F7HOUT61H,ALCALLDALLY1MOVAL,0FDHOUT61H,ALCALLDALLY1MOVAL,0FEHOUT61H,ALCALLDALLY1MOVAL,0FBHOUT61H,ALCALLDALLY1MOVAL,0EFHOUT61H,ALCALLDALLY1MOVAL,0BFHOUT61H,ALCALLDALLY2LOOPA4MOVAL,0FAHOUT61H,ALCALLDALLY2LOOPA4MOVCX,3JCXZA12JMPA11a12:
INT21Hirq1:
MOVAL,0FFHOUT61H,ALMOVAL,20HOUT20H,ALHLTIRETirq5:
MOVBX,0000HMOVAL,20HIRETDALLY1PROCPUSHAXPUSHCXMOVCX,0040HB1:
MOVAX,0200HB2:
DECAXJNZB2LOOPBPOPAXRETDALLY1ENDPDALLY2PROCPUSHAXPUSHCXMOVCX,0200HB3:
MOVAX,0200HB4:
DECAXJNZB4LOOPB3POPCXPOPAXRETDALLY2ENDPCODEENDSENDSTART程序及硬件系统调试情况程序及硬件系统调试情况在Wmd86调试软件里面打开程序,首先编译改程序,此时会弹出一个编译出错对话框,按提示的出错行数对应进行修改,修改完后再编译汇编链接。
实验步骤一关闭DVCC8086电源,按要求连接线路:
8255芯片PB口输出端PB0PB7依次接D0D7IRQ5开始连接kk2IRQ1中断连接kk1打开DVCC8086电源,输入u2000来查询程序是否装入,装入后键入G=2000,然后按下kk2观察指示灯的显示状态,然后按下kk1观察指示灯的亮灭情况。
设计总结与体会设计总结与体会经过这一周的专周,做关于霓虹灯实验设计,我认真查阅资料,学习关于这方面的知识,才真正体会到了其中的不易,每一个设计环节,稍有疏忽实验将难以成功。
有了这次实验设计的经历,我想以后再遇到类似的问题我将会考虑的更加全面一些。
THANKS!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考