LED点阵设计报告_第1页
LED点阵设计报告_第2页
LED点阵设计报告_第3页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、微机接口课程设计(1) 一、设计题目2二、设计容与要求2三、设计目的意义2四、系统硬件3五、元器件介绍3六、设计过程13七、心得体会54八、参考文献54一、设计题目点阵LED显示功能设计二、设计容与要求、编程语言为汇编语言和C语言;、硬件电路基于80*86微机接口电路;、程序功能要求:小键盘给定、数码管显示、控制并显示“待机”,“欢迎你进入系统!”,“再见”(延时10秒);、具备本地及远程(串行方式)功能。三、设计目的的意义在大型商场、车站、码头、地铁站以及各类办事窗口等以及越来越多的公共场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信

2、息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室外需要进行服务容和服务宗旨宣传的公众场所,例如户外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行.可修编信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。在设计过程中,白己希白或参考资料完成系统电路的接线,然后利用汇编语言和C语言编写程序,从而更加熟悉白己所学过的东西,为以后的学习与工作打下基础。四、系统硬件可编程外围接口芯片8255A、基本输入输出端口、八段数码管、小键盘、16550远程

3、控制器五、元器件介绍40个引脚,5.1可编程外围接口芯片8255A5.1.18255A的引脚8255A是可编程的三端口并行输入输出接口芯片,具有双列直插式封装,由+5V供电,其引脚与功能如示意图所示:A、B、C三个端口各有8条端口I/O线:PA7PA0PB7PB0PC7PC0共32个引脚,用于8255A与外设之间的数据(或控制、状态信号)的传送。D0D7:8位三态数据线,接至系统数据总线。CPU通过它实现与8255之间数据的读出与写入,以及控制字和状态字的写入与读出等。A0A1:地址信号。A0和A1经片译码产生四个有效地址分别对应A、RCMPA3PA3PA340PA4PA2IPA13938IP

4、A5PA6PAqRDCS373635一PA7WRRESETGNDA1Aq343332DQ一D1D2WRC:S0000PC7PC61011PC5RDPC4=PCQ-T1PC1PC2一一1PC3土PBQPB1土PB2一1213141516171819201WR2928272625242322210(si)引脚-=D4LD5=D6D7VCC一PB7。=PB6PB51-PB4一PB31A。RD*A0A1CS0-RESET操作8255A写端口AC口写端口BB口与缅口C写控制寄存器(b)功能示意图8PC4PC7A组/*JPA0PA74PC。PC3-PBqPB7001aDcc尸尸人pCk-Pnt4一二肉1读

5、端口A图108255A弓。却及功昵示息图00101!读端口B00110读端口C00111无操作个独立的数据端口以及一个公共的控制端口。在实际使用中,A1、A0端接到系统地址总线的A1、A0。CS*:片选信号,由系统地址译码器产生,低电平有效。读写控制信号RD*和WR*:低电平有效,用于决定CPU和8255A之间信息传送的方向:当RD*=0时,从8255A读至CPU;当WR*=0时,由CPU写入8255A。CPU对8255各端口进行读写操作时的信号关系如表1所示。RESRT复位信号,高电平有效。8255A复位后,A、B、C三个端口都置为输入方式。5.1.2.8255A的部结构如图2所示,8255

6、A的部由以下四部分组成:(1) 端口A、端口B和端口C端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用作控制信号或状态信号。(2) A组和B组控制电路这是两组根据CPU送来的工作方式控制字控制8255工作方式的电路。它们的控制寄存器接收CPU输出的方式控制字,由该控制字决定端口的工作方式,还可根据CPU的命令对端口C实现位置位或复位操作。(3)数据总线缓冲器这是系统数据总线相连,实?!A组个8位三态钾5旨825|5A与A组端口C(高4

7、位)勺功能是负责接收CS,啊肆缘的A0和博撕总哪搔制命号RESET后,得项汇A:音卅七bk组箜布,并将量舸!给两伊部川,1部3肺厂状态信酹日控制信息的档送。k端口总告操作与对应的读/写控制之间的数据传送过程。它管理B325$A与CPUWR、RD,将它PC3PC0技A1、们组合PB7PB0控制信号之间的关系见表1所示图28255A内部结构框图5.1.8255A的各种工作方式及控制字1.8255A的工作方式8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各白的工作方式。8255A共有三种工作方式:方式0基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或

8、输出操作。A口、B口、C口的高四位和低四位均可设置为方式0。方式1选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1。方式2选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。2.8255A的控制字(1)工作方式选择控制字8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。控制字可以分别选择端口A、端口B和端口C上下两部分的工作方式。端口A有方式0、方式1和方式2共三种工作方式,端口B只能工

9、作于方式0和方式1,而端口C仅工作于方式0。注意:在端口A工作于方式1或方式2,端口B工作于方式1时,C口部分I/O线被定义为8255A与外设之间进行数据传送的联络信号线,此时,C口剩下的I/O线仍工作于方式0,是输入还是输出则由工作方式控制字的D0和D3位决定。(2)C口按位置位/复位控制字8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。例如,要使端口C的PC4置位的控制字为00001001B(09H),使该位复位的控制字为00001000B(08H)。应注意的是,C口的按位置位/

10、复位控制字必须跟在方式选择控制字之后写入控制字寄存器,即使仅使用该功能,也应先选送一个方式控制字。方式选择控制字只需写入一次,之后就可多次使用C口按位置位/复位控制字对C口的某些位进行置1或清0操作。5.28*8点阵式LED5.2.1其部结构如下:3誓0-3*n毛33f1,4.43SiXl.4卜户口.毛主3Enn.43言5.2.28.43*8点阵rns式LEDik_1的工作厉【理lZ_h8,4coT5由LED的结构图可知道,8*8点阵式LED是由64个发光二极管构成,每行8个二极管的阳极串接在一起,每列8个二极管的负端串接在一起。当要选中某个点时就得把该点的行接高电平,列接低电平。如:要选中第

11、二行第三个点,即要求DC7接5伏,DR3接地。通过不同的接线可以用点构成所需要的图形。5.3基本输入输出端口如图4所示,CPU可以通过基本输入输出端口与外设进行信息交换其中IA0IA7与旧0旧7为两个输入端口,CPU可通过这两个端口从外设获得信息;OA0OA7与OB0OB7是两个输出端口,CPU可通过其将信息输出给外设。5.4键盘与数码管其中IA0IA7与旧0旧7为两个输入端口,CPU可通过这两个端口从外设获得信息;OA0OA7与OB0OB7是两个输出端口,CPU可通过其将信息输出给外设。5.4键盘与数码管KIMXD5XXXD4:】、厂c=0=0XHWf一、)XIOR;-,0YO卜-二=J_一

12、._47653-10DDDnDDDD基本偷入愉山0707BHA:-ArITr5.4.1.矩阵式键盘的结构及原理矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图5所示由图可知,一个4X的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V,上。当无键按下时,行线处于高电平状态;当有键按下U5行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该

13、键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。5.4.2数码管八段数码管如图6所示。当数码管被选中后,对其相应的代码段施加高电平,数码管便产生相应的图形。例如在数码管被选中后,对端A、B、C、D、E、F、G、DP分别置1(高电平)、1、1、1、1、1、0(低电平)、0,则数码管就会显示0的字形,因此0的数码管代码为11111100B相应地可以求出其他数字的数码管代码。图65.4.3数码管与小键盘如图7,数码管的选通受小键盘的控制,当小键盘的列选通时,即施加低电平,则该列所对应的数码管也被选通。7K7K4图7数码管与小键盘显示单元

14、结构图5.516550串行控制器5.5.1串行通信方式异步方式串行异步接口通用异步收发器同步方式串行同步接口通用同步收发器5.5.2串行接口的基本结构5.5.31655部结构图.可修编六、设计过程6.1设计思路电路设计及元器件选择时,为了结果实现的方便,所以没有选择中断芯片。设计中,用基本输入输出的两个端口作为8*8点阵LED的控制端,8255_A的A口味输出,控制小键盘的列,即选通,同时选通相应列所对应的数码管;C口低四位为输入,读入小键盘的行状态;B口为输出,输出数码管的代码,控制数码管。6.2电路接线图图8电路接线图6.3程序流程图是否有建按下彳调用待机函数调用遂A系统函数调用退出函数,

15、否一挨下?-厂一按F?,一图9程序流程图6.4.1C语言*include*include*include*include*include*include*defineIOY00*C400*defineIOY10*C440*defineIOY20*C480*defineMYIO_AIOY0*defineMYIOBIOY1*defineMY8255_AIOY2*defineMY8255_CIOY2+0*02*4*defineMY8255_MODEIOY2+0*03*4unsignedchardesign56=0*ff,0*ef,0*08,0*5a,0*dd,0*aa,0*7f,0*ff,0*ff,

16、0*ef,0*15,0*50,0*53,0*d3,0*d9,0*03,0*ff,0*f5,0*05,0*58,0*dd,0*95,0*59,0*cd,0*ff,0*af,0*05,0*a8,0*03,0*ab,0*a9,0*03,0*ff,0*fb,0*f7,0*e7,0*db,0*bd,0*7e,0*ff,0*ff,0*c1,0*f7,0*e3,0*b7,0*43,0*ab,0*6d,0*ff,0*cb,0*05,0*a8,0*0a,0*a8,0*ab,0*34;unsignedcharzaijian16=0*1,0*ef,0*83,0*83,0*ab,0*1,0*bb,0*bb,0*83,

17、0*bb,0*ab,0*ab,0*8b,0*d7,0*d3,0*1d;unsignedchara,c,d,e,f,g;intn,b;intcc=0;inttt=0;voidccscan(void)小键盘扫描子程序outp(MY8255_A,0*00);cc=inp(MY8255_C);cc=(cc)&0*0F;/上移显示voidroll(void)for(a=0;a50;)for(b=0;b50;b+)c=0*01;for(d=0;d8;d+)for(e=0;e250;e+)for(n=0;n1000;n+);outp(MYIO_A,c);outp(MYIO_B,designa+d);c=c1

18、;a=a+1;/单字显示voidsingle(void)(for(a=0;a56;)(for(b=0;b60;b+)(c=0*01;for(d=0;d8;d+)for(e=0;e250;e+)for(n=0;n250;n+);outp(MYIO_A,c);outp(MYIO_B,designa+d);c=c1;a=a+8;voidmain()/主函数outp(MY8255_MODE,0*81);/初始化8255printf(1:Singlen2:Rolln4:Quitn);for(;)cc=0;ccscan();tt=cc;for(;)cc=0;ccscan();if(cc=0)break;i

19、f(tt!=0)break;while(1)if(tt=1)单字显示single();printf(nn1:Singlen2:Rolln4:Quitn);for(;)(cc=0;ccscan();tt=cc;for(;)(cc=0;ccscan();if(cc=0)break;if(tt!=0)break;if(tt=2)上移显示(roll();printf(nn1:Singlen2:Rolln4:Quitn);for(;)(cc=0;ccscan();tt=cc;for(;)(cc=0;ccscan();if(cc=0)break;if(tt!=0)break;if(tt=4)for(a=0

20、;a16;)(for(b=0;b40;b+)(c=0*01;for(d=0;d8;d+)for(e=0;e250;e+)for(n=0;n250;n+);outp(MYIO_A,c);outp(MYIO_B,zaijiana+d);c=c1;a=a+8;e*it(0);/退出根据CHECK配置信息修改下列符号值*2)远程控制代码IOY0EQU0C400H;片选IOY0对应的端口始地址IOY1EQU0C440H;片选IOY1对应的端口始地址IOY2EQU0C480H;片选IOY2对应的端口始地址、*上山发送缅:*IOY1+03H*4;8255的控制寄存器地址MY8255_MODEEQUMY165

21、50_0EQUIOY0+00H*4;16550数据缓冲寄存器端口地址MY16550_1EQUIOY0+01H*4;16550中断允许寄存器端口地址MY16550_3EQUIOY0+03H*4;16550线路控制寄存器端口地址MY16550_4EQUIOY0+04H*4;16550MODEM控制寄存器端口地址MY16550_5EQUIOY0+05H*4;16550线路状态寄存器端口地址MY8255_AEQUIOY1+00H*4;8255的A口地址MY8255_BEQUIOY1+01H*4;8255的B口地址MY8255_CEQUIOY1+02H*4;8255的C口地址STACK1SEGMENTS

22、TACKDW256DUP()STACK1ENDSDATASEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDS;键值表,0F对应的7段数码管的段位值CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA*,DATA;建立缓冲区,存放要显示的键值;先初始化键值为0MOVDS,A*MOVSI,3000HMOVAL,00HMOVSI,ALMOVD*,MY8255_MODEMOVAL,81HOUTD*,ALMOVD*,MY16550_3;MOVAL,80H

23、OUTD*,ALCALLDALLY5;初始化8255工作方式;方式0,A口、B口输出,C口低4位输入;设置16550线路控制寄存器;准备设置波特率除数寄存器MOVD*,MY16550_0MOVAL,0CHOUTD*,ALCALLDALLY5;设置除数寄存器低字节0CH;000C对应9600bit/sMOVD*,MY16550_1;设置除数寄存器高字节00HOUTD*,ALCALLDALLY5;设置线路控制寄存器,初始化数据格式;偶校验,1位停止位,字符宽度为8;设置线路控制寄存器,初始化数据格式;偶校验,1位停止位,字符宽度为8MOVD*,MY16550_3MOVAL,1BHOUTD*,ALC

24、ALLDALLY5;设置MODEM控制寄存器MOVD*,MY16550_4MOVAL,03HOUTD*,ALCALLDALLY5;设置中断允许寄存器;中断不打开MOVD*,MY16550_1MOVAL,00HOUTD*,ALCALLDALLY5;显示刷新;清屏;扫描按键;有键按下则跳置GETKEY1;判断PC键盘是否有按键按下;无按键则跳回继续循环,有则退出;返回到DOS;显示刷新BEGIN:CALLDISCALLCLEARCALLCCSCANJNZGETKEY1MOVAH,1INT16HJZBEGINQUIT:MOVA*,4C00HINT21HGETKEY1:CALLDISCALLDALLY

25、CALLDALLY;清屏;再次扫描按键;有键按下则跳置GETKEY2;否则跳回开始继续循环;设置当前检测的是第几列;选取一列,将*1*4中一个置0;清屏;再次扫描按键;有键按下则跳置GETKEY2;否则跳回开始继续循环;设置当前检测的是第几列;选取一列,将*1*4中一个置0;清屏;再次扫描按键;有键按下则跳置GETKEY2;否则跳回开始继续循环;设置当前检测的是第几列;选取一列,将*1*4中一个置0CALLCLEARCALLCCSCANJNZGETKEY2JMPBEGINGETKEY2:MOVCH,0FEHMOVCL,00HCOLUM:MOVAL,CHMOVD*,MY8255_AOUTD*,A

26、L;读Y1Y4,用于判断是哪一行按键闭合;是否为第1行;不是则继续判断;设置第1行第1列的对应的键值;是否为第2行;不是则继续判断;设置第2行第1列的对应的键值;读Y1Y4,用于判断是哪一行按键闭合;是否为第1行;不是则继续判断;设置第1行第1列的对应的键值;是否为第2行;不是则继续判断;设置第2行第1列的对应的键值;读Y1Y4,用于判断是哪一行按键闭合;是否为第1行;不是则继续判断;设置第1行第1列的对应的键值;是否为第2行;不是则继续判断;设置第2行第1列的对应的键值MOVD*,MY8255_CINAL,D*L1:TESTAL,01HJNZL2MOVAL,00HJMPKCODEL2:TES

27、TAL,02HJNZL3MOVAL,04H;是否为第3行;不是则继续判断;设置第3行第1列的对应的键值;是否为第4行;不是则继续判断;设置第4行第1列的对应的键值;将第1列的值加上当前列数,确定按键值;保存按键值;显示刷新;清屏;扫描按键,判断按键是否弹起;未弹起则继续循环等待弹起;当前检测的列数递增;检测是否扫描到第4列;是则跳回到开始处;没检测到第4列则准备检测下一列;显示键值子程序;以缓冲区存放的键值为键值表偏移找到键值并显JMPKCODEL3:TESTAL,04HJNZL4MOVAL,08HJMPKCODEL4:TESTAL,08HJNZNE*TMOVAL,0CHKCODE:ADDAL

28、,CLCALLPUTBUFPUSHA*KON:CALLDISCALLCLEARCALLCCSCANJNZKONPOPA*NE*T:INCCLMOVAL,CHTESTAL,08HJZKERRROLAL,1MOVCH,ALJMPCOLUMKERR:JMPBEGINCCSCANPROCNEARMOVAL,00HMOVD*,MY8255_AOUTD*,ALMOVD*,MY8255_CINAL,D*NOTALANDAL,0FHRETCCSCANENDPCLEARPROCNEARMOVD*,MY8255_BMOVAL,00HOUTD*,ALRETCLEARENDPDISPROCNEARPUSHA*;扫描是

29、否有按键闭合子程序;将4列全选通,*1*4置0;读Y1Y4;取出Y1Y4的反值;清除数码管显示子程序;段位置0即可清除数码管显示MOVDL,0F7HMOVAL,DLAGAIN:PUSHD*MOVD*,MY8255_AOUTD*,AL;设置*1*4,选通一个数码管MOVAL,SI;取出缓冲区中存放键值MOVB*,OFFSETDTABLEANDA*,00FFHADDB*,A*IANSHI1:CALLfasong1;调用发送1系统子程序MOVAL,B*;将键值作为偏移和键值基地址相加得到相应的键值MOVD*,MY8255_BOUTD*,AL;写入数码管ADpCMPAL,06H;判断按键是否为按键1J

30、Z*IANSHI1CMPAL,5BH;判断按键是否为按键2JZ*IANSHI2CMPAL,4FH;判断按键是否为按键3JZ*IANSHI3;CMPAL,66H;判断按键是否为按键4JZ*IANSHI4JMPOUT1JMPOUT1OUT1:POPD*POPA*IANSHI2:CALLfasong2;调用发送1系统子程序JMPOUT1*IANSHI3:CALLfasong3;调用发送1系统子程序JMPOUT1*IANSHI4:CALLfasong4;调用发送1系统子程序JMPOUT1RETDISENDPPUTBUFPROCNEAR;保存键值子程序MOVSI,3000HMOVSI,ALDECSICM

31、PSI,2FFFHJNZGOBACKMOVSI,3000HGOBACK:RETPUTBUFENDPfasong1PROCNEARMOVSI,ALMOVDL,ALLL:MOVD*,MY16550_5;查询方式INAL,D*TESTAL,20H是否可发送JNZSENDJMPLLSEND:MOVD*,MY16550_0MOVAL,31HOUTD*,ALretfasong1ENDPfasong2PROCNEARMOVSI,3000HMOVSI,ALMOVDL,ALLL1:MOVD*,MY16550_5;查询方式INAL,D*TESTAL,20H是否可发送JNZSEND1JMPLL1SEND1:MOVD

32、*,MY16550_0MOVAL,32HOUTD*,ALretfasong2ENDPfasong3PROCNEARMOVSI,3000HMOVSI,ALMOVDL,ALLL2:MOVD*,MY16550_5;查询方式INAL,D*TESTAL,20H是否可发送JNZSEND2JMPLL2SEND2:MOVD*,MY16550_0MOVAL,33HOUTD*,ALretfasong3ENDPfasong4PROCNEARMOVSI,3000HMOVSI,ALMOVDL,ALLL3:MOVD*,MY16550_5;查询方式INAL,D*TESTAL,20H是否可发送JNZSEND3JMPLL3SE

33、ND3:MOVD*,MY16550_0MOVAL,34HOUTD*,ALretfasong4ENDPDALLY5PROCNEAR;软件延时子程序PUSHC*PUSHA*MOVC*,0300HD12:MOVA*,3000HD22:DECA*JNZD22LOOPD12POPA*POPC*RETDALLY5ENDPDALLYPROCNEAR;软件延时子程序PUSHC*MOVC*,00FFHD1:MOVA*,00FFHD2:DECA*JNZD2LOOPD1POPC*RETDALLYENDPCODEENDSENDSTART接收端;*根据CHECK配置信息修改下列符号值*IOY0EQU0C400H片选IO

34、Y0对应的端口始地址IOY1EQU0C440H片选IOY0对应的端口始地址IOY2EQU0C480H片选IOY0对应的端口始地址;MY16550_0EQUIOY0+00H*4;16550数据缓冲寄存器端口地址MY16550_1EQUIOY0+01H*4;16550中断允许寄存器端口地址MY16550_3EQUIOY0+03H*4;16550线路控制寄存器端口地址MY16550_5EQUIOY0+05H*4;16550线路状态寄存器端口地址MYIO_AEQUIOY1+00H*4;基本输入输出单元A组端口地址MYIO_BEQUIOY2+00H*4;基本输入输出单元B组端口地址STACK1SEGME

35、NTSTACKDW256DUP()STACK1ENDSDATASEGMENTDB0F7H,0F0H,02H,62H,6BH,9BH,95H,6EH;欢DB7FH,0A3H,0C8H,0AH,0C2H,0ABH,7BH,00H迎DB0EFH,0CFH,0A0H,2AH,0BBH,0B1H,0A2H,0BBH;你DB75H,0B5H,0C0H,15H,0C0H,0B5H,6DH,00H进DB07H,0E7H,0E7H,0E7H,0E7H,0DBH,0BDH,7EH;入DB81H,0DFH,83H,0DDH,81H,0C5H,0ABH,6DH系DB0F7H,0DBH,0A0H,15H,0A0H,12

36、H,0F3H,08H;统DB0DBH,0A1H,40H,0BBH,20H,0ABH,0B3H,0A3H;待DB0BFH,0B1H,15H,0B5H,15H,15H,15H,0CH;机DB81H,0EFH,81H,0ADH,81H,0ADH,00H,0BDH再DB81H,0ADH,0ADH,0ADH,0E7H,0E5H,0D5H,0B1H;见DB1FH,0BFH,1FH,0FFH,1FH,0BFH,1FH,0FFH;88-95DB1FH,0AFH,1FH,0FFH,1FH,0AFH,1FH,0FFH;96-103DB1FH,0ABH,1FH,0FFH,1FH,0ABH,1FH,0FFH;104-

37、111DB1FH,0AAH,1FH,0FFH,1FH,0AAH,1FH,0FFH;112-119DB0F0H,02H,62H,6BH,9BH,95H,6EH,0FFH;欢到迎120-127DB02H,62H,6BH,9BH,95H,6EH,0FFH,7FH;128-135DB62H,6BH,9BH,95H,6EH,0FFH,7FH,0A3H;136-143DB6BH,9BH,95H,6EH,0FFH,7FH,0A3H,0C8H;144-151DB9BH,95H,6EH,0FFH,7FH,0A3H,0C8H,0AH;152-159DB95H,6EH,0FFH,7FH,0A3H,0C8H,0AH,

38、0C2H;160-167DB6EH,0FFH,7FH,0A3H,0C8H,0AH,0C2H,0ABH;168-175DB0FFH,7FH,0A3H,0C8H,0AH,0C2H,0ABH,7BH;176-183DB0A3H,0C8H,0AH,0C2H,0ABH,7BH,00H,0FFH迎到你184-191DB0C8H,0AH,0C2H,0ABH,7BH,00H,0FFH,0EFH;192-199DB0AH,0C2H,0ABH,7BH,00H,0FFH,0EFH,0CFH;200-207DB0C2H,0ABH,7BH,00H,0FFH,0EFH,0CFH,0A0H;208-215DB0ABH,7B

39、H,00H,0FFH,0EFH,0CFH,0A0H,2AH;216-223DB7BH,00H,0FFH,0EFH,0CFH,0A0H,2AH,0BBH;224-231DB00H,0FFH,0EFH,0CFH,0A0H,2AH,0BBH,0B1H;232-239DB0FFH,0EFH,0CFH,0A0H,2AH,0BBH,0B1H,0A2H;240-247DB0CFH,0A0H,2AH,0BBH,0B1H,0A2H,0BBH,0FFH;至谜DB0A0H,2AH,0BBH,0B1H,0A2H,0BBH,0FFH,75H;DB2AH,0BBH,0B1H,0A2H,0BBH,0FFH,75H,0B5H

40、;DB0BBH,0B1H,0A2H,0BBH,0FFH,75H,0B5H,0C0H;DB0B1H,0A2H,0BBH,0FFH,75H,0B5H,0C0H,15H;DB0A2H,0BBH,0FFH,75H,0B5H,0C0H,15H,0C0H;DB0BBH,0FFH,75H,0B5H,0C0H,15H,0C0H,0B5H;DB0FFH,75H,0B5H,0C0H,15H,0C0H,0B5H,6DH;DB0B5H,0C0H,15H,0C0H,0B5H,6DH,00H,0FFH进到入312-319DB0C0H,15H,0C0H,0B5H,6DH,00H,0FFH,07H;320-327DB15H,

41、0C0H,0B5H,6DH,00H,0FFH,07H,0E7H;328-335DB0C0H,0B5H,6DH,00H,0FFH,07H,0E7H,0E7H;DB0B5H,6DH,00H,0FFH,07H,0E7H,0E7H,0E7H;DB6DH,00H,0FFH,07H,0E7H,0E7H,0E7H,0E7H;DB00H,0FFH,07H,0E7H,0E7H,0E7H,0E7H,0DBH;DB0FFH,07H,0E7H,0E7H,0E7H,0E7H,0DBH,0BDH;DB0E7H,0E7H,0E7H,0E7H,0DBH,0BDH,7EH,0FFH人至V系376-383DB0E7H,0E7H,

42、0E7H,0DBH,0BDH,7EH,0FFH,81H;DB0E7H,0E7H,0DBH,0BDH,7EH,0FFH,81H,0DFH;DB0E7H,0DBH,0BDH,7EH,0FFH,81H,0DFH,83H;DB0DBH,0BDH,7EH,0FFH,81H,0DFH,83H,0DDH;DB0BDH,7EH,0FFH,81H,0DFH,83H,0DDH,81H;416-423DB7EH,0FFH,81H,0DFH,83H,0DDH,81H,0C5H;424-431DB0FFH,81H,0DFH,83H,0DDH,81H,0C5H,0ABH;DB0DFH,83H,0DDH,81H,0C5H,

43、0ABH,6DH,0FFH;系到统440-447DB83H,0DDH,81H,0C5H,0ABH,6DH,0FFH,0F7H;DB0DDH,81H,0C5H,0ABH,6DH,0FFH,0F7H,0DBH;DB81H,0C5H,0ABH,6DH,0FFH,0F7H,0DBH,0A0H;DB0C5H,0ABH,6DH,0FFH,0F7H,0DBH,0A0H,15H;DB0ABH,6DH,0FFH,0F7H,0DBH,0A0H,15H,0A0H;DB6DH,0FFH,0F7H,0DBH,0A0H,15H,0A0H,12H;DB0FFH,0F7H,0DBH,0A0H,15H,0A0H,12H,0F3

44、H;DB0A1H,40H,0BBH,20H,0ABH,0B3H,0A3H,0FFH;待到机DB40H,0BBH,20H,0ABH,0B3H,0A3H,0FFH,0BFH;DB0BBH,20H,0ABH,0B3H,0A3H,0FFH,0BFH,0B1H;520-527DB20H,0ABH,0B3H,0A3H,0FFH,0BFH,0B1H,15H;528-535DB0ABH,0B3H,0A3H,0FFH,0BFH,0B1H,15H,0B5H;536-543DB0B3H,0A3H,0FFH,0BFH,0B1H,15H,0B5H,15H;544-551DB0A3H,0FFH,0BFH,0B1H,15H

45、,0B5H,15H,15H;552-559DB0FFH,0BFH,0B1H,15H,0B5H,15H,15H,15H;560-567DB0EFH,81H,0ADH,81H,0ADH,00H,0BDH,0FFH;再到见568-575DB81H,0ADH,81H,0ADH,00H,0BDH,0FFH,81H;576-583DB0ADH,81H,0ADH,00H,0BDH,0FFH,81H,0ADH;584-591DB81H,0ADH,00H,0BDH,0FFH,81H,0ADH,0ADH;592-599DB0ADH,00H,0BDH,0FFH,81H,0ADH,0ADH,0ADH;600-607D

46、B00H,0BDH,0FFH,81H,0ADH,0ADH,0ADH,0E7H;608-615DB0BDH,0FFH,81H,0ADH,0ADH,0ADH,0E7H,0E5H;616-623DB0FFH,81H,0ADH,0ADH,0ADH,0E7H,0E5H,0D5H;624-631DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVA*,DATAMOVDS,A*CLIMOVD*,MY16550_3;设置16550线路控制寄存器MOVAL,80H;准备设置波特率除数寄存器OUTD*,ALMOVD*,MY16550_0;设置除数寄存器低字节0CHMO

47、VAL,0CH;000C对应9600bit/sOUTD*,ALMOVD*,MY16550_1;设置除数寄存器高字节00HMOVAL,00HOUTD*,ALMOVD*,MY16550_3;设置线路控制寄存器,初始化数据格式MOVAL,1BH;偶校验,1位停止位,字符宽度为8OUTD*,ALMOVD*,MY16550_1;设置中断允许寄存器MOVAL,00H;不允许接收缓冲寄存器满产生中断OUTD*,ALSTICHECK:MOVAH,01H判断PC键盘是否有按键按下INT16HJNZQUITMOVD*,MY16550_5INAL,D*TESTAL,01H是否可接收JNZRECEIVEJMPCHEC

48、KRECEIVE:MOVD*,MY16550_0INAL,D*MOVDL,ALMOVAH,02HINT21HCMPAL,31H;判断按键是否为按键1JZ*IANSHI1CMPAL,32H;判断按键是否为按键2JZ*IANSHI2CMPAL,33H;判断按键是否为按键3JZ*IANSHI3;CMPAL,34H;判断按键是否为按键4JZ*IANSHI4*IANSHI1:CALLHUANYING;调用显示欢迎你进入系统子程序JMPCHECK*IANSHI2:CALLDAIJI;调用显示待机子程序JMPCHECK1*IANSHI3:CALLZAIJIAN;调用显示再见子程序JMPCHECK*IANSH

49、I4:CALLHUANYING;间隔10秒显示3段汉字信息CALLDENGDAICALLDENGDAICALLDAIJICALLDENGDAICALLDENGDAICALLZAIJIANJMPCHECKQUIT:MOVA*,4C00H返回到DOSINT21HHUANYINGPROCNEAR;显示欢迎进入系统子程序PUSHC*PUSHA*MOVDI,0MOVAH,01HCALLZI1;显示欢MOVDI,120MOVAH,1CALLGUN1MOVAH,1MOVDI,8CALLZI1;显示迎MOVDI,184MOVAH,1CALLGUN2MOVAH,1MOVDI,16CALLZI1;显示你MOVDI,248MOVAH,1CALLGUN3MOVAH,1MOVDI,24CALLZI1;显示进MOVDI,312MOVAH,1CALLGUN4MOVAH,1MOVDI,32CALLZI1;显示入MOVDI,376MOVAH,1CALLGUN5MOVAH,1MOVDI,40CALLZI1MOVDI,440MOVAH,1CALLGUN6MOVAH,1MOVDI,48CALLZI1MOVD*,MYIO_AMOVAL,00HOUTD*,ALMOVD*,MYIO_BMOVAL,0FFHOUTD*,ALPOPA*POPC*RETHUANYINGENDPDAIJIPROCNEARPU

温馨提示

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

评论

0/150

提交评论