微机原理与接口技术课程设计LED显示系统设计 .doc

上传人:文库蛋蛋多 文档编号:2882001 上传时间:2023-03-01 格式:DOC 页数:27 大小:465.50KB
返回 下载 相关 举报
微机原理与接口技术课程设计LED显示系统设计 .doc_第1页
第1页 / 共27页
微机原理与接口技术课程设计LED显示系统设计 .doc_第2页
第2页 / 共27页
微机原理与接口技术课程设计LED显示系统设计 .doc_第3页
第3页 / 共27页
微机原理与接口技术课程设计LED显示系统设计 .doc_第4页
第4页 / 共27页
微机原理与接口技术课程设计LED显示系统设计 .doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《微机原理与接口技术课程设计LED显示系统设计 .doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计LED显示系统设计 .doc(27页珍藏版)》请在三一办公上搜索。

1、目 录引言11 设计任务22 系统方案设计32.1 处理器选择32.2 驱动电路设计32.3 程序方案设计43 电路设计53.1 元器件介绍53.1.1 8255可编程并行接口芯片53.1.2 三种译码器63.1.3 并入串出接口芯片7416663.1.4 串入并出接口芯片7459573.2 各部分电路设计83.2.1 64x64LED点阵连接83.2.2 行驱动电路设计93.2.3 列驱动电路设计93.2.4 整体电路图104 程序设计124.1 程序流程图124.2 各部分功能的程序实现134.2.1 汉字的二进制编码134.2.2 汉字显示的程序实现144.2.3 延时子程序155 小结

2、体会16参考文献17附录18引言LED(Light Emitting Diode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长决定光的颜色,是由形成

3、P-N结材料决定的。LED的特点非常明显,寿命长、光效高、无辐射与低功耗。鉴于LED自身的优势,其主要应用在以下几个方面:1. LED数码显示器和显示屏2. LED投光灯和水下灯3. LED居室装饰灯等。1 设计任务LED显示系统设计:采用6464矩阵形式的LED显示“玉兔迎春”四个字,要求每个字依次3s显示后再共同形式5s,周而复始。要求: 选择合适的芯片;利用8086或单片机配套其他需要的芯片设计硬件电路。 设计原理电路;利用已知芯片设计可实现要求功能的电路。并利用画电路图软件绘制出硬件电路图 画出电路图;利用画电路图软件绘制出硬件电路图,并解释个部分电路功能。 编写出相应的程序;画出程序

4、流程图,并利用8086或单片机的指令集写出实现要求功能的汇编程序或C程序。 撰写设计说明书,内容包括:摘要(中英文对照)、目录、正文、参考文献、附录。正文部分包括:方案论证、硬件设计说明(芯片选择、硬件连接图及说明、地址分析等)、软件设计说明(参数计算、流程图设计及说明等)、课程设计收获及心得体会。2 系统方案设计本设计中方案设计主要包括处理器选择、驱动电路设计和程序设计三部分,下面逐次介绍各种设计方案的选择。2.1 处理器选择方案一:利用80C51单片机作为程序处理器,80C51单片机有4个并行I/O接口,分别为P0、P1、P2、P3,每个接口都有8个引脚,每个引脚均是双向输入输出通道,输入

5、时可以实现资料所存,输出时可以实现数据缓冲。方案二:利用8086CPU作为程序处理器,8086CPU为16位机,有16根数据线,20根地址线,一般情况下,8086CPU引脚不直接和外部设备相连,而多是与外设驱动接口电路相连实现对外设的间接控制。由于本学期我们微机原理课程学习8086处理器,所以本设计中优先采用8086CPU作为程序处理器。2.2 驱动电路设计方案一:静态锁存显示,将LED点阵阳极接高电平,阴极接低电平,这种方式电路接线简单,显示方式单一,控制程序也简单,但是其耗费接口的引脚,硬件开支大,在LED点阵规模较大时将无法实现电路连接。方案二:动态扫描显示,该方法是指显示屏共用一组列驱

6、动寄存器,然后通过行驱动管的分时工作,使每行数据显示一定时间,循环显示,只要循环频率大于24Hz,即可利用人眼的视觉暂留效应使人感觉如同同时显示所有数据一般,该方法控制方式多样,接口引脚需要较少,但是电路接线复杂,一般用在LED点阵规模较大时。本设计中由于为64x64LED点阵,规模较大,故采用动态扫描显示方案。其模型如图2-1所示。行驱动电路列驱动电路控制器64x64LED点阵图2-1 动态扫描方案图2.3 程序方案设计本设计采用8086控制器,为了提高程序运行速度,本设计采用汇编编程语言,具体设计方案将在下面程序设计中解释。3 电路设计本设计中所有硬件电路均在proteus软件中完成,各器

7、件也以proteus中为标准。3.1 元器件介绍本设计中硬件电路采用了8086CPU、8255A可编程并行接口芯片、2-4译码器74139、3-8译码器74138、4-16译码器74154、并入串出芯片74166、串入并出芯片74595、8x8LED点阵、TIP122和TIP127三极管等元器件,下面逐次介绍。3.1.1 8255可编程并行接口芯片8255A是一种通用的可编程并行I/O接口芯片,其具有3个带锁存或缓冲的数据端口,可与外设并行进行数据交换,其中A、B端口有三种工作方式,C端口有两种工作方式。其管脚分布如图3-1。图3-1 8255A管脚图8255A的方式控制字有8位,为D7D0,

8、其中D7=1为该控制字的标志。A组由D6、D5、D4和D3组成,其中D6和D5为工作方式选择,D4为A口的输入输出选择,D3为C口高四位的输入输出选择,B组由D2、D1和D0组成,其中D2为工作方式选择,D1为B口的输入输出选择,D0为C口低四位输入输出选择,具体功能如图3-2所示。图3-2 8255A方式控制字3.1.2 三种译码器本设计中采用了74139、74138、74154三种译码器,分别为2-4线、3-8线和4-16线译码器,由于在数字电路中我们已经接触过这三种译码器,所以在此不再赘述。3.1.3 并入串出接口芯片7416674166为8为并入串出移位寄存器,有8个并行输入管脚和一个

9、串行输出管脚,工作时串行输出管脚按照给定的时钟频率将并行输出的数据依次串行输出,其管脚图和真值表分别如图3-3和3-4所示。图3-3 74166管脚图图3-4 74166真值表3.1.4 串入并出接口芯片7459574595是一个8位串行输入并行输出的移位寄存器,其余74166相反,有8个并行输出管脚和一个串行输入管脚,正常工作时按照给定的频率将8位串行输入数据按顺序并行输出,图3-5和3-6分别为其管脚图和各管脚功能表。图3-5 74595管脚图图3-6 74595管脚功能表3.2 各部分电路设计本设计中包括64x64LED点阵连接、行驱动电路和列驱动电路三部分。3.2.1 64x64LED

10、点阵连接Proteus中只提供了8x8LED点阵模块,其显示规律为:某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行的点全部为暗。用8x8点阵构成16x16点阵的连接方法如图3-7所示,连接后保证和8x8点阵的显示规律相同,而由8x8构成本设计需要的64x64点阵连接方式与构成16x16点阵方式相似,连接后一样要保证和8x8点阵的显示规律相同。图3-7 8x8点阵构成16x16点阵连接图3.2.2 行驱动电路设计本设计中由于有64行,行数较多,若直接将8255A管脚与各行相连将非常麻烦且不好控制,

11、为此,我采用4个4-16线译码器74154作为行驱动的连接芯片。且为了便于程序控制,4个74154的选择上我采用一个2-2线译码器74139,然后将4个74154的4个输入管脚按顺序连在8255A的A口的低四位上,74139的2个输入管脚按顺序连在8255A的A口的PA4和PA5两管脚上,这样使得4个74154的64个输出管脚刚好能按顺序从00H到3FH连续编码。由于每个LED点亮时大约有5mA的电流,若一行64个LED全部点亮则大约有320mA电流,这大大超过74154的负载能力,所以我在74154输出管脚和LED点阵行管脚之间用TIP127三极管连接,以放大电流驱动LED点阵。本部分连接图

12、如图3-8所示。图3-8 行驱动电路图3.2.3 列驱动电路设计与行一样,本设计中列数有64列,不可能将其直接与8255A管脚相连,而若采用行驱动方式即译码器驱动方式,由于列数太多将导致扫描速度太慢从而影响显示效果,为了提高扫描速度并尽量少的用8255A的管脚,我采用串入并出芯片74595结合74166和74138以及TIP122三极管来驱动点阵列。列驱动电路中74138连接8255A的C口的低四位,正常工作时用以选择选通所需的74595移位寄存器,而当某一个74595移位寄存器选通时,74166则将从8255A的B口输入进的8位数据串行输出到选通的74595移位寄存器中,然后74595移位寄

13、存器将数据并行输出到LED点阵列中,同样由于电流过大的原因我在点阵列与74595输出管脚间用TIP122三极管连接以期放大电流驱动LED点阵工作,电路设计图如图3-9所示。图3-9 列驱动电路图3.2.4 整体电路图通过以上分析,可以基本清楚了本设计中的电路方案设计,一下是连接上8086CPU以后的整体电路设计,如图3-10。图3-10 整体电路图4 程序设计本部分主要包括程序结构图和各部分功能实现方法。4.1 程序流程图本程序整体思路如图4-1所示。开始初始化Y显示“玉”并保持3秒钟显示“兔”并保持3秒钟显示“迎”并保持3秒钟显示“春”并保持3秒钟显示“玉兔迎春”并保持5秒钟中断命令结束N图

14、4-1 程序流程图4.2 各部分功能的程序实现此部分中主要包括各汉字的二进制序编码、汉字显示的程序实现和延时子程序的编程。4.2.1 汉字的二进制编码本设计中要求实现“玉”、“兔”、“迎”、“春”四个汉字的显示。首先我们要先对这四个汉字进行编码,使其能以二进制数据存储,在此我仅列出“玉”字的编码,其他汉字的编码方式与之相似。其图形如图4-2,其中“-”代表该点的编码为1,即为列输出高电平,“0”代表该点的编码为0,即为列输出低电平。图4-2 “玉”字的编码图由于本设计中采用64x64点阵显示4个汉字,故每个汉字采用32x32位编码,根据上图中“-”代表1列为高电平、“0”代表0列为低电平的方式

15、可以得到“玉”字的二进制编码如图4-2右边所示。4.2.2 汉字显示的程序实现此处仍以“玉”字为例讲述汉字具体的实现过程。其显示的代码段如下: MOV BX,OFFSET TAB1;显示“玉”字 MOV CX,32 ;总共32行,循环32次 MOV AL,00H ;最开始选择第0行YU_H: PUSH CX PUSH AX ;将行循环次数和行号推入堆栈保存 MOV AH,01H MOV CX,4 ;一个字需要4片74595YU-L: MOV AL,AH MOV DX,C_PORT ;取C口的地址 OUT DX,AL ;利用74138选择需要列的74595芯片 XLAT ;取对应表中“玉”对应列

16、的二进制编码 MOV DX,B_PORT OUT DX,AL ;将对应的二进制编码输出 INC AH ;选通下一个需要列的74595芯片 LOOP YU_L POP AX POP CX ;将保存的CX、AX弹出堆栈 MOV DX,A_PORT OUT DX,AL ;选通第AL行 INC AL ;行号逐次加1 ADD BX,04H LOOP YU_H CALL THREE ;调用延迟3s子程序 由此可见程序的思路为首先选通前8列对应的74595,然后将二进制编码数据串行输入到该74595移位寄存器,并且并行输出到LED点阵中,然后选通第0行以点亮对应列的LED,执行完后转移到下8列和下1行,如此

17、直至将该汉字动态扫描完毕,然后调用保持3秒子程序,执行下一个汉字的显示程序代码。其他的几个汉字显示方式与之相似。4.2.3 延时子程序本设计中有延时3秒和延时5秒两个子程序,为了减小硬件开支和简化电路设计,我采用软件延时方法,两个子程序均以延时100ms标准程序经过修改而成,此处仅给出延时3秒的子程序代码如下:THREE PROC ;三秒延迟子程序 PUSH BX PUSH CX MOV BL,300DELAY:MOV CX,2801WAIT: LOOP WAIT DEC BL JNZ DELAY POP CX POP BX RETTHREE ENDP标准延时100ms程序只是将本程序中第4行

18、的300改为10,而延时5秒则类似的将300改为500即可。5 小结体会刚开始接触次设计时感觉此设计应该很简单,但是当我真正着手做时却并不感觉轻松,因为当点阵规模较大时会有芯片引脚不够、程序难以控制等诸多问题出现,我感到难以继续下去,为了解决问题,我一头扎进图书馆,查阅了大量有关LED应用的资料,并在网络上学习相关知识,最终在LED及其工程应用一书中受到启发,明白了动态扫描显示方法和恒流驱动LED点阵列的原理。并在此基础上结合在微机原理与接口技术课程中所学的8086编程及其接口知识独立完成了电路设计和程序设计。此次课程设计过程中我不仅学会了根据需要到图书馆和网络上查阅相关资料和学习相关知识,并

19、且学会将所学汇编知识应用在实际电路中。本设计中值得一提的是在同时显示“玉兔迎春”四个字并保持5秒钟的时候有两种方案选择,一种是按照显示单个汉字的方式逐行显示,另一种是按照逐字显示方法,即每个字显示后不延时直接扫描下一个字,由于第一种方式需重新对各行对应列所显示的字进行编码,为了提高代码利用率和简化程序,本设计中我采用第二种扫描方式。又由于在proteus中将8x8点阵连接成64x64点阵非常麻烦,所以仿真电路中我采用单片机控制8x8的LED点阵,并采用C语言编程。参考文献1 周佩玲等,微机原理与接口技术(基于16位机),电子工业出版社,20062 胡乾斌等,单片微型计算机原理与应用(第二版),

20、华中科技大学出版社,20053 吴友宇等,模拟电子技术基础,清华大学出版社,20094 伍时和等,数字电路技术基础,清华大学出版社,20095 杨清德等,LED及其工程应用,人民邮电出版社,20096 王宝和等,汇编语言程序设计及应用,高等教育出版社,20107 杨恒等,LED照明驱动电路设计与实例精选,中国电力出版社,2009附录完整程序代码如下:A_PORT EQU 0000HB-PORT EQU 0001HC_PORT EQU 0002HCTRL_PORT EQU 0003HDATA SEGMENTTAB1 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0D

21、FH,0F0H,00H,00H,0FH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7EH,0FFH,0FEH,00H,00H,7FH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0F

22、FH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,6FH,0FFH,0FFH,0FEH,77H,0FFH,0FFH,0FEH,7BH,0FFH,0FFH,0FEH,7DH,0FFH,0FFH,0FEH,7EH,0FFH,0FFH,0FEH,7EH,7FH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0F7H,0C0H,00H,00H,03H,0FFH,0FFH,0FFH,0FFH ;“玉”的编码TAB2 DB0FFH,0FFH,0FFH,0FFH

23、,0FFH,0F1H,0FFH,0FFH,0FFH,0F3H,0FFH,0FFH,0FFH,10H,01H,0FFH,0FFH,0CFH,0E3H,0FFH,0FFH,3FH,0CFH,0FFH,0FDH,0FFH,0BFH,0FFH,0F4H,00H,00H,3FH,0BCH,0FFH,0FFH,3FH,0FCH,0FEH,7FH,3FH,0FCH,0FEH,7FH,3FH,0FCH,0FEH,7FH,3FH,0FCH,0FEH,7FH,3FH,0FCH,0FEH,7FH,3FH,0FCH,0FEH,7FH,3FH,0FCH,0FEH,7FH,3FH,0FCH,00H,00H,3FH,0FF

24、H,0FEH,7FH,0FFH,0FFH,0FCH,3FH,0FFH,0FFH,0F9H,3FH,0FFH,0FFH,0F9H,3FH,0FFH,0FFH,0F3H,3DH,0FFH,0FFH,0F3H,3EH,0FFH,0FFH,0E7H,3FH,7FH,0FFH,0CFH,3FH,0BFH,0FFH,9FH,3FH,0DFH,0FFH,9FH,3FH,9BH,0FEH,7FH,3FH,0F3H,0F9H,0FFH,3FH,0F3H,0EFH,0FFH,00H,03H,0BFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;“兔”的编码TAB3 DB0FFH,0FF

25、H,0FFH,0FFH,0DFH,0FFH,0CFH,0FFH,0EFH,0FFH,30H,03H,0E7H,0FCH,0F3H,0F3H,0E7H,0B3H,0F3H,0F3H,0FFH,9FH,0F3H,0F3H,83H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F

26、3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9FH,0F3H,0F3H,0F3H,9EH,0F3H,0F3H,0F3H,99H,0F3H,0D3H,0F3H,87H,0F3H,83H,0F1H,0FFH,0F3H,0FFH,0F1H,0FFH,0F3H,0FFH,0E6H,0FFH,0F3H,0FFH,0E7H,3FH,0F3H,0FFH,0DFH,0CFH,0FFH,0FFH,0BFH,0F0H,00H,03H,0FFH,0FFH,0FFH,

27、0FFH ;“迎”的编码TAB4 DB0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,0FFH,0FFH,0FEH,7FH,7FH,0FCH,00H,00H,3FH,0FFH,0FEH,7FH,0FFH,0FFH,0FCH,0FFH,0FFH,0FFH,0FCH,0FDH,0FFH,0FFH,00H,00H,0FFH,0FFH,0F9H,0FFH,0FFH,0FFH,0F3H,0FFH,0FFH,0FFH,0F3H,0FFH,0FFH,0FFH,0E7H,0FFH,0EFH,0E0H,00H,00H,07H,0FFH,9FH,0E7H,

28、0FFH,0FFH,3FH,0F9H,0FFH,0FEH,40H,03H,3FH,0F9H,0CFH,0F3H,0CFH,0F3H,0CFH,0F3H,0F3H,8FH,0CFH,0F3H,0F1H,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0C0H,03H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0FFH,0CFH,0F3H,0FFH,0

29、FFH,0C0H,03H,0FFH,0FFH,0FFH,0FFH,0FFH ;“春”的编码DATA ENDSCODE SEGMENT ASSUME CODE:CS,DATA:DSSTART:MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,CTRL_PORT OUT DX,AL ;初始化,设置8255A的A、B、C口均工作在方式0 MOV BX,OFFSET TAB1;显示“玉”字 MOV CX,32 MOV AL,00HYU_H: PUSH CX PUSH AX ;将行循环次数和行号推入堆栈保存? MOV AH,01H ;利用74138选择需要列的74595芯片

30、 MOV CX,4 ;一个字需要4片74595YU-L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP YU_L POP AX POP CX ;将保存的CX、AX弹出堆栈 MOV DX,A_PORT OUT DX,AL INC AL ;行号逐次加1 ADD BX,04H LOOP YU_H CALL THREE ;调用延迟3s子程序 MOV BX,OFFSET TAB2;显示“兔”字 MOV CX,32 MOV AL,00HTU_H: PUSH CX PUSH AX MOV AH,04H M

31、OV CX,4TU-L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP TU_L POP AX POP CX MOV DX,A_PORT OUT DX,AL INC AL ADD BX,04H LOOP TU_H CALL THREE MOV BX,OFFSET TAB3;显示“迎”字 MOV CX,32 MOV AL,20HYI_H: PUSH CX PUSH AX MOV AH,01H MOV CX,4YI_L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLA

32、T MOV DX,B_PORT OUT DX,AL INC AH LOOP YU_L POP AX POP CX MOV DX,A_PORT OUT DX,AL INC AL ADD BX,04H LOOP YU_H CALL THREE MOV BX,OFFSET TAB4;显示“春”字 MOV CX,32 MOV AL,20HCH_H: PUSH CX PUSH AX MOV AH,04H MOV CX,4CH_L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP CH_L POP AX

33、POP CX MOV DX,A_PORT OUT DX,AL INC AL ADD BX,04H LOOP CH_H CALL THREEQUAN: MOV BX,OFFSET TAB1;显示“玉兔迎春”字 MOV CX,32 MOV AL,00HYU_H: PUSH CX PUSH AX ;将行循环次数和行号推入堆栈保存? MOV AH,01H ;利用74138选择需要列的74595芯片 MOV CX,4 ;一个字需要4片74595YU-L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP

34、YU_L POP AX POP CX ;将保存的CX、AX弹出堆栈 MOV DX,A_PORT OUT DX,AL INC AL ;行号逐次加1 ADD BX,04H LOOP YU_H MOV BX,OFFSET TAB2 MOV CX,32 MOV AL,00HTU_H: PUSH CX PUSH AX MOV AH,04H MOV CX,4TU-L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP TU_L POP AX POP CX MOV DX,A_PORT OUT DX,AL IN

35、C AL ADD BX,04H LOOP TU_H MOV BX,OFFSET TAB3 MOV CX,32 MOV AL,20HYI_H: PUSH CX PUSH AX MOV AH,01H MOV CX,4YI_L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP YU_L POP AX POP CX MOV DX,A_PORT OUT DX,AL INC AL ADD BX,04H LOOP YU_H MOV BX,OFFSET TAB4 MOV CX,32 MOV AL,20HCH_

36、H: PUSH CX PUSH AX MOV AH,04H MOV CX,4CH_L: MOV AL,AH MOV DX,C_PORT OUT DX,AL XLAT MOV DX,B_PORT OUT DX,AL INC AH LOOP CH_L POP AX POP CX MOV DX,A_PORT OUT DX,AL INC AL ADD BX,04H LOOP CH_H CALL FIVE ;调用五秒延迟子程序 JMP START THREE PROC ;三秒延迟子程序 PUSH BX PUSH CX MOV BL,300DELAY:MOV CX,2801WAIT: LOOP WAIT DEC BL JNZ DELAY POP CX POP BX RETTHREE ENDPFIVE PROC ;五秒延迟子程序 PUSH BX PUSH CX MOV BL,500DELAY:MOV CX,2801WAIT: LOOP WAIT DEC BL JNZ DELAY POP CX POP BX RETFIVE ENDPCODE ENDS END START ;结束

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号