汇编点阵课程设计.doc_第1页
汇编点阵课程设计.doc_第2页
汇编点阵课程设计.doc_第3页
汇编点阵课程设计.doc_第4页
汇编点阵课程设计.doc_第5页
已阅读5页,还剩78页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录第一章 设计课题1 1.1 设计要求 . 1 1.2 设计目的 . 1 1.3 基本实验设备 1第二章 设计思想及实施方案 22.1 设计思想 . 22.2 总体方案 .3第三章 程序模块及技巧分析 9 3.1 典型程序模块分析.9第四章 设计中的问题与技巧11 4.1 本地部分.11 4.2 远程(串行)部分13第五章 程序清单流程图14 5.1 本地部分程序流程图.14 5.2 远程(串行)部分程序流程图17 5.3 汇编语言编写的程序.18 5.4 C语言编写的程序.51第六章 收获与体会 81第七章 参考文献 82第一章 设计课题本次实验所选择的设计课题为设计题11:点阵LED显示功能设计1.1 设计要求:1编程语言为汇编语言和C语言;2硬件电路基于80x86微机接口电路;3程序功能要求:小键盘给定、数码管显示、控制并显示“待机”,“欢迎你进入系统!”,“再见”(延时10秒);4具备本地及远程(串行方式)功能。1.2 设计目的:1 学习LED点阵的基本使用方法以及编程方法2 学习基于80x86微机接口电路的LED点阵的设计3 掌握矩阵键盘的硬件电路原理以及其扫描程序4 掌握串行接口芯片16550的工作方式及应用5 学习16550实现远程通讯的基本编程方法1.3 基本实验设备1. PC微机两台2. TD-PIT+实验系统2套第二章 设计思想和实施方案2.1 设计思想88 点阵LED的工作原理下图为88点阵LED外观及引脚图,只要其对应的R、L轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则R1=1,L1=0即可。应用时限流电阻可以放在R轴或L轴。 对于8X8点阵LED,只有当某点对应的行、列皆选通,该点才发光,所以,要使点阵显示出一个汉字,则对应点皆要选通,但是,目前在实验室中点阵LED的适用扫描方法只有行扫描或者是列扫描,无论采取哪一种扫描,都不可能一次性地显示出汉字,故此,只能通过定义每个字在对应选通行(列)的对应选通列(行)的十六进制码,在行扫描(列扫描)的方法下逐一显示。另外,由于扫描系统非常快,为使每个字都能清楚显示并停留一段时间,对于扫描显示程序要作相应的延迟或重复,使扫描频率达到足以引起我们的视觉暂留效果,对应的观看者就能观看到点阵上显示的汉字。同时,为使显示汉字可控性,加入键盘控制,从而人为地操控字段显示。对于本实验的远程(串行)功能,目标是在发送机上运行发送程序,按下相应的显示按键,接收机上通过接受程序判断发送机的按键情况,操作点阵LED显示相应字段,即一机操控,另一机执行。2.2 总体方案本实验按照要求可划分为两大部分: 1本地实现部分包含五大模块: 8086CPU中控模块 矩阵键盘及数码管显示模块 8X8点阵LED显示模块 基本输入输出单元模块8255并口控制器模块8086CPU中控模块:利用8086CPU作为本系统的中控模块,CPU可以将寄存器中传来的数据做软件处理; 矩阵键盘及数码管显示模块: 矩阵键盘有按键按下时,通过程序的消除抖动、保存键值等步骤后,数码管即时显示相应的数字; 8X8点阵LED显示模块:通过程序确定采用行扫描方式,当矩阵键盘及数码管显示模块有选定键按下时,读取每一行相应的列选通码,通过程序中一系列的延时子程序及重复子程序使每个字清楚显示一段适当的时间,并通过程序实现字移动显示等效果;基本输入输出单元模块:基本输入输出单元是由74LS245以及74LS374组成,本模块是用于连接8X8点阵LED显示模块,将相应的设定码输出到8X8点阵LED使之显示出相应的汉字;8255并口控制器模块:本模块连接矩阵键盘及数码管显示模块,通过A口、C口实现矩阵键盘扫描程序的执行,通过B口实现数码管显示功能。本地部分各模块硬件接线图如下:系统总线 8X8点阵LED单元接线图 8255单元及矩阵键盘数码管显示单元接线图方案流程如下:基本输入输出单元0A端及OB端分别接8X8点阵LED单元的R端及L端,OA、OB端皆作输出端,基本输入输出单元的CS_A端接系统总线IOY2,CS_B端接系统总线的IOY3;8255单元的B口输出,接数码管单元的ADP,A口输出,低四位接矩阵键盘及数码管显示单元的X1X4端,C口输入,低四位接矩阵键盘及数码管显示单元的Y1Y4端,8255单元的CS端接系统总线的IOY1。 当矩阵键盘有键按下时,判断该键的列行信息,通过程序根据8255单元的C口低四位、A口低四位信息(即矩阵键盘的X端及Y端信息)检测出相应键值,并将对应的数码管显示码通过B口输出到数码管端口ADP,从而显示出相应的按键号码;再判断该按键是否属于指定按键,若不是,继续执行扫描键盘程序直至有指定键按下或满足返回DOS条件而返回DOS,若是,则程序执行按键键值比较步骤,跳到相应显示汉字的子程序,选出该汉字对应的字模,通过基本输入输出单元输出到8X8点阵LED单元,通过行扫描方式显示该段汉字,显示完毕,则扫描程序自动将存储键值归零,使显示只执行一次,再进入新一轮的键扫描。 2.远程(串行)功能部分需要两台计算机及两台实验仪器包含六大模块:8086CPU中控模块 矩阵键盘及数码管显示模块 8X8点阵LED显示模块 基本输入输出单元模块8255并口控制器模块16550串口控制器8086CPU中控模块:利用8086CPU作为本系统的中控模块,CPU可以将寄存器中传来的数据做软件处理; 矩阵键盘及数码管显示模块: 矩阵键盘有按键按下时,通过程序的消除抖动、保存键值等步骤后,数码管即时显示相应的数字; 8X8点阵LED显示模块:通过程序确定采用行扫描方式,当矩阵键盘及数码管显示模块有选定键按下时,读取每一行相应的列选通码,通过程序中一系列的延时子程序及重复子程序使每个字清楚显示一段适当的时间,并通过程序实现字移动显示等效果;基本输入输出单元模块:基本输入输出单元是由74LS245以及74LS374组成,本模块是用于连接8X8点阵LED显示模块,将相应的设定码输出到8X8点阵LED使之显示出相应的汉字;8255并口控制器模块:本模块连接矩阵键盘及数码管显示模块,通过A口、C口实现矩阵键盘扫描程序的执行,通过B口实现数码管显示功能;16550串口控制器将发送端计算机的按键信息发送到接收端计算机的16550串口控制器,再通过程序判断按键类型,选取相应的汉字字模,再输出到8X8点阵LED单元显示对应汉字。两台计算机(连带实验仪器),一台作发送端,一台作接收端;发送端接线如下:8255单元及矩阵键盘数码管显示单元接线图 接收端接线如下:系统总线 8X8点阵LED单元接线图 两机各16550串口控制器连线及两机互联接线图接收端中,基本输入输出单元0A端及OB端分别接8X8点阵LED单元的R端及L端,OA、OB端皆作输出端,基本输入输出单元的CS_A端接系统总线IOY1,CS_B端接系统总线的IOY2;发送端中,8255单元的B口输出,接数码管单元的ADP,A口输出,低四位接矩阵键盘及数码管显示单元的X1X4端,C口输入,低四位接矩阵键盘及数码管显示单元的Y1Y4端,8255单元的CS端接系统总线的IOY1。接收端中的16550的INTR端需接系统总线的INTR引脚。 方案流程如下:当发送端的矩阵键盘有键按下时,判断该键的列行信息,通过程序根据8255单元的C口低四位、A口低四位信息(即矩阵键盘的X端及Y端信息)检测出相应键值,并将对应的数码管显示码通过B口输出到数码管端口ADP,从而显示出相应的按键号码,并且将该码输出到16550串口控制器的除数寄存器MY16550_0;接收端不断检测16550串口控制器的除数寄存器MY16550_0是否有信息输入,有则判断该信息是否指定按键信息,若不是,继续执行检测程序直至有指定键信息输入或满足返回DOS条件而返回DOS,若是,则程序执行按键键值信息比较步骤,跳到相应显示汉字的子程序,选出该汉字对应的字模,通过基本输入输出单元输出到8X8点阵LED单元,通过行扫描方式显示该段汉字,显示完毕,则程序自动清屏,使显示只执行一次,再进入新一轮的端口信息扫描。单机自发自收硬件接线图如下: 单机自发自收16550单元接线 对应的8255单元CS端接系统总线IOY1,基本输入输出单元CS_A、CS_B口分别接系统单元的IOY2、IOY3。第三章 程序模块及技巧分析3.1典型程序模块1.本地部分:在C语言及汇编下编写的程序均包含以下两个模块:矩阵键盘扫描及数码管显示程序模块LED显示程序模块10秒间隔子程序模块矩阵键盘扫描及数码管显示程序模块包含以下模块:矩阵键盘扫描模块数码管显示模块清屏模块延时模块键值存储模块矩阵键盘扫描程序模块中,在开始一次扫描前,先确认上一次压下的键是否松开,当所有键释放了才开始检测矩阵键盘是否有键按下,同时,消除按键抖动:检测中检测到有键按下后,延长20ms,再检查该键是否仍被按着,若是,则认定该键被按下,而非干扰。确定有键按下后,先从8255单元A口低四位输出一个低电平到矩阵键盘单元的X口,再从8255单元的C口低四位读入各行值,若没有一列为低电平,向下一列输出低电平,再检测,依次重复直到检测出按下键所在行列值,并调用键值存储模块将键值存储在缓冲区中。数码管显示程序模块中,通过缓冲区中存储的键值选取码值表中对应值,输出到数码管ADP,使数码管显示按下键对应号码。LED显示程序模块包含以下模块:行扫描模块延时模块键值判断模块LED显示程序模块中,在8255单元B口向数码管输出码值时,对码值进行判断,若为指定按键的码值,则调用显示汉字子程序,先根据码值选取对应的汉字字模列信息,再对8X8点阵LED单元输出该列信息,同时进行行扫描,再通过延时子程序及重复调用使汉字显示出来及停留1秒2.远程(串行)部分在汇编下编写的程序包含以下模块:矩阵键盘扫描及数码管显示程序模块(发送端)LED显示程序模块(接收端)16550串行程序模块(发送端)16550串行程序模块(接收端)10秒间隔子程序模块(接收端)矩阵键盘扫描及数码管显示程序模块(发送端)与本地部分中的矩阵键盘扫描及数码管显示程序模块大致相同,但远程(串行)部分中,键值同时输出到16550串口控制器的除数寄存器MY16550_0。LED显示程序模块(接收端)与本地部分中的LED显示程序模块大致相同,但远程(串行)部分中,是对16550串口控制器的除数寄存器MY16550_0中的信息进行判断,再根据判断结果调用不同的子程序。16550串行程序模块(发送端)初始化16550串口控制器各端口,从8255单元读入按键对应信息,再将该信息输出到除数寄存器MY16550_0。16550串行程序模块(接收端)初始化16550串口控制器各端口,设置中断,从除数寄存器MY16550_0读入发送端输送的按键信息。无论是本地部分抑或是远程(串行)部分,均有一个10秒间隔子程序,这是使“欢迎你进入系统”、“待机”、“再见”随着指定按键4依次从点阵LED显示出来,并且间隔为10秒。本设计涉及到两种编程语言,一是汇编,而是C语言,相对于汇编而言,用C语言所编出的程序较为简洁清晰,而且定义的调用函数也可以尽可能的少,而用汇编语言则要定义相当部分的子程序,程序较为复杂,但对于实现16550串行功能,用汇编语言较为合适。同时,对于矩阵键盘扫描及数码管显示功能程序,可以引用实验室计算机的TDDEBUG文件夹中的Keyscan.asm和Keyscan.c两个程序,再将自行设计8X8点阵LED显示程序分别嵌套到里面,作相应修改,加上判断子程序,即可实现按键控制LED显示,另外,利用16550串口控制器实现远程功能时,可引用TDDEBUG文件夹中的T16550-3.ASM和T16550-4.ASM程序作相应修改,再在发送端加入矩阵键盘及数码管显示程序,在接收端加入8X8点阵LED显示程序即可。第四章 设计中的问题与技巧4.1本地部分1.8X8点阵LED显示问题要使8X8点阵LED显示汉字,最好采用点扫描,但无法实现,故此在行扫描及列扫描中选择了行扫描,因此要对每一个汉字编写相应的列字模,即扫描的每一行都有相应的列选通值;由于默认扫描频率非常高,若不采用延时手段,则不能再点阵LED上看出汉字的显示,但如果延时太长,则行扫描速度慢,致使观看者看到的是一行一行扫描下来的动作,而非一个整体汉字,所以,只能将延时设定到引起观察者视觉暂留的效果,即系统已逐一扫描8行,但观察者感觉一次扫描了8行,同时,为了使每一个汉字能显示1秒,加入了重复环节,使系统扫描完8行后,重新从第一行进行新一轮的扫描,而且选通相应的列值;编写字模时,由于实验箱的8X8点阵LED单元从左往右的列号码分别是R1、R2、R3、R4、R5、R6、R7,如果将基本输入输出单元的OB口按顺序接到LED单元的R口,则在编写字模时将位信息化成16进制数较为麻烦,所以将基本输入输出单元的OB口反接到LED单元的R口,即如第二章硬件接线图所示,可以简化转化;若只实现要求中间隔10秒一次显示3段汉字是较为简单的,所以,另外加入了汉字移动显示,为实现此项功能,编写了对应的字模,但工作量大,不论是在C语言的数组定义抑或是汇编语言的变量定义,都要对汉字及汉字移动效果的字模进行编译,使得程序冗长,阅读起来较为不易,而且针对汉字移动效果,在汇编中需要定义大量子程序,使程序变得复杂;而在C语言中,虽然要定义很多数组,但由于函数调用容易,所以程序较为清晰明了;在汇编程序中定义了一个变量T1,其中包含了各个汉字的字模以及移动效果的字模,但是在起初运行时,得不出预期效果,LED点阵显示的是一堆乱点,又或者是点阵全亮一闪一闪,经单步调试发现,指向T1的指针DI不能正确对应T1中的16进制数,而且显示文字的子程序中对DI的操作也不能使之重复指向某一汉字对应的字模,究其原因是一个汉字或一个移动效果对应的字模包含8个16进制数,当DI指向开头并自增8次后,将指向下一个汉字或者下一个移动效果,但在重复时,子程序没有正确的将DI重新指向要重复汉字或移动效果的开头,所以显示汉字或移动效果出现错误;另外,由于子程序的数量较多,子程序中又包含D1、D2、LOOP1之类的分步,致使编写时大意出错,出现跳转错误,不能正确显示汉字; 针对指针问题,显示每个汉字的子程序分别加入对DI的比较,当其自增至下一个汉字开头时,判断是否重复显示上一汉字,疑惑直接显示下一汉字,从而跳转到相应步骤,而且,在调用子程序前,直接将汉字的首字模的偏移地址赋给DI,再进入子程序执行;对于子程序分步的命名,通过DEBUG的单步调试,一步一步地跳转进行检查,从而修改子程序使之正确无误;2.矩阵键盘扫描及数码管显示问题在编写C程序及汇编程序时,引用了C文件夹中的Keyscan.c和TDDEBUG文件夹中的Keyscan.asm,所以显示效果是4个数码管全亮,而且按键键值在4个数码管上一次循环显示,但是,预期中只希望显示按键的号码,而且是只显示当前保存的键值,不显示上一次的按键,另外,由于只用到4个按键控制4种效果的汉字显示,所以实际上只需要一个数码管即可,另外3个数码管不需要参与工作; 为实现这一效果,对引用的C程序及汇编程序作出下列修改:(1) C程序的Keyscan.c中定义的数组b=0x00, 0x00 ,0x00 ,0x00, 0x00, 0x00修改为b=0x00,删除定义b_n,在保存键值函数putbuf()中令b0=n,删除b_n的相关语句,同时,在数码管显示函数dis()中,将abi改写成ab0,关于i的for循环体亦删除,这样,数码管只有最后一个参与工作;(2) 汇编程序的Keyscan.asm中定义的缓冲区只需建立一个,即SI,对应的SI+1、SI+2、SI+3删去,相关DI的语句亦删去,子程序putbuf以及dis做相应修改,即可如上C程序一样只使最后一个数码管参与工作;未有按键按下时或者按下按键0时,数码管显示皆为0,如果要将此键值纳于指定控制键值,会导致点阵LED在程序运行时就一直执行某一显示汉字子程序,显然不符合理想要求,所以,设定了按键1为控制显示“欢迎你进入系统”,按键2为控制显示“待机”,按键3为控制显示“再见”,按键4为控制显示“欢迎你进入系统”10秒间隔“待机”10秒间隔“再见”;但这样设置有一个缺点,引用的Keyscan程序会保留键值,直至到下一次有不同于保留键值的按键按下,改变保留键值,为使按下一次按键只显示一次汉字,对于汇编程序,在执行dis子程序前,将AL=00H写入缓冲区SI,即清空保留键值(使之变为按键0的键值);对于C程序,在调用dis函数前,将b0赋值为0x00;以上做法即可实现按下某指定键,点阵LED显示相应的汉字段,同时,数码管一直显示按键键值,汉字显示完毕,数码管显示变为0,保留的键值也自动变为0,不再执行显示汉字子程序,从而进行新一轮按键扫描,等待下一次显示; 在嵌套矩阵键盘扫描及数码管显示程序和8X8点阵LED显示程序过程中,出现过如下问题:(1) 程序中设定计算机键盘按下任意键则返回DOS,但程序执行后,当计算机键盘按下任意键时,程序都不能返回DOS;(2) 按下指定键但是不能调用相应的汉字显示子程序;对于问题(1),主要是由于嵌套错误致使程序陷入不断循环中,不能到达检测计算机键盘按键的步骤,经单步调试检测后做了跳转修改后问题得以解决;对于问题(2),主要是由于判断条件不成立,起初是在dis子程序(dis函数)中向数码管的ADP口输出按键对应的键值后利用DTABLEBX与指定键值作比较,若相等,则跳转执行汉字显示子程序(调用汉字显示函数),但无论设置成哪个键值,均不能实现,在单步调试的检测下,对BX的值进行监控,结果发现,是由于在输出过程后几步BX已发生改变,所以,最后改为了用AL的值与监控到的值作相应比较,从而实现了按键控制LED显示的功能。4.2 远程(串行)部分 1.16550串口控制器问题 进行两机互联前,先要分别对两台仪器进行自发自收测试,若可以,则基本上两机可以实现互联。但是,由于条件限制,一直未能找到两台仪器进行串行调试,所以远程(串行)功能不能实现; 由于实验器材的不足,所以摒弃了两机互联,而进行单机自发自收控制的设计,但进行自机自发矩阵按键信息,自收按键信息执行相应汉字显示程序前,先对自机进行自发自收测试,这里,采用了汇编程序设计,引用了TDDEBUG中的T16550-3.ASM以及T16550-4.ASM两个程序,前者为发送端程序,后者为接收端程序,为实现单机自发自收控制,将两个程序合并,端口信息作相应修改,T16550_3.ASM中自A1部分后接T16550-4.ASM初始化16550单元端口开始的部分,再将T16550-3.ASM中与T16550-4.ASM重复多余的部分删除,使程序执行完中断检测并关中断后再检测计算机键盘按键情况,而且,将两者的DALLY延时子程序作修改,使之不会出现跳转错误。单机自发自收测试硬件接线图如第二章所示,值得注意的是16550单元的INTR需要接到系统总线的INTR引脚,并且整个调试需要在虚拟环境DOS下进行。 关于自发自收测试程序是否伪自发自收的问题在运行改编T16550.ASM(T16550-3.ASM和T16550-4.ASM的结合)的测试中,倘若16550的TNTR端不接系统总线的INTR引脚,程序不能实现功能,主要是由于中断不被允许,所以从T16550-4.ASM嵌套进来的开中断读取除数寄存器MY16550_0的信息,继而关中断退出的步骤无法实行,而伪自发自收的结果是无论INTR是否连接,皆可实现在屏幕上显示相应信息,原因是读取除数寄存器MY16550_0的信息并送屏显示的步骤位于原本的发送端程序A1部分中,所以无论中断是否允许,都能实现功能。故此,改编后的T16550.ASM执行效果为正确的自发自收程序。第五章 程序清单流程图51 本地部分程序流程图如下:总体流程图:返回DOS1调用子程序确定按键键值消除按键抖动扫描矩阵键盘按键显示刷新及清屏将保存键值清0初始化8255工作方式初始化键值建立缓冲区清空LED点阵开始有PC键按下6 否否是是26调用10秒间隔显示3段文字子程序判断是否指定按键44调用显示再见子程序判断是否指定按键3调用显示待机子程序3判断是否指定按键22调用显示欢迎你进入系统子程序判断是否指定按键11判断是否指定按键4 否5是是否是否是否35 部分子程序流程图如下:判断保存键值类型是否指定类型将键值保存到缓冲区一次检测一到四列,确定是第几行按键按下矩阵键盘有按键按下确定按键键值流程图:退出显示汉字子程序循环次数已达到额定值重新初始化DI,AH扫描了8次DI加1选通下一行,屏蔽选通的上一行将DI输出到LED单元将指针DI指向要显示的汉字在T1中对应的字模值的起始地址初始化AH=1,从第一行开始扫描显示汉字子程序流程图:5.2远程(串行)部分流程图如下:检测PC按键程序恢复中断矢量及中断屏蔽字关中断清PCI_INTCSR标志位向PC内发中断结束命令读16550接收缓冲区信息开中断设置16550中断允许寄存器初始化PCI_INTCSR替换INTR中断矢量、打开屏蔽位关中断向发送缓冲寄存器写43H初始化线路控制器设置传送的数据格式设置通信波特率开始单机自发自收测试程序T16550.ASM流程图:5.3 程序清单1.本地部分程序清单:汇编程序(实现矩阵键盘按键控制8X8点阵LED显示汉字);GUNDONGLED.asm;8X8点阵LED显示汉字;键盘扫描及数码管显示;*根据CHECK配置信息修改下列符号值*IOY0 EQU 0C400H ;片选IOY0对应的端口始地址IOY1 EQU 0C440H ;片选IOY1对应的端口始地址IOY2 EQU 0C480H ;片选IOY2对应的端口始地址;*MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址MYIO_A EQU IOY1+00H*4 ;基本输入输出单元A组端口地址MYIO_B EQU IOY2+00H*4 ;基本输入输出单元B组端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTT1 DB 0F7H,0F0H,02H,62H,6BH,9BH,95H,6EH ;欢DB 7FH,0A3H,0C8H,0AH,0C2H,0ABH,7BH,00H ;迎DB 0EFH,0CFH,0A0H,2AH,0BBH,0B1H,0A2H,0BBH ;你DB 75H,0B5H,0C0H,15H,0C0H,0B5H,6DH,00H ;进DB 07H,0E7H,0E7H,0E7H,0E7H,0DBH,0BDH,7EH ;入DB 81H,0DFH,83H,0DDH,81H,0C5H,0ABH,6DH ;系DB 0F7H,0DBH,0A0H,15H,0A0H,12H,0F3H,08H ;统DB 0DBH,0A1H,40H,0BBH,20H,0ABH,0B3H,0A3H ;待DB 0BFH,0B1H,15H,0B5H,15H,15H,15H,0CH ;机DB 81H,0EFH,81H,0ADH,81H,0ADH,00H,0BDH ;再DB 81H,0ADH,0ADH,0ADH,0E7H,0E5H,0D5H,0B1H ;见DB 1FH,0BFH,1FH,0FFH,1FH,0BFH,1FH,0FFH ;88-95DB 1FH,0AFH,1FH,0FFH,1FH,0AFH,1FH,0FFH ;96-103DB 1FH,0ABH,1FH,0FFH,1FH,0ABH,1FH,0FFH ;104-111DB 1FH,0AAH,1FH,0FFH,1FH,0AAH,1FH,0FFH ;112-119DB 0F0H,02H,62H,6BH,9BH,95H,6EH,0FFH ;欢到迎 120-127DB 02H,62H,6BH,9BH,95H,6EH,0FFH,7FH ;128-135DB 62H,6BH,9BH,95H,6EH,0FFH,7FH,0A3H ;136-143DB 6BH,9BH,95H,6EH,0FFH,7FH,0A3H,0C8H ;144-151DB 9BH,95H,6EH,0FFH,7FH,0A3H,0C8H,0AH ;152-159DB 95H,6EH,0FFH,7FH,0A3H,0C8H,0AH,0C2H ;160-167DB 6EH,0FFH,7FH,0A3H,0C8H,0AH,0C2H,0ABH ;168-175DB 0FFH,7FH,0A3H,0C8H,0AH,0C2H,0ABH,7BH ;176-183DB 0A3H,0C8H,0AH,0C2H,0ABH,7BH,00H,0FFH ;迎到你 184-191DB 0C8H,0AH,0C2H,0ABH,7BH,00H,0FFH,0EFH ;192-199DB 0AH,0C2H,0ABH,7BH,00H,0FFH,0EFH,0CFH ;200-207DB 0C2H,0ABH,7BH,00H,0FFH,0EFH,0CFH,0A0H ;208-215DB 0ABH,7BH,00H,0FFH,0EFH,0CFH,0A0H,2AH ;216-223DB 7BH,00H,0FFH,0EFH,0CFH,0A0H,2AH,0BBH ;224-231DB 00H,0FFH,0EFH,0CFH,0A0H,2AH,0BBH,0B1H ;232-239DB 0FFH,0EFH,0CFH,0A0H,2AH,0BBH,0B1H,0A2H ;240-247DB 0CFH,0A0H,2AH,0BBH,0B1H,0A2H,0BBH,0FFH ;你到进 248-255DB 0A0H,2AH,0BBH,0B1H,0A2H,0BBH,0FFH,75H ;256-263DB 2AH,0BBH,0B1H,0A2H,0BBH,0FFH,75H,0B5H ;264-271DB 0BBH,0B1H,0A2H,0BBH,0FFH,75H,0B5H,0C0H ;272-279DB 0B1H,0A2H,0BBH,0FFH,75H,0B5H,0C0H,15H ;280-287DB 0A2H,0BBH,0FFH,75H,0B5H,0C0H,15H,0C0H ;288-295DB 0BBH,0FFH,75H,0B5H,0C0H,15H,0C0H,0B5H ;296-303DB 0FFH,75H,0B5H,0C0H,15H,0C0H,0B5H,6DH ;304-311DB 0B5H,0C0H,15H,0C0H,0B5H,6DH,00H,0FFH ;进到入 312-319DB 0C0H,15H,0C0H,0B5H,6DH,00H,0FFH,07H ;320-327DB 15H,0C0H,0B5H,6DH,00H,0FFH,07H,0E7H ;328-335DB 0C0H,0B5H,6DH,00H,0FFH,07H,0E7H,0E7H ;336-343DB 0B5H,6DH,00H,0FFH,07H,0E7H,0E7H,0E7H ;344-351DB 6DH,00H,0FFH,07H,0E7H,0E7H,0E7H,0E7H ;352-359DB 00H,0FFH,07H,0E7H,0E7H,0E7H,0E7H,0DBH ;360-367DB 0FFH,07H,0E7H,0E7H,0E7H,0E7H,0DBH,0BDH ;368-375DB 0E7H,0E7H,0E7H,0E7H,0DBH,0BDH,7EH,0FFH ;入到系 376-383DB 0E7H,0E7H,0E7H,0DBH,0BDH,7EH,0FFH,81H ;384-391DB 0E7H,0E7H,0DBH,0BDH,7EH,0FFH,81H,0DFH ;392-399DB 0E7H,0DBH,0BDH,7EH,0FFH,81H,0DFH,83H ;400-407DB 0DBH,0BDH,7EH,0FFH,81H,0DFH,83H,0DDH ;408-415DB 0BDH,7EH,0FFH,81H,0DFH,83H,0DDH,81H ;416-423DB 7EH,0FFH,81H,0DFH,83H,0DDH,81H,0C5H ;424-431DB 0FFH,81H,0DFH,83H,0DDH,81H,0C5H,0ABH ;432-439DB 0DFH,83H,0DDH,81H,0C5H,0ABH,6DH,0FFH ;系到统 440-447DB 83H,0DDH,81H,0C5H,0ABH,6DH,0FFH,0F7H ;448-455DB 0DDH,81H,0C5H,0ABH,6DH,0FFH,0F7H,0DBH ;456-463DB 81H,0C5H,0ABH,6DH,0FFH,0F7H,0DBH,0A0H ;464-471DB 0C5H,0ABH,6DH,0FFH,0F7H,0DBH,0A0H,15H ;472-479DB 0ABH,6DH,0FFH,0F7H,0DBH,0A0H,15H,0A0H ;480-487 DB 6DH,0FFH,0F7H,0DBH,0A0H,15H,0A0H,12H ;488-495DB 0FFH,0F7H,0DBH,0A0H,15H,0A0H,12H,0F3H ;496-503DB 0A1H,40H,0BBH,20H,0ABH,0B3H,0A3H,0FFH ;待到机 504-511DB 40H,0BBH,20H,0ABH,0B3H,0A3H,0FFH,0BFH ;512-519DB 0BBH,20H,0ABH,0B3H,0A3H,0FFH,0BFH,0B1H ;520-527DB 20H,0ABH,0B3H,0A3H,0FFH,0BFH,0B1H,15H ;528-535DB 0ABH,0B3H,0A3H,0FFH,0BFH,0B1H,15H,0B5H ;536-543DB 0B3H,0A3H,0FFH,0BFH,0B1H,15H,0B5H,15H ;544-551DB 0A3H,0FFH,0BFH,0B1H,15H,0B5H,15H,15H ;552-559DB 0FFH,0BFH,0B1H,15H,0B5H,15H,15H,15H ;560-567DB 0EFH,81H,0ADH,81H,0ADH,00H,0BDH,0FFH ;再到见 568-575DB 81H,0ADH,81H,0ADH,00H,0BDH,0FFH,81H ;576-583DB 0ADH,81H,0ADH,00H,0BDH,0FFH,81H,0ADH ;584-591DB 81H,0ADH,00H,0BDH,0FFH,81H,0ADH,0ADH ;592-599DB 0ADH,00H,0BDH,0FFH,81H,0ADH,0ADH,0ADH ;600-607DB 00H,0BDH,0FFH,81H,0ADH,0ADH,0ADH,0E7H ;608-615DB 0BDH,0FFH,81H,0ADH,0ADH,0ADH,0E7H,0E5H ;616-623DB 0FFH,81H,0ADH,0ADH,0ADH,0E7H,0E5H,0D5H ;624-631DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX MOV DX,MYIO_A ;清空LED点阵不显示任何东西 MOV AL,00H OUT DX,AL MOV DX,MYIO_B MOV AL,0FFH OUT DX,AL LEA DI,T1 ;DI指向T1开头 MOV SI,3000H ;建立缓冲区,存放要显示的键值 ,只一个数码管工作 MOV AL,00H ;先初始化键值为0 MOV SI,AL MOV DX,MY8255_MODE ;初始化8255工作方式 MOV AL,81H ;方式0,A口、B口输出,C口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论