版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、40953055海米提 测控0902微型计算机原理实验报告学号40953055姓名海米提。热合木江班级 测控0902班58显小程序实验般来说,程序需要显示输出提示运行的状况和结果, 有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏 幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。流程图2.试验程序DATA SEGMENTMESDBShow a as hex:, 0AH,0DH阳SDDBaDATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX, DATAM
2、OVDS, AXMOVDX, OFFSET MESMOVAH, 09HINT21HMOVDI, OFFSET SDMOVAL, DS:DIANDAL, 0F0HSHRAL,4CMPAL, 0AHJBC2ADDAL, 07HC2:ADDAL, 30HMOVDL, ALMOVAH, 02HINT21HMOVAL, DS:DIANDAL, 0FHCMPAL, 0AHJBC3ADDAL, 07HC3:ADDAL, 30HMOVDL, ALMOVAH, 02HINT21HMOVAX, 4C00HINT21HCODEENDSENDSTART实验二数据传送实验三、实验内容将数据段中的一个字符串传送到附加段中
3、, 并输出附加段中的目标字符串到 屏幕上1.试验程序DATA SEGMENTMSRDBHELLO,WORLD!$”LENEQU$- MSRDDATAENDSEXDASEGMENTMSDDBLEN DUPEXDAENDSMYSTACKSEGMENT STACKDW20 DUPMYSTACKENDSCODESEGMENTASSUMECS:CODE, DS:DDA TA, ES:EXDASTART:MOVAX, DDATAMOVDS, AXMOVAX, EXDAMOVES,AXMOVSI, OFFSET MSRMOVDI, OFFSET MSDMOVCX, LENNEXT:MOVAL, SIMOVE
4、S:DI, ALINCSIINCDIDECCXJNZNEXTPUSHESPOPDSMOVDX, OFFSET MSDMOVAH, 9INT21HMOVAX, 4C00HINTCODE ENDSENDMOVMOVNEXT: MOVMOV INC LOOP21HSTARTBX, 0CX, LENAL, MSRBXES:MSDBX, ALBXNEXT2.实验结果&二非使用中 ord3. EzeHELLO,WORLD?_El实验三数码转换程序实验1 .将ASCII码表示的十进制数转换为二进制数1.流程图2.试验程序DATAS SEGMENTNUMBER DB00012DATASENDSCODESEGM
5、ENTASSUMECS:CODE,DS:DA TASSTART:MOVAX,DATASMOVDS,AXMOVCX,4MOVSI,OFFSET NUMBERMOVAL,SISUBAL,30HMOVAH,00HMOVBL,10L1:MULBLADDAL,SI+1SUBAL,30HINCSIDECCXJNZL1MOVCX,8MOVBL,ALNEXT:SHLBL,1JCONEMOVDL,30HJMPEXITONE:MOVDL,31HEXIT:MOVAH,02HINT21HDECCXJNZNEXTMOVAH,4CHINT21HCODEENDSENDSTART3.实验结果I 愚Inactive wo rd
6、 3. Eweeeeeiiee2 .将十进制数的ASCII码转换为BCD码本实验要求将键盘输入的一个五位十进制数 54321的ASCII码存放入数据区中, 转换为BCD码后,并将转换结果按位分别显示于屏幕上。若输入的不是十进制 数的ASCII码,则输出FF”。提示:一字节ASCII码取其低四位即变为BCD码1 .实验流程图,1CX-NiBL=OFFH J取数上 LS9臼 J -Bl = ASCH-30H, i货疗由一相应单7(u . A ._,误显不2 .实验程序DATAS SEGMENTBUFDB6DB?DB6 DUPBUFEDBFF$DATASENDSCODESEGMENTASSUMEDS
7、:DATAS,CS:CODESTART:MOVAX,DATASMOVDS,AXMOVDX,OFFSET BUFMOVAH,10INT21HMOVCH,5MOVSI,DXL2:MOVBL,SI+2INCSICMPBL,39HJAL1SUBBL,30HANDBL,0FHMOVDH,4MOVCL,4;SHLAL,CLROLBL,CLNEXT:SHLBL,1JCONEMOVDL,30HJMPEXITONE:MOVDL,31HEXIT:MOVAH,2INT21HDECDHJNZNEXTDECCHJNZL2JMPL3L1:MOVDX,OFFSET BUFEMOVAH,9INT21HL3:MOVAH,4CH
8、INT21HCODEENDSENDSTART3 .实验结果SS C;Wiridaw55yslein 32cmd.exe54321H CAWi nd owssystemmd.exeBueieieoBBiieeiGeaBi请按任意键继续.,.3.将十六进制数的ASCII码转换为十进制数十六位二进制数的值域为0-65535,最大可转换为五位十进制数。五位十进制数可表示为:N=D4 X 104+D3 X 103+D2 X 102+D X 10+D因此,将十六位二进制数转换为五位 ASCII码表示的十进制数,就是求 D-D4,并将它们转 化为ASCII码。本实验要求将缓冲区中存放的 000cH的ASCI
9、I码转换成十进制数, 并将转结 果显示在屏幕1 .实验流程图取出料换政.AX除以1优AX=.DK= 将余敦转化成口 A$cng.村保仃将余下位填充为。2 .实验程序DATA SEGMENTBUF DB5DB?DB5 DUPHEXDB4 DUP(?)DECIDB5 DUP(0),$S1DB16JINZHI : $S2DB0AH,0DH,10JINZHI : $DATA ENDSCODE SEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,S1MOVAH,9INT21HLEADX,BUFMOVAH,10INT21HMOVSI,2MO
10、VDI,0CHECK:MOVAL,SIBUFCMPAL,40HJSNUMCMPAL,47HJSCAPITALSUBAL,57HJMPSTORENUM:SUBAL,30HJMPSTORECAPITAL:SUBAL,37HJMPSTORESTORE:MOVHEXDI,ALINCDIINCSICMPDI,4JNZCHECKLEADX,S2MOVAH,9INT21HMOVAX,WORD PTR HEXSHLAL,4ADDAH,ALMOVCH,AHMOVAX,WORD PTR 2HEXSHLAL,4ADDAL,AHMOVAH,CHMOVSI,5MOV MOV CMP JNSNEGPUSH PUSHMOV
11、MOV INT POP POPCONV: DEC DIV ADDMOV XOR CMP JNZLEA MOVINTMOVINT CODE ENDSEND3.实验结果BX,10DX,0AX,0CONVAXAXDXDL,2DHAH,221HDXAXSIBXDX,30HDECISI,DLDX,DXAX,0CONVDX,DECIAH,921HAH,4CH21HSTART*In亶.汉.4. BCD码转换为二进制码转换出的二进制数码存本实验要求将四个二位十进制数的BC加存放在某一内存单元中,入其后的内存单元中,转换结束,送屏幕显示。1.实验流程图2.实验程序DATA SEGMENTDASCDB3DB?DB
12、3 DUPS1DB0AH,0AH,0DH,10 JINZHI MA : $S2DB0AH,0DH, BCD MA: $S3DB0AH,0DH, 2 JINZHI MA : $STODB8 DUPDATAENDSCODE SEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDI,0MOVSI,4LOOPER:CALLWHOLEDECSIJNZJMPLOOPEREXITWHOLE:LEADX,S1MOVAH,9INT21HLEADX,DASCMOVAH,10INT21HLEADX,S2MOVAH,9INT21HMOVAX,WORD PTR
13、 2DASCSUBAX,3030HSHLAL,4ADDAL,AHMOVDISTO,ALMOVCH,2MOVCL,4PRE1:MOVDX,30HROLAL,1JNCDISP1ADDDX,01HDISP1:PUSHAXMOVAH,02INT21HPOPAXDECCLJNZPRE1PUSHAXMOVDL,20HMOVAH,2INT21HPOPAXDECCHMOVCL,4JNZPRE1LEADX,S3mJ只MOVINTAH,921HMOVAL,DISTOMOVBL,ALANDBL,0FHSHRAL,4MOVCL,10MULCLADDAL,BLINCDIMOVDISTO,ALINCDIMOVCX,8PR
14、E2:MOVDX,30HROLAL,1JNCDISP2ADDDX,01HDISP2:PUSHAXMOVAH,02INT21HPOPAXLOOPPRE2RETEXIT:MOVAH,4CHINT21HCODEENDSENDSTART C:W i n dows5ystem32c:md .exe10 JINZH1 MA : 56 BCD MH; 01O1 01102 JINZHI HA i 00111090实验四运算类程序实验1.二进制双精度加法运算本实验要求计算 x+y=z,将结果z输出到屏幕,其中 x=001565a0h,y=0021b79eh.1.实验流程图2.实验程序DATA SEGMENTX
15、 DD421C65A0HY DD3C41B69BHS DBX+Y= $SUM DB4 DUP(0)DATA ENDSCODE SEGMENTASSUMECS:CODE, DS:DA TASTART: MOVAX,DA TAMOVDS,AXMOVAX,WORD PTR XMOVBX,WORD PTR YADDAX,BXMOVWORD PTR SUM,AXMOVAX,WORD PTR 2X MOVBX,WORD PTR 2Y ADCAX,BXMOVWORD PTR 2SUM,AXLEADX,SMOVAH,9INT21HMOVCX,4MOVSI,3CHECK: MOVAL,SUMSI MOVAH,A
16、LSHRAL,4CMPAL,0AHJSDISP1ADDAL,07HDISP1: ADDAL,30HMOVDL,ALPUSHAXMOVAH,02HINT21HPOPAXANDAH,0FHCMPAH,0AHJSDISP2ADDAH,07HDISP2: ADDAH,30HMOVDL,AHMOVAH,02HINT21HDECSILOOPCHECKEXIT: MOVAH,4CHINT21HCODE ENDSENDSTART巨)3.实验结果图 C:Wind owssystemm d.exeX+Y= ?E5E1C3B清按任意键继续,一,(2)减法程序1 .实验流程图ex 二A送解显示2 .实验程序DATA
17、SEGMENTX DW0400HY DW0102HS DBZ=X-Y= $Z DW2 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXLEA DX,SMOV AH,9INT 21HMOVAX,WORD PTR XMOVBX,WORD PTR YSUB AL,BLAASSUB AH,BHAASMOV Z,AXADD AX,3030HMOV BX,AXMOV DL,30HMOV AH,2INT 21HMOV DL,BHMOV AH,2INT 21HMOV DL,30HMOV AH,2INT 2
18、1HMOV DL,BLMOV AH,2INT 21HEXIT: MOV AH,4CHINT 21HCODE ENDSEND START3 .实验结果而I GWindows&yst)em 32cmd.exe=亘惆按任意腱继续一一实验五分支程序设计实验实验内容:实验可以使用BH, BL作为暂存现行的最大值和最小值,且在程 序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。在循环操作 中,依次从字节序列中逐个取出一个字节的内容与 BH, BL进行比较,若取出的 字节内容比BH的内容大或比BL中的内容小,则修改之。当循环结束操作时,将 BH , BL分别送屏幕显示。1 .实验流程图节个数c
19、x=on3H-Sq.3L=SISI-SI+llSIcx=o?2 .实验程序DATA SEGMENTBUFDBThe max number:$CUFDB0AH,0DH,The mini number:$DUFDB0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9HDATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSET BUFMOVAH,9INT21HMOVSI,OFFSET DUFMOVCH,7MOVBH,SIMOVBL,SIL1:INCSIMOVAL,SICMPAL,BHJBL2
20、MOVBH,ALL2:CMPAL,BLJAL3MOVBL,ALL3:DECCHJNZL1;MOVBH,0B9HXIANSHI:MOVAL,BH;显示 BH 和 BLMOVCL,4SHRAL,CLCMPAL,0AHJBC1ADDAL,07HC1:ADDAL,30HMOVDL,ALMOVAH,2INT21HMOVAL,BHANDAL,0FHCMPAL,0AHJBC2ADDAL,07HC2:ADDAL,30HMOVDL,ALMOVAH,2INT21HMOVDX,OFFSET CUFMOVAH,9INT21H;MOVBL,0B9HMOVAL,BLMOVCL,4SHRAL,CLCMPAL,0AHJBC3
21、ADDAL,07HC3:ADDAL,30HMOVDL,ALMOVAH,2INT21HMOVAL,BLANDAL,0FHCMPAL,0AHJBC4ADDAL,07HC4:ADDAL,30HMOVDL,ALMOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART3 .实验结果国 C:Wi nd owssystem 32c md,exeThe mm父 number:F9 The Mini nunber:M 请按任意麋继续. .实验六循环程序设计实验实验内容: 本实验要求通过求某数据区内负数的个数来表现循环程序的结构形式。要求实验程序在数据区中存放一组数据, 为统计负数
22、的个数,逐个判断区 内的数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得到区 内所包含负数的个数1 .实验流程图ASSUMESTART: MOVMOVMOVMOV2 .实验程序DATAS SEGMENTBUF DBThe number of negtive:$CUF DB12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01HDATAS ENDSCODES SEGMENTCS:CODES,DS:DATASAX,DATASDS,AXDX,OFFSET BUFAH,9INT21HMOVBL,0MOVCX,10LEASI,CUFL2: MOVAL,SIINCSI
23、ANDAL,80HJZL1INCBLL1: DECCXJNZL2ADDBL,30HMOVDL,BLMOVAH,2INT21HMOV AX,4C00HINT 21HCODES ENDSEND START3 .实验结果3s C:W indowsXsystem 32cmdtexeTh电 nunbr of ngtiu:5 请按任意稚继续一 .接口实验实验一8259中断控制器应用实验一、实验目的1 .学习可编程中断控制器8259的工作原理。2 .掌握可编程中断控制器8259的应用编程方法。二、实验内容1 .单中断实验。利用系统总线上中断请求信号INTR,设计一个单中断应用。使 用单次脉冲模拟中断产生。编
24、写中断处理程序,在显示器屏幕上显示一个字符。系统二线单次执冲单元实验步骤如下:实验接线图如图2-1所示,按图接线。运行Tdpit集成操作软件,调用程序代码(T8259-1.ASM),填写程序代码中的 空缺处,编译、链接。(程序源码路径:)使用运行命令运行程序,重复按单次脉冲开关KK1 + ,显示屏会显示字符“9”,说明响应了中断。2 .扩展中断源查询方式应用实验。利用实验平台上8259控制器对系统总线上的 中断线INTR进行扩展。编写程序对8259控制器的IR0和IRI中断请求进行处WRQY。,gmXD2 XD XDVXLXD6XD58259单元IR0IR:003 00AT 50RDCS单次脓
25、冲单元ACINT实验步骤如下:实验接线图如图2-3所示,按图接线。运行Tdpit集成操作软件,调用程序代码(T8259-2.ASM),填写程序代码中的空缺处,编译、链接。(程序源码路径:)使用运行命令运行程序,按动 KK1+、KK2+按键,观察中断是否产生。三、实验所用仪表及设备1. PC机一台。2. TD-PIT+实验系统一套四.实验代码1 .单中断实验。INTR_IVADD INTR_OCW1 INTR_OCW2 INTR IMEQU 01C8H;INTR对应的中断矢量地址EQU 0A1H ;INTR 对应PC机内部8259的OCW1地址EQU 0A0H ;INTR 对应PC机内部8259
26、的OCW2地址EQU 0FBH;INTR对应的中断屏蔽字STACK1 SEGMENT STACK DW 256 DUPSTACK1 ENDSDATA SEGMENTMESDBPress any key to exit!,0AH,0DH,0AH,0DH,$CS_BAKDW?;保存INTR原中断处理程序入口段地址的变量IP_BAKDW?;保存INTR原中断处理程序入口偏移地址的变量IM_BAKDB?;保存INTR原中断屏蔽字的变量DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET M
27、ES;显示退出提示MOV AH,09HINT 21HCLIMOV AX,0000H;替换INTR的中断矢量MOV ES,AXMOV DI,INTR_IV ADDMOV AX,ES:DIMOV IP_BAK,AX;保存INTR原中断处理程序入口偏移地址MOV AX,OFFSET MYISRMOV ES:DI,AX;设置当前中断处理程序入口偏移地址ADD DI,2MOV AX,ES:DIMOV CS_BAK,AXMOV AX,SEG MYISRMOV ES:DI,AX;保存INTR原中断处理程序入口段地址;设置当前中断处理程序入口段地址MOV DX,INTR_OCW1 ;设置中断屏蔽寄存器,打开
28、INTR屏蔽位IN AL,DXMOV IM_BAK,ALAND AL,INTR_IMOUT DX,AL;保存INTR原中断屏蔽字STIWAIT1: MOV AH,1 INT 16H JZ WAIT1;判断是否有按键按下;无按键则跳回继续等待,有则退出MOV DX,INTR_OCW1 MOV AL,IM_BAK OUT DX,AL STIMOV AX,4C00H INT 21HMYISR PROC NEAR PUSH AX MOV DL,39H MOV AH,2 INT 21HMOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21HOVER:
29、 MOV DX,INTR_OCW2MOV AL,20HOUT DX,ALMOV AL,20HQUIT: CLIMOV AX,0000H;恢复INTR原中断矢量MOV ES,AXMOV DI,INTR_IV ADDMOV AX,IP_BAK;恢复INTR原中断处理程序入口偏移地址MOV ES:DI,AXADD DI,2MOV AX,CS_BAK;恢复INTR原中断处理程序入口段地址MOV ES:DI,AX;恢复INTR原中断屏蔽寄存器的屏蔽字;返回到DOS;中断处理程序 MYISR;输出字符9;输出字符回车;输出字符换行;向PC机内部8259发送中断结束命令OUT 20H,AL POP AX I
30、RETMYISR ENDPCODE ENDS END START2 .扩展中断源查询方式应用实验。INTR_IVADD INTR_OCW1 INTR_OCW2 INTR_IM IOY0EQU01C8HEQU 0A1HEQU 0A0HEQU 0FBHEQU 3000H;INTR对应的中断矢量地址;INTR对应PC机内部8259的OCW1地址;INTR对应PC机内部8259的OCW2地址;INTR对应的中断屏蔽字;片选IOY0对应的端口始地址MY8259_ICW1MY8259_ICW2MY8259_ICW3MY8259_ICW4MY8259_OCW1MY8259_OCW2MY8259 OCW3EQ
31、U IOY0+00HEQU IOY0+04HEQU IOY0+04HEQU IOY0+04HEQU IOY0+04HEQU IOY0+00HEQU IOY0+00H;实验系统中8259的ICW1端口地址;实验系统中8259的ICW2端口地址;实验系统中8259的ICW3端口地址;实验系统中8259的ICW4端口地址;实验系统中8259的OCW1端口地址;实验系统中8259的OCW2端口地址;实验系统中8259的OCW3端口地址STACK1 SEGMENT STACK DW 256 DUPSTACK1 ENDSDATA SEGMENTMES DB Press any key to exit!,0
32、AH,0DH,0AH,0DH,$CS_BAK DW ?;保存INTR原中断处理程序入口段地址的变层 里IP_BAKDW ?;保存INTR原中断处理程序入口偏移地址的变量IM_BAKDB ?;保存INTR原中断屏蔽字的变量DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES;显示退出提示MOV AH,09HINT 21HCLIMOV AX,0000H;替换INTR的中断矢量MOV ES,AXMOV DI,INTR_IV ADDMOV AX,ES:DIMOV IP_BAK,AX
33、MOV AX,OFFSET MYISR;保存INTR原中断处理程序入口偏移地址;设置当前中断处理程序入口偏移地址MOV ES:DI,AXADD DI,2MOV AX,ES:DIMOV CS_BAK,AXMOV AX,SEG MYISRMOV ES:DI,AX;保存INTR原中断处理程序入口段地址;设置当前中断处理程序入口段地址MOV DX,INTR_OCW1IN AL,DXMOV IM_BAK,ALAND AL,INTR_IMOUT DX,AL;设置中断屏蔽寄存器,打开INTR的屏蔽位;保存INTR原中断屏蔽字MOV DX,MY8259_ICW1MOV AL,13HOUT DX,AL;初始化实
34、验系统中8259的;边沿触发、单片8259、需要ICW4ICW1;初始化实验系统中8259的ICW2MOV DX,MY8259_ICW2MOV AL,08HOUT DX,ALMOV DX,MY8259_ICW4MOV AL,01HOUT DX,AL;初始化实验系统中8259的;非自动结束EOIICW4;向8259的OCW3发送读取IRR命令MOV DX,MY8259_OCW3MOV AL,0AHOUT DX,AL;初始化实验系统中8259的OCW1;打开IR0和IR1的屏蔽位MOV DX,MY8259_OCW1MOV AL,0FCHOUT DX,ALSTIWAIT1: MOV AH,1INT
35、16HJZ WAIT1;判断是否有按键按下;无按键则跳回继续等待,有则退出QUIT: CLIMOV AX,0000HMOV ES,AXMOV DI,INTR_IV ADDMOV AX,IP_BAKMOV ES:DI,AXADD DI,2MOV AX,CS_BAKMOV ES:DI,AXMOV DX,INTR_OCW1 MOV AL,IM_BAKOUT DX,ALSTIMOV AX,4C00HINT 21HMYISR PROC NEARPUSH AXQUERY: MOV DX,MY8259_OCW3 IN AL,DXAND AL,01HCMP AL,01HJE IR0ISR JNE IR1ISR
36、 JMP OVERIR0ISR:MOV AL,30HMOV AH,0EHINT 10H;恢复INTR原中断矢量;恢复INTR原中断处理程序入口偏移地址;恢复INTR原中断处理程序入口段地址;恢复INTR原中断屏蔽寄存器的屏蔽字;返回到DOS;中断处理程序 MYISR;向8259的OCW3发送读取IRR命令;读出IRR寄存器值;若为IR0请求,跳到IR0处理程序;若为IR1请求,跳到IR1处理程序;IR0处理,显示字符串 STR0MOV AL,20HINT 10HJMP OVERIR1ISR:MOV AL,31H;IR1 处理,显示字符串 STR1MOV AH,0EHINT 10HMOV AL,
37、20HINT 10HJMP OVER;向PC机内部8259发送中断结束命令OVER: MOV DX,INTR_OCW2MOV AL,20HOUT DX,ALMOV AL,20HOUT 20H,AL POP AX IRETMYISR ENDPCODE ENDSEND START五.实验现象及分析1 .单中断实验。,|g| x|按单次脉冲开关 KK1 +,显示屏会显示字符“ 9”cT GWIND0W5$yUm32cmdLeePress any key to exit!2.扩展中断源查询方式应用实验。注:与03H与,和与01H与时的优先级不一样和03h与,同时按应当出1;和01h与,同时按应当出 0
38、。TT :WIDQW5sy5tem32cmleMePpbes any key to exitf0 10 110 111六.思考题1 .单中断与多中断有何不同?单中断只需要中断一次,不存在优先级的问题。而多中断需要考虑优先级的问题,以及是否允许中断嵌套。2 .如何改变中断优先级的顺序?首先通过选择中断优先级管理方式, 有全嵌套方式、特殊嵌套方式、优先级自动 循环方式、优先级特殊循环方式、查询方式。其中有的是不能改变优先级的,如 全嵌套方式,其IR0级别最高,IR7最低。而本代码中使用的查询方式,根据查 询得到的中断值来决定谁的优先级高,其中有一个 AND指令,若是和03H与, 同时触发时,响应的
39、是IR1;而用01H与,同时触发,响应的是IR0o3 .可编程中断控制器8259A在协助CPU处理中断事务中起哪些作用?用于管理和控制80X86的外部中断请求,可实现中断优先级判定,提供中断类型号,屏蔽中断输入等。4 .可屏蔽中断与8259A是什么关系?8259A可以提供中断屏蔽的方式,通过置位复位 IR0到IR7控制中断类型号。实验二 8255并口控制器应用实验一、实验目的1 .掌握8255的工作方式及应用编程2 .掌握8255典型应用电路的接法。二、实验内容1 .基本输入输出实验。编写程序,使 8255的A 为输出,B 口为输入,完 成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的
40、显示就改变。实验说明:本实验使8255的端口 A作为输出口工作在方式0,端口 B作为输入口工作在方式00用一组开关信号接入端口 B,端口 A输出线接至一组数据灯上,然后通 过又t 8255芯片编程来实现输入输出功能。图3-2 8255 基本输入输出实验参考接线图 实验步骤如下:实验接线图如图3-2所示,按图连接实验线路图。运行Tdpit集成操作软件,根据实验内容,调用程序代码(T8255-1.ASM),填写程序代码中的空缺处,编译、链接。(程序源码路径:运行程序,改变拨动开关,同时观察 LED显示,验证程序功能8255的A 口和 B 口均为输出,数据灯D7D0由D15D8与D7D0正相反,由右
41、向左,每次仅点2 .流水灯显示实验。编写程序,使 左向右,每次仅亮一个灯,循环显示, 亮一个灯,循环显示。实验说明:使8255的A 口和B 口均为输出,数据灯D7D0由左向右,每次仅亮一个灯, 循环显示,D15D8与D7D0正相反,由右向左,每次仅点亮一个灯,循环 显小o参考实验程序流程如图3-3所小o图3-3流水灯显示参考程序流程图实验步骤如下:实验接线图如图3-4所示,按图连接实验线路图。运行Tdpit集成操作软件,根据实验内容,调用程序代码(T8255-2.ASM),填写程序代码中的空缺处,编译、链接。(程序源码路径:)运行程序,观察LED灯的显示,验证程序功能自己设计流水灯的流动模式,
42、编写程序并实现。8!道爆够nW LIT, 4 亨 87 B BBD BB B ppp 口 QIPPPo urn-rr 5 07 A AAAA AAA p QIPPP ppp0-00-01JQ12345 o 1 4 5 6 Tf _B 5 11 1 111 D DDD ODD D D DDDD DDD3-4 8255流水灯显示参考接线图三、实验所用仪表及设备1. PC机一台。2. TD-PIT+实验系统一套四.程序代码1.基本输入输出实验。IOY0 EQU 3000HMY8255_A EQUMY8255_B EQUMY8255_C EQUMY8255_MODE EQU;片选IOY0对应的端口始地
43、址IOY0+00H*4;8255 的A口地址IOY0+01H*4;8255 的B口地址IOY0+02H*4;8255 的C口地址IOY0+03H*4;8255的控制寄存器地址STACK1 SEGMENT STACKDW256 DUPSTACK1 ENDSCODESEGMENTASSUMECS:CODESTART:MOVDX,MY8255_MODE;初始化8255工作方式MOVAL,83H;工作方式0, A 口输出,B 口输入OUTDX,ALLOOP1:MOVDX,MY8255_B ;读 B 口INAL,DXMOVDX,MY8255 A ;写 A 口OUTDX,ALMOVAH,1INT16HJZ
44、LOOP1QUIT:MOVAX,4C00HINT21H;判断是否有按键按下;无按键则跳回继续循环,有则退出;结束程序退出CODE ENDS END START2.流水灯显示实验。IOY0 EQU 3000H;片选IOY0对应的端口始地址MY8255_A EQUMY8255_B EQUMY8255_C EQUMY8255_MODE EQUIOY0+00H*4;8255的A口地址IOY0+01H*4;8255的B口地址IOY0+02H*4;8255的C口地址IOY0+03H*4;8255的控制寄存器地址STACK1 SEGMENT STACKDW256 DUPSTACK1 ENDSDATALALB
45、DATASEGMENTDB?;定义数据变量DB?ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,MY8255_MODE;定义 8255 工作方式MOVAL,81H;工作方式0,A 口和B 口为输出OUTDX,ALMOVDX,MY8255_A ;写A 口发出的起始数据MOVAL,80HOUTDX,ALMOVLA,ALMOV MOV OUT MOVDX,MY8255_B ;写B 口发出的起始数据AL,01HDX,ALLB,ALLOOP1: CALLDALLYMOVAL,LA;将人口起始数据右移再写入 A 口ROLAL,1MOVLA,ALMOVDX,MY8255_AOUTDX,ALMOVAL,LB;将B 口起始数据左移再写入 B 口RORAL,1MOVLB,ALMOVDX,MY8255_BOUTDX,ALMOVAH,1;判断是否后按键按卜INT16HJZLOOP1;无按键则跳回继续循环,有则退出QUIT: MOVAX,4C00H;结束程序退出INT21HDALLY PROCNEAR;软件延时子程序PUSHCXPUSHAXMOVCX,0FFFHD1: MOVAX,0FFFF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理纠纷预防的主动管理模式
- 安全管理和6S管理培训
- 人防安全应急流程
- 边疆史职业方向
- 护理科研与学术交流
- 2020年广东省广州市增城区九年级下学期期中学业质量检测道德与法治试题(含答案)
- 快消品企业原材料采购攻略
- 快递行业高级管理人员招聘标准
- 基于项目的小学数学教学设计与实施
- 旅游公司市场推广部办公室主任的职责与面试准备指南
- 2026年江西电力职业技术学院单招职业技能考试题库带答案详解
- 2026年常州机电职业技术学院单招职业倾向性考试题库带答案详解(完整版)
- 2026年宁夏石嘴山市单招职业适应性考试题库附参考答案详解(综合卷)
- 幼儿园内部控制工作制度
- 眉山天府新区2026年上半年公开招聘专职网格管理员(77人)考试参考试题及答案解析
- 2026年复产复工安全生产部署专题会议纪要
- 出水井施工方案(3篇)
- 健康照护师操作测试考核试卷含答案
- 2026湖南省卫生健康委直属事业单位招聘185人考试参考试题及答案解析
- 航空航天及设备制造标准化操作规程手册
- 【2025年】裁剪工岗位职业技能资格考试联系题库-含答案
评论
0/150
提交评论