![LED点阵设计方案报告_第1页](http://file4.renrendoc.com/view2/M00/06/18/wKhkFmZvIGuAelR_AADHNiHhoUg015.jpg)
![LED点阵设计方案报告_第2页](http://file4.renrendoc.com/view2/M00/06/18/wKhkFmZvIGuAelR_AADHNiHhoUg0152.jpg)
![LED点阵设计方案报告_第3页](http://file4.renrendoc.com/view2/M00/06/18/wKhkFmZvIGuAelR_AADHNiHhoUg0153.jpg)
![LED点阵设计方案报告_第4页](http://file4.renrendoc.com/view2/M00/06/18/wKhkFmZvIGuAelR_AADHNiHhoUg0154.jpg)
![LED点阵设计方案报告_第5页](http://file4.renrendoc.com/view2/M00/06/18/wKhkFmZvIGuAelR_AADHNiHhoUg0155.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机接口课程设计目录设计题目…………2设计内容和要求…………………2设计目标意义……2系统硬件…………3元器件介绍………3设计过程…………13心得体会…………54参考文件…………54
一、设计题目点阵LED显示功效设计二、设计内容和要求(1)、编程语言为汇编语言和C语言;(2)、硬件电路基于80x86微机接口电路;(3)、程序功效要求:小键盘给定、数码管显示、控制并显示“待机”,“欢迎你进入系统!”,“再见”(延时10秒);(4)、含有当地及远程(串行方法)功效。三、设计目标意义在大型商场、车站、码头、地铁站和各类办事窗口等和越来越多公共场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展新兴产业,市场空间巨大,前景宽广。伴随信息产业高速发展,LED显示作为信息传输一个关键手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传公众场所,比如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券和银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会一个关键标志。在设计过程中,自己亲自或参考资料完成系统电路接线,然后利用汇编语言和C语言编写程序,从而愈加熟悉自己所学过东西,为以后学习和工作打下基础。四、系统硬件可编程外围接口芯片8255A、基础输入输出端口、八段数码管、小键盘、16550远程控制器五、元器件介绍5.1可编程外围接口芯片8255A
5.1.18255A引脚8255A是可编程三端口并行输入输出接口芯片,含有40个引脚,双列直插式封装,由+5V供电,其引脚和功效如示意图所表示:A、B、C三个端口各有8条端口I/O线:PA7?PA0,PB7?PB0,PC7?PC0,共32个引脚,用于8255A和外设之间数据(或控制、状态信号)传送。D0~D7:8位三态数据线,接至系统数据总线。CPU经过它实现和8255之间数据读出和写入,和控制字和状态字写入和读出等。A0~A1:地址信号。A0和A1经片内译码产生四个有效地址分别对应A、B、C三图18255A引脚及功效示意图140239338437536635图18255A引脚及功效示意图140239338437536635734833932108255A3111302913281427152616251724182319222021PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3B组(b)功效示意图(a)引脚A口C口8255AC口B口CSD0~D7WRRDA0A1RESETPA0~PA78PC4~PC74PC0~PC34PB0~PB78A组表18255A各端口读写操作时信号关系CSRDWRA1A0操作01000写端口A01001写端口B01010写端口C01011写控制寄存器00100读端口A00101读端口B00110读端口C00111无操作个独立数据端口和一个公共控制端口。在实际使用中,A1、A0端接到系统地址总线A1、A0。
CS#:片选信号,由系统地址译码器产生,低电平有效。
读写控制信号RD#和WR#:低电平有效,用于决定CPU和8255A之间信息传送方向:当RD#=0时,从8255A读至CPU;当WR#=0时,由CPU写入8255A。CPU对8255各端口进行读写操作时信号关系\t"_blank>"如表1所表示。
RESRT:复位信号,高电平有效。8255A复位后,A、B、C三个端口全部置为输入方法。
5.1.
2.8255A内部结构
\t"_blank>"图2所表示,8255A内部由以下四部分组成:(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)数据总线缓冲器
这是一个8位三态数据缓冲器,8255A正是经过它和系统数据总线相连,实现8255A和CPU之间数据传送。输入数据、输出数据、CPU发给8255A控制字等全部是经过该部件传输。(4)读/写控制逻辑
读/写控制逻辑电路功效是负责管理8255A和CPU之间数据传送过程。它接收CS及地址总线信号A1、A0和控制总线控制信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件控制命令,并将命令送给这两个部件,再由它们控制完成对数据、状态信息和控制信息传送。各端口读写操作和对应控制信号之间关系见表1所表示。
BB组控制部件内部DB(8)PA7~PA0D0~D7数据总线缓冲器读/写控制逻辑RESETA1A0WRRDCSA组端口A(8)A组端口C(高4位)B组端口C(低4位)B组端口B(8)A组控制部件PC7~PC4PC3~PC0PB7~PB0图2图28255A内部结构框图5.1.8255A多种工作方法
及控制字
1.8255A工作方法
8255A在使用前要先写入一个工作方法控制字,以指定A、B、C三个端口各自工作方法。8255A共有三种工作方法:
方法0——基础输入输出方法,即无须联络就能够直接进行8255A和外设之间数据输入或输出操作。A口、B口、C口高四位和低四位均可设置为方法0。
方法1——选通输入输出方法,此时8255AA口和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只能工作于方法0和方法1,而端口C仅工作于方法0。
注意:在端口A工作于方法1或方法2,端口B工作于方法1时,C口部分I/O线被定义为8255A和外设之间进行数据传送联络信号线,此时,C口剩下I/O线仍工作于方法0,是输入还是输出则由工作方法控制字D0和D3位决定。
(2)C口按位置位/复位控制字
8255AC口含有位控功效,即端口C8位中任一位全部可经过CPU向8255A控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其它位状态不变。
比如,要使端口CPC4置位控制字为00001001B(09H),使该位复位控制字为00001000B(08H)。
应注意是,C口按位置位/复位控制字必需跟在方法选择控制字以后写入控制字寄存器,即使仅使用该功效,也应先选送一个方法控制字。方法选择控制字只需写入一次,以后就可数次使用C口按位置位/复位控制字对C口一些位进行置1或清0操作。5.28X8点阵式LED5.2.1其内部结构以下:图3X8图3X8点阵式结构图5.2.28x8点阵式LED工作原理由LED结构图可知道,8x8点阵式LED是由64个发光二极管组成,每行8个二极管阳极串接在一起,每列8个二极管负端串接在一起。当要选中某个点时就得把该点行接高电平,列接低电平。如:要选中第二行第三个点,即要求DC7接5伏,DR3接地。经过不一样接线能够用点组成所需要图形。5.3基础输入输出端口图4所表示,CPU能够经过基础输入输出端口和外设进行信息交换。其中IA0~IA7和IB0~IB7为两个输入端口,CPU可经过这两个端口从外设取得信息;OA0~OA7和OB0~OB7是两个输出端口,CPU可经过其将信息输出给外设。图45.4键盘和数码管图45.4.1.矩阵式键盘结构及原理矩阵式键盘由行线和列线组成,按键在行、列线交叉点上,其结构图5所表示。
由图可知,一个4×4行、列结构能够组成一个含有16个按键键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。图5矩阵式键盘中,行、列线分别连接到按键开关两端,行线经过上拉\o"电阻"电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由和此行线相连列线电平决定。这是识别按键是否按下关键。然而,矩阵键盘中行线、列线和多个键相连,各按键按下是否均影响该键所在行线和列线电平,各按键间将相互影响,所以,必需将行线、列线信号配合起来作合适处理,才能确定闭合键位置。图55.4.2数码管八段数码管图6所表示。当数码管被选中后,对其对应代码段施加高电平,数码管便产生对应图形。比如在数码管被选中后,对端A、B、C、D、E、F、G、DP分别置1(高电平)、1、1、1、1、1、0(低电平)、0,则数码管就会显示0字形,所以0数码管代码为11111100B。对应地能够求出其它数字数码管代码。图6图65.4.3数码管和小键盘图7数码管和小键盘显示单元结构图图7,数码管选通受小键盘控制,当小键盘列选通时,即施加低电平,则该列所对应数码管也被选通。图7数码管和小键盘显示单元结构图5.516550串行控制器5.5.1串行通信方法异步方法串行异步接口通用异步收发器同时方法串行同时接口通用同时收发器5.5.2串行接口基础结构5.5.31655内部结构图
六、设计过程6.1设计思绪电路设计及元器件选择时,为了结果实现方便,所以没有选择中止芯片。设计中,用基础输入输出两个端口作为8X8点阵LED控制端,8255_AA口味输出,控制小键盘列,即选通,同时选通对应列所对应数码管;C口低四位为输入,读入小键盘行状态;B口为输出,输出数码管代码,控制数码管。6.2电路接线图图8电路接线图图8电路接线图
6.3程序步骤图图9程序步骤图图9程序步骤图
6.4源程序6.4.1C语言#include<stdio.h>#include<stdlib.h>#include<bios.h>#include<ctype.h>#include<process.h>#include<conio.h>#defineIOY00xC400#defineIOY10xC440#defineIOY20xC480#defineMYIO_AIOY0#defineMYIO_BIOY1#defineMY8255_AIOY2#defineMY8255_CIOY2+0x02*4#defineMY8255_MODEIOY2+0x03*4unsignedchardesign[56]={0xff,0xef,0x08,0x5a,0xdd,0xaa,0x7f,0xff,0xff,0xef,0x15,0x50,0x53,0xd3,0xd9,0x03,0xff,0xf5,0x05,0x58,0xdd,0x95,0x59,0xcd,0xff,0xaf,0x05,0xa8,0x03,0xab,0xa9,0x03,0xff,0xfb,0xf7,0xe7,0xdb,0xbd,0x7e,0xff,0xff,0xc1,0xf7,0xe3,0xb7,0x43,0xab,0x6d,0xff,0xcb,0x05,0xa8,0x0a,0xa8,0xab,0x34};unsignedcharzaijian[16]={0x1,0xef,0x83,0x83,0xab,0x1,0xbb,0xbb,0x83,0xbb,0xab,0xab,0x8b,0xd7,0xd3,0x1d};unsignedchara,c,d,e,f,g;intn,b;intcc=0;inttt=0;voidccscan(void)//小键盘扫描子程序{outp(MY8255_A,0x00); cc=inp(MY8255_C); cc=(~cc)&0x0F;}//上移显示voidroll(void){for(a=0;a<50;){for(b=0;b<50;b++){c=0x01;for(d=0;d<8;d++){for(e=0;e<250;e++){for(n=0;n<1000;n++);}outp(MYIO_A,c);outp(MYIO_B,design[a+d]);c=c<<1;}}a=a+1;}}//单字显示voidsingle(void){for(a=0;a<56;){for(b=0;b<60;b++){c=0x01;for(d=0;d<8;d++){for(e=0;e<250;e++){for(n=0;n<250;n++);}outp(MYIO_A,c);outp(MYIO_B,design[a+d]);c=c<<1;}}a=a+8;}}voidmain()//主函数{outp(MY8255_MODE,0x81);//初始化8255printf("[1]:Single\n[2]:Roll\n[4]:Quit\n");for(;;){cc=0;ccscan();tt=cc;for(;;){cc=0;ccscan();if(cc==0)break;}if(tt!=0)break;}while(1){if(tt==1)//单字显示{single();printf("\n\n[1]:Single\n[2]:Roll\n[4]:Quit\n");for(;;){cc=0;ccscan();tt=cc;for(;;){cc=0;ccscan();if(cc==0)break;}if(tt!=0)break;}}if(tt==2)//上移显示{roll();printf("\n\n[1]:Single\n[2]:Roll\n[4]:Quit\n");for(;;){cc=0;ccscan();tt=cc;for(;;){cc=0;ccscan();if(cc==0)break;}if(tt!=0)break;}}if(tt==4)for(a=0;a<16;){for(b=0;b<40;b++){c=0x01;for(d=0;d<8;d++){for(e=0;e<250;e++){for(n=0;n<250;n++);}outp(MYIO_A,c);outp(MYIO_B,zaijian[a+d]);c=c<<1;}}a=a+8;}exit(0);//退出}}2)远程控制代码发送端:;***************依据CHECK配置信息修改下列符号值*******************IOY0EQU0C400H;片选IOY0对应端口始地址IOY1EQU0C440H;片选IOY1对应端口始地址IOY2EQU0C480H;片选IOY2对应端口始地址;*****************************************************************MY16550_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;8255A口地址MY8255_BEQUIOY1+01H*4;8255B口地址MY8255_CEQUIOY1+02H*4;8255C口地址MY8255_MODEEQUIOY1+03H*4;8255控制寄存器地址STACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSDATA SEGMENTDTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDS;键值表,0~F对应7段数码管段位值CODE SEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVSI,3000H;建立缓冲区,存放要显示键值 MOVAL,00H;先初始化键值为0 MOV[SI],ALMOVDX,MY8255_MODE;初始化8255工作方法MOVAL,81H;方法0,A口、B口输出,C口低4位输入 OUTDX,ALMOVDX,MY16550_3;设置16550线路控制寄存器MOVAL,80H;准备设置波特率除数寄存器OUTDX,ALCALLDALLY5MOVDX,MY16550_0;设置除数寄存器低字节0CHMOVAL,0CH;000C对应9600bit/sOUTDX,ALCALLDALLY5MOVDX,MY16550_1;设置除数寄存器高字节00HMOVAL,00HOUTDX,ALCALLDALLY5MOVDX,MY16550_3;设置线路控制寄存器,初始化数据格式MOVAL,1BH;偶校验,1位停止位,字符宽度为8OUTDX,ALCALLDALLY5MOVDX,MY16550_4;设置MODEM控制寄存器MOVAL,03HOUTDX,ALCALLDALLY5MOVDX,MY16550_1;设置中止许可寄存器MOVAL,00H;中止不打开OUTDX,ALCALLDALLY5BEGIN:CALLDIS;显示刷新 CALLCLEAR;清屏 CALLCCSCAN;扫描按键 JNZGETKEY1;有键按下则跳置GETKEY1MOVAH,1;判定PC键盘是否有按键按下INT16HJZBEGIN;无按键则跳回继续循环,有则退出QUIT:MOVAX,4C00H;返回到DOSINT21HGETKEY1:CALLDIS;显示刷新CALLDALLYCALLDALLYCALLCLEAR;清屏 CALLCCSCAN;再次扫描按键 JNZGETKEY2;有键按下则跳置GETKEY2 JMPBEGIN;不然跳回开始继续循环GETKEY2:MOVCH,0FEH MOVCL,00H;设置目前检测是第几列COLUM:MOVAL,CH;选择一列,将X1~X4中一个置0MOVDX,MY8255_A OUTDX,ALMOVDX,MY8255_C;读Y1~Y4,用于判定是哪一行按键闭合 INAL,DXL1:TESTAL,01H;是否为第1行JNZL2;不是则继续判定MOVAL,00H;设置第1行第1列对应键值 JMPKCODEL2:TESTAL,02H;是否为第2行JNZL3;不是则继续判定MOVAL,04H;设置第2行第1列对应键值JMPKCODEL3:TESTAL,04H;是否为第3行JNZL4;不是则继续判定MOVAL,08H;设置第3行第1列对应键值 JMPKCODEL4:TESTAL,08H;是否为第4行JNZNEXT;不是则继续判定MOVAL,0CH;设置第4行第1列对应键值KCODE:ADDAL,CL;将第1列值加上目前列数,确定按键值 CALLPUTBUF;保留按键值 PUSHAXKON:CALLDIS;显示刷新 CALLCLEAR;清屏 CALLCCSCAN;扫描按键,判定按键是否弹起 JNZKON;未弹起则继续循环等候弹起 POPAXNEXT:INCCL;目前检测列数递增 MOVAL,CH TESTAL,08H;检测是否扫描到第4列 JZKERR;是则跳回到开始处 ROLAL,1;没检测到第4列则准备检测下一列 MOVCH,AL JMPCOLUMKERR:JMPBEGINCCSCANPROCNEAR;扫描是否有按键闭合子程序MOVAL,00HMOVDX,MY8255_A;将4列全选通,X1~X4置0 OUTDX,ALMOVDX,MY8255_CINAL,DX;读Y1~Y4 NOTALANDAL,0FH;取出Y1~Y4反值 RETCCSCANENDPCLEARPROCNEAR;清除数码管显示子程序MOVDX,MY8255_B;段位置0即可清除数码管显示MOVAL,00HOUTDX,AL RETCLEARENDPDISPROCNEAR;显示键值子程序PUSHAX;以缓冲区存放键值为键值表偏移找到键值并显示MOVSI,3000H MOVDL,0F7H MOVAL,DL AGAIN:PUSHDXMOVDX,MY8255_AOUTDX,AL;设置X1~X4,选通一个数码管MOVAL,[SI];取出缓冲区中存放键值MOVBX,OFFSETDTABLE ANDAX,00FFH ADDBX,AX MOVAL,[BX];将键值作为偏移和键值基地址相加得到对应键值MOVDX,MY8255_B OUTDX,AL;写入数码管A~DpCMPAL,06H;判定按键是否为按键1JZXIANSHI1CMPAL,5BH;判定按键是否为按键2JZXIANSHI2CMPAL,4FH;判定按键是否为按键3JZXIANSHI3;CMPAL,66H;判定按键是否为按键4JZXIANSHI4JMPOUT1XIANSHI1:CALLfasong1;调用发送1系统子程序JMPOUT1XIANSHI2:CALLfasong2;调用发送1系统子程序JMPOUT1XIANSHI3:CALLfasong3;调用发送1系统子程序JMPOUT1XIANSHI4:CALLfasong4;调用发送1系统子程序JMPOUT1OUT1:POPDXPOPAX RETDISENDPPUTBUFPROCNEAR;保留键值子程序MOVSI,3000HMOV[SI],ALDECSICMPSI,2FFFHJNZGOBACKMOVSI,3000HGOBACK:RETPUTBUFENDPfasong1PROCNEARMOVSI,3000HMOV[SI],ALMOVDL,ALLL:MOVDX,MY16550_5;查询方法INAL,DXTESTAL,20H;是否可发送JNZSENDJMPLLSEND:MOVDX,MY16550_0MOVAL,31HOUTDX,ALretfasong1ENDPfasong2PROCNEARMOVSI,3000HMOV[SI],ALMOVDL,ALLL1:MOVDX,MY16550_5;查询方法INAL,DXTESTAL,20H;是否可发送JNZSEND1JMPLL1SEND1:MOVDX,MY16550_0MOVAL,32HOUTDX,ALretfasong2ENDPfasong3PROCNEARMOVSI,3000HMOV[SI],ALMOVDL,ALLL2:MOVDX,MY16550_5;查询方法INAL,DXTESTAL,20H;是否可发送JNZSEND2JMPLL2SEND2:MOVDX,MY16550_0MOVAL,33HOUTDX,ALretfasong3ENDPfasong4PROCNEARMOVSI,3000HMOV[SI],ALMOVDL,ALLL3:MOVDX,MY16550_5;查询方法INAL,DXTESTAL,20H;是否可发送JNZSEND3JMPLL3SEND3:MOVDX,MY16550_0MOVAL,34HOUTDX,ALretfasong4ENDPDALLY5PROCNEAR;软件延时子程序PUSHCXPUSHAXMOVCX,0300HD12:MOVAX,3000HD22:DECAXJNZD22LOOPD12POPAXPOPCXRETDALLY5ENDPDALLYPROCNEAR;软件延时子程序PUSHCXMOVCX,00FFHD1:MOVAX,00FFHD2:DECAX JNZD2 LOOPD1 POPCX RETDALLYENDPCODEENDSENDSTART接收端;***************依据CHECK配置信息修改下列符号值*******************IOY0EQU0C400H;片选IOY0对应端口始地址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组端口地址STACK1SEGMENTSTACK DW256DUP(?)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,12H,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-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,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,7BH,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;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,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;入到系376-383DB0E7H,0E7H,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,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,0F3H;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,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-607DB00H,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:MOVAX,DATAMOVDS,AXCLIMOVDX,MY16550_3;设置16550线路控制寄存器MOVAL,80H;准备设置波特率除数寄存器OUTDX,ALMOVDX,MY16550_0;设置除数寄存器低字节0CHMOVAL,0CH;000C对应9600bit/sOUTDX,ALMOVDX,MY16550_1;设置除数寄存器高字节00HMOVAL,00HOUTDX,ALMOVDX,MY16550_3;设置线路控制寄存器,初始化数据格式MOVAL,1BH;偶校验,1位停止位,字符宽度为8OUTDX,ALMOVDX,MY16550_1;设置中止许可寄存器MOVAL,00H;不许可接收缓冲寄存器满产生中止OUTDX,ALSTICHECK:MOVAH,01H;判定PC键盘是否有按键按下INT16HJNZQUITMOVDX,MY16550_5INAL,DXTESTAL,01H;是否可接收JNZRECEIVEJMPCHECKRECEIVE:MOVDX,MY16550_0INAL,DXMOVDL,ALMOVAH,02HINT21HCMPAL,31H;判定按键是否为按键1JZXIANSHI1CMPAL,32H;判定按键是否为按键2JZXIANSHI2CMPAL,33H;判定按键是否为按键3JZXIANSHI3;CMPAL,34H;判定按键是否为按键4JZXIANSHI4XIANSHI1:CALLHUANYING;调用显示欢迎你进入系统子程序JMPCHECKXIANSHI2:CALLDAIJI;调用显示待机子程序JMPCHECKXIANSHI3:CALLZAIJIAN;调用显示再见子程序JMPCHECKXIANSHI4:CALLHUANYING;间隔10秒显示3段汉字信息CALLDENGDAICALLDENGDAICALLDAIJICALLDENGDAICALLDENGDAICALLZAIJIANJMPCHECKQUIT:MOVAX,4C00H;返回到DOSINT21HHUANYINGPROCNEAR;显示欢迎进入系统子程序1PUSHCXPUSHAXMOVDI,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,40CALLZI1;显示系MOVDI,440MOVAH,1CALLGUN6MOVAH,1MOVDI,48CALLZI1;显示统MOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_BMOVAL,0FFHOUTDX,ALPOPAXPOPCXRETHUANYINGENDPDAIJIPROCNEAR;显示待机子程序1PUSHCXPUSHAXMOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_BMOVAL,0FFHOUTDX,ALMOVDI,56MOVAH,1CALLZI2;显示待MOVDI,504MOVAH,1CALLGUN7MOVDI,64MOVAH,1CALLZI2;显示机MOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_BMOVAL,0FFHOUTDX,ALPOPAXPOPCXRETDAIJIENDPZAIJIANPROCNEAR;显示再见子程序1PUSHCXPUSHAXMOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_A;清空LED点阵不显示任何东MOVDX,MYIO_BMOVAL,0FFHOUTDX,ALMOVDI,72MOVAH,1CALLZI3;显示再MOVDI,568MOVAH,1CALLGUN8MOVDI,80MOVAH,1CALLZI3;显示见MOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_BMOVAL,0FFHOUTDX,ALPOPAXPOPCXRETZAIJIANENDPDENGDAIPROCNEAR;显示10间隔睡眠字符子程序1PUSHCXPUSHAXMOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_BMOVAL,0FFHOUTDX,ALMOVDI,88MOVAH,1CALLZI4MOVDI,96MOVAH,1CALLZI4MOVDI,104MOVAH,1CALLZI4MOVDI,112MOVAH,1CALLZI4MOVDX,MYIO_A;清空LED点阵不显示任何东西MOVAL,00HOUTDX,ALMOVDX,MYIO_BMOVAL,0FFHOUTDX,ALPOPAXPOPCXRETDENGDAIENDPDALLYPROCNEAR;延时子程序PUSHCXPUSHAXMOVCX,3FFHD10:MOVAX,0FFHD11:DECAXJNZD11LOOPD10POPAXPOPCXRETDALLYENDPZI1PROCNEAR;欢迎你进入系统PUSHCXPUSHAXMOVCX,01FFFHMOVAH,1LOOP1:MOVDX,MYIO_AMOVAL,AHOUTDX,ALMOVDX,MYIO_BMOVAL,[DI]OUTDX,ALCALLDALLYROLAH,1INCDICMPDI,8JZLOOP2CMPDI,16JZLOOP3CMPDI,24JZLOOP4CMPDI,32JZLOOP5CMPDI,40JZLOOP6CMPDI,48JZLOOP7CMPDI,56JZLOOP8LOOPLOOP1JMPLOOP9LOOP2:MOVDI,0MOVAH,1JMPLOOP1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保理念下的现代家居设计风格
- 现代饮食文化与胃肠健康的平衡
- 生产环境下的操作规范与质量控制
- 现代企业网络攻击的防范与应对
- 现代企业决策分析与科学决策
- 2023三年级语文下册 第八单元 口语交际:趣味故事会配套说课稿 新人教版
- Unit5 Humans and nature Lesson 1 A sea story 说课稿-2024-2025学年高中英语北师大版(2019)必修第二册001
- 2024-2025学年新教材高中数学 第五章 三角函数 5.7 三角函数的应用(2)说课稿 新人教A版必修第一册
- 2023八年级数学下册 第18章 平行四边形18.1 平行四边形的性质第2课时 平行四边形的性质定理3说课稿 (新版)华东师大版
- 2023二年级语文上册 第二单元 2 树之歌配套说课稿 新人教版
- 压力性损伤护理质控细则及集束化管理措施
- 《批判性思维原理和方法》全套教学课件
- 产后康复-腹直肌分离
- 丙烯-危险化学品安全周知卡
- 粉条加工厂建设项目可行性研究报告
- 《配电网设施可靠性评价指标导则》
- 2024年国家电网招聘之通信类题库附参考答案(考试直接用)
- CJJ 169-2012城镇道路路面设计规范
- 食品企业日管控周排查月调度记录及其报告格式参考
- 产品质量法解读课件1
- 第八单元金属和金属材料单元复习题-2023-2024学年九年级化学人教版下册
评论
0/150
提交评论