微机实验三流光发生器的设计
- 格式:doc
- 大小:164.00 KB
- 文档页数:4
微机原理实验报告课题名:霓虹灯设计班级:学号: _姓名:指导教师:目录实验目的 (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调试软件里面打开程序,首先编译改程序,此时会弹出一个编译出错对话框,按提示的出错行数对应进行修改,修改完后再编译—汇编—链接。
专业班级:计算机1301姓名:学号:指导老师:2016年 1 月15 日彩灯控制器一、实验要求、设计目的及功能实现实验要求:现在有8盏彩灯,4个开关作为输入,控制4种闪烁方式。
当没有开关闭合时,4种花型依次轮流闪烁,每种花型闪烁时间持续2分钟,每盏灯点亮的时间为1秒。
只有某一个开关闭合时,对应的花型连续不断的闪烁。
设计实现该功能的电路,并编写完整的代码。
设计目的:(1)巩固和加深微机原理所学知识;(2)学习掌握一般的软硬件的设计方法和查阅、运用资料的能力。
所实现的功能:本课程设计所设计的彩灯控制器的主要功能有:向外发散显示、向中递推显示、0-7依次显示、奇数灯显示,偶数灯显示等功能。
输出采用8个二极管显示,每个灯亮1秒。
二、实验原理在这次课程设计中主要用到了8255A可编程并行接口芯片可用程序来设置芯片的工作方式,通用性强,使用灵活,可为CPU与外设之间提供并行输入/输出的通道。
8254给1S的信号送到8259,再送到8255A控制灯亮的时间。
三、硬件原理图0 0000000000000000000000000008255工作原理及内部结构1.8255A内部结构8255A的内部结构如图2所示,它由4部分组成:(1) 数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及CPU向8255A发送的控制信息和8255A向CPU回送的状态信息都是通过它传送的(2)三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入缓冲器和一个8位数据输入/输出,锁存/缓冲存储器器;端口C(PC口):有一个8位数据输入缓冲存储器器和一个8位数据输出锁存/缓冲器。
通常PA口与PB口用作输入/输出的数据端口,PC口用作控制和状态信息端口。
PC口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同PA 口和PB口配合使用,用作控制信号(输出)或作为状态信号(输入)。
三路彩灯控制器课程设计555定时器
材料准备:
- 三个LED灯
- 三个限流电阻
- 555定时器芯片
- 电容
- 开关或推按钮
- 电源
- 连接线和面包板
步骤如下:
1. 将三个LED灯和限流电阻连接在一个电路板上,确保电阻能够限制电流,使LED正常发光。
2. 连接555定时器芯片。
根据555定时器的引脚连接图,将正、负电源线连接到适当的引脚。
连接一个电解电容来稳定电源电压。
3. 使用一个开关或推按钮来触发555定时器的功能。
将开关连接到适当的引脚,以控制信号的输入。
4. 根据需要的闪烁频率,选择合适的电容和电阻值,通过改变它们的组合来调整闪烁速度。
5. 连接LED灯和555定时器。
将LED的阳极(长脚)连接到定时器的输出脚,将LED的阴极(短脚)连接到接地线上。
6. 完成电路连接后,通电测试。
根据输入信号的变化,LED灯应该可以正常地闪烁。
微机原理流水灯流水灯,又称为跑马灯,是一种常见的LED灯效。
它的灯光效果像水流一样流动,非常美观。
在微机原理中,流水灯的实现是一个很好的实践项目,可以帮助学生理解数字电路和微机原理的知识。
本文将介绍如何使用微机原理实现流水灯,并提供相应的代码和电路图供参考。
首先,我们需要准备以下材料:1. 8个LED灯。
2. 8个220Ω的电阻。
3. 一个面包板。
4. 杜邦线若干。
5. 一个Arduino开发板。
接下来,我们来看一下流水灯的原理。
流水灯的实现原理是通过依次点亮LED 灯,然后熄灭前一个LED,点亮下一个LED,以此类推,就形成了灯光像水流一样流动的效果。
在微机原理中,我们可以利用Arduino开发板来实现这一效果。
首先,我们需要将8个LED灯连接到Arduino开发板上。
将LED的长针(阳极)通过220Ω的电阻连接到Arduino的数字引脚2~9上,LED的短针(阴极)接地。
接下来,我们需要编写Arduino的程序来实现流水灯的效果。
以下是流水灯的Arduino代码:```c。
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9};void setup() {。
for (int i = 0; i < 8; i++) {。
pinMode(ledPins[i], OUTPUT);}。
}。
void loop() {。
for (int i = 0; i < 8; i++) {。
digitalWrite(ledPins[i], HIGH);delay(100);digitalWrite(ledPins[i], LOW);}。
}。
```。
在这段代码中,我们首先定义了8个LED灯的引脚号,然后在setup函数中将这些引脚设置为输出模式。
在loop函数中,我们依次点亮每个LED灯,并通过delay函数控制灯光的流动速度。
接下来,我们将Arduino开发板连接到电脑上,上传这段代码到开发板中。
微机原理与接口技术实验3流光发生器实验目的:1.掌握流光发生器的原理及工作原理。
2.了解流光发生器的接口特性及使用方法。
3.通过实验观察流光发生器的输出特性。
实验仪器:2.示波器3.数字万用表4.串行通信转USB模块实验原理:流光发生器是一种能产生连续可变色彩光的设备,它通过改变红、绿、蓝三基色灯的亮度分量来调整输出光的颜色。
在流光发生器中,通过对三色灯的PWM(脉冲宽度调制)控制,来实现色彩的混合和连续变化。
实验步骤:1.将流光发生器与示波器连接,设置示波器为XY模式,并选择合适的输出通道。
2.将流光发生器与数字万用表连接,用于测量流光发生器的输出电压。
3.将流光发生器与串行通信转USB模块连接,用于通过计算机控制流光发生器的工作参数。
4.打开流光发生器,并通过计算机软件调整输出光的颜色和亮度,观察输出波形的变化。
5.使用示波器观察流光发生器的输出波形,并测量输出电压的大小。
6.记录实验数据并进行分析。
实验注意事项:1.在操作流光发生器时,要注意电压的稳定性,避免因电压不稳导致流光发生器的异常工作。
2.在连接流光发生器与示波器时,要注意接线的正确性,避免误操作导致仪器故障。
3.在调整流光发生器的参数时,应根据实际需要进行合理设置,不要超过流光发生器的工作范围。
4.在测量流光发生器的输出电压时,要使用合适的测量工具,并注意正负极性的连接。
实验结果及数据分析:根据实验步骤进行实验操作,并记录实验数据。
通过观察流光发生器的输出波形和测量输出电压的变化,可以得到流光发生器的输出特性。
在实验中,通过计算机软件调整流光发生器的参数,可以实现连续变化的颜色与亮度。
通过示波器观察输出波形,可以看到不同频率和脉冲宽度的变化对应不同的颜色和亮度。
根据实验数据进行分析,可以得到流光发生器的颜色变化规律,以及不同参数对输出波形的影响。
通过分析实验结果,可以进一步了解流光发生器的原理及接口技术。
结论:通过本次实验,我们掌握了流光发生器的原理及工作原理,了解了流光发生器的接口特性及使用方法。
实验报告(2010 / 2011 学年第二学期)课程名称: 微型计算机原理与接口技术实验名称: 流光发生器设计实验实验目的和要求完成相应的硬件电路连线并编写程序,使8254的三个计数器输出不同周期的方波信号,控制三个发光二极管,达到流光效果。
二、实验环境(实验设备)PD-32开放式微型计算机教学实验装置8254计时器/计数器模块三、实验原理及内容硬件连线8254的连线:片选CS接至地址输出端CS1;地址输入端A0、A1分别接至系统地址线A2、A3;门控信号GA TE0 ,GA TE1,GA TE2 接至+5V;CLK0、CLK1、CLK2接至分频器393的分频输出得到不同的计数时钟;OUT0、OUT1、OUT2 为计数器8254三个计数器的输出,接至发光二极管的输入,观测LED的变化。
地址译码连线:GAL的地址输入端A—5接至地址线A5;GAL的地址输入端A—6接至地址线A6;GAL的地址输入端A—7接至地址线A7。
8254控制端口为30CH,计数器0的地址为300H,计数器1的地址为304H,计数器2的地址为308H。
实验代码:.486CODE SEGMENT USE16ASSUME CS:CODEORG 03000HPORT EQU 30CH ;8254控制口地址CON0 EQU 00010110B ;控制字CON1 EQU 01010110BCON2 EQU 10010110BPORT1 EQU 300H ;8254数据口1地址PORT2 EQU 304H ;8254数据口2地址PORT3 EQU 308H ;8254数据口3地址V ALUE0 EQU 0H ;初值BEG: MOV DX,PORT ;写入控制字MOV AL,CON0OUT DX,ALMOV DX,PORT1 ;写入初值MOV AL,V ALUE0OUT DX,ALMOV DX,PORT ;写入控制字MOV AL,CON1OUT DX,ALMOV DX,PORT2 ;写入初值MOV AL,V ALUE0OUT DX,ALMOV DX,PORT ;写入控制字MOV AL,CON2OUT DX,ALMOV DX,PORT3 ;写入初值MOV AL,V ALUE0OUT DX,ALWT: NOPJMP WTCODE ENDSEND BEG四、实验小结(包括问题和解决方法、心得体会、意见与建议等)1、硬件连接部分:硬件连接很简单,关键是要知道每个计数器对外有三个引脚:GA TE、CLK、OUT。
流水灯微机原理课程设计一、课程目标知识目标:1. 学生能理解流水灯微机的基本原理,掌握其硬件组成和软件编程方法。
2. 学生能描述流水灯微机的工作过程,了解不同模式下的电路特性。
3. 学生掌握相关电子元件的功能和连接方式,能够正确搭建简单的流水灯微机系统。
技能目标:1. 学生能够运用所学知识,独立设计并实现简单的流水灯微机程序。
2. 学生能够运用调试工具,对流水灯微机程序进行调试和优化,提高程序执行效率。
3. 学生能够通过团队协作,共同完成流水灯微机的设计与搭建,提高沟通与协作能力。
情感态度价值观目标:1. 学生通过学习流水灯微机原理,培养对计算机硬件和编程的兴趣,提高学习积极性。
2. 学生在实践操作过程中,养成动手能力,培养解决问题的自信心和耐心。
3. 学生通过团队协作,培养合作精神,认识到团队协作的重要性,增强团队荣誉感。
课程性质:本课程为实践性较强的课程,注重理论知识与实际操作相结合,培养学生的动手能力和创新能力。
学生特点:本课程面向高年级学生,学生在前期课程中已具备一定的电子技术和编程基础,具备一定的自学能力和团队协作能力。
教学要求:教师应关注学生的个体差异,因材施教,引导学生主动探究,注重培养学生的实践能力和综合素质。
同时,注重教学评价,及时反馈学生的学习成果,指导学生调整学习方法,提高学习效果。
二、教学内容1. 理论部分:(1)流水灯微机原理概述:介绍流水灯微机的基本概念、工作原理及应用场景。
(2)硬件组成:讲解流水灯微机的核心元件,如微控制器、时钟、存储器、输入输出接口等。
(3)软件编程:介绍流水灯微机的编程语言和编程方法,如汇编语言、C语言等。
2. 实践部分:(1)电子元件认知:学习并识别常用的电子元件,如电阻、电容、二极管、三极管等。
(2)电路搭建:学习并搭建简单的流水灯微机电路,掌握电路连接方法和调试技巧。
(3)程序设计:运用所学编程语言,设计并实现流水灯微机程序,实现不同的流水灯效果。
1.设计意义与要求1.1设计意义通过课程设计,能够对所学知识有更进一步的理解,并能掌握学习理论时没有注意的细节。
调试程序,排除故障有助于提高分析问题、解决问题的能力。
课程设计中碰到的挫折,有助于养成良好的学习习惯、严谨的工作作风。
通过此课程设计的汇编语言练习,可以熟悉汇编语言的寻址方式和指令系统,BIOS和DOS系统功能调用,程序设计方法并熟悉汇编的编程环境。
1.2设计要求设计内容:采用汇编语言设计一个在屏幕中央以$字符显示一矩形,并以#将矩型从上之下、从左至右填满;然后再按相反的次序消失的程序。
按Q退出程序设计要求:(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5)调试记录及结果分析(6)总结(7)参考资料(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图2方案论证2.1方案比较在设计过程中字符的显示有2中不同的方式。
方案一:运用DOS功能的2号调用,程序的设计如下MA ROW,COLUME ;MA是个宏定义光标位置MOV AH,02HMOV DL,’#’INT 21H在本程序中,显示方式很简洁很直观很容易记忆理解。
但是它无法设置字符的属性,同时还会在下个坐标位置显示光标,影响光看者的视觉享受。
方案二:运用BIOS功能的9号调用,程序设计如下CALL CURSOR ;调用光标设置子程序MOV AL,23HMOV BL,0BHPUSH CXMOV CX,1MOV AH,09HINT 10HPOP CX这个程序设计起来占用寄存器较多,略微复杂点,但是它的功能更加完备,更能实现霓虹灯的颜色变化显示效果,给人一种美感。
2.2方案选择从上面的分析比较可知方案二的可行性和实际达到的效果更好。
所以选则方案二实现霓虹灯的功能。
3系统原理阐述3.1设计思路(1) 执行程序时显示一个欢迎界面,提示按大写S键进入显示界面(2) 执行程序这部分程序运用的主要原理是先在屏幕上显示个字符$(#)号,再执行循环,语句显示一行(列)$(#)字符。
实验三:花样流水灯实验一、实验目的1.熟悉LED的显示特点;2.了解单片机系统实现花样流水灯实验的硬件电路和软件编程技巧;3.熟悉基本汇编指令的灵活应用。
二、实验仪器、材料1.微型计算机(PⅣ以上)2.编程、汇编与模拟平台软件Keil uVision33.电子技术专业仿真软件protues运行平台4.单片机实训开发电路板三、实验内容和步骤1.2.//从左到右(或从右到左)流水循环显示实验ORG 0000HMOV A,#80H //MOV A,#01H ;从右到左LOOP:RL A //RR A ;从右到左MOV P1,AACALL DELAYSJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从两端到中间、从中间到两端显示实验ORG 0000HLOOP:MOV P1,#81HACALL DELAYMOV P1,#42HACALL DELAYMOV P1,#24HACALL DELAYMOV P1,#18HACALL DELAYMOV P1,#24HACALL DELAYMOV P1,#42HACALL DELAYSJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从左到右、从右到左流水显示实验1ORG 0000HMOV A,#80HMOV R0,#08HLOOP:RL AMOV P1,AACALL DELAYDJNZ R0,LOOPMOV R0,#07HLOOP1:RR AMOV P1,AACALL DELAYDJNZ R0,LOOP1MOV R0,#07HSJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从左到右、从右到左流水显示实验2ORG 0000HMOV A,#01HLOOP:RL AMOV P1,AACALL DELAYCJNE A,#80H,LOOPLOOP1:RR AMOV P1,AACALL DELAYCJNE A,#01H,LOOP1SJMP LOOPDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//从左到右、从右到左流水显示实验3ORG 0000HMOV A,#00HSETB CYLOOP:RLC AJC LOOP1MOV P1,AACALL DELAYSJMP LOOPLOOP1:RRC AJC LOOPMOV P1,AACALL DELAYSJMP LOOP1DELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND//花样流水灯查表显示实验ORG 0000HSTART:MOV R0,#00HMOV P1,#00HLOOP:MOV A,R0ADD A,#0CHMOVC A,@A+PCCJNE A,#01H,XSH ;3SJMP START ;2XSH:MOV P1,A ;2ACALL DELAY ;2INC R0 ;1SJMP LOOP ;2ASCTAB:DB0FFH,00H,0FFH,00H,0FFH,00H,0FH,0F0H,0FH,0F0H,0FH,0F0H,0FH,0F0H,0CCH,55H,0AAH,55H,0AAH,55H,0AAH,55H DB81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H,42H,24H,18H,24H,42H,81H DB03H,06H,0CH,18H,30H,60H,0C0H,60H,30H,18H,0CH,06H,03H,06H,0CH,18H,30H,60H,0C0H,60H,30H,18H,0CH,06H,03H,0 1HDELAY:MOV R7,#0FFH ;延时1ms程序DELAY1:MOV R6,#0FFHDELAY2:MOV R5,#02HDELAY3:DJNZ R5,DELAY3DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND。
实验报告
课程名称微机原理及接口技术
实验名称实验报告(一):小灯闪烁仿真实验
实验目标:利用Keil的仿真实验环境,编程实现使连接到P1.0引脚的小灯亮灭闪烁。
请图文结合详细描述实验流程与实验结果,给出带注释的源代码以及实验结论等。
1.实验流程
·新建一个工程项目文件,并取名为“led闪烁”,同时选择目标器件AT89C51。
由于是汇编语言,故而选择“否”
·将文件添加到项目中并键入程序
创建文件,保存为“led闪烁.asm”,并将文件添加到项目中。
将程序键入。
·为工程项目设置软硬件调试环境并生成.hex文件。
·程序文件的编译·软件仿真、调试
在调试窗口调试,观察P1观察口。
运行程序可观察到P1窗口闪烁变化。
2. 实验结果
·编译结果
·P1.0引脚的小灯亮灭闪烁结果
3. 带注释的源代码
4. 实验结论、建议和意见
实验结论:
利用Keil的仿真实验环境,可以通过设置延时来编程实现并观察到P1.0引脚的小灯亮。
数字电路课程设计报告书课题名称 三路彩灯循环显示电路设计姓 名 学 号院、系、部 物理与电信工程系 专 业 电子信息工程指导教师2008年 07 月06日※※※※※※※※※ ※※ ※※ ※※2006级学生数字电路 课程设计三路彩灯循环显示设计1 设计目的(1)学习计数器、译码器多路转换集成电路的综合运用;(2)熟悉普通彩灯设计的工作原理;(3)了解简单数字系统实验、调试以及故障排除方法(4)学会使用EWB对电路进行仿真2 设计思路(1)设计计数信号产生电路;(2)设计译码输出电路。
3.设计过程(1)方案论证节日彩灯控制电路总体方框图如图1所示:图1 总体方框图(2)电路设计本设计要求电路产生闪烁方式的一种:自动滚环彩灯,让三路彩灯同时循环闪烁,目的是设计出产生单向不断滚动滚环彩灯原理图,如图2所示:图2 滚环彩灯原理图(3)电路的基本组成与工作原理如图2所示。
主要由周期脉冲(频率在0.5—25HZ),计数器,3——8线译码器和彩色灯组(2)74393芯片构成计数电路图4 74LS393先介绍图4所示二进制计数器74LS393的工作原理。
如图4所示(74LS393的引脚图):V cc,GND:工作电源端,1CKA,2CKA:时钟脉冲输入端2CLR,2CLR;清零,复位端1QA,1QB,1QC,1QD;计数器1输入端2QA,2QB,2Q3,2Q4;计数器2输入端。
它是在同一封芯片内两个结构完全相同,且相互独立的计数器,其真值表如下表1。
振荡器输出的连续正脉冲,同时加在V1的2个计数器脉冲输入端1C和2CKA,是它们同时工作,计数输出采用8421编码,V1的1QA表1 74LS393真值表输入输出CLR CKA QD QC QB QA1 X 0 0 0 00 0 0 0 0 00 1 0 0 0 10 2 0 0 1 00 3 0 0 1 10 4 0 1 0 00 5 0 1 0 10 6 0 1 1 00 7 0 1 1 10 8 1 0 0 00 9 1 0 0 10 10 1 0 1 00 11 1 0 1 10 12 1 1 0 00 13 1 1 0 10 14 1 1 1 00 15 1 1 1 1(3)3——8线译码器芯片图5 74LS1384.主要仪器与设备需要电脑一台,EWB软件,电路主要由周期脉冲信号,计数器(74LS393),3——8线译码器(74LS138)和彩色灯组成;5.仿真结果6设计体会与建议(1)体会通过这次对三路彩灯循环电路的设计,使我对我们的专业课程有了新的认识,我们所学习的并不是枯燥无味的东西,只要我们自己能够动脑筋去设计实践,会发现我们自己做出东西是很开心的事情,同时使我也对我们课堂上的东西加深了理解与应用,不是单纯的记忆,真是受益匪浅,也体会到老师的热心帮助。
课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:模拟节日彩灯变化院(系):专业:班级:学号:姓名:指导教师:完成日期:课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (3)第2章详细设计方案 (4)2.1硬件电路设计 (4)2.2主程序设计 (5)2.3功能选择模块的设计与实现 (6)2.4彩灯显示模块地设计与实现 (7)第3章结果测试及分析 (8)3.1结果测试 (8)3.2结果分析 (8)参考文献 (10)附录 (11)第1章总体设计方案1.1 设计原理根据题目要求,要完成节日彩灯的显示,控制,模式选择等功能,在本次设计中主要使用了8279键盘/显示芯片以及部分连线来完成节日彩灯的模拟。
采用8279键盘显示接口芯片显示不同模式彩灯,通过延时程序控制彩灯演示的频率。
将模式选择功能、停止功能、显示功能等通过不同的子程序实现,然后在程序中调用不同的子程序来实现不同的功能。
1.2 设计思路采用汇编语言程序设计的方法结合硬件电路设计方法,利用AEDK实验箱上已有芯片来实现模拟至少8种不同的节日彩灯变化(能够控制到数码管的每一段)。
1.2.1提出方案开始运行显示登陆界面,即用数码管显示学号,然后选择一种模式(从1到8),若想单一模式显示,则直接按开始键就可以显示。
若想组合模式显示,则要按下组合键,然后再按下想要显示的次数,然后循环按下模式键—组合键—次数,当要组合显示的模式及相应的次数全部输入完毕后,按下开始键,就能在数码管上显示组合的节日彩灯了。
在显示时按下暂停键则停止显示,直到按下开始键后又继续显示。
按下结束键,则数码管显示清空,直到再次选择模式开始后才重新显示。
1.2.2 方案论证1.由于实验要求实现模拟至少8种不同的节日彩灯变化(能够控制到数码管的每一段),并且还要实现开始,暂停,停止,模式选择等功能,所以我选择8279键盘显示接口芯片,通过键盘上的不同按键来实现不同模式的选择切换、开始、暂停等功能,并将不同的模式的彩灯变化通过数码管显示出来。
光子发生器的制作方法光子发生器?这玩意儿可不简单啊!要制作它,那可得好好动一番脑筋。
咱先来说说材料吧,你得找到一些特殊的晶体,就像寻找宝藏一样,可不是随便就能找到的哟!这些晶体要能在特定条件下发出光子,就像夜空中闪烁的星星。
然后呢,还需要一些精密的电路元件,这可就像人的神经系统一样重要,得把它们连接得恰到好处,不然光子可出不来哦。
接下来就是组装啦!这可不像搭积木那么容易,每一个零件都得放在它该在的位置,就好像给它们安排座位一样,不能有丝毫差错。
你想想看,要是放错了,那光子还能顺利产生吗?那肯定不行啊!然后就是调试环节啦,这就好比给汽车做保养,得让一切都运行得顺顺利利的。
你得不断地调整各种参数,看看光子的产生情况,是不是够亮,够稳定。
这可不是一次就能搞定的事儿,得有耐心,反复尝试。
哎呀,你说这制作光子发生器难不难?就好像要建造一座微型的魔法城堡一样,每一块砖,每一片瓦都得精心挑选和放置。
不过呢,一旦你成功了,看到那神奇的光子闪烁起来,就会觉得一切都值啦!就像你辛苦种的花儿终于绽放了一样,那种成就感简直无与伦比。
在这个过程中,可不能粗心大意哦,一个小小的失误都可能让你的努力白费。
就好像走钢丝一样,得小心翼翼,保持平衡。
而且还得有创新精神,不能总是照着别人的方法来,得想出一些自己的点子,让你的光子发生器与众不同。
你可能会问,这值得吗?那当然啦!当你看到自己亲手制作的光子发生器发出那神秘而美丽的光芒时,你就会知道一切都是值得的。
这不仅仅是一个科技作品,更是你智慧和努力的结晶啊!所以啊,朋友们,勇敢地去尝试制作光子发生器吧!虽然过程充满挑战,但收获也会让你惊喜不已。
就像攀登一座高峰,虽然路途艰难,但登顶后的风景会让你终身难忘。
相信自己,你一定能行!。
《微机系统与汇编语言》课程设计(题目)姓名班级学号20**/12/26内容要求:一.设计内容设计并实现随音乐伴奏而按某种规律显示的彩灯。
二. 设计要求①.用实验箱上的8253控制扬声器发声,演唱3首不同的歌曲。
②.通过实验箱上的8255A驱动二极管发光。
③.发光二极管的闪烁以音调的不同而不同④.通过中断信号选择歌曲。
三. 总体设计1. 设计思路:1>本次实验应用了8254,8255,8259芯片组2>8254用于计数和连接扬声器,用计数器1实现音乐播放的控制,方式3。
提供因每个音符频率不同而产生的音乐输出,片选信号接到系统总线的IOY2(端口地址为0680)3>8255A驱动二极管发光,伴随音乐而变换。
用B口作输出,片选信号接到系统总线的IOY0(端口地址为0600H)4>8259采用级联方式,提供中断控制歌曲的切换,主片的中断类型号为68H,接MIR7.从片中断类型号为70H,接SIR1 。
每按一次MIR7或SIR1,切换一首歌。
5>共有三首歌,0-友谊地久天长,1-祝你生日快乐,2-两只老虎,从第一首开始播放,然后判断有无中断,没有就继续播,有就判断计数器的值,大于等于3就重置为0(第一首),否则就用计数器的值找下一首要播放的歌曲的频率表、时间表、彩灯的控制表,然后取出播放新的音乐。
2.硬件连接图我的改为片选CS接IOY2,用的计数器1,即把GA TE0、CLK0、OUT0改为GATE1、CLK1、OUT1我的片选信号CS接到IOY0,用的B口输出,即把PA0---PA7改为PB0---PB7 3.软件流程图4.4. 程序代码IOY0 EQU 0600HIOY2 EQU 0680HMY8254_COUNT0 EQU IOY2+00H ;8254 计数器 0 端口地址MY8254_COUNT1 EQU IOY2+02H ;8254 计数器 1 端口地址MY8254_COUNT2 EQU IOY2+04H ;8254 计数器 2 端口地址MY8254_MODE EQU IOY2+06H ;8254 控制寄存器端口地址MY8259_ICW EQU 20H;MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_CON EQU 0606HSSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSDATA SEGMENTCOUNTSONG DB 0INT_FLAG DB 0FREQ_LIST DW FREQ_ONETIME_LIST DW TIME_ONEFREQ_ONE DW 393,393,441,393,525,495 ;频率表DW 393,393,441,393,589,525DW 393,393,786,661,525,495,441DW 350,350,661,525,589,525,0TIME_ONE DB 4,2,5,5,5,10 ;时间表DB 3,2,5,5,5,10DB 2,4,5,5,5,3,3DB 4,1,5,5,5,10LED_ONE DB 25,23,03,44,75,26,07,08,19DB 01,05,63,04,05,06,47,08,09DB 01,32,03,46,02,06,54,08,29DB 01,62,03,34,25,06,67,28,09DB 01,02,83,04,05,46,37,68,09DB 01,62,03,24,05,06,57,58,09,42,34FREQ_SEC DW 262,294,330,262,262,294,330,262 ;频率表 DW 330,350,393,330,350,393,393,441,393,350,330,262DW 393,441,393,350,330,262,262,393,262,262,393,0 TIME_SEC DB 6, 6, 6, 6, 6, 6, 6, 6 ;时间表 DB 6, 6, 12, 6, 6, 12, 4, 2, 4, 2, 6, 6DB 4, 2, 4, 2, 6, 6,6, 6, 12,6, 6, 12LED_SEC D B 01,62,03,34,25,06,67,28,09DB 01,02,83,04,05,46,37,68,09DB 01,62,03,24,05,06,57,58,09,42,34DB 25,23,03,44,75,26,07,08,19DB 01,05,63,04,05,06,47,08,09DB 01,32,03,46,02,06,54,08,29FREQ_THIRD DW 371,495,495,495,624,556,495,556,624 ;频率表DW 495,495,624,742,833,833,833,742,624DW 624,495,556,495,556,624,495,416,416,371DW 495,833,742,624,624,495,556,495,556,833DW 742,624,624,742,833,990,742,624,624,495DW 556,495,556,624,495,416,416,371,495,0TIME_THIRD DB 4, 6, 2, 4, 4, 6, 2, 4, 4 ;时间表DB 6, 2, 4, 4, 12, 1, 3, 6, 2DB 4, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 12, 4, 6, 2, 4, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 12, 4, 6, 2, 4, 4DB 6, 2, 4, 4, 6, 2, 4, 4, 12LED_THIRD DB 01,05,63,04,05,06,47,08,09DB 01,32,03,46,02,06,54,08,29DB 01,62,03,34,25,06,67,28,09DB 25,23,03,44,75,26,07,08,19DB 01,02,83,04,05,46,37,68,09DB 01,62,03,24,05,06,57,58,09,42,34SING_FREQ DW FREQ_ONE,FREQ_SEC,FREQ_THIRDSING_TIME DW TIME_ONE,TIME_SEC,TIME_THIRDLED_TAB DW LED_ONE,LED_SEC,LED_THIRDDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX, 0000HMOV DS, AX;MIR7MOV AX, OFFSET MIR7 ;取中断入口地址MOV SI, 006FH*4 ;中断矢量地址,低位存偏移地址MOV [SI], AX ;填 IRQ7 的偏移矢量MOV AX, CS ;段地址MOV SI, 006FH*4+2 ;高位存段地址MOV [SI], AX ;填 IRQ7 的段地址矢量;SIR1MOV AX, OFFSET SIR1MOV SI, 71H*4MOV [SI], AXMOV AX, CSMOV SI, 71H*4+2MOV [SI], AXCLI ;中断允许标志置0POP DS;初始化主片 8259MOV AL, 11HOUT 20H, AL ;ICW1,11H=0001 0001,IRx为上升沿触发,多片8259级联,需要ICW4MOV AL, 68HOUT 21H, AL ;ICW2,68H=0110 1000,程序设定的中断类型码的高5位内容为01101,中断源为???MOV AL, 04HOUT 21H, AL ;ICW3仅用于8259的级联方式,04H=0000 0100,IR2上接有从片8259MOV AL, 05HOUT 21H, AL ;ICW4,01H=0000 0101,优先级管理采用正常的完全嵌套方式,非缓冲方式,作为从片,非自动中断结束方式MOV AL, 6BHOUT 21H, AL ;OCW1 用来设置中断源的屏蔽状态,6BH=0110 1011,IR4和IR7没被屏蔽,主片IR2不屏蔽;初始化从片MOV AL, 11HOUT 0A0H, AL ;ICW1MOV AL, 70HOUT 0A1H, AL ;ICW2MOV AL, 02HOUT 0A1H, AL ;ICW3MOV AL, 01HOUT 0A1H, AL ;ICW4MOV AL, 0FDHOUT 0A1H,AL ;OCW1=1111 1101 从片IR1不被屏蔽STI ;中断允许标志置1; 初始化8254MOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,76H ;0011 0110设置定时器1,先读写低8位,后读写高8位,工作方式3,软硬件启动OUT DX,AL;初始化8255MOV DX, MY8255_CON ;初始化 8255 工作方式MOV AL, 80H ;1000 0000 B口工作在方式0,做输出OUT DX, ALMOV AX,DATAMOV DS,AXAA1: NOPJMP PLAY1;CALL BEGINJMP AA1;子程序功能MIR7:PUSH AXMOV INT_FLAG,0FFHINC COUNTSONG ;增量加(加1)CMP COUNTSONG,3 ;比较JC RETT ;条件转移,有进位(借位)转移MOV COUNTSONG,0 ;大于等于3时,从第0首歌开始唱SIR1:PUSH AXMOV INT_FLAG,0FFHINC COUNTSONG ;增量加(加1)CMP COUNTSONG,3 ;比较JC RETT ;条件转移,有进位(借位)转移MOV COUNTSONG,0 ;大于等于3时,从第0首歌开始唱;---------是那首歌就唱哪首歌----------RETT:MOV AH,1MOV AL,COUNTSONG;----------OR AL,30HINT 10HMOV AL, 20H;-----------OUT 20H, AL ;中断结束命令OUT 0A0H,ALPOP AXIRET;----------使程序顺序执行--------- PLAY1:XOR BX,BXMOV BL,COUNTSONGSHL BX,1MOV BP,BXMOV SI,DS:SING_FREQMOV DI,DS:SING_TIMEMOV BX,DS:LED_TAB;MOV BX,DS:LED_TAB[BP]; MOV SI,SING_FREQ; MOV DI,SING_TIME;响应中断SONG1:CMP INT_FLAG,0HJZ PLAYMOV INT_FLAG,0HXOR BX,BXMOV BL,COUNTSONGSHL BX,1MOV BP,BXMOV SI,DS:SING_FREQ[BP]MOV DI,DS:SING_TIME[BP]MOV BX,DS:LED_TAB[BP]; MOV BX,DS:LED_TAB[BP];------------------------------------- ; ;CMP INT_FLAG,0H; JZ SONG0; MOV INT_FLAG,0H;XOR BX,BX; MOV BL,COUNTSONG; ADD BX,OFFSET SING_FREQ;MOV SI,[BX]; ADD BX,OFFSET SING_TIME; MOV DI,[BX]PLAY:;输入时钟为 1MHz,1M = 0F4240H MOV AX,4240HMOV DX,0FHDIV WORD PTR [SI]MOV DX,MY8254_COUNT1OUT DX,AL ;装入计数初值MOV AL,AHOUT DX,ALMOV DL,[DI] ;取出演奏相对时间,调用延时子程序CALL DALLYMOV AX,BXMOV DX,MY8255_BOUT DX,AL ;从B口输出音符到LEDADD SI,2INC DIINC BX; POP BXCMP WORD PTR [SI],0 ;判断是否到曲末?JE PLAY1JMP SONG1; MOV DI,OFFSET TIME_LIST ;装入时间表起始地址DALLY PROC ;延时子程序D0: MOV CX,0010HD1: MOV AX,0F00HD2: DEC AXJNZ D2LOOP D1DEC DLJNZ D0RETDALLY ENDPCODE ENDSEND START四. 心得体会通过课程设计我对8259A、8254、8255等芯片有了更深刻的认识。
霓虹灯显示程序设计1设计内容及要求要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.用汇编语言编写一个霓虹灯的模拟显示程序;2.在屏幕上显示你的中文名字或其它文字,按某种规律闪烁变化,按“q”键退出;3.撰写课程设计说明书。
内容包括:摘要、目录、正文、参考文献、附录(程序清单)。
正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。
2程序原理分析本次设计实现的是霓虹灯的模拟显示,在80*25大小的屏幕上显示由各种字符组成的不同图形,在屏幕上,0行0列相对于屏幕左上角的位置,24行79列相对于右下角的位置。
对应显示屏幕上的每个字符,在存储器中又连续的两个字节表示,一个字节保存ASCII码,另一个字节保存字符的属性。
在屏幕上处理字母、数字以及一些字符图形称为文本方式。
在文本方式下,属性字节对单色显示和彩色显示都是有效的。
本程序采用的是彩色字符显示,在显示彩色文本时,属性字节能够选择前景和背景的颜色。
每个字符可以选择16种颜色中的一种,背景色有8种颜色可以选择。
图1-1是16色文本方式显示的属性字节。
表1-1列出了16色字符方式颜色的组合。
表1-1 16种颜色的组合本程序主要运用了BIOS显示中断类型10H的部分功能,主要有用到以下几个功能:置光标:AH=02BH=页号DH=行DL=列读光标:AH=03显示字符串:AH=13HAL=01H ;光标跟随移动ES:BP=串地址CX=串长度DH,DL=起始行列BH=页号BL=属性即程序通过INT 10H2号功能的调用置光标位置,3号功能的调用读光标的位置,以及13号功能的调用显示字符串。
并通过顺序、循环结构程序的调用进行图形的霓虹灯效果显示。
程序的数据段以字符串的形式来表示,可以很方便的直接运用INT 10H中的13号功能即显示字符串功能显示图形,这样一来程序得到了很大的简化,但同时,图形的显示是以字符串的形式,即以行的依次顺序逐渐出像在屏幕上,在字符串一次出现的同时,通过调用相应的子程序改变图形显示的颜色属性,以及不断变换显示图形的形状。
微机原理与接口技术》课程设计题可控制霓虹灯班级:电气本151小组组长: 徐明(2015040104 )小组成员:王军三 (2015040107 )黄国涛 (2015040108)刘飞鸿(2015040113)指导教师:刘微日期:2017年10月11日齐齐哈尔工程学院机电工程系一、设计可控制霓虹灯目的及意义霓虹灯其设计目的主要为:(1) 进一步熟悉8255A 并行接口的基本工作原理(2) 运用CES-86 通用微机实验装置,了解键盘的基本结构,学会编写程序.(3) 在熟悉了小键盘的基础上,加上LED 发光二极管的使用设计出绚丽闪耀的霓虹灯.本课程设计是自动化专业学生的一次较全面的的设计训练.是配合“微机与接口技术”课堂教学的最后一个重要的实践教学环节.它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。
当然.虽然程序最后达到了预期控制要求.但是由于实际情况和理想情况存在差距.我知道还有很多地方有待改进.同时我还是个初学者.各方面肯定存在不足.如果老师发现了缺陷之处. 请指出.我们一定会虚心接受。
二、芯片介绍本次课程设计中所使用的芯片8255A (如右图)是In tel公司采用CHMO工艺生产的一种高性能通用可编程输入/输出并行接口芯片,可以方便地应用在In tel系列微处理器系统中。
下面对8255A芯片进行简单介绍:8255A的内部结构8255A 是40引脚双列直插式芯片,片内有A,B,C三个8位I/O端口,可提供24条可编程的输入/输出端口线。
它的内部结构由三部分电路组成:把他用线路与8086CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。
8086内部介绍8086 CPU中寄存器总共为14个.且均为16位。
即AX.BX.CX.DX.SPBPSI.DI.IPFLAG.CS.DS.SS.ES共14 个。
而这14个寄存器按照一定方式又分为了通用寄存器.控制寄存器和段寄存器。
实验三 十字路口红绿灯闪烁实验实验目的通过对红绿黄灯的控制,熟练掌握 8255A 接口芯片的编程方法实验内容对8255A 接口芯片进行编程,使红黄绿发光二级管按照十字路口交通灯的 形式点亮或者熄灭。
三、线路连接发光二级管共8个,其中两组红黄绿灯用六个,L2、L3、L4为一组,L5、L7、为一组;试验台连接如图所示。
高电平时,灯点亮8255A四、编程提示1、 红、黄、绿灯变化规律设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化 规律为:(1) 两个路口红灯全亮(2) 南北路口绿灯亮,东西路口红灯亮(3) 南北路口绿灯灭,东西路口红灯亮(4) 两个路口黄灯闪烁(5) 两个路口红灯全亮(6) 东西路口绿灯亮,南北路口红灯亮(7) 东西路口绿灯灭,南北路口红灯亮 L6、 DO --- JD1 ---- —D2—計 D D5——— net 烦 D7——J IQR ——— IOT 孙A0 ---- ^― A1 ---- ^―RESET 坊280IT287H 一--亠 RESRTPGOPC1 PC2PC3 PC415(8)两个路口黄灯闪烁(9)转向(2)循环执行2.设置8255A方式控制字设置8255A的端口C工作在方式0,为输出。
DO、D1控制绿灯,D2、D3 控制黄灯,D4、D5控制红灯。
需要点亮哪一位指示灯时,8255A相应端口对应为就输出“ 1”。
五、流程图六、实验程序DATA SEGMENTIOPORT EQU 0D880H-280HIO8255C EQU IOPORT+282HIO8255T EQU IOPORT+283HPB DB ?MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DATA ENDS STACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,09HMOV DX,OFFSET MESSINT 21HMOV DX,IO8255TMOV AL,81HOUT DX,ALMOV DX,IO8255CIN AL,DXMOV PB,ALMOV DX,IO8255TMOV AL,80HOUT DX,ALMOV DX,IO8255CMOV AL,PBOR AL,0CHOUT DX,ALMOV AL,30HOUT DX,ALCALL DELAY10LLL: MOV DX,IO8255CMOV AL,12HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,10HOUT DX,ALMOV CX,0040H TTT: MOV AL,0CHOUT DX,ALPUSH CXMOV CX,80HLOP1: CALL DELAY1 LOOP LOP1MOV AL,00HOUT DX,ALMOV CX,80HLOP2: CALL DELAY1 LOOP LOP2POP CXLOOP TTTMOV AL,30HOUT DX,ALCALL DELAY10MOV AL,21HOUT DX,ALCALL DELAY10CALL DELAY10CALL DELAY10CALL DELAY10MOV AL,20HOUT DX,ALMOV CX,0040H GGG: MOV AL,0CH OUT DX,ALPUSH CXMOV CX,80HLOP3: CALL DELAY1 LOOP LOP3MOV AL,00HOUT DX,ALMOV CX,80HLOP4: CALL DELAY1 LOOP LOP4POP CXLOOP GGGMOV AL,30HOUT DX,ALCALL DELAY10 MOV AH,06HMOV DL,0FFHINT 21HJNZ PPPJMP LLLPPP: MOV AX,4C00HINT 21HDELAY1 PROC NEARPUSH CXMOV CX,0FFFFHCCC: LOOP CCCPOP CXRETDELAY1 ENDPDELAY10 PROC NEARPUSH AXPUSH CXMOV CX,0F00HUUU: CALL DELAY1LOOP UUUPOP CXPOP AXRETDELAY10 ENDPCODE ENDSEND START七、实验步骤1、在windows 环境下,打开“开始”菜单,选择“运行”项,然后输入” CMD” , 按“确定”进去DOS^境。