微机原理与接口技术霓虹灯程序设计
微机原理课设:可控制霓虹灯

标准《微机原理与接口技术》课程设计题目:可控制霓虹灯班级:电气本151小组组长:徐明(2015040104)小组成员:王军三(2015040107)黄国涛(2015040108)刘飞鸿(2015040113)指导教师:刘微日期:2017年10月11日齐齐哈尔工程学院机电工程系一、设计可控制霓虹灯目的及意义霓虹灯其设计目的主要为:(1) 进一步熟悉8255A并行接口的基本工作原理(2) 运用CES-86通用微机实验装置,了解键盘的基本结构,学会编写程序.(3)在熟悉了小键盘的基础上,加上LED发光二极管的使用设计出绚丽闪耀的霓虹灯.本课程设计是自动化专业学生的一次较全面的的设计训练,是配合“微机与接口技术”课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。
霓虹灯的意义:随着改革的不断深入,社会主义市场经济的不断繁荣与发展,大中小城市都在进行亮化工程。
企业为发展自己的形象和产品,一般都会采用通过霓虹灯广告屏这种广告手法,所以当我们夜晚走在大街上,马路两旁各色各样的霓虹灯广告随处可见,一种是采用霓虹灯管做成的各种形状和多种彩色的灯管,另一种为日光灯管或白炽灯管作为光源,另配大型广告语或宣传画来达到宣传的效果,大部分是采用霓虹灯。
这就涉及到如何去控制霓虹灯的亮灭、闪烁时间及流动方向等诸多控制问题,如何去快捷、可靠、简单的去控制,成为人们考虑的重点。
当然,虽然程序最后达到了预期控制要求,但是由于实际情况和理想情况存在差距,我知道还有很多地方有待改进,同时我还是个初学者,各方面肯定存在不足,如果老师发现了缺陷之处,请指出,我们一定会虚心接受。
二、总体方案(一)概述本次课程设计中所使用的芯片8255A(如右图)是Intel公司采用CHMOS工艺生产的一种高性能通用可编程输入/输出并行接口芯片,可以方便地应用在Intel系列微处理器系统中。
霓虹灯显示程序设计

引言我们知道汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言,汇编语言对于硬件的控制具有独特的优势。
一方面,汇编语言指令是用一些具有相应含义的助忆符来表达的,所以,它要比机器语言容易掌握和运用,但另一方面,它要直接使用CPU的资源,相对高级程序设计语言来说,它又显得难掌握。
霓虹灯是日常生活中常见的灯饰,它装点了夜空,丰富了人们的生活,让夜间的城市更加美丽。
通过汇编语言的学习,我们通过汇编语言,可实现霓虹灯的控制与操作,实现其显示与闪烁,或者是其他的动态变化,从而可以很方便的达到理想效果。
INT 10H 是由BIOS 对屏幕及显示器所提供的服务程序,汇编语言的INT 10号中断提供了设置显示模式、设置颜色模式、设置光标位置、按指定属性显示字符等功能,可以显示汉字或图像,同时也提供了初始化屏幕或滚屏等功能号,通过擦除子程序以及清屏子程序的配合运用,可以达到让汉字或图像闪烁或运动的功能。
而文字的显示我们又可以通过取模软件轻松获得,这使得整个编译过程轻松了很多,同时可以让文字或图标的显示更加规范和多样化,达到霓虹灯多样变化的目的。
本次课程设计,研究的正是霓虹灯显示程序设计,我们可通过对INT 10号中断的功能调用实现,设计出我们想要的霓虹灯显示效果。
在整个设计过程,我们可以加强对课本知识的巩固,并借此拓展自己的知识面。
关键词:汇编语言霓虹灯中断字符运行调试1设计要求及分析1.1设计要求1)用汇编语言编写一个霓虹灯的模拟显示程序;2)在屏幕上显示你的中文名字或其它文字,按某种规律闪烁变化,按“q”键退出;3)撰写课程设计说明书。
内容包括:摘要、目录、正文、参考文献、附录(程序清单)。
正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
1.2设计分析分析任务书要求可知:本次程序设计尽量在屏幕上显示自己的名字,也可以显示其他的文字。
微机原理与接口技术霓虹灯程序设计

微机原理实验报告课题名:霓虹灯设计班级:学号: _姓名:指导教师:目录实验目的 (3)实验要求 (3)实验原理 (3)实验内容 (3)程序代码 (4)程序及硬件系统调试情况 (9)设计总结与体会 (9)➢实验目的在熟悉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 endsCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV BX,0010HMOV AL,80HOUT 63H,ALPUSH DSMOV AX,0000HMOV DS,AXMOV AX,OFFSET IRQ1ADD AX,2000HMOV SI,0024HMOV [SI],AXMOV AX,0000HMOV SI,0026HMOV [SI],AXMOV AX,OFFSET IRQ5ADD AX,2000HMOV SI,0034HMOV [SI],AXMOV AX,0000HMOV SI,0036HMOV [SI],AXPOP DSIN AL,21HAND AL,0DDHOUT 21H,ALMOV AL,0FFHOUT 61H,ALa10:STICMP BX,0000HJZ A11JMP A10a11:STIMOV CX,3.A1: MOV AL,80H ;半亮,半灭OUT 63H,ALMOV AL,00HOUT 61H,ALCALL DALLY1MOV AL,0FFHOUT 61H,ALCALL DALLY1MOV AL,80HOUT 63H,ALMOV AL,0F0HOUT 61H,ALCALL DALLY1MOV AL,80HOUT 63H,ALMOV AL,0FFHOUT 61H,ALCALL DALLY1MOV AL,0FHOUT 61H,ALCALL DALLY2LOOP A1MOV CX,3A2: MOV AL,07EH ;两边往中间,中间往两边OUT 61H,ALCALL DALLY1MOV AL,0BDHOUT 61H,ALCALL DALLY1MOV AL,0DBHOUT 61H,ALCALL DALLY1MOV AL,0E7HOUT 61H,ALCALL DALLY1MOV AL,0E7HOUT 61H,ALCALL DALLY1MOV AL,0DBHOUT 61H,ALCALL DALLY1MOV AL,0BDHOUT 61H,ALMOV AL,07EHOUT 61H,ALCALL DALLY2LOOP A2MOV CX,2A3: MOV AL,07FH ;依次亮,左右OUT 61H,ALCALL DALLY1MOV AL,0BFHOUT 61H,ALCALL DALLY1MOV AL,0DFHOUT 61H,ALCALL DALLY1MOV AL,0EFHOUT 61H,ALCALL DALLY1MOV AL,0F7HOUT 61H,ALCALL DALLY1MOV AL,0FBHOUT 61H,ALCALL DALLY1MOV AL,0FDHOUT 61H,ALCALL DALLY1MOV AL,0FEHOUT 61H,ALCALL DALLY1MOV AL,0FEHOUT 61H,ALCALL DALLY1MOV AL,0FDHOUT 61H,ALCALL DALLY1MOV AL,0FBHOUT 61H,ALCALL DALLY1MOV AL,0F7HOUT 61H,ALCALL DALLY1MOV AL,0EFHCALL DALLY1MOV AL,0DFHOUT 61H,ALCALL DALLY1MOV AL,0BFHOUT 61H,ALCALL DALLY1MOV AL,07FHOUT 61H,ALCALL DALLY2LOOP A3MOV cx,3A4: MOV AL,07FH ;单数依次从左向右亮,双数依次从右向左亮OUT 61H,ALCALL DALLY1MOV AL,0DFHOUT 61H,ALCALL DALLY1MOV AL,0F7HOUT 61H,ALCALL DALLY1MOV AL,0FDHOUT 61H,ALCALL DALLY1MOV AL,0FEHOUT 61H,ALCALL DALLY1MOV AL,0FBHOUT 61H,ALCALL DALLY1MOV AL,0EFHOUT 61H,ALCALL DALLY1MOV AL,0BFHOUT 61H,ALCALL DALLY2LOOP A4MOV AL,0FAHOUT 61H,ALCALL DALLY2LOOP A4.MOV CX,3JCXZ A12JMP A11a12:INT 21Hirq1:MOV AL,0FFHOUT 61H,ALMOV AL,20HOUT 20H,ALHLTIRETirq5:MOV BX,0000HMOV AL,20HIRETDALLY1 PROCPUSH AXPUSH CXMOV CX,0040HB1: MOV AX,0200HB2: DEC AXJNZ B2LOOP BPOP AXRETDALLY1 ENDPDALLY2 PROCPUSH AXPUSH CXMOV CX,0200HB3: MOV AX,0200HB4: DEC AXJNZ B4LOOP B3POP CXPOP AXRETDALLY2 ENDPCODE ENDSEND START.➢程序及硬件系统调试情况在Wmd86调试软件里面打开程序,首先编译改程序,此时会弹出一个编译出错对话框,按提示的出错行数对应进行修改,修改完后再编译—汇编—链接。
接口技术课程设计霓虹灯

DATASEGMENT
io8255aEQU280H
IO8255BEQU281H
IO8255CEQU282H
IO8255TEQU283H
TABDB'1 2 3 4 5 6 7 8 ',0DH,0AH,'$'
MESSDB'PLEASE ENTER ANY KEY WHEN READY!',0DH,0AH,'$'
DATAENDS
STACKSEGMENTSTACK
STADW50DUP(?)
STACKENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA,ES:STACK
START:MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAH,09H;显示字符串
MOVDX,OFFSETMESS
随着课程设计的不断深入,我感觉自己的能力在不断的提高,昨天还不能解决的问题,今天很快就想到了解决方案,而且又会给自己提出新的问题,用芯片实现新的功能,在不断的发现问题解决问题的过程中,自己得到了很大的进步。通过接口课程设计,我们将学到的硬件知识应用到实践中,用理论指导实践,用实践验证理论。自己的知识越来越丰富,收获的快乐也越来越多。
2.七段数码管字形代码表:
一般的七段数码管拥有八个发光二极管用以显示十进制0至9的数字,也可以显示英文字母,包括十六进制中的英文A至F(b,d为小写,其他为大写)。现时大部份的七段数码管会以斜体显示。
七段数码管由四个直向、三个横向及上右下角一点的发光二极管组成,由以上向条发光体组合出不同的数字。除七段数码管外,还有十四及十六划的显示器,但现时已被点阵显示器(英语:Dot-matrix)所取代。
微机原理与接口技术交换彩灯实验报告

微机原理与接口技术交换彩灯实验报告
【实验报告】
实验目的:
通过学习微机原理与接口技术,掌握如何使用微机接口控制彩灯的原理和实现方法。
实验器材:
1. 8051单片机开发板
2. 彩灯电路
3. 三根导线
4. 电源适配器
实验原理:
本实验使用8051单片机作为控制核心,通过适当的接口电路连接到彩灯电路,实现对彩灯的控制。
8051单片机提供了多个IO引脚,可以利用这些引脚发送控制信号。
实验步骤:
1. 将8051单片机开发板与电源适配器连接,确保电源供给正常。
2. 将彩灯电路与开发板连接,其中一个引脚接到开发板的IO引脚上,另外两个引脚接到开发板的GND(地)和VCC(电源)引脚上。
确保连接牢固可靠。
3. 编写控制程序,使用微机原理与接口技术相关的编程语言,如C语言或汇编语言,通过控制8051单片机的IO引脚,向彩灯发送相应的控制信号。
控制信号的具体逻辑和实现方法需根据彩灯电路的设计而定。
4. 将编写完成的程序烧录到8051单片机开发板中。
5. 运行程序,观察彩灯的变化。
实验结果:
当程序运行时,根据编写的控制信号逻辑,彩灯电路会相应地产生不同的光效,实现彩灯的控制。
实验结论:
通过本次实验,我们学习并掌握了使用微机原理与接口技术控制彩灯的方法。
这为我们更深入地理解和应用微机原理与接口技术打下了基础。
plc霓虹灯课程设计

plc霓虹灯课程设计一、课程目标知识目标:1. 学生能理解PLC(可编程逻辑控制器)的基本原理及其在霓虹灯控制中的应用。
2. 学生能掌握PLC编程软件的使用,并学会编写简单的霓虹灯控制程序。
3. 学生能了解霓虹灯电路的基本构成,以及如何通过PLC实现霓虹灯的开关、亮度调节和动态效果控制。
技能目标:1. 学生能运用PLC进行霓虹灯的创意设计,实现个性化霓虹灯效果。
2. 学生通过实际操作,提高动手能力,培养解决问题的实践技能。
3. 学生学会团队协作,提高沟通与表达能力,共同完成霓虹灯项目。
情感态度价值观目标:1. 学生通过学习PLC霓虹灯制作,培养对电子控制技术的兴趣,激发创新意识。
2. 学生在学习过程中,养成积极思考、勇于尝试、不断探索的良好习惯。
3. 学生能够关注科技发展,认识到PLC技术在现实生活中的应用价值,增强社会责任感。
课程性质:本课程属于电子技术及应用领域,结合PLC技术进行霓虹灯制作,注重实践性、创新性和团队合作。
学生特点:初中年级学生,具有一定的电子知识基础,好奇心强,喜欢动手实践,团队协作意识逐渐形成。
教学要求:教师需关注学生个体差异,因材施教,鼓励学生积极参与,注重理论与实践相结合,提高学生的综合运用能力。
通过课程学习,使学生在掌握PLC霓虹灯制作技能的同时,培养良好的情感态度价值观。
二、教学内容1. PLC基本原理:介绍PLC的组成、工作原理及在自动化控制中的应用。
- 教材章节:第二章 可编程逻辑控制器概述- 内容:PLC的硬件结构、软件编程、输入输出接口、通信接口等。
2. PLC编程软件的使用:学习PLC编程软件的基本操作,编写霓虹灯控制程序。
- 教材章节:第三章 PLC编程软件及应用- 内容:编程软件安装与配置、编程语言(梯形图、指令表等)、程序调试与下载。
3. 霓虹灯电路设计:学习霓虹灯电路的基本构成及原理,掌握通过PLC控制霓虹灯的方法。
- 教材章节:第四章 电气控制电路设计- 内容:霓虹灯电路元件、电路图绘制、PLC控制电路设计。
微机原理课设之霓虹灯的显示

学号:0121211350612微机原理及接口技术课程设计题目霓虹灯的模拟显示学院自动化专业电气工程及其自动化班级电气1206班姓名刘佳指导教师李道远2014 年12 月20 日课程设计任务书学生姓名:刘佳专业班级:电气1206班指导教师:李道远工作单位:自动化学院题目: “霓虹灯”的模拟显示初始条件:在屏幕中央以@字符显示一矩型,按F键以*将矩型内部由上到下,从左到右填满;按R键以相反的次序消失。
按Q退出程序。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图目录1.设计意义与要求 (4)1.1设计意义 (4)1.2设计要求 (4)2方案论证 (5)2.1方案比较 (5)2.2方案选择 (5)3系统原理阐述 (3)3.1设计思路 (3)3.2程序中的BIOS和DOS功能调用 (3)3.2.1 BIOS功能调用 (3)3.2.2 DOS功能调用 (3)3.3程序模块 (4)4.软件思想与流程图 (5)4.1程序功能描述 (5)4.2 流程图 (6)5.调试记录及结果分析 (7)5.1调试过程 (7)5.2结果记录 (7)5.3调试中出现的问题及解决方法 (10)6.心得体会 (11)7.参考文献 (12)8.附录源程序 (13)1.设计意义与要求1.1设计意义通过课程设计,能够让我们对所学的理论知识有更进一步的理解,而在调试排除故障时也有助于提高分析问题、解决问题的能力。
通过此课程设计的汇编语言练习,可以熟悉汇编语言的寻址方式和指令系统,BIOS和DOS系统功能调用,程序设计方法并熟悉汇编的编程环境。
霓虹灯的模拟显示程序

课程设计任务书学生姓名:__________________ 专业班级: __________________________ 指导教师: _________________ 工作单位:________________________题目:“霓虹灯”的模拟显示程序初始条件:在屏幕中央以@字符显示一矩型,并以*将矩型内部由下到上,从中央到两边填满;然后再按相反的次序消失。
按Q退出程序。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图目录1.引言. (1)2.设计任务及要求分析 . (1)2.1 设计内容: . (1)2.2 设计要求与分析: . (2)3.方案比较及认证说明 . (2)3.1 清屏函数方案 . (2)3.1.1 方案说明 (2)3.1.2 方案比较及论证 (4)3.2 字符的显示方案 . (4)3.2.1 方案说明 (4)3.2.2 方案比较及论证 (4)3.3 方案选择 . (5)4. 系统原理阐述 . (5)4.1 设计思路 . (5)4.2程序中的BIOS和DOS^能调用 (5)4.2.1BIOS 功能调用 (5)4.2.2DOS 功能调用 (6)4.3 程序模块 (6)5.硬件设计课题说明 (8)6.软件设计课题说明 (10)6.1程序功能描述 (10)6.2流程图 (10)7.调试记录及结果分析 (13)7.1调试过程 (13)7.2调试结果 (14)7.3调试中出现的问题及解决方法 (16)8.总结 (16)9. 参考资料 (16)10. 附录源程序清单 (17)霓虹灯”的模拟显示程序引言霓虹灯的千变万化是装点人们生活的不二之选,我们可以通过汇编语言对霓虹灯的闪烁进行控制,实现霓虹灯闪烁的任意控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理实验报告
课题名:霓虹灯设计
班级:
学号: _
姓名:
指导教师:
目录
实验目的 (3)
实验要求 (3)
实验原理 (3)
实验内容 (3)
程序代码 (4)
程序及硬件系统调试情况 (9)
设计总结与体会 (9)
➢实验目的
在熟悉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
OUT 61H,AL
CALL DALLY1
MOV AL,0BDH
OUT 61H,AL
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
MOV AL,0F7H
OUT 61H,AL
CALL DALLY1
MOV AL,0EFH
CALL DALLY1
MOV AL,0DFH
OUT 61H,AL
CALL DALLY1
MOV AL,0BFH
OUT 61H,AL
CALL DALLY1
MOV AL,07FH
OUT 61H,AL
CALL DALLY2
LOOP A3
MOV cx,3
A4: MOV AL,07FH ;单数依次从左向右亮,双数依次从右向左亮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 DALLY1
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: 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调试软件里面打开程序,首先编译改程序,此时会弹出一个编译出错对话框,按提示的出错行数对应进行修改,修改完后再编译—汇编—链接。
实验步骤一
✧关闭DVCC8086电源,按要求连接线路:
①8255芯片PB口输出端PB0~PB7依次接D0~D7
②IRQ5开始连接kk2
③IRQ1中断连接kk1
✧打开DVCC8086电源,输入u2000来查询程序是否装入,装入后键入
G=2000,然后按下kk2观察指示灯的显示状态,然后按下kk1观察指示
灯的亮灭情况。
➢设计总结与体会
经过这一周的专周, 做关于霓虹灯实验设计,我认真查阅资料,学习关于这方面的知识,才真正体会到了其中的不易,每一个设计环节,稍有疏忽实验将难以成功。
有了这次实验设计的经历,我想以后再遇到类似的问题我将会考虑的更加全面一些。