已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
同济大学电子与信息工程学院信息与通信工程系实验报告实验一显示程序实验1实验目的1掌握在PC机上以十六进制形式显示数据的方法。2掌握部分DOS功能调用使用方法。3熟悉TDDEBUG调试环境和TURBODEBUGGER的使用。2实验设备PC微机一台。3实验内容及说明一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT21H)。1显示单个字符输出入口AH02H调用参数DL输出字符2显示字符串入口AH09H调用参数DSDX串地址,S为结束字符3键盘输入并回显入口AH01H返回参数AL输出字符4返回DOS系统入口AH4CH调用参数AL返回码4实验步骤1运行TDDEBUG软件,选择EDIT菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图211示。2使用COMPILE菜单中的COMPILE和LINK对实验程序进行汇编、连接。3使用RMRUN菜单中的RUN,运行程序,观察运行结果。4使用RMRUN菜单中的DEBUG,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。5更改数据区中的数据,考察程序的正确性。图1显示程序实验流程图5实验程序显示程序实验STACK1SEGMENTSTACKDW256DUPSTACK1ENDSDATASEGMENTUSE16MESDBPRESSANYKEYTOEXIT,0AH,0DH,0AH,0DH,MES1DBSHOWAASHEX,0AH,0DH,SDDBADATAENDSCODESEGMENTUSE16ASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXMOVDX,OFFSETMES显示退出提示MOVAH,09HINT21HMOVDX,OFFSETMES1SHOWMESSAGEMOVAH,09HINT21HMOVSI,OFFSETSDMOVAL,DSSIANDAL,0F0H取高4位SHRAL,4CMPAL,0AH是否是A以上的数JBC2ADDAL,07HC2ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HMOVAL,DSSIANDAL,0FH取低4位CMPAL,0AHJBC3ADDAL,07HC3ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HKEYMOVAH,1判断是否有按键按下INT16HJZKEYMOVAX,4C00HGOBACKTODOSINT21HCODEENDSENDSTART6实验结果A的十六进制数表示为3D。7实验小结初步了解掌握部分DOS功能调用使用方法。并且熟悉TDDEBUG调试环境和TURBODEBUGGER的使用。实验二数码转换程序实验1实验目的掌握不同进制数及编码相互转换的程序设计方法。2实验设备PC微机一台。3实验内容及说明计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码转换关系如图231所示,数码对应关系如表231所示。图1计算机与外设间的数码转换关系1将ASCII码表示的十进制数转换为二进制数十进制数可以表示为,其中10010NINNIIDDDI代表十进制数1、2、39、0。上式可转换为121000NIINNNID由上式可归纳十进制数转换为二进制的方法从十进制数的最高位DN开始作乘10加次位的操作,依次迭代类推,则可求出二进制数结果。本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。转换过程的参考流程如图2所示。表1数码转换对应关系图2十进制ASCII转换为二进制数参考流程A21ASM将ASCII码十进制数转换为二进制数STACK1SEGMENTSTACKDW256DUPSTACK1ENDSDDATASEGMENTMES1DBTHEASCIICODEOFDECIMALCODEAREBUFDB30H,30H,30H,31H,32HDB10HDUP0DDATAENDSCODESEGMENTASSUMECSCODE,DSDDATASTARTMOVAX,DDATAMOVDS,AXMOVSI,OFFSETBUFMOVBX,000AHMOVCX,0004HMOVAH,00HMOVAL,SISUBAL,30HA1IMULBXADDAL,SI01ADCAL,SI01SUBAL,30HJNCA2ADDAH,01HA2SUBAL,30HINCSILOOPA1MOVSI,AXMOVDX,OFFSETMES1MOVAH,09HINT21HINCSI显示高字节CALLSHOWDECSI显示低字节CALLSHOWMOVAX,4C00HINT21HSHOWPROCNEARMOVAL,DSSIANDAL,0F0H取高4位SHRAL,4CMPAL,0AH是否是A以上的数JBC2ADDAL,07HC2ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HMOVAL,DSSIANDAL,0FH取低4位CMPAL,0AHJBC3ADDAL,07HC3ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HRETENDPCODEENDSENDSTART2将十进制数的ASCII码转换为BCD码本实验要求将键盘输入的一个五位十进制数54321的ASC码存放在数据区中,转换为BCD码后,并将转换结果按位分别显示于屏幕上。若输入的不是十进制数的ASC码,则输出“FF”。提示一字节ASC码取其低四位即变为BCD码。转换部分的实验流程参见图3。图3十进制ASCII转换为BCD码数参考流程A22ASM将十进制数的ASCII码转换为BCD码STACK1SEGMENTSTACKDW256DUPSTACK1ENDSDDATASEGMENTMES1DBTHEBCDCODEOFDECIMALAREBUFDB31H,32H,33H,34H,35HDB10HDUP0DDATAENDSCODESEGMENTASSUMECSCODE,DSDDATASTARTMOVAX,DDATAMOVDS,AXMOVCX,0005HMOVDI,OFFSETBUFA1MOVBL,0FFHMOVAL,DICMPAL,3AH比较AL中的数是否是09的ASCII码JNBA2SUBAL,30HJBA2MOVBL,ALA2MOVAL,BLMOVDI05H,ALINCDILOOPA1MOVSI,DIMOVCX,05HMOVDX,OFFSETMES1MOVAH,09HINT21HA3CALLSHOWMOVDL,20HMOVAH,02HINT21HINCSILOOPA3MOVAX,4C00HINT21HSHOWPROCNEARMOVAL,DSSIANDAL,0F0H取高4位SHRAL,4CMPAL,0AH是否是A以上的数JBC2ADDAL,07HC2ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HMOVAL,DSSIANDAL,0FH取低4位CMPAL,0AHJBC3ADDAL,07HC3ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HRETENDPCODEENDSENDSTART附括号内的为更改后的程序。4实验步骤1运行TDDEBUG软件,选择EDIT菜单,根据实验内容描述的数码转换内容分别编写实验程序。2利用COMPILE菜单中的COMPILE和LINK对实验程序进行汇编、连接。3利用RMRUN菜单中的RUN,运行程序,观察运行结果。4使用RMRUN菜单中的DEBUG,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。更改数据区中的数据,考察程序的正确性。5实验结果130H,30H,30H,31H,32H000C30H,30H,30H,31H,32H00FF30H,30H,30H,31H,32H0100201020304056实验小结本次实验使我对编码转换的程序有了进一步的掌握。实验三循环程序设计实验1实验目的掌握循环程序的设计方法。2实验设备PC微机一台。3实验内容及说明一个循环程序通常由以下几个部分组成1循环初始化部分用于对相关内存单元及寄存器设置初始值,如设置地址指针、循环次数、某些标志位等。只有正确地进行了初始化设置,循环程序才能正确运行并及时停止。2循环体对要求重复执行的程序段部分,对应于要求重复执行的操作。3循环控制部分为下一轮处理修正地址指针及循环次数等,并判断循环结束的条件是否满足,若满足则退出循环。4循环结束部分用于保存循环运行的结果等。1编写程序完成对10个数的求和分析需分配空间保存和数(SUM),在循环体中进行求和操作。4实验程序DATASEGMENTBUFFERDW1,2,3,4,5,6,7,8,9,10(10,20,30,40,50,60,70,80,90,100)原始10个数据SUMDW存放和数DATAENDSSTACKSEGMENTSTACKSTACKDB100DUPSTACKENDSCODESEGMENTASSUMECSCODE,DSDATASTARTMOVAX,DATAMOVDS,AXMOVAX,0AX中为和数,初始为0MOVDI,OFFSETSUM存放结果地址送DIMOVBX,OFFSETBUFFER数据缓冲区首地址送BXMOVCX,10循环次数送CXLOOP1ADDAX,BX累加INCBX修改数据缓冲区地址INCBXDECCX次数减1JNZLOOP1到10次了吗不到,转LOOP1MOVDI,AX到10次,存放结果CALLSHOWMOVAX,4C00H返回DOSINT21HSHOWPROCNEARMOVAL,DSDIMOVAX,DSDIANDAL,0F0HANDAX,0F00HSHRAL,4SHRAX,8CMPAL,0AHCMPAL,0AHJBC2JBC1ADDAL,07HC1ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAL,DSDIANDAL,0F0HSHRAL,4CMPAL,0AHJBC2ADDAL,07H)C2ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVAL,DSDIANDAL,0FHCMPAL,0AHJBC3ADDAL,07HC3ADDAL,30HMOVDL,ALMOVAH,02HINT21HRETENDPCODEENDSENDSTART2给定一串16位数,找出其中大于零、等于零和小于零的个数。分析这是一个统计问题,需设置三个计数器分别统计三种情况下的结果。参考程序清单DATASEGMENTBUFFDW22H,31H,43H,990H,00H,8990H;原始16个数据COUNTEQUBUFF;COUNT的值为BUFF所;占的字节数PLUSDB;大于零的个数ZERODB;等于零的个数MINUSDB;小于零的个数DATAENDSSTACKSEGMENTSTACKSTACKDB100DUPSTACKENDSCODESEGMENTASSUMECSCODE,DSDATA,ESDATA,SSSTACKBEGINMOVAX,DATAMOVDS,AXMOVCX,COUNTSHRCX,1;相当于除2,正好为BUFF;中的数据个数MOVDX,0;设定初值DH及DL分别为;等于、大于零的个数MOVAH,0;设定初值AH为小于零的个数LEABX,BUFFAGAINCMPWORDPTRBX,0JGEPLU;大于等于零时转PIUINCAH;统计小于零的个数JMPNEXTPLUJZZER;等于零时转ZERINCDL;统计大于零的个数JMPNEXTZERINCDH;统计等于零的个数NEXTINCBX;修改地址指针INCBXLOOPAGAINPUSHDXPUSHAXPUSHAXMOVBX,DLCALLSHOWMOVBX,DHCALLSHOWPOPAXMOVBX,AHCALLSHOWPOPAXMOVMINUS,AHPOPDXMOVPLUS,DLMOVZERO,DHMOVAX,4C00HINT21HSHOWPROCNEARMOVAL,DSBXANDAL,0F0H取高4位SHRAL,4CMPAL,0AH是否是A以上的数JBC2ADDAL,07HC2ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HMOVAL,DSBXANDAL,0FH取低4位CMPAL,0AHJBC3ADDAL,07HC3ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HRETENDPCODEENDSENDBEGIN附括号内的为更改后的程序。5实验结果(1)37;226(2)0401016实验小结本次实验使我对微机小程序的编写有了进一步的掌握。实验四子程序设计实验1实验目的(1)掌握子程序的定义调用方法。(2)掌握系统功能调用程序的使用和编写方法。2实验设备PC微机一台。3实验内容及说明1将内存中的一串1位十六进制数转换为其对应的ASCII码。例如十六进制2所对应的ASCII码为32H,而十六进制数C所对应ASCII码为C(即43H)。分析将一个十六进制数转化为其对应的ASCII码的功能设计为子程序。主程序分若干次调用该子程序,但每次调用的参数为不同的待转换的十六进制数。4实验程序DATASEGMENTHEXBUFDB02H,08H,0AH,09H,0FH;待转换的一串1位;十六进制数COUNTEQUHEXBUF;COUNT的值为这一;串十六进制数的个数DATAENDSSTACKSEGMENTSTACKSTACKDB100DUPSTACKENDSCODESEGMENTASSUMECSCODE,DSDATA,SSSTACK;子程序HEXD将1位十六进制数转换为其对应的ASCII码;入口参数AL含待转换的1位十六进制数;出口参数AL含转换完的结果(ASCII码)HEXDPROCNEARCMPAL,0AHJLADDZADDAL,07HADDZADDAL,30HMOVDS,AXMOVAH,0AINT21HRETHEXDENDP;以下为主程序BEGINMOVAX,DATAMOVDS,AXMOVBX,OFFSETHEXBUFMOVCX,COUNTREPEAT0MOVAL,BXCALLHEXDMOVBX,ALINCBXLOOPREPEAT0MOVAX,4C00HINT21HCODEENDSENDBEGIN2编写程序计算数N的阶乘N。分析阶乘有递归定义式,其中。可采用子程序的递归调用形式。参考程序清单;计算N,结果放在RESULT中DATASEGMENTNDW5RESULTDWDATAENDSSTACKSEGMENTSTACKSTACKDB100DUPSTACKENDSCODESEGMENTASSUMECSCODE,DSDATA,SSSTACKSTARTMOVAX,DATAMOVDS,AX;主程序部分MOVBX,NPUSHBX;N压入堆栈CALLFACT;调用求N子程序POPRESULT;结果放在RESULT中MOVAL,DLANDAL,0FHCMPAL,0AHJBC4ADDAL,07HC4ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVSI,OFFSETRESULT输出结果INCSICALLSHOWDECSICALLSHOWMOVAX,4C00HINT21H;求N的子程序,注意入、出口参数。FACTPROCNEARPUSHAXPUSHBPMOVBP,SPMOVAX,BP6;取NCMPAX,0JNEFACT1;AX不等于零,转FACT1INCAX;01JMPEXITFACT1DECAX;AXN1PUSHAXCALLFACT;递归调用求N1POPAX;AXN1MULWORDPTRBP6;求N1NEXITMOVBP6,AXPOPBPPOPAXRETFACTENDPSHOWPROCNEAR显示结果子程序MOVAL,DSSIANDAL,0F0H取高4位SHRAL,4CMPAL,0AH是否是A以上的数JBC2ADDAL,07HC2ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HMOVAL,DSSIANDAL,0FH取低4位CMPAL,0AHJBC3ADDAL,07HC3ADDAL,30HMOVDL,ALSHOWCHARACTERMOVAH,02HINT21HRETENDPCODEENDSENDSTART附括号内的为更改后的程序。5实验结果28A9F89D80H958980H6实验小结本次实验使我对关于代码转换和小程序实现的微机编程有了进一步的了解和掌握。实验五8259中断控制器应用实验1实验目的1学习中断控制器8259的工作原理。2掌握可编程控制器8259的应用编程方法。2实验设备PC微机一台、TDPIT实验系统一套。3实验内容1利用PC机给实验系统分配的中断线,设计一个单中断应用。使用单次脉冲模拟中断产生。编写中断处理程序,在显示器屏幕上显示一个字符。2利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进行处理。4实验原理18259控制器的介绍中断控制器8259A是INTEL公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括A记录各级中断源请求;B判别优先级,确定是否响应和响应哪一级中断;C响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图531所示。8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1ICW4和操作命令字OCW1OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1ICW4各命令字格式如图532所示,OCW1OCW3各命令字格式如图533所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。图5318259内部结构和引脚图图532(A)ICW1格式图532(B)ICW2格式图532(C)ICW3格式图532(D)ICW4格式图533OCW命令字格式28259寄存器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表531所示。表5318259寄存器及命令的控制访问3PC微机系统中的8259在80X86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表532示。两片8259A的端口地址为主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级15级,然后是3级7级。在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。表532PC微机系统中的硬件中断5实验说明及步骤1中断查询方式应用实验8259支持查询方式检测中断请求,具体过程为设置8259OCW3中的P位为1即可执行查询命令,8259将下一个I/O读命令视作一次中断响应。如果有中断请求,则置ISR中的相应位并读优先级。从OCW3写操作到I/O读操作期间禁止中断,读出字节的最高位为1表示有中断,最低3位D0D2为最高优先级中断请求源的编码。查询字格式如图534所示。图5348259OCW3查询字格式本实验要求使用这种方法编写程序处理实验单元8259IR0和IR1请求的中断,IR0请求在屏幕上显示字符“0”,IR0请求则在屏幕上显示字符“1”以示中断到来。IR0和IR1分别用一个单次脉冲的上升沿模拟中断产生。参考流程如图535所示,参考实验接线图如图536所示。图535实验参考流程图图536参考实验接线图实验步骤如下A确认从PC机引出的两根扁平电缆已经连接在实验平台上。B运行TDPIT集成操作软件,查看系统资源分配情况,记录与所用片选信号对应的I/O端口始地址。C参考实验流程图编写程序,注意使用正确的端口地址,然后编译链接。D参考实验接线图连接实验线路。E运行程序,按动KK1、KK2按键,观察中断响应是否正常。8259中断查询方式应用实验代码根据查看端口资源修改下列符号值IOY0EQU0D800H片选IOY0对应的端口始地址MY8259_ICW1EQUIOY000H实验系统中8259的ICW1端口地址MY8259_ICW2EQUIOY004H实验系统中8259的ICW2端口地址MY8259_ICW3EQUIOY004H实验系统中8259的ICW3端口地址MY8259_ICW4EQUIOY004H实验系统中8259的ICW4端口地址MY8259_OCW1EQUIOY004H实验系统中8259的OCW1端口地址MY8259_OCW2EQUIOY000H实验系统中8259的OCW2端口地址MY8259_OCW3EQUIOY000H实验系统中8259的OCW3端口地址STACK1SEGMENTSTACKDW256DUPSTACK1ENDSCODESEGMENTASSUMECSCODESTARTMOVDX,MY8259_ICW1初始化实验系统中8259的ICW1MOVAL,13H边沿触发、单片8259、需要ICW4OUTDX,ALMOVDX,MY8259_ICW2初始化实验系统中8259的ICW2MOVAL,08HOUTDX,ALMOVDX,MY8259_ICW4初始化实验系统中8259的ICW4MOVAL,01H非自动结束EOIOUTDX,ALMOVDX,MY8259_OCW1初始化实验系统中8259的OCW1MOVAL,0FCH打开IR0和IR1的屏蔽位OUTDX,ALQUERYMOVAH,1判断是否有按键按下INT16HJNZQUIT有按键则退出MOVDX,MY8259_OCW3向8259的OCW3发送查询命令MOVAL,0CHOUTDX,ALINAL,DX读出查询字TESTAL,80H判断中断是否已响应JZQUERY没有响应则继续查询ANDAL,03H(ANDAL,03H)CMPAL,00HJEIR0ISR若为IR0请求,跳到IR0处理程序JNEIR1ISR若为IR1请求,跳到IR1处理程序JMPQUERYIR0ISRMOVAL,30H(IR0ISRMOVAL,36H)MOVAH,0EHINT10HMOVAL,20HINT10HJMPEOIIR1ISRMOVAL,31H(IR1ISRMOVAL,31H)MOVAH,0EHINT10HMOVAL,20HINT10HEOIMOVDX,MY8259_OCW2向实验系统中8259发送中断结束命令MOVAL,20HOUTDX,ALJMPQUERYQUITMOVAX,4C00H结束程序退出INT21HCODEENDSENDSTART附括号内的为更改后的程序。6实验结果利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进行处理。按动开关使其输出0、1代码。更改程序后对8259控制器的IR6和IR7中断请求进行处理。按动开关使其输出6、7代码。7实验小结本次试验让我8259的工作原理有了进一步掌握,同时也熟悉了其电路连接方式。实验六8255并行控制器应用实验1实验目的1掌握8255的工作方式及应用编程。2掌握8255的典型应用电路接法。2实验设备PC微机一台、TDPIT实验系统一套。3实验内容1基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。2流水灯显示实验。编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。4实验原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是INTEL公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用5V单电源供电,能在以下三种方式下工作方式0基本输入/出方式、方式1选通输入/出方式、方式2双向选通工作方式。8255的内部结构及引脚如图411所示,8255工作方式控制字和C口按位置位/复位控制字格式如图412所示。图4118255的内部结构及引脚(A)工作方式控制字(B)C口按位置位/复位控制字图4128255控制字格式5实验说明及步骤1基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。参考程序流程如图413所示。图4138255并口应用实验1参考程序流程图图4148255并口应用实验1参考接线图实验步骤A确认从PC机引出的两根扁平电缆已经连接在实验平台上。B参考图414所示连接实验线路。C首先运行CHECK程序,查看I/O空间始地址。D利用查出的地址编写程序,然后编译链接。E运行程序,拨动开关,看数据灯显示是否正确。8255基本输入输出实验代码根据查看端口资源修改下列符号值IOY0EQU9C00H片选IOY0对应的端口始地址MY8255_AEQUIOY000H48255的A口地址MY8255_BEQUIOY001H48255的B口地址MY8255_CEQUIOY002H48255的C口地址MY8255_MODEEQUIOY003H48255的控制寄存器地址STACK1SEGMENTSTACKDW256DUPSTACK1ENDSCODESEGMENTASSUMECSCODESTARTMOVDX,MY8255_MODE初始化8255工作方式MOVAL,82H工作方式0,A口输出,B口输入OUTDX,ALLOOP1MOVDX,MY8255_B读B口INAL,DXMOVDX,MY8255_A写A口OUTDX,ALMOVAH,1判断是否有按键按下INT16HJZLOOP1无按键则跳回继续循环,有则退出QUITMOVAX,4C00H结束程序退出INT21HCODEENDSENDSTART2流水灯显示实验首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。参考实验程序流程如图415所示。图4158255并口应用实验2参考程序流程图图4168255并口应用实验2参考接线图实验步骤A确认从PC机引出的两根扁平电缆已经连接在实验平台上。B首先运行CHECK程序,查看I/O空间始地址。C利用查出的地址编写程序,然后编译链接。D参考图416所示连接实验线路。E运行程序,看数据灯显示是否正确。8255流水灯显示实验代码根据查看端口资源修改下列符号值IOY0EQU9C00H片选IOY0对应的端口始地址MY8255_AEQUIOY000H48255的A口地址MY8255_BEQUIOY001H48255的B口地址MY8255_CEQUIOY002H48255的C口地址MY8255_MODEEQUIOY003H48255的控制寄存器地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规培护士考核试题及答案
- 2025年新材料工程专业知识考试试题及答案
- 2025年广播电视传输系统技术能手竞赛试题(含答案)
- 经济师考试运输经济高级经济实务试题及答案2025年
- 2025年英语动词短语真题及答案
- 2025年西安公务员护理考试题目及答案
- 电子信息考核培训试题及答案
- 2025年烟草考试难度真题及答案
- 2025年世界基本知识题库及答案
- 合伙投资建设协议书
- 中考语文说明文阅读训练练习(含答案)
- 房地产开发质量管理职责与规范
- 电力设备维护服务企业的市场定位与营销策略
- 招标代理机构选取项目组织机构
- 初中英语语法课件-表示从属关系的连词
- 《数据采集技术》课件-使用 urllib 爬取网页
- 【MOOC】英文技术写作-东南大学 中国大学慕课MOOC答案
- 感冒课件主题教学课件
- 中华人民共和国学前教育法-知识培训
- 智慧医院ICU建设方案
- 2024年初中历史新课标考试题库(含答案)
评论
0/150
提交评论