当前位置:文档之家› 汇编实验报告

汇编实验报告

XI`AN TECHNOLOGICAL UNIVERSITY 实验报告西安工业大学实验报告一、实验目的1、学习和掌握利用TD-TIPE连机软件调试汇编程序。

2、了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。

二、实验原理基本输入输出实验。

编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就改变。

三、实验步骤、数据记录及处理1.步骤:(1)硬件测试;(2)获得端口地址;(3)写出源程序,2.源代码(1)程序一SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1:MOV DX, 0640HIN AL, DXCALL DELAYMOV DX, 0642HOUT DX, ALJMP AA1DELAY:PUSH CXMOV CX, 0F00HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START(2)程序二SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1:MOV DX, 0640HIN AL, DXXOR AL, 00F0HCALL DELAYMOV DX, 0642HOUT DX, ALJMP AA1DELAY:PUSH CXMOV CX, 0F00HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START(3)程序三SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX, 0646HMOV AL, 90HOUT DX, ALAA1:MOV DX, 0640HIN AL, DXTEST AL,10000000BJZ OUT1JNZ OUT2OUT1:TEST AL,01000000BJZ OUT3MOV AL,00001111BJMP OUT0OUT2:TEST AL,01000000BJZ OUT4MOV AL,11111111BJMP OUT0OUT3:MOV AL,00000000BJMP OUT0OUT4:MOV AL,11110000BJMP OUT0OUT0:OUT DX, ALCALL DELAYMOV DX, 0642HOUT DX, ALJMP AA1DELAY:PUSH CXMOV CX, 0F00HAA2:PUSH AXPOP AXLOOP AA2POP CXRET3.实验现象描述(1)开关拨上、对应灯亮,开关拨下、对应灯灭;(2)K01—K04开关拨上、对应灯亮,开关拨下、对应灯灭。

而K05—K08开关拨上、对应灯灭,开关拨下、对应灯亮;(3)同时将K06与K07开关置为低电平,所有数据灯均不亮;同时将K06与K07开关置为高电平,所有数据灯均亮;将K06置为低电平,K07置为高电平,所有红数据灯均亮,所有绿数据灯均不亮;将K06置为高电平,K07置为低电平,所有红数据灯均不亮,所有绿指示灯均亮。

西安工业大学实验报告一、实验目的1. 掌握 8254 的工作方式及应用编程。

2. 掌握 8254 典型应用电路的接法。

二、实验原理编写程序,将8254的计数器0设置为0/3/2,计数值为十进制5,用微动开关KK1作为CLK始终,OUT0连接INTR,每当KK1按动5次后产生中断请求,在屏幕上显示‘M’。

三、实验步骤、数据记录及处理1.步骤:(1)计数应用实验1)按实验接线图接好电路2)编写实验程序,经编译、链接无误后装入系统3)运行程序,按动 KK1+产生单次脉冲,观察实验现象4)改变计数值,验证 8254 的计数功能(2)定时应用实验1)按实验接线图接好电路2)根据实验内容,编写实验程序,经编译、链接无误后装入系统3)单击按钮,运行实验程序,8254的OUT1 会输出1s的方波4)用示波器观察波形的方法:单击虚拟仪器菜单中的按钮或直接单击工具栏的按钮,在新弹出的示波器界面上单击按钮运行示波器,就可以观测出 OUT1 输出的波形2.源代码(1)计数应用实验A8254 EQU 06C0HB8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6HSSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET IRQ7MOV SI, 003CHMOV [SI], AXMOV AX, CSMOV SI, 003EHMOV [SI], AXCLIPOP DSMOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, ALMOV AL, 6FHOUT 21H, ALMOV DX, CON8254MOV AL, 10HOUT DX, ALMOV DX, A8254MOV AL, 04HOUT DX, ALSTIAA1: JMP AA1IRQ7: MOV DX, A8254MOV AL, 04HOUT DX, ALMOV AX, 014DHINT 10HMOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, ALIRETCODE ENDSEND START(2)定时应用实验1)宽度为1s的方波A8254 EQU 0600HB8254 EQU 0602HC8254 EQU 0604HCON8254 EQU 0606HSSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, CON8254MOV AL, 36HOUT DX, ALMOV DX, A8254MOV AL, 0E8HOUT DX, ALMOV AL, 03HOUT DX, ALMOV DX, CON8254MOV AL, 76HOUT DX, ALMOV DX, B8254MOV AL, 0E8HOUT DX, ALMOV AL, 03HOUT DX, ALAA1: JMP AA1CODE ENDSEND START2)宽度为2.5s的方波A8254 EQU 0600HB8254 EQU 0602HC8254 EQU 0604HCON8254 EQU 0606HSSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, CON8254MOV AL, 36HOUT DX, ALMOV DX, A8254MOV AL, 0E8HOUT DX, ALMOV AL, 03HOUT DX, ALMOV DX, CON8254MOV AL, 76HOUT DX, ALMOV DX, B8254MOV AL, 0E8HOUT DX, ALMOV AL, 08HOUT DX, ALAA1: JMP AA1CODE ENDSEND START3.实验截屏(1)计数应用实验每当按动‘KK1+’5 次后,产生一次计数中断,并在屏幕上显示一个字符‘M’(2)定时应用实验在屏幕上显示一个 1s 的方波西安工业大学实验报告一、实验目的1. 学习并掌握 8255 的工作方式及其应用;2. 掌握 8255 典型应用电路的接法;3. 掌握程序固化及脱机运行程序的方法。

二、实验原理8255A的A口作为输入口,与逻辑电平开关相连。

8255A的B口作为输出口,与发光二极管相连。

编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。

三、实验步骤、数据记录及处理1.步骤:(1)按图连接实验线路图。

(2)编写实验程序,经编译、链接无误后装入系统;(3)运行程序,观察 LED 灯的显示,验证程序功能;(4)自己改变流水灯的方式,编写程序;(5)固化程序并脱机运行2.源代码:(1)SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START:MOV DX, 0646H MOV AL, 80H OUT DX, AL MOV BX, 8001H AA1:MOV DX, 0640H MOV AL, BH OUT DX, AL ROR BH, 1 MOV DX, 0642H MOV AL, BL OUT DX, AL ROL BL, 1 CALL DELAY CALL DELAY JMP AA1 DELAY:PUSH CXMOV CX, 0F000H AA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START(2)SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX, 0646HMOV AL, 80HOUT DX, ALMOV BX, 8001HAA1:MOV DX, 0640HMOV AL, BHOUT DX, ALROR BH, 7MOV DX, 0642HMOV AL, BLOUT DX, ALROL BL, 7CALL DELAYCALL DELAYJMP AA1DELAY:PUSH CXMOV CX, 0F000HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START(3)SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSMY_DATA SEGMENTNUMBER1 DB 18H,24H,42H,81HMY_DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:MY_DATASTART:MOV AX, MY_DATAMOV DS, AXMOV DX, 0646HMOV AL, 80HOUT DX, ALINIT: MOV CX, 4LEA DI, NUMBER1 AA1: MOV DX, 0642HMOV AL, [SI]INC SIOUT DX, ALMOV DX, 0640HMOV AL, [DI]INC DIOUT DX, ALCALL DELAYCALL DELAYLOOP AA1JMP INITDELAY: PUSH CXMOV CX, 0F000HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START(4)SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSMY_DATA SEGMENTNUMBER1 DB 18H,24H,42H,81HNUMBER0 DB 81H,42H,24H,18HMY_DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:MY_DATA START:MOV AX, MY_DATAMOV DS, AXMOV DX, 0646HMOV AL, 80HOUT DX, ALINIT: MOV CX, 4LEA SI, NUMBER0LEA DI, NUMBER1AA1: MOV DX, 0642HMOV AL, [SI]INC SIOUT DX, ALMOV DX, 0640HMOV AL, [DI]INC DIOUT DX, ALCALL DELAYCALL DELAYLOOP AA1JMP INITDELAY: PUSH CXMOV CX, 0F000HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START3.实验现象描述:(1)数据灯D7~D0 由右向左,每次仅亮一个灯,循环显示;(2)数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示;(3)数据灯D7~D4 由右向左,每次仅亮一个灯,循环显示;数据灯D3~D0 由左向右,每次仅亮一个灯,循环显示;(4)数据灯D7~D4 由右向左,每次仅亮一个灯,循环显示;数据灯D3~D0 由左向右,每次仅亮一个灯,循环显示。

相关主题