微机实验三
微机原理及应用实验报告
3•掌握各种寻址方法以及简单指令的执行过程。
二、实验要求
1实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分 析等。
2•本实验要求在PC机上进行。
3•本实验只要求在DEBUC调试状态下进行,包括汇编程序,调试程序,执行程序。
4•熟悉建立源文件,进行汇编和连接的全过程,并对程序进行调试。
二、实验要求
1•实验前准备
1分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。
2写出算法或画出流程图。
3写出源程序。
4对程序中的结果进行分析,并准备好上机调试的过程。
2•本实验要求在PC机上进行。
3•汇编过程中出现问题,可用DEBU(进行调试。
xorax,ax pushax movax,data movds,ax leasi,data1 leadi,data2 leabx,data3 moval,[si+3] movah,[di+3] an dal,0fh an dah,0fh addal,ah oral,30h mov[bx+3],al moval,[si+2] movah,[di+2] an dal,0fh an dah,0fh adcal,ah oral,30h mov[bx+2],al moval,[si+1] movah,[di+1] an dal,0fh an dah,0fh adcal,ah oral,30h mov[bx+1],al moval,[si] movah,[di] an dal,0fh an dah,0fh adcal,ah
;exercize21
微机原理及应用实验(题目)
微机原理及应用实验实验一开发环境的使用一、实验目的掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。
二、实验内容在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的30H~7FH 单元清零。
三、实验设备PC机一台。
四、实验步骤用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。
五、实验思考1.如果需把30H-7FH 的内容改为55H,如何修改程序?2.如何把128B的用户RAM全部清零?六、程序清单文件名称:CLEAR.ASMORG 0000HCLEAR: MOV R0,#30H ;30H 送R0寄存器MOV R6,#50H ;50H 送R6寄存器(用作计数器)CLR1: MOV A,#00H ;00 送累加器AMOV @R0,A ;00 送到30H-7FH 单元INC R0 ;R0 加1DJNZ R6,CLR1 ;不到50H个字节,继续WAIT: LJMP WAITEND实验二数据传送一、实验目的掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。
二、实验内容1.编制一段程序,要求程序中包含7中不同寻址方式。
2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。
3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。
4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。
三、实验设备PC机一台。
四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。
五、实验思考1.如何把片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元中?2.如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中?实验三数码转换一、实验目的掌握采用软件方法进行不同形式数据之间的转换,如十进制数与二进制数的转换、十六进制数与BCD码的转换、BCD数与ASCII码之间的转换、非压缩BCD码与压缩BCD码之间的转换。
微机原理实验三实验报告
实验3. 循环程序设计一、实验目的⒈掌握移位指令的使用方法。
⒉学会循环结构程序的编程方法。
⒊利用DEBUG调试程序查看循环程序循环过程中CS和IP的变化情况。
二、实验要求⒈编写程序并上机调试,记录运行结果。
⒉用DEBUG调试程序调试所编程序,查看并记录每条指令内存单元地址及执行结果(包括F标志寄存各位值。
)⒊注意观察并记录每条指令执行后CS和IP寄存器值变化情况,以加深对循环程序的概念的理解。
三、实验内容⒉编写统计15个学生数学学习成绩程序。
要求:分别统计出低于60分,60-69分,70-79分,80-89分,90-100分的人数,并存放到S5,S6,S7,S8,S9,S10对应内存单元中。
源程序代码;DATA SEGMENTDATA1 DB 55,60,65,88,67,70,75,80,77,85,90,66,95,53,100DATA2 DB 5 DUP(?)DATA ENDS;CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,15LEA SI,DATA1LEA DI,DATA2AGAIN:MOV AL,[SI]CMP AL,90JB NEXT1INC BYTE PTR[DI]JMP NEXT0NEXT1:CMP AL,80JB NEXT2INC BYTE PTR[DI+1]JMP NEXT0NEXT2:CMP AL,70JB NEXT3INC BYTE PTR[DI+2]JMP NEXT0NEXT3:CMP AL,60JB NEXT4INC BYTE PTR[DI+3]JMP NEXT0NEXT4:INC BYTE PTR[DI+4]NEXT0:INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START程序运行结果截图:四、实验总结本次实验掌握移位指令的使用方法。
上海大学微机实践报告1-3
上海大学微机实践报告1-3上海大学微机实践报告实验一:开关状态显示【实验目的】熟悉实验箱和软件开发平台的使用。
了解基本 I/O 端口的操作方法和技巧,掌握编程和调试基本技能。
【实验内容】利用 74LS244 作为输入口,读取开关状态,根据给定表格中开关状态对应的输出关系,通过 74LS273 驱动发光二极管显示出来。
【实验区域电路连接图】参考上图连线:Y0~Y1 接 K1~K2(对应 J1、J2);Q0~Q7 接 L1~L8(对应 J3 至J10);CS1 接 8000H孔(对应 J12);CS2 接 9000H 孔(对应 J11);IOWR →IOWR;IORD→IORD;然后用数据排线连接 JX7→JX17(BUS2)。
【程序框图】【编程】CODE SEGMENTASSUME CS:CODEORG 1200HSTART:MOV DX,8000HIN AL,DXTEST AL,01HJNZ Y1 /测试AL是否等于01H,若不等于,则跳入循环Y1/ TEST AL,02HJNZ Y2 /测试AL是否等于02H,若不等于,则跳入循环Y2/ MOV DX,9000HMOV AL,0FFH /点亮所有的灯/OUT DX,ALJMP STARTY1:TEST AL,02HJNZ Y3 /测试AL是否等于02H,若不等于,则跳入循环Y3/MOV DX,9000HMOV AL,0AAH /点亮奇数号灯/OUT DX,ALJMP STARTY2:MOV DX,9000HMOV AL,55H /点亮偶数号灯/OUT DX,ALJMP STARTY3:MOV DX,9000HMOV AL,00H /所有灯全灭/OUT DX,ALJMP STARTCODE ENDSEND START【问答题】1、I/O 端口的寻址方式有哪 2 种?在 x86 系统中,采用哪一种?解:I/O 端口的寻址方式有:一种是I/O地址与存储器地址统一编址,一种是I/O地址与存储器地址分别独立编址。
《微机原理与接口技术》实验指导书
《微机原理与接口技术》课程实验指导书实验内容EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求✧实验一实验系统及仪器仪表使用与汇编环境✧实验二简单程序设计实验✧实验三存储器读/写实验✧实验四简单I/0口扩展实验✧实验五8259A中断控制器实验✧实验六8253定时器/计数器实验✧实验七8255并行口实验✧实验八DMA实验✧实验九8250串口实验✧实验十A/D实验✧实验十一D/A实验✧实验十二8279显示器接口实验EL-8086-III微机原理与接口技术教学实验系统简介使用说明及要求EL-8086-III微机原理与接口技术教学实验系统是为微机原理与接口技术课程的教学实验而研制的,涵盖了目前流行教材的主要内容,该系统采用开放接口,并配有丰富的软硬件资源,可以形象生动地向学生展示8086及其相关接口的工作原理,其应用领域重点面向教学培训,同时也可作为8086的开发系统使用。
可供大学本科学习《微机原理与接口技术(8086)》,《单片机应用技术》等课程提供基本的实验条件,同时也可供计算机其它课程的教学和培训使用。
为配合使用EL型微机教学实验系统而开发的8086调试软件,可以在WINDOWS 2000/XP等多种操作系统下运行。
在使用本软件系统调试程序时,可以同时打开寄存器窗口、内存窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为汉字下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
一、基本特点EL型微机教学实验系统是北京精仪达盛科技有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
系统具有以下特点:1、系统采用了模块化设计,实验系统功能齐全,涵盖了微机教学实验课程的大部分内容。
微机原理及应用中南大学实验报告
微机原理及应用实验报告实验一单片机仿真开发机操作和MCS-51指令系统应用一、实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;3、掌握程序的调试和运行的各种方法。
二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变化。
2.选中此项keil为纯软件仿真。
3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。
三、实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。
1.新建工程项目2.设置工程文件参数3.编写新程序事例4.调试程序直至能够运行出结果。
四、参考实验程序AJMP MAINORG 0030HMAIN: MOV R0,#20HMOV R2,#0FHMOV A,#00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#20H ;暂停,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。
五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。
其中1、2、3附加题要求写在实验报告上)1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。
观察运行情况,并记录下表。
R0 R2 A 20H 21H 22H 23H 24H 25H2FH 00H 0FH 00H 01H 02H 03H 04H 05H26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH06H 07H 08H 09H0AH 0BH 0CH 0DH 0EH2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H2FH 01H 0FH 01H 02H 03H 04H 05H 06H7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH07H 08H 09H 0AH 0BH 0CH 0DH 0EH3.画出程序流程图4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)答:由程序可知,子程序Al产生数据,子程序A2将产生的数据搬运至7000H开头的地址,子程序A3将7000H开头的地址搬运至30H开头的地址。
微机原理实验
试验一存储器读写实验一、存储器读写实验目的1、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。
2、掌握静态RAM读写数据编程方法。
二、实验内容对指定地址区间的RAM(2000H~27FDH)先进行写数据55AAH,然后将其内容读出再写到3000H~33FEH中。
三、实验步骤(运行实验程序)1、运行实验程序;2、稍后按RESET键退出,用存贮器读方法检查2000H~27FDH中的内容和3000~33FF中的内容应都是55AA。
四、实验程序CODE SEGMENTASSUME CS:CODESTART: MOV AX,0HMOV DS,AXMOV BX,2000HMOV AX,55AAHMOV CX,03FFHRAMW1: MOV DS:[BX],AXADD BX,0002HLOOP RAMW1MOV AX,2000HMOV SI,AXMOV AX,3000HMOV DI,AXMOV CX,03FFHCLDREP MOVSBRAMW2: JMP RAMW2CODE ENDSEND START实验二继电器控制实验一、实验目的:掌握用继电器控制的基本方法和编程。
二、实验内容1、利用8255A PB0输出高低电平,控制继电器的开合,以实现对外部装置的控制。
2、硬件线路原理如图5-23所示3、实验预备知识:现代自动化控制设备中都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机、电磁铁、电灯等);一方面又要为电子电路的电气提供良好的电隔离,以保护电子电路和人身的安全,电子继电器便能完成这一桥梁作用。
三、连线方法1、8255A的PB0连JIN插孔。
2、将CS-8255连到Y6。
四、实验步骤1、按图连好实验线路图。
2、运行实验程序,继电器应循环吸合,L-13和L-14交替亮灭。
五、硬件线路接线图六、试验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0063HIOCPT EQU 0061HSTART: MOV AL,80HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPTIODE2: MOV AL,01HOUT DX,ALCALL DELAYMOV AL,00HOUT DX,ALCALL DELAYJMP IODE2DELAY: MOV CX,0FFFFHDELY: LOOP DELYRETCODE ENDSEND START实验三小直流电机调速实验一、实验目的1、掌握直流电机的驱动原理。
微机原理_中断实验报告(3篇)
第1篇一、实验目的1. 理解中断系统的基本概念和工作原理。
2. 掌握中断源、中断向量、中断服务程序等基本概念。
3. 学习使用Keil软件进行中断程序的编写和调试。
4. 熟悉中断在微机系统中的应用。
二、实验原理中断系统是微机系统中重要的组成部分,它允许CPU在执行程序的过程中,响应外部事件或内部事件,从而实现多任务处理。
中断系统主要包括以下几个部分:1. 中断源:产生中断请求的设备或事件,如外部设备、定时器、软件中断等。
2. 中断向量:中断服务程序的入口地址,用于CPU在响应中断时找到相应的服务程序。
3. 中断服务程序:处理中断请求的程序,完成中断处理任务。
4. 中断优先级:不同中断源的优先级不同,用于确定中断响应的顺序。
三、实验设备与软件1. 实验设备:单片机实验板、计算机、Keil软件、Proteus仿真软件。
2. 实验软件:Keil uVision4、Proteus 8.0。
四、实验内容1. 外部中断实验(1)使用外部中断0(INT0)实现按键控制LED灯的亮灭。
(2)使用外部中断1(INT1)实现按键控制LED灯的闪烁。
2. 定时器中断实验(1)使用定时器0产生1秒的定时中断,实现LED灯的闪烁。
(2)使用定时器1产生1秒的定时中断,实现按键输入的计数。
3. 软件中断实验(1)使用软件中断实现按键输入的字符显示。
(2)使用软件中断实现按键输入的字符加密显示。
五、实验步骤1. 在Keil软件中创建一个新项目,选择合适的单片机型号。
2. 根据实验要求,编写中断服务程序,设置中断向量。
3. 在Proteus软件中搭建实验电路,包括单片机、按键、LED灯等。
4. 将Keil软件编译后的程序下载到单片机中。
5. 在Proteus软件中运行仿真,观察实验结果。
六、实验结果与分析1. 外部中断实验(1)按键按下时,LED灯亮;按键松开时,LED灯灭。
(2)按键按下时,LED灯闪烁;按键松开时,LED灯停止闪烁。
微机保护实验指导书
实验一 输电线路的电流电压微机保护实验一、实验目的1、通过实验进一步理解电流电压联锁保护的原理、并掌握其整定和计算的方法。
2、掌握电流电压联锁保护适用的条件。
二、实验原理1、电压速断保护在电力系统的等值电抗较大或线路较短的情况下,当线路上不同地点发生相间短路时,短路电流变化曲线比较平坦,见图10-1所示的无时限电流速断保护。
电流速断保护的保护范围较小,尤其是在两相短路和最小运行方式时的保护范围更小,甚至没有保护范围。
在这种情况下,可以采用电压速断保护,而不采用电流速断保护。
在线路上不同地点发生相间短路时,母线上故障相之间残余电压Ucy 的变化曲线如图10-2所示。
从图中看出,短路点离母线愈远,Ucy 愈高。
其中:①表示最大运行方式下Ucy 变化曲线;②表示最小运行方式下的 Ucy 变化曲线。
电压速断保护是反应母线残余电压Ucy 降低的保护。
在保护范围内发生短路时,Ucy 较低,保护装置起动;在保护范围以外发生短路时,Ucy 较高,保护装置不起动。
如同电流速断保护一样,电压速断保护可以构成无时限的,也可以构成有延时的。
在图10-2所示的线路上,如果装有保护相间短路的无时限电压速断保护,它的动作电压Udx 应整定为k L d k cy K X I K U Udx )3(min .min.3==式中Ucy.min —— 最小运行方式下在线路末端三相短路时,线路始端母线上的残余电压;)3(min .d I —— 上述短路时的短路电流;X l —— 线路电抗;Kk —— 可靠系数,考虑到电压继电器的误差和计算误差等因素,它一般取1.1~1.2。
从图10-2可见,在最小运行方式下,电压速断保护的保护范围(Ib.min )最大;在最大运行方式下,保护范围(Ib.max )最小。
所以电压速断保护应按最小运行方式来整定动作电压,按最大运行方式来校准保护范围。
在线路上任何一点发生短路时,不论是三相短路还是两相短路,母线上故障相之间的残余电压是相等的。
微机原理与接口技术实验
CALL ADDA DISX 3DH MOV SI,OFFSET DATA3 MOV BX,05 CALL DISPL DISX 0DH DISX 0AH MOV AH,4CH INT 21H
DISPL DS1:
DISPL
PROC NEAR DISX [SI+BX-1] DEC BX JNZ DS1 RET ENDP
5.在屏幕上显示结果可利用INT 21H的02号子功能,因该功能一次只 能显示一个字符,故对于显示数字串来说,要编写一段显示子程序,反 复使用02H号子功能。
6.加数与被加数为5位,而和可能为5位或6位,即考虑到带进位和不 带进位的情况。在显示和数时最好按DISUP1: MOV AL,BH MOV CL,04 SHR AL,CL CMP AL,09 JA DISUP4 ADD AL,30H
实验二 两个多位十进制数相加的程序
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA
MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV DX,OFFSET MESS MOV AH,09H INT 21H MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL DISX 2BH MOV SI,OFFSET DATA2 MOV BX,05 CALL DISPL MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2
实验一 求最大值程序
NEXT: MAX2:
LOOP MAX1 MOV BL,AL MOV CL,04 SHR AL,CL CMP AL,09 JA MAX4 ADD AL,30H DISX AL MOV AL,BL AND AL,0FH CMP AL,09 JA MAX5 ADD AL,30H
【实验报告】四川大学微机保护实验报告3篇
【关键字】实验报告四川大学微机保护实验报告3篇篇一:电力系统继电保护实验报告实验一电流继电器特性实验一、实验目的1、了解继电器的結构及工作原理。
2、掌握继电器的调试方法。
二、构造原理及用途继电器由电磁铁、线圈、Z型舌片、弹簧、动触点、静触点、整定把手、刻度盘、轴承、限制螺杆等组成。
继电器动作的原理:当继电器线圈中的电流增加到一定值时,该电流产生的电磁力矩能够克服弹簧反作用力矩和摩擦力矩,使Z型舌片沿顺时针方向转动,动静接点接通,继电器动作。
当线圈的电流中断或减小到一定值时,弹簧的反作用力矩使继电器返回。
利用连接片可将继电器的线圈串联或并联,再加上改变调整把手的位置可使其动作值的调整范围变更四倍。
继电器的内部接线图如下:图一为动合触点,图二为动断触点,图三为一动合一动断触点。
电流继电器用于发电机、变压器、线路及电动机等的过负荷和短路保护装置。
三、实验内容1. 外部检查2. 内部及机械部分的检查3. 绝缘检查4. 刻度值检查5. 接点工作可靠性检查四、实验步骤1、外部检查检查外壳与底座间的接合应牢固、紧密;外罩应完好,继电器端子接线应牢固可靠。
1. 内部和机械部分的检查a. 检查转轴纵向和横向的活动范围,该范围不得大于0.15~0.2mm,检查舌片与极间的间隙,舌片动作时不应与磁极相碰,且上下间隙应尽量相同,舌片上下端部弯曲的程度亦相同,舌片的起始和终止位置应合适,舌片活动范围约为7度左右。
b. 检查刻度盘把手固定可靠性,当把手放在某一刻度值时,应不能自由活动。
c. 检查继电器的螺旋弹簧:弹簧的平面应与转轴严格垂直,弹簧由起始位置转至刻度最大位置时,其层间不应彼此接触且应保持相同的间隙。
d. 检查接点:动接点桥与静接点桥接触时所交的角度应为55~65度,且应在距静接点首端约1/3处开始接触,并在其中心线上以不大的摩擦阻力滑行,其终点距接点末端应小于1/3。
接点间的距离不得小于2mm,两静接点片的倾斜应一致,并与动接点同时接触,动接点容许在其本身的转轴上旋转10~15度,并沿轴向移动0.2~0.3mm,继电器的静接点片装有一限制振动的防振片,防振片与静接点片刚能接触或两者之间有一不大于0.1~0.2mm的间隙。
微机原理实验
实验一、DEBUG 调试软件的使用一、实验目的1.熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
2.了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。
3.掌握各种寻址方式以及简单指令的执行过程。
4.掌握变量和标号的处理,数值的默认进位制。
二、实验内容1.设堆栈指针SP=2000H,AX=3000H,BX=5000H;利用堆栈实现将AX,BX的内容交换。
用DEBUG 进行汇编和调试。
1.1 DEBUG的主要命令DEBUG是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
一.进入DEBUG状态二.DEBUG的命令1.汇编命令A该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。
注意:汇编程序默认的数据是十进制,而DEBUG默认的数据是16进制,即DEBUG中没有二进制、八进制及十进制,只有16进制。
汇编命令格式为:-A? [段地址]:[偏移地址] 说明:[ ]表示可选项,若未指定地址,则默认地址为CS:0100H。
例:用汇编语言编写一个简单的加法程序。
输入的汇编指令有语法错误的,将提示“error”,再重新输入正确指令即可。
若程序输入完毕,发现某条指令输入错误,比如第三条语句输入有误,就从该指令的偏移地址开始汇编(即-A 106)。
如果新输入的指令所占用的内存空间跟旧指令一样,修改完回车退出汇编即可;如果新输入的指令所占用的内存空间比旧指令少,可在多余的内存空间输入“NOP(空操作,占一字节)”指令;如果新输入的指令所占用的内存空间比旧指令多,就必须将后面的所有指令重新输入。
思考:汇编程序时,偏移地址为何不是连续的,它是如何变化的?(参考第6小点)2.命名命令N读(L)/写(W)程序前,必须先命名,即该命令结合读(L)/写(W)命令使用。
(参阅4、5)例:-N EX1;给程序文件命名为EX1。
3.检查和修改寄存器命令R4.写盘命令WW命令没有任何参数时,与命令N配合使用进行写操作,使用W命令前在BX:CX中应写入文件的字节数。
微机原理中断实验报告(3篇)
第1篇一、实验目的1. 理解中断的概念和作用;2. 掌握中断系统的组成和基本工作原理;3. 熟悉中断向量表、中断服务程序和中断处理过程;4. 通过实验验证中断系统的正确性和可靠性。
二、实验原理1. 中断的概念:中断是CPU在执行程序过程中,由于某些事件的发生,暂时停止当前程序的执行,转而执行相应的事件处理程序的过程。
2. 中断系统的组成:中断系统主要由中断控制器、中断源、中断向量表、中断服务程序和CPU等组成。
3. 中断向量表:中断向量表是存储中断服务程序入口地址的表格,其中每个中断向量对应一个中断服务程序。
4. 中断服务程序:中断服务程序是处理中断事件的核心程序,用于完成中断事件的处理任务。
5. 中断处理过程:当中断事件发生时,CPU会根据中断向量表找到对应的中断服务程序入口地址,并跳转到该地址执行中断服务程序。
三、实验仪器与设备1. 实验台:微机原理实验台2. 电脑:一台3. 软件环境:Keil uVision、emu8086等四、实验步骤1. 启动实验台,打开微机原理实验台软件。
2. 在软件中设置实验参数,如中断源、中断向量等。
3. 编写中断服务程序,实现中断事件的处理任务。
4. 编写主程序,调用中断服务程序。
5. 运行实验程序,观察中断系统的运行情况。
五、实验内容1. 实验一:单级中断系统(1)设置一个外部中断源,如按键中断。
(2)编写中断服务程序,实现按键按下时的处理任务。
(3)在主程序中调用中断服务程序。
2. 实验二:多级中断系统(1)设置两个外部中断源,如按键中断和定时器中断。
(2)编写中断服务程序,实现按键中断和定时器中断的处理任务。
(3)设置中断优先级,实现多级中断。
(4)在主程序中调用中断服务程序。
3. 实验三:中断嵌套(1)设置两个外部中断源,如按键中断和定时器中断。
(2)编写中断服务程序,实现按键中断和定时器中断的处理任务。
(3)实现中断嵌套,即在定时器中断服务程序中再次触发按键中断。
微机原理及应用实验报告材料(中南大学2014年)
微机原理及应用实验报告班级:姓名:学号:中南大学机电工程学院精密测控实验室实验二软件程序设计1.实验目的:1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。
2.实验内容:1、编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。
2.、编写多字节加法程序并上机调试通过。
8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。
3.实验设备名称、型号:4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:程序1、编写排序程序并上机调试通过。
已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。
解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。
如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。
则可以退出循环,结束程序。
程序结构框图和程序代码如下:ORG 1000HTEM DATA 50HMOV R7 , #9MOV 60H , #0FFHMOV 61H , #99HMOV 62H , #77HMOV 63H , #0CCHMOV 64H , #33HMOV 65H , #0DDHMOV 66H , #88HMOV 67H , #0BBHMOV 68H , #44HMOV 69H , #0EEHLOOP0: CLR F0MOV A , R7MOV R6, AMOV R0 , #60HMOV R1, #60HINC R1LOOP1: MOV A , @R0MOV TEM , AMOV A , @R1CJNE A ,TEM , NEXTSJMP NOCHANEXT: JC NOCHASETB F0MOV @R0 , AXCH A , TEMMOV @R1 , ANOCHA:INC R0INC R1DJNZ R6, LOOP1JNB F0, HALDJNZ R7, LOOP0HAL: SJMP $END程序2:编写多字节加法程序并上机调试通过。
微机原理实验报告
微机原理实验报告西安电⼦科技⼤学实验报告班级:1303018学号:130********姓名:李胜东地点: EII-312批次:第批时间: 2015.11-2015.12实验⼀汇编语⾔编程实现1.实验⽬的(1)掌握汇编语⾔的编程⽅法(2)掌握DOS功能调⽤的使⽤⽅法(3)掌握汇编语⾔程序的调试运⾏过程2.实验内容(1)将指定数据区的字符串数据以ASCII码形式显⽰在屏幕上,并通过DOS功能调⽤完成必要提⽰信息的显⽰。
(2)在屏幕上显⽰⾃⼰的学号姓名信息。
(3)循环从键盘读⼊字符并回显在屏幕上,然后显⽰出对应字符的ASCII码,直到输⼊”Q”或“q”时结束。
实验中使⽤的DOS功能调⽤: INT 21H3.实验步骤及原理(1)运⾏QTHPCI软件,根据实验内容编写程序,参考程序流程如下图所⽰。
(2)使⽤“项⽬”菜单中的“编译”或“编译连接”命令对实验程序进⾏编译、连接。
(3)“调试”菜单中的“进⾏调试”命令进⼊Debug调试,观察调试过程中数据传输指令执⾏后各寄存器及数据区的内容。
按F9连续运⾏。
(4)更改数据区的数据,考察程序的正确性。
4.实验源代码DATA SEGMENTNUMBER DB 'SNO:130********',0AH,'NAME:lishengdong',0DH,0AH,'$';0DH (回车))0AH(换⾏)24H($)结束MSG1 DB 0AH,0DH,'If you want to leave,please input: q or Q ',0AH,0DH,'$'MSG2 DB 0AH,0DH,0AH,0DH,'Input: $'RESULT DB 0AH,0DH,'ASCII is: $'SD DB ' 'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV SI,OFFSET DATAMOV CX,5A:MOV AL,DS:[SI]AND AL,0F0HCMP AL,0A0HJB A1ADD AL,07HA1:SHR AL,1SHR AL,1SHR AL,1SHR AL,1OR AL,30HMOV AH,02HMOV DL,ALINT 21HMOV AL,DS:[SI]AND AL,0FHCMP AL,0AHJB A2ADD AL,07HA2:OR AL,30HMOV AH,02HMOV DL,ALINT 21HINC SILOOP AMOV AX,DATAMOV DS,AXMOV DX,OFFSET NUMBERMOV AH,09HINT 21HMOV DX,OFFSET MSG1 MOV AH,09H INT 21HC1: MOV DX,OFFSET MSG2 MOV AH,09H INT 21HMOV AH,01HINT 21HCMP AL,'Q'JZ EXITCMP AL,'q'JZ EXITMOV SD,ALMOV DX,OFFSET RESULTMOV AH,09HINT 21HMOV SI,OFFSET SDMOV AL,DS:[SI]AND AL,0F0HMOV CL,4SHR AL,CLCMP AL,0AHJB C2ADD AL,07HC2: ADD AL,30HMOV DL,ALMOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FHCMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,ALMOV AH,02HINT 21Hloop C1EXIT: MOV AX,4C00HINT 21HCODE ENDSEND START实验⼆数码转换实验1.实验⽬的(1)掌握不同进制数及编码相互转换的程序设计⽅法。
南理工微机实验报告
南理工微机实验报告篇一:南京理工大学微机实验报告微机实验报告实验2.1汇编语言程序的调试与运行思考题:1、带进位加法程序:DISP MACRO XMOV DL,XMOV AH,02HINT 21HENDMDATA SEGMENTDATA1 DB'65087'DATA2 DB'75087'N EQU $-DATA2DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (?)TOP EQU $-STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AXLEA SI,DATA1MOV BX,0MOV CX,NCALL DISPLDISP '+'LEA SI,DATA2MOV BX,0MOV CX,NCALL DISPLDISP '='LEA DI,DATA1MOV CX,NCALL ADDALEA SI,DATA1MOV BX,0MOV CX,NCMP DL,0JZ NEXTDISP '1'NEXT: CALL DISPLDISP 0DHDISP 0AHMOV AX,4C00HINT 21HDISPL PROCDS1:MOV AH,02HMOV DL,[SI+BX]INT 21HINC BXLOOP DS1RETDISPL ENDPADDA PROCPUSH CXMOV BX,0AD1:SUB BYTE PTR [SI+BX],30H SUB BYTE PTR [DI+BX],30HINC BXLOOP AD1POP CXPUSH CXMOV BX,N-1CLCAD2:MOV AL,[SI+BX]ADC AL,[DI+BX]AAAMOV [DI+BX],ALDEC BXLOOP AD2POP CXPUSH CXMOV BX,0MOV DL,0JNC AD3MOV DL,1AD3:ADD BYTE PTR [DI+BX],30H INC BXLOOP AD3POP CXRETADDA ENDPCODE ENDSEND START结果截图:2、上机步骤,调试方法:1、写代码完成功能要求,文件格式为.asm文件(如21si.asm),将文件放入带汇编工具的文件夹中,即含有汇编工具(MASM.EXE)和链接工具(LINK.EXE)的文件夹。
微机原理的4个实验
+试验四一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容1.按图接线,将计数器0设置为方式0,计数器初值为N(N≤0FH,本例程中为0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用L0或逻辑笔观察OUT0电平变化,初始时OUT0为高电平,当输入N个脉冲时,OUT0变为低电平,当输入N+1个脉冲后OUT0变高电平)。
2按图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用电平指示灯L0或逻辑笔观察OUT1输出电平的变化,要求输出频率1HZ的分频信号。
;*************************;;* 8253方式0计数器实验 *;;*************************;ioport equ 0C400h-0280hio8253k equ ioport+283hio8253a equ ioport+280hcode segmentassume cs:codestart:mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253kout dx,almov dx,io8253a ;送计数初值为08Hmov al,08hout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30H add dl,7 ;否则为'A'-'F',ASCII码加37H num: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret;子程序返回disp endpcode endsend start;*******************;* 8253分频 *;*******************ioport equ 0C400h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253k equ ioport+283hcode segmentassume cs:codestart:mov dx,io8253k ;向8253写控制字mov al,36h ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,io8253kmov al,76h ;设8253通道1工作方式2out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hcode endsend start实验五一、实验目的掌握8255方式0的工作原理及使用方法。
微机实验报告
实验一I/O地址译码与交通灯控制实验一、实验目的1、掌握并行接口8253的基本原理2、掌握8253的编程方法二、实验内容如图所示,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通变化规律燃灭。
三、编程分析1、8255地址分析:控制寄存器地址: 0C40BHA口地址: 04C408HC口地址: 04C40AH2、十字路口交通灯的变化规律要求(1)南北路口的绿灯、东西路口的红灯同时亮三秒;(2)南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮三秒;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次;(5)转(1)重复。
3、C口置数分析由于发光二极管是共阴极相连,所以若要其发亮应给高电平;黄灯闪烁是让其不断交替亮灭来实现;同时分析可知只要有绿灯亮,灯就会持续亮三秒,黄灯亮就会闪烁三次。
4、程序设计流程图四、汇编语言程序STACK1 SEGMENT STACKDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK1 DY PROC NEARPUSH CXMOV AX, 0FFFFH ;延时程序MOV CX, 02FFFHL0:DEC AXJNZ L0LOOP L0POP CXPOP AXRETDY ENDPSTART: MOV DX, 0C40BHMOV AL, BOUT DX, ALMOV DX, 0C40AHMOV BL, 6H ;设置延迟3秒L1:MOV AL, 00100100B ;南北绿灯亮,东西红灯亮OUT DX, ALCALL DY ;调用延迟子程序DEC BLJNZ L1MOV BL, 4H ;设置第二次闪烁3次L2:MOV DX, 0C40AHMOV AL, 01000100B ; 南北黄灯亮,东西红灯亮OUT DX, ALCALL DYMOV AL, 00000100B ;南北黄灯灭,东西红灯亮,实现要求闪的功能 OUT DX,ALCALL DYJNZ L2MOV BL,6H ;第三次设置亮灭时间为3秒L3:MOV AL,B ; 南北黄灯亮,东西红灯亮OUT DX,ALCALL DYDEC BLJNZ L3MOV BL,4HL4:MOV AL,B ;南北红灯亮,东西黄灯亮OUT DX,ALCALL DYMOV AL,B ;南北红灯亮,东西黄灯灭,实现闪的功能OUT DX,ALCALL DYDEC BLJNZ L4MOV DL,0FFH ;判断是否有键按下,结束程序 MOV AH,06HINT 21HJZ START ;没有键按下,进入下一次循环 MOV AH,4CHINT 21HCODE ENDSEND START五、实验现象:红黄绿灯变化规律如下:南北路口的绿灯、东西路口的红灯同时亮3秒左右;南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;南北路口的红灯、东西路口的绿灯同时亮3秒左右;南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次;依次重复。
微机原理与应用-实验报告
《微机原理与应用》实验报告姓名:***学号:**********年级:2014专业:电子2016年春季学期实验一.熟悉单片机开发环境1.功能要求在 P1 端口接8 个LED,并编程依次循环点亮。
要求用软件延时程序控制LED 的亮灭时间,并能精确地计算和用软件测量延时时间。
2.硬件原理3.程序清单ORG 0000HLJMP STARTORG 0030HSTART: MOV R2,#8MOV A,#01H LOOP1: MOV P1,ALCALL DELAY RL ADJNZ R2,LOOP1 MOV R2,#8RR ALOOP2: MOV P1,ALCALL DELAY RR ADJNZ R2,LOOP2 LJMP STARTDELAY: MOV R5,#20 D1: MOV R6,#80 D2: MOV R7,#248 DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND4.实验心得首次接触开发板,通过实验1加强了对单片机的了解,学会使用仿真软件,学会搭线的各种技巧,并且掌握了LED亮灭的原理。
实验二.并行口输入输出实验——循环彩灯控制1.功能要求P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。
开关断开时,灯灭。
用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1~K2 分别选择灯的四种闪动方式;(2)K3 用于控制灯的循环方向(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度;(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定 的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。
当K0 没有引发 中断时,保持上一次的循环方式。
2.硬件原理3.程序清单ORG 0000HLJMP MAINDELAY2: MOV R0,#200 D4: MOV R1,#200ORG 0003HLJMP INTERRUPTORG 0030HMAIN: SETB EX0SETB IT0SETB EAMOV A,#01HA1: MOV P0,AJB 20H.2,B1JNB 20H.2,B2A2: JB 20H.3,LOOP11 JNB 20H.3,LOOP22 B1: LCALL DELAY1LJMP A2B2: LCALL DELAY2LJMP A2LOOP11: RL ALJMP A1LOOP22: RR ALJMP A1ORG 0600HDELAY1: MOV R0,#100D1: MOV R1,#100D2: MOV R2,#10D3: DJNZ R2,D3DJNZ R1,D2DJNZ R0 ,D1RET4.实验心得开始熟悉开发板,通过实验2加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三中断程序设计
【实验目的】
1.认识微机系统的中断特性。
2.学习8259中断控制器的工作原理。
3.学习8259中断控制器的应用编程。
4.掌握使用PC机内8259的方法
5.掌握修改中断向量的方法。
【实验原理及内容】
1、实验原理:
我们利用IBM-PC机的8259A,利用键盘输入作为中断请求信号,通过IRQ1来申请中断。
2、实验内容:
当用户每按下一次键盘上的按键时,即相当于从IRQ1端向计算机内部的8259A发送一次中断请求,该中断的服务是将“this is an interrupt!”显示在屏幕上。
中断10次后程序退出。
3、编程提示:
1)PC微机系统中的8259
在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如下表所示。
两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。
系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。
在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。
对INTR 中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。
表 PC微机系统中的硬件中断
中断号功能中断向量号中断向量地址
主8259A IRQ0 日时钟/计数器08H 0020H~0023H
主8259A IRQ1 键盘09H 0024H~0027H
主8259A IRQ2 接从片8259A 0AH 0028H~002BH
主8259A IRQ3 串行口2 0BH 002CH~002FH
主8259A IRQ4 串行口1 0CH 0030H~0033H
主8259A IRQ5 并行口2 0DH 0034H~0037H
主8259A IRQ6 软盘0EH 0038H~003BH
主8259A IRQ7 并行口1 0FH 003CH~003FH
从8259A IRQ8 实时钟70H 01C0H~01C3H
从8259A IRQ9 保留71H 01C4H~01C7H
从8259A IRQ10 保留72H 01C8H~01CBH
从8259A IRQ11 保留73H 01CCH~01CFH
从8259A IRQ12 保留74H 01D0H~01D3H
从8259A IRQ13 协处理器中断75H 01D4H~01D7H
从8259A IRQ14 硬盘控制器76H 01D8H~01DBH
从8259A IRQ15 保留77H 01DCH~01DFH
2)键盘中断注意事项
PC机中使用的是编码键盘,在键盘内部有一单片机对整个键盘上的字符键、功能键、控制键和组合键进行管理,当从键盘上键入一个键时,键盘上的处理器首先向微机产生硬件中断请求(IRQ1),然后将改键的扫描码传送给主机。
而PC主机在IRQ1中断的作用下,调用INT 09硬件中断读入键盘的扫描码,并转换成ASCII码,存入键盘缓冲区。
本实验中的键盘中断处理程序必须对键盘控制器完成键盘复位1.复位键盘控制器只需读出端口61H的内容,并将最高位置1,再写入该端口。
此外,按键按下和抬起均会引起中断,所以实验中断相应次数等于按键次数乘以2。
所以,重点如下:
①PC主机在IRQ1中断的作用下,调用INT 09硬件中断读入键盘的扫
描码,并转换成ASCII码,存入键盘缓冲区;
IN AL,60H ;读入扫描码(用户可对此键值进行处理)
②本实验中的键盘中断处理程序必须对键盘控制器完成键盘复位 1.复位
键盘控制器只需读出端口61H的内容,并将最高位置1,再写入该端口。
IN AL,61H ;读入控制字节
MOV AH,AL
OR AL,80H
OUT 61H,AL ;复位键盘
③按键按下和抬起均会引起中断,所以实验中断相应次数等于按键次数
乘以2。
④中断服务结束返回前要使用中断结束命令:
MOV AL,20H ;中断结束命令送中断控制器
OUT 20H,AL
【实验程序】
DATA SEGMENT
OLD_VCT DW?,?
cnt db?
mess db"this is an interrupt!",0ah,0dh,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
MOV AX,DATA
MOV DS,AX
MOV AL,09H ;/取原中断向量
MOV AH,35H ;/取原中断向量
INT 21H ;取原中断向量
LEA SI,OLD_VCT
MOV [SI],BX
MOV [SI+2],ES
PUSH ds
MOV AX,seg MYINT
MOV DS,AX
LEA DX,MYINT ;/置中断向量
MOV AL,09H ;/置中断向量
MOV AH,25H
INT 21H ;置中断向量
POP DS
mov cnt,10
LL:CMP CNT,0
nop
nop
JNZ LL
LEA SI,OLD_VCT
MOV DS,[SI+2]
MOV DX,[SI]
MOV AX,2509H
INT 21H ;回复原中断向量
STI ;/开中断
MOV AH,4CH
INT 21H
START ENDP
MYINT PROC FAR
PUSH DX
PUSH DS
PUSH AX
STI ;开中断
lea dx,mess ;中断处理,显示字符串
mov ah,9
int 21h
cmp cnt,0 ;中断次数是否完成
jz next
dec cnt
NEXT:
IN AL,60H ;读入扫描码(用户可对此键值进行处理)IN AL,61H ;/读入控制字节
MOV AH,AL
OR AL,80H ;/复位键盘
OUT 61H,AL
CLI ;关中断
MOV AL,20H ;/中断结束命令送中断控制器
OUT 20H,AL
CLI ;/关中断
POP AX
POP DS
POP DX
IRET ;/中断返回
MYINT ENDP
CODE ENDS
END START
将编好的程序加载到软件Masm for Windows中,进行编译。
【实验结果】
【实验结果分析】
程序编号加载到Masm for Windows中后,会出现一个操作界面,写着两行“this is a in interrupt!”,然后按任意键一次,会再出现两行“this is a in interrupt!”,按五次后中断返回。
【实验心得】
这次实验是需要软硬件结合的,需要用到实验箱,这就要求我们不但要能编写出程序,还要有能力成功的连接实验箱和电脑。
实验过程中,我深刻理解了微机系统的中断特性,在成功编写8259中断控制器程序的同时也理解8259中断控制器的工作原理,并学会了修改中断向量。
学到了很多。
继续努力。