1、指导教师:实验目的实验目的 在熟悉 8086/8088 指令系统的基础上,掌握 8086/8088 汇编语言程序设计方法;掌握 8259可编程中断控制器,8255可编程并行接口的应用。实验要求实验要求 模拟霓虹灯(实验箱中的发光二极管)交替变换的过程。用 8255设计霓虹灯,三种以上变化:设计程序控制 8个并排 LED灯 霓虹灯至少 4种不同的状态的变换,选择 8255 的任一数据端口连接发光二极管模拟。运行过程中可随时中断退出。实验原理实验原理 可通过 DVCC8086 单板机上的 8255芯片来实现,利用 8255A中的 PC 口,将其 8位输出 PC7PC0 分别与 8个 LED灯 L1
2、L8 相连,当 PC 口其中某位输出为“0”时,则对应 LED灯亮。通过编程先对 8255 进行初始化,选择控制字,设置 PC 口为输出方式,然后给8088CPU中的 AH赋值 0EFH,采用循环移位指令对 AH中的数值 0EFH 进行移位,最后将移位后的数据输到 PC 口,从而使 8个 LED灯按要求依次逐一点亮。其他变化原理类似。实验内容实验内容 八个灯半亮,半灭;依次从左向右亮,从右向左亮,循环三次;两边往中间,中间往两边亮,循环三次;单数灯依次从左向右亮,双数灯依次从右往左亮,循环三次。流程图流程图 程序代码程序代码 STACK SEGMENT STACK DW 64 DUP(?)st
3、ack 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
4、,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 M
5、OV 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 OUT 61H,AL CA
6、LL 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 61
7、H,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 MOV AL,0F7H OUT 61H,AL CALL DALLY1 MOV AL,0EFH OUT 61H,AL CALL DALLY1 MOV AL,0DFH OUT 61H,AL CALL DALLY1 MOV
8、 AL,0BFH OUT 61H,AL CALL DALLY1 MOV AL,07FH OUT 61H,AL CALL DALLY2 LOOP A3 MOV cx,3 A4:单数依次从左向右亮,双数依次从右向左亮 OUT 61H,AL CALL DALLY1 MOV AL,0DFH OUT 61H,AL CALL DALLY1 MOV AL,0F7H OUT 61H,AL CALL DALLY1 MOV AL,0FDH OUT 61H,AL CALL DALLY1 MOV AL,0FEH OUT 61H,AL CALL DALLY1 MOV AL,0FBH OUT 61H,AL CALL DA
9、LLY1 MOV AL,0EFH OUT 61H,AL CALL DALLY1 MOV AL,0BFH OUT 61H,AL CALL DALLY2 LOOP A4 MOV AL,0FAH OUT 61H,AL CALL DALLY2 LOOP A4 MOV CX,3 JCXZ A12 JMP A11 a12:INT 21H irq1:MOV AL,0FFH OUT 61H,AL MOV AL,20H OUT 20H,AL HLT IRET irq5:MOV BX,0000H MOV AL,20H IRET DALLY1 PROC PUSH AX PUSH CX MOV CX,0040H B1
10、:MOV AX,0200H B2:DEC AX JNZ B2 LOOP B POP AX RET DALLY1 ENDP DALLY2 PROC PUSH AX PUSH CX MOV CX,0200H B3:MOV AX,0200H B4:DEC AX JNZ B4 LOOP B3 POP CX POP AX RET DALLY2 ENDP CODE ENDS END START 程序及硬件系统调试情况程序及硬件系统调试情况 在 Wmd86 调试软件里面打开程序,首先编译改程序,此时会弹出一个编译出错对话框,按提示的出错行数对应进行修改,修改完后再编译汇编链接。实验步骤 一 关闭 DVCC8
11、086 电源,按要求连接线路:8255芯片 PB口输出端 PB0PB7 依次接 D0D7 IRQ5开始连接 kk2 IRQ1中断连接 kk1 打开 DVCC8086 电源,输入 u2000来查询程序是否装入,装入后键入 G=2000,然后按下 kk2观察指示灯的显示状态,然后按下 kk1观察指示灯的亮灭情况。设计总结与体会设计总结与体会 经过这一周的专周,做关于霓虹灯实验设计,我认真查阅资料,学习关于这方面的知识,才真正体会到了其中的不易,每一个设计环节,稍有疏忽实验将难以成功。有了这次实验设计的经历,我想以后再遇到类似的问题我将会考虑的更加全面一些。THANKS!致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1