微机原理实验报告模版范文

合集下载

微机原理实验报告清零程序

微机原理实验报告清零程序

竭诚为您提供优质文档/双击可除微机原理实验报告清零程序篇一:微机原理实验报告微机原理与应用课程实验报告实验分工:报告人同组人实验时间:20XX.12.10课程设计一、题目要求(1)在数据段首址为0100h开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据;(2)将上述源区内容传送到目的内存区2(首址为1100h)中;(3)检验上述传送过程是否正确,如有错误,在紧跟内存区2后的第一个字节开始写入AscII码“eRRoR”,否则写入“oK”。

(4)用冒泡法将上述内存区2的数据,按从小到大的次序重新排列,排列后存放在内存区3(开始地址为2100h)。

(5)将上述内存区2和内存区3的第100个数据分别乘以2,并转为bcD码,保存在各自存储区的末尾。

再将上述两个bcD码相乘,其结果保存在内存区1的末尾处。

二、实验程序框图三、程序代码codesegmentassumecs:codeDATA1db16dup(?)DATA2dbeRRoRDATA3dboK;在数据段首址为0100h开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据start:movax,0100h;规定目标程序存放单元的偏移量movds,ax;数据段地址moves,axmovsi,offsetDATA1;偏移地址movcx,0010h;循环次数movbx,0100hmoval,ofhs1:movcs:[si],almov[bx],cs:[si]incsiincbxdecalloops1nop;将内存区1数据搬移到内存区2中movcx,16movsi,0100hmovbx,1100hs2:moval,[si]mov[bx],alincbxloops2nop;对比内存区1的数据与内存区2的数据是否相同mov cx,16movsi,0100hmovbx,1100hcomp:movax,[si]movdx,[bx]cmpax,dxjneerroincsiincbxloopcomp;数据如果都相同,说明上述传输过程正确movsi,offsetDATA3movdi,1110hmovbl,0movcx,2enteroK:movbl,cs:[si]mov[di],blincsiincdiloopenteroKnopjmps3;如果有一个数据不相同,说明上述传输过程不正确err:movsi,offsetDATA2movdi,1110hmovbl,0movcx,5entereRR:movbl,cs:[si]mov[di],blincdiloopentereRR;将内存区2数据搬移到内存区3中s3:movsi,1100hmovcx,0010hmovbx,2100hmoval,0movcx,16fil:moval,[si]mov[bx],alincsiincbxloopfilnop;用冒泡法将内存区3的数据按从小到大重新排列s4: movbl,0movcx,16movsi,2110hdecsideccxagain:moval,[si]cmpal,[si-1]jaenextxchgal,[si-1]mov[si],almovbl,1next:decsiloopagaincmpbl,0jnestart1nopmovsi,1109hmoval,[si]movcl,2mulcl;结果在al中movdx,0movbx,10divbxshlal,4addal,dl;把二进制数转换成bcD码mov[1112h],almovsi,2109hmoval,[si]movcl,2mulcl;结果在al中movdx,0movbx,10divbxshlal,4addal,dl;把二进制数转换成bcD码mov[2110h],al;两个bcD码相乘,其结果保存在内存区1的末尾处。

微机原理综合实验报告

微机原理综合实验报告

微机原理综合实验报告目录一.8255并行口实验二.8259中断实验(一)三.8253定时/计数器实验四.A/D转换实验五.步进电机实验六.综合实验:十字路口交通灯实验七.实验体会四.8255并行口实验1.实验目的:(1)学习利用并行接口芯片8255构成并行接口电路的基本方法(2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法2.实验内容:编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。

3.实验程序:CODE SEGMENTASSUME CS:CODESTART:MOV DX,21BH ;8255初始化命令字MOV AL,90HOUT DX,ALBG: MOV DX,218H ;从PA口读入数据IN AL,DXXOR AL,FFH ;求反MOV DX,219HOUT DX,AL ;从PB口输出JMP BGCODE ENDSEND START4.实验框图5. 实验电路图6.实验方法说明通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。

8259中断实验(一)1.实验目的:(1)了解PC机的中断结构及8259中断控制器的初始化(2)熟悉8259中断控制器的工作原理和硬件连线方法(3)了解8259的应用和硬件编程方法了解8259中断屏蔽2.实验内容:编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

3.实验程序INT0 EQU 220hINT1 EQU 221hP8255B EQU 219HP8255K EQU 21BHSTACK SEGMENTSTA DB 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV AX,TOPMOV SP,AXPUSH DSMOV AX,0000H ;定义IRQ0中断MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,0000HMOV SI,20HMOV [SI],AXMOV AX,CSMOV SI,22HMOV [SI],AXPOP DSMOV AL,13H ;对8259进行初始化ICW1MOV DX,INT0OUT DX,ALMOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT1MOV AL,0FEH ;对8259进行初始化OCW1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT0 ;对8259进行初始化OCW2,普通EOI返回MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $STIMOV DX,P8255K ;对8255进行初始化MOV AL,90HOUT DX,ALDSP: MOV AL,0FFHMOV DX,P8255BOUT DX,ALJMP DSPIRQ0: STIMOV CX,0FFFFHLOOP $MOV AL,0FHMOV DX,P8255BOUT DX,ALMOV DX,INT0MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $MOV CX,0FFFFHLOOP $IRETCODE ENDSEND START4.实验框图5. 实验电路图6. 实验方法说明主程序使8255输出高电平,实现L0~L7指示灯全亮。

微机原理实验报告册(3篇)

微机原理实验报告册(3篇)

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。

二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。

2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。

3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。

4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。

5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。

6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告
本次实验是关于微机原理与接口技术的实验报告,通过本次实验,我们将深入
了解微机原理与接口技术的相关知识,并通过实际操作来加深对这些知识的理解和掌握。

实验一,微机原理。

在本次实验中,我们首先学习了微机的基本原理,包括微机的组成结构、工作
原理和基本功能。

通过实际操作,我们了解了微机的主要组成部分,如中央处理器(CPU)、内存、输入输出设备等,并学习了它们之间的工作原理和相互配合关系。

同时,我们还学习了微机的基本指令系统和数据传输方式,加深了对微机工作原理的理解。

实验二,接口技术。

在接口技术的实验中,我们学习了微机与外部设备之间的接口技术,包括并行
接口、串行接口和通用接口等。

我们通过实际操作,了解了这些接口技术的工作原理和应用场景,学会了如何通过接口技术实现微机与外部设备的数据交换和通信。

实验三,实验综合。

在本次实验的最后,我们进行了一个综合实验,通过实际操作来综合运用微机
原理和接口技术的知识,实现一个具体的功能。

通过这个实验,我们加深了对微机原理与接口技术的理解,掌握了如何将理论知识应用到实际操作中。

总结。

通过本次实验,我们深入学习了微机原理与接口技术的相关知识,并通过实际
操作加深了对这些知识的理解和掌握。

微机原理与接口技术作为计算机科学与技术的基础知识,对我们今后的学习和工作都具有重要意义。

希望通过这次实验,能够对大家的学习和工作有所帮助,并为今后的学习打下坚实的基础。

以上就是本次实验的实验报告,希望对大家有所帮助。

感谢大家的阅读!。

微机原理实验报告_2

微机原理实验报告_2

实验一汇编语言的编译、链接和调试一、实验目的1、学会使用masm对汇编源程序进行编译、链接、调试、运行。

2、掌握汇编语言的程序格式。

3、巩固所学的汇编语言指令。

二、实验环境1、硬件:PC 微机2、软件:宏汇编MASM 软件三、实验原理1、汇编语言程序的上机与处理过程2、汇编语言的程序格式(1)汇编程序一般由若干段组成,每个段都有一个名字,以SEGMENT作为段的开始,以ENDS作为段的结束,这两者前要冠以相同的名字作为段名。

(2)代码段和堆栈段必不可少,数据段和附加段可根据需要设置。

堆栈段的SEGMENT之后有关键字STACK。

代码段中有伪指令ASSUME告诉汇编程序,在各种指令执行时所要访问的各段寄存器将分别对应哪一段。

(3)源程序的每一段是由若干行汇编语句组成,每一行只有一条语句,且不能超过128个字符,但一条语句允许有后续行,最后均以回车结束。

(4)整个源程序必须以END语句结束,它通知汇编程序停止汇编。

四、实验内容进入DOS环境中相应的目录下。

如汇编软件的文件来为:D:\MASM,则对应的操作为(1)选择windows的“开始”→“程序”→“附件”→“命令提示符”(2)在DOS命令提示符下输入如下命令(其中带下划线部分为输入内容)。

C:\Documents and Settings\new>D:D:\>CD MASMD:\MASM>EDIT TEXT.ASM进入编辑程序,在其环境下输入编好的源程序,然后在盘上生成一个扩展名为.asm的文件。

程序示例DATA SEGMENTDA1 DB 10H,20H,30H,40HDA2 DB 0F0H,0B0H,0A0H,90HDA3 DB 00H,00H,00H,00HDATA ENDSSTACK1 SEGMENT PARA STACKDB 10 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV AL,[DA1]ADD AL,[DA2]MOV [DA3],ALMOV AL,[DA1+1]ADC AL,[DA2+1]MOV [DA3+1],ALMOV AL,[DA1+2]ADC AL,[DA2+2]MOV [DA3+2],ALMOV AL,[DA1+3]ADC AL,[DA2+3]MOV [DA3+3],ALCODE ENDSEND START3. 用宏汇编程序MASM,将扩展名为.ASM的源程序汇编成目标程序,即生成盘上扩展名为.OBJ的文件。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

微机原理与接口技术实验报告_5

微机原理与接口技术实验报告_5

实验二初级程序的编写与调试实验一、实验目的1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序.2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出.3、掌握各种寻址方法以及简单指令的执行过程.二、实验内容1.设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换.请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试.程序:MOV AX,3000MOV BX,5000MOV SP,2000PUSH AXPUSH BXPOP AXPOP BXHLT2.设DS=当前段地址,BX=0300H,SI=0002H请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入OAH,OBH,OCH,ODH,OEH.在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?-E 300 0A,0B,0C,0D,0E-AMOV BX,0300MOV SI,0002MOV AX,BXMOV AX,0304MOV AX,[0304]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI] HLT3.设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成. 程序:MOV AX,0002MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXMOV CL,1SHL AX,CLHLT实验四加法及判断程序的编写与调试一、实验目的1.熟练掌握编写汇编语言源程序的基本方法和基本框架.2.学会编写顺序结构,分支结构和循环结构的汇编程序3.掌握程序中数据的产生与输入输出的方法.二、实验内容1.用汇编语言编写一个加法程序:1325+9839请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出.程序:DATA SEGMENTDATA1 DB '5','2','3','1'DATA2 DB '9','3','8','9'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1LEA DI,DATA2MOV CX,4MOV AH,0 NEXT:MOV AL,[SI]ADC AL,[DI]ADC AL,AHMOV AH,0AAAADD AL,30HMOV [DI],ALINC DIINC SILOOP NEXTMOV CX,5ADD AH,30HMOV [DI],AH NEXT1:MOV DL,[DI]MOV AH,02INT 21HDEC DILOOP NEXT1MOV AH,4CHINT 21H CODE ENDSEND START2.假设有一组数据:5,-4,0,3,100,-51,请编写一程序,判断:每个数是否大于0?等于0?还是小于0?并输出其判断结果,即即:1当X>0Y=0当X=0-1 当X<0程序:DATA SEGMENTDATA1 DB 5, -4, 0 ,3,100,-51STRING1 DB'Y=1','$'STRING2 DB'Y=0','$'STRING3 DB'Y=-1','$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1MOV CX,6NEXT: MOV AL,[SI]CMP AL,0JZ NEXT1JNS NEXT2JS NEXT3NEXT1: MOV DX,OFFSET STRING2MOV AH,09HINT 21HJMP NEXT4NEXT2: MOV DX,OFFSET STRING1MOV AH,09HINT 21HJMP NEXT4NEXT3: MOV DX,OFFSET STRING3MOV AH,09HINT 21HNEXT4: INC SILOOP NEXTMOV AH,4CHINT 21HCODE ENDSEND START实验五大小写字母互换程序的编写与调试一、实验目的进一步熟悉汇编语言源程序的编写方法及宏汇编程序的使用方法二、实验内容设内存数据区有大小写混合英文ASCII码字母: ‘AbCdEfGChinaAgriculturalUniversity’。

微机原理实验报告样本

微机原理实验报告样本

实验一定时器/计数器实验一. 实验程序DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX,0PUSH AX;返回DOSMOV AX,DATAMOV DS,AX;初始DSMOV DX, 22bH ;控制字端口地址MOV AL, 00110111B ;定时器0工作在方式3,16位初值,BCD计数OUT DX,ALMOV DX, 228H ;计数通道0端口地址MOV AL,00HOUT DX,ALmov al,96h;初值9600H=9600out dx,alMOV DX,22BHMOV AL, 01010100B;定时器1工作在方式2,8位初值,二进制计数OUT DX,ALMOV DX,229H;计数通道1端口地址MOV AL,10H;初值10H=16OUT DX,ALJMP $CODE ENDSEND START二.实验连线及结果GATE0、GATE1--+5V, CLK0--153.6KHZ,OUT0--CLK1,OUT1--L1,CS8253--228H。

=153.6KHZ/9600=16HZfout0=16HZ/16=1HZfout1运行后可观察到LED1在不停闪烁,间隔周期为1秒。

实验二双色灯实验一. 实验程序DATA SEGMENTPB DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: POP DSMOV AX,OPUSH AX;返回DOAMOV DX,206H;控制字端口地址MOV AL,80H;A、B、C口全设置为方式0、输出 OUT DX,ALMOV DX,204H;C口端口地址MOV AL,0FFHOUT DX,AL ;全灭MOV DX,204H ;全红MOV AL,0FHOUT DX,ALMOV BX,7fH;延时参数CALL DLY;延时127tBG: MOV AL,5AH ;东西红,南北绿OUT DX,ALMOV BX,50HCALL DLY;延时50tMOV CX,03H;绿灯闪次数XH1: MOV AL,5FH ;东西红,南北灭OUT DX,ALMOV BX,10HCALL DLY;延时10tMOV AL,5AH ;东西红,南北绿OUT DX,ALMOV BX,10HCALL DLY;延时10tLOOP XH1;南北绿灯(灭→亮)重复CX次MOV AL,0AH ;东西红,南北黄OUT DX,ALMOV BX,20HCALL DLY;延时20tMOV AL,0A5H ; 东西绿,南北红OUT DX,ALMOV BX,50HCALL DLY;延时50tMOV CX,03;绿灯闪次数XH2: MOV AL,0AFH; 东西灭,南北红OUT DX,ALMOV BX,10HCALL DLY;延时10tMOV AL,0A5H; 东西绿,南北红OUT DX,ALMOV BX,10HCALL DLY;延时10tLOOP XH2;东西绿灯(灭→亮)重复CX次MOV AL,05H; 东西黄,南北红OUT DX,ALMOV BX,20HCALL DLY;延时20tJMP BGDLY PROC NEAR;延时子程序,延时t(假设BX=1) PUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCCDEC BXCMP BX,0JNE DDDPOP CXRETDLY ENDPCODE ENDSEND START二.实验连线及结果将DG1~DG4,DR1~DR4连至8255的PC0~PC7,CS8255--200H。

微机原理实验报告模版

微机原理实验报告模版

河南师范大学物理与信息工程学院上机实验报告课程名称:微机原理指导教师:张晋宇
日期:xxxx年xx月xx日星期四时间:19:00-22:00地点:物理学院305机房主机编号:305-289 2006级教育技术专业4班
姓名:xxxxxx学号:xxxxxxxxxx成绩:95
实验序号/总次数1/10实验一实验性质:验证性实验题目:熟悉VC环境
实验目的:熟悉软硬件环境,熟悉VC环境、做几个小练习实验环境:微机一台,windows操作系统,VC++6.0
实验内容:
必做内容:输出一个字符串”hello!”
选做内容:输入三个数a,b,c,并按从小到大的顺序输出。

流程图:有要求时请画出
源程序清单:

调试过程与实验结果:
测试数据:
实验结果:
心得体会:
怎么样进入编辑状态?
编译是什么?

教师批语:

本行以下内容上交实验报告时请删掉,否则影响成绩。

心得体会的写法:心得体会是必须要写的。

可:回答教师指定的问题
可:
对实验结果进行解释和分析:如果结果和预期的结果一样,那么说明你可以掌据了什么?(实验结果有何意义?说明了什么问题?)如果结果不一样,为什么?以后实验应注意什么。

可:写一些本次实验的心得,自己想说什么就说什么,谈自己的理解。

可:提出一些问题、建议、改进意见
心得体会是对基本概念、基本规律、基本理论的理解、要注意简练并能说清本质。

2007级教育技术专业的学生请将实验报告交至
hsdjyjs2007@
邮件主题:为姓名实验序号
即谁的实验报告,第几份
汇编语言实用子例程。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验一,微机原理实验。

1. 实验目的。

本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。

3. 实验步骤。

(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。

(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。

(3)了解存储器与I/O接口的基本概念和工作原理。

(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。

通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。

实验二,接口技术实验。

1. 实验目的。

本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。

3. 实验步骤。

(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。

(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。

(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。

(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。

通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。

总结。

通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。

希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。

微机原理实验报告参考模板

微机原理实验报告参考模板

实验报告课程名称微型计算机原理原理与接口技术实验项目系统认识实验实验仪器TD-PITE实验装置、PC机一台学院___城市轨道交通学院_ ___专业10控制工程学号学生姓名二○一二年十一月实验一:系统认识实验一、实验目的1.掌握TD系列微机原理及接口技术教学实验系统的操作。

2.熟悉wmd86联机集成开发调试软件的操作环境。

二、实验内容1.编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。

2.编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。

通过调试验证程序功能,使用E命令修改3500H 单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。

三、实验源程序1. SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: PUSH DSXOR AX, AXMOV DS, AXMOV SI, 3000H ;建立数据起始地址MOV CX, 16 ;循环次数AA1: MOV [SI], ALINC SI ;地址自加1INC AL ;数据自加1LOOP AA1MOV AX,4C00HINT 21H ;程序终止CODE ENDSEND START2.SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:SSTACKSTART: PUSH DSXOR AX,AXMOV DS,AXMOV SI, 3500H ;建立源地址指针MOV DI,3600H ;建立目标地址指针CLDMOV CX, 8 ;循环次数REP MOVSB ;重复每次传入1个字节INT 21H ;程序终止CODE ENDSEND START四.实验结果1.运行前:运行后:2. 用E命令修改3500H数据:修改后3500H单元开始8个数据:运行后3600H单元开始8个数据:友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

微机原理实验总结(共5篇)

微机原理实验总结(共5篇)

微机原理实验总结(共5篇)第一篇:微机原理实验总结微机原理实验总结不知不觉,微机原理与接口技术实验课程已经结束了。

回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多。

本学期我们在老师的带领下,进行了微机原理实验六到十这五组实验。

它们分别是:实验六8255 PA口控制PB口实验目的掌握单片机系统中扩展外围芯片的方法,了解8255 芯片的结构及编程方法。

实验内容用 8255 PA 口作开关量输入口,PB 口作输出口。

实验步骤1、用8 芯线将8 255 PA口接至开关Kl~K8,PB口接至发光二极管L1~L8;2、运行程序 HW06.ASM,拨动开关K1~K8,观察L1~L8发光二极管是否对应点亮。

实验七8255控制交通灯实验目的进一步了解8 255 芯片的结构及编程方法,学习模拟交通控制的实现方法。

实验内容用8255 做输出口,控制六个发光二极管燃灭,模拟交通灯管理。

实验步骤1、用双头线将8 255 PA0~PA2 口接至发光二极管L3~L1,PA3~PA5口接至发光二极管L7~L5;2、执行程序HW07.ASM,初始态为四个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

实验八简单I /O口扩展实验目的学习单片机系统中扩展简单I/O 口的方法;学习数据输入输出程序的编制方法。

实验内容利用74LS244 作为输入口,读取开关状态,并将此状态,通过74LS273再驱动发光二极管显示出来。

微机原理实验报告

微机原理实验报告

微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。

实验一,微机系统组成及工作原理。

1.1 微机系统的组成。

微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。

其中,CPU是微机系统的核心部件,负责控制整个系统的运行。

1.2 微机系统的工作原理。

微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。

CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。

实验二,微机系统的组装和调试。

2.1 微机系统的组装。

在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。

组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。

2.2 微机系统的调试。

组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。

通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。

实验三,微机系统的应用。

3.1 微机系统的应用领域。

微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。

在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。

3.2 微机系统的发展趋势。

随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。

未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。

结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。

这对我今后的学习和工作将有很大的帮助。

微机原理实验报告_5

微机原理实验报告_5

《微机原理与接口技术》实验报告实验名称:数模(D /A)转换学院:信息科学技术学院专业:电子信息工程班级:2009级理科实验班学号:20091613310032姓名:姬晓鹏2011年12月20日一、实验目的1、熟悉DAC0832数模转换器的特性和接口方法。

2、掌握D/A输出程序的设计和调试方法。

二、实验原理1、DAC0832的结构DAC0832是用先进的CMOS工艺制成的双列直插式单片8位D/A转换器。

它可以直接和8088CPU相接口。

它采用二次缓冲方式(有两个写信号WR1、WR2),这样可以在输出的同时,采集下一个数字量,以提高转换速度。

而更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。

它的主要技术参数如下:分辨率为8位,电流建立时间为1μs,单一电源5V-15V直流供电,可双缓冲、单缓冲或直接数据输入。

2、DAC0832引脚功能✧DI0-DI7:数据输入线,TTL电平,有效时间应大于90ns(否则锁存的数据会出错)。

✧ILE:数据锁存允许控制信号输入线,高电平有效。

✧/CS:片选信号输入线,低电平有效。

✧/WR1:输入锁存器写选通输入线,负脉冲有效(脉宽应大于500ns)。

当/CS为“0”、ILE为“1”、/WR1为“0”时,DI0-DI7状态被锁存到输入锁存器。

✧/XFER:数据传输控制信号输入线,低电平有效。

✧/WR2:DAC寄存器写选通输入线,负脉冲有效(脉宽应大于500ns)。

当/XFER为“0”且/WR2有效时,输入锁存器的状态被传送到DAC寄存器中。

✧Iout1:电流输出线,当输入为全1时Iout1最大。

✧Iout2:电流输出线,其值和Iout1值之和为一常数。

✧Rfb:反馈信号输入线,改变Rfb端外接电容器值可调整转换满量程精度。

✧Vcc:电源电压线,Vcc范围为+5V~+15V。

✧VREF:基准电压输入线,VREF范围为-10V~+10V。

✧AGND:模拟地。

✧DGND:数字地。

微机原理实验【范本模板】

微机原理实验【范本模板】

软件实验一实验内容在数据区定义字母数字串,分别统计数字、大写字母、小写字母个数,分别存放在SHUZI、DAXIE、XIAOXIE单元中。

多次统计,记录统计结果。

实验要求在熟悉wave 6000编程环境的基础上,完成上述源程序的输入、汇编、修改、运行等实验步骤,直到程序执行得到正确结果为止.熟练掌握单步运行、断点设置、自动运行、寄存器内容,数据区内容查看等程序调试技术。

DATA SEGMENTBUF DB 'DADD\545s。

’COUNT EQU $-BUFORG 0020HSHUZI DB 00HDAXIE DB 00HXIAOXIE DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV CL,COUNTXOR CH,CHLEA SI,BUFCLDGET:LODSBCMP AL,30HJB OTHERCMP AL,39HJA NEXT1INC SHUZIJMP OTHERNEXT1:CMP AL,41HJB OTHERCMP AL,5AHJA NEXT2INC DAXIEJMP OTHERNEXT2:CMP AL,61HJB OTHERCMP AL,7AHJA OTHERINC XIAOXIEOTHER:LOOP GETMOV AH,4CHINT 21HCODE ENDSEND START软件实验三实验内容将内存区定义的字母数字串的统计结果以16进制形式显示出来,显示格式为: The Nembers of Digital is:XXHThe Nembers of Capital Letters is:XXHThe Nembers of Small Letters is:XXH程序要求:1、二进制转十六进制并显示的功能由BTOHDSP实现2、回车换行用CRLF宏指令实现3、字符H的显示用OUTPUT宏指令实现4、提示信息的显示用宏INOUT宏指令实现实验要求:调试程序,直到正确实现所要求的功能。

微机原理实验报告

微机原理实验报告

微机原理实验报告
一、实验目的
本次实验的主要目的是了解微机原理、学习微机的基础知识、技能和操作方法,还有熟悉微机实验室的使用方法。

二、实验过程
在实验室中,我们首先进行了掌握微处理器的基本指令集和编程技巧的实验。

通过对微处理器的学习,我们了解到了微处理器的组成结构和工作原理,同时也了解了微处理器的基础指令集,包括数据的传送、算术、逻辑、分支、循环指令等等。

接着我们进行了CPU总线实验。

通过对CPU总线的学习,我们了解了CPU读写内部和外部存储器的方法和原理。

同时,我们学习了编写程序来控制CPU读写存储器等。

最后,我们进行了8255并行接口控制实验。

通过学习并实践8255并行接口控制实验,我们了解了接口及其编程。

三、实验结果
在实验中,我们成功地掌握了微处理器的基本指令集和编程技巧,了解了微处理器的组成结构和工作原理,同时掌握了CPU总
线实验和8255并行接口控制实验。

在实验中不仅增长了专业知识,而且也培养了我们的实验能力,并进一步增强了我们的实践能力。

四、实验心得
通过这次实验,我们意识到,要想成为一名优秀的计算机专业
人才,必须首先打牢微机原理的基础,通过大量的实践和实验,
来应用理论知识,深入了解计算机底层的数据处理方式以及处理
器和存储器的工作原理。

只有这样才能够在日后工作中运用自如,并且在以后的学习和研究中更具备竞争力。

在以后的学习中,我将持续学习和实践,不断探索和发现,提
升自身的能力,为未来的发展做好充分的准备。

北航微机原理实验报告3

北航微机原理实验报告3

微机原理实验报告(3)一、实验名称七段数码显示二、实验目的掌握接口芯片的编址方法,掌握8255的初始化设置,及数码管显示原理,掌握段控及位控的概念。

三、实验内容连接地址译码器与8255的连线及8255与数码管的连线;在数据段中存放0到9的字型码;从微机键盘键入2个数字的ASCII码,在输入过程中检查如非数字则重新输入;然后将输入的ASCII码变成相应的数字,再利用换码指令XLAT查表得到相应的字型码;将字型码送到8255输出口所接的数码管上显示。

四、程序流程图:(见末页)五、实验结论:符合预期,输入2个数字,七段数码管显示这两个数字。

六、实验心得七段数码显示作为第一次硬件实验,虽然程序不难,但是在实验过程中还是遇到了不少这样或者那样的问题。

主要问题还是集中在硬件方面。

程序方面,上机之前我已经完成了程序的编写,在实验室用了大概20分钟进行了调试,消除了7个编程中的错误。

但是进行编译运行后,数码管始终无法显示正确的数字。

在确定程序无误后,我只能逐一排查运行失败的原因。

我首先检查了硬件连线,并且将优盘从主机上拔下,将影响因素尽量消除,但是仍然无法得到正确的结果。

接着我换来了已经完成实验的同学的实验箱,重新编译运行,数码管依旧无法正确显示。

最后不得已,我又换了一台电脑,编译运行同样的程序用同一个实验箱,终于获得了正确的结果。

实验后我思考了一下问什么会出现这种问题,我觉得可能是用于计算机与实验箱相连的扁平接线有问题才导致数码管始终无法正常工作。

这次实验过后,对于微机原理知识来说我并没有太多的收获,毕竟做到第三次实验,编写程序和软件的应用都已经轻车熟路了。

但是通过遇到上述的这个问题,我在分析问题、解决问题方面的能力有所提高。

这就是我这次最大的收获。

七、实验程序:INPORTA EQU 0EF00H-280H+288HINPORTB EQU 0EF00H-280H+289HINPORTC EQU 0EF00H-280H+28AHINPORTCRL EQU 0EF00H-280H+28BHSTACK SEGMENT STACKDW 100 DUP(?)STACK ENDSDATA SEGMENTFIGURE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH X DB 2 DUP(?)STRING DB 'PLEASE ENTER TWO NUMBERS:' , 0DH, 0AH, '$' DATA ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK, DS:DATAMAIN PROCMOV AX,DATAMOV DS,AXMOV SI, OFFSET XMOV DX, OFFSET STRINGMOV AH, 9INT 21HCALL KEYINAND DL, 0FHMOV [SI], DLINC SICALL KEYINAND DL, 0FHMOV [SI], DLMOV DX, INPORTCRLMOV AL, 10000010BOUT DX, ALMOV BX, OFFSET FIGURENEXT1: MOV DX, INPORTAMOV SI, OFFSET XMOV AL, [SI+1]XLATOUT DX, ALMOV DX, INPORTCMOV AL, 01B; PC1=0,PC0=1OUT DX, ALCALL DELAYMOV DX, INPORTAMOV SI, OFFSET XMOV AL, [SI]XLATOUT DX, ALMOV DX, INPORTCMOV AL, 10B; PC1=1,PC0=0OUT DX, ALCALL DELAYMOV DL,0FFHMOV AH,6INT 21HJZ NEXT1MOV AH,4CHINT 21HMAIN ENDPKEYIN PROCAGAIN: MOV AH, 8INT 21HCMP AL, 30HJB AGAINCMP AL, 39HJA AGAINMOV DL, ALMOV AH, 2INT 21HRETKEYIN ENDPDELAY PROCPUSH BXPUSH CXMOV BX,100MOV CX,0NEXT2:LOOP NEXT2DEC BXJNZ NEXT2POP CXPOP BXRETDELAY ENDPCODE ENDSEND MAIN流程图:开始将数码管的字型码存入数据段从键盘输入2个数字输入数字存入数据段N设置8255控制字Y取数据段取个位数字偏移地址送入AL 寄存器设置8255A 口工作方式:将字型码输出至A 口利用XLAT 指令查得该数字所对应的字型码判断输入是否为2个数字Y初始化设置8255C 口工作方式:使PC1置0,PC0置1调用延时子程序取数据段取十位数字偏移地址送入AL 寄存器设置8255A 口工作方式:将字型码输出至A 口设置8255C 口工作方式:使PC1置1,PC0置0 检查是否有键按下调用延时子程序返回DOSNY。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一8259中断实验一、实验目的1.掌握PC机中断处理系统的基本原理。

2.掌握外部扩展中断源的设计方法。

3.学会编写中断服务程序。

二、实验原理PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。

三、实验内容实验要求实现8259控制器的IR1、IR3两路中断都可以通过IRQ向PC机发起中断请求,用SP1、SP2单次脉冲模拟两个中断源。

IR1中断时,在它的中断服务程序中编程显示“IR1 OK AND EXIT!”;IR3中断时,在它的中断服务程序中编程显示“IR3 OK AND EXIT!”。

采用查询方式完成。

图1-1 扩展中断电路五、实验程序data segmentmsg1 db 0dh,0ah,'DVCC pci card Interrupt',0dh,0ah,'$'msg2 db 0dh,0ah,'Press any key to exit!',0dh,0ah,'$'msg3 db 0dh,0ah,'IR1 ok and exit!',0dh,0ah,'$'msg4 db 0dh,0ah,'IR3 ok and exit!',0dh,0ah,'$'msg5 db 0dh,0ah,'ok!',0dh,0ah,'$'data endsstacks segmentdb 100 dup (?)stacks endsioport equ 0ff00h-0280hMY8259_ICW1 EQU ioport +280H ;实验系统中8259的ICW1端口地址MY8259_ICW2 EQU ioport +281H ;实验系统中8259的ICW2端口地址MY8259_ICW3 EQU ioport +281H ;实验系统中8259的ICW3端口地址MY8259_ICW4 EQU ioport +281H ;实验系统中8259的ICW4端口地址MY8259_OCW1 EQU ioport +281H ;实验系统中8259的OCW1端口地址MY8259_OCW2 EQU ioport +280H ;实验系统中8259的OCW2端口地址MY8259_OCW3 EQU ioport +280H ;实验系统中8259的OCW3端口地址code segmentassume cs:code,ds:data,ss:stacks,es:datastart:mov ax,datamov ds,axmov es,axmov ax,stacksmov ss,axmov ax,datamov ds,axmov dx,offset msg1mov ah,09hint 21hstart1: MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1MOV AL,13H ;13h ;边沿触发、单片8259、需要ICW4 OUT DX,ALMOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2MOV AL,08HOUT DX,ALMOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4MOV AL,09H ;非自动结束EOIOUT DX,ALMOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1MOV AL,0F5H ;打开IR1和IR3的屏蔽位OUT DX,ALQUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3发送查询命令MOV AL,0CHOUT DX,ALNOPNOPNOPNOPNOPMOV DX,MY8259_OCW3IN AL,DX ;读出查询字TEST AL,80H ;判断中断是否已响应JZ QUERY ;没有响应则继续查询and al,07hCMP AL,01HJE IR1ISR ;若为IR1请求,跳到IR1处理程序CMP AL,03HJE IR3ISR ;若为IR3请求,跳到IR3处理程序JMP EOIQUERY1: mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz start1 ;若无,则继续mov ah,4ch ;否则返回int 21hIR1ISR: mov dx,offset msg3 ;IR1处理,显示字符串'IR1 ok and exit' mov ah,09hint 21hJMP EOIIR3ISR: mov dx,offset msg4 ;IR3处理,显示字符串'IR3 ok and exit' mov ah,09hint 21hEOI: MOV DX,MY8259_OCW2 ;向实验系统中8259发送中断结束命令MOV AL,20HOUT DX,ALnopnopnopnopnopjmp start1code endsend start六、实验结果当按下SP1时,屏幕上显示IR1 OK AND EXIT!当按下SP2时,屏幕上显示IR3 OK AND EXIT!七、实验中遇到的问题及解决方法这个实验比计较简单,但在修改程序是要注意,最开始时由于修改失误每次屏幕上出现屏幕上显示IR1 OK AND EXIT!或屏幕上显示IR3 OK AND EXIT!都是一闪而过,后来经过认真比对终于修改成功。

实验二 8255及综合一、实验目的掌握8255方式0的工作原理及使用方法。

二、实验原理实验电路如图,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

图2-1三、实验内容1.1)编程从8255C口输入数据,再从A口输出;2)编程从8255A口输入数据,再从B口输出;3)编程从8255B口输入数据,再从A口输出。

2.将8255与8259结合起来。

当程序响应IR1中断时候,发光二极管的高四位灭(或亮),同时屏幕显示“IR1 ok and exit”,当程序响应IR3中断时候,发光二极管的低四位灭(或亮),同时屏幕显示“IR13ok and exit”。

四、实验流程图五、实验程序1、1、C口入,A口出ioport equ 0ff00h-0280hio8255a equ ioport+288h ;Aio8255b equ ioport+289h ;Bio8255c equ ioport+28ah ;Cio8255d equ ioport+28bh ;控制code segmentassume cs:codestart: mov dx,io8255d ;设8255为c口输入,a输出mov al,89hout dx,alinout: mov dx,io8255c ;从C输入一数据in al,dxmov dx,io8255a ;从A输出刚才自Cout dx,al ;所输入的数据mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz inout ;若无,则继续自b输入,C输出mov ah,4ch ;否则返回int 21hcode endsend start2.A口入,B口出ioport equ 0ff00h-0280hio8255a equ ioport+288h ;Aio8255b equ ioport+289h ;Bio8255c equ ioport+28ah ;Cio8255d equ ioport+28bh ;控制code segmentassume cs:codestart: mov dx,io8255d ;设8255为a口输入,b输出mov al,90hout dx,alinout: mov dx,io8255a ;从a输入一数据in al,dxmov dx,io8255b ;从b输出刚才自aout dx,al ;所输入的数据mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz inout ;若无,则继续自b输入,C输出mov ah,4ch ;否则返回int 21hcode endsend start3.B入,C出ioport equ 0ff00h-0280hio8255a equ ioport+288h ;Aio8255b equ ioport+289h ;Bio8255c equ ioport+28ah ;Cio8255d equ ioport+28bh ;控制code segmentassume cs:codestart: mov dx,io8255d ;设8255为a口输入,b输出mov al,82hout dx,alinout: mov dx,io8255b ;从b输入一数据in al,dxmov dx,io8255bc ;从c输出刚才自bout dx,al ;所输入的数据mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz inout ;若无,则继续自b输入,C输出mov ah,4ch ;否则返回int 21hcode endsend start2、8255与8259的结合程序data segmentmsg1 db 0dh,0ah,'DVCC pci card Interrupt',0dh,0ah,'$'msg2 db 0dh,0ah,'Press any key to exit!',0dh,0ah,'$'msg3 db 0dh,0ah,'IR1 ok and exit!',0dh,0ah,'$'msg4 db 0dh,0ah,'IR3 ok and exit!',0dh,0ah,'$'msg5 db 0dh,0ah,'ok!',0dh,0ah,'$'data endsstacks segmentdb 100 dup (?)stacks endsioport equ 0a400h-0280hMY8259_ICW1 EQU ioport +280H ;实验系统中8259的ICW1端口地址MY8259_ICW2 EQU ioport +281H ;实验系统中8259的ICW2端口地址MY8259_ICW3 EQU ioport +281H ;实验系统中8259的ICW3端口地址MY8259_ICW4 EQU ioport +281H ;实验系统中8259的ICW4端口地址MY8259_OCW1 EQU ioport +281H ;实验系统中8259的OCW1端口地址MY8259_OCW2 EQU ioport +280H ;实验系统中8259的OCW2端口地址MY8259_OCW3 EQU ioport +280H ;实验系统中8259的OCW3端口地址io8255a EQU ioport+288h ;8255端口A地址io8255b EQU ioport+289h ;8255端口B地址io8255c EQU ioport+28ah ;8255端口C地址io8255 EQU ioport+28bh ;8255控制端口地址code segmentassume cs:code,ds:data,ss:stacks,es:datastart:mov ax,datamov ds,axmov es,axmov ax,stacksmov ss,axmov ax,datamov ds,axmov dx,offset msg1mov ah,09hint 21hstart1: MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1MOV AL,13H ;边沿触发、单片8259、需要ICW4OUT DX,ALMOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2MOV AL,08HOUT DX,ALMOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4 ;ICW4为什么设置为B,缓冲方式,从片?MOV AL,09H ;非自动结束EOIOUT DX,ALMOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1MOV AL,0F5H ;打开IR1和IR3的屏蔽位OUT DX,ALstart2: mov dx,io8255mov al,80h ;初始化8255 A端口方式0输出out dx,almov dx,io8255amov al,0ffh ;首先初始化使8个LED灯全亮out dx,alQUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3发送查询命令MOV AL,0CHOUT DX,ALNOPNOP ;NOP?NOPNOPNOPMOV DX,MY8259_OCW3IN AL,DX ;读出查询字TEST AL,80H ;判断中断是否已响应JZ QUERY ;没有响应则继续查询and al,07hCMP AL,01HJE IR1ISR ;若为IR1请求,跳到IR1处理程序CMP AL,03HJE IR3ISR ;若为IR3请求,跳到IR3处理程序JMP EOIQUERY1: mov dl,0ffh ;判断是否有按键;QUERY1无法执行,去掉EOI的最后一句jmp start1 放在EOI之后是否可以?mov ah,06h ;AH=06的中断用于判断是否有按键,如何使用?程序中只需放置一处即可?int 21hjz start1 ;若无,则继续mov ah,4ch ;否则返回int 21hIR1ISR: mov dx,io8255 ;IR1处理,使LED灯的低四位灭mov al,90hout dx,almov dx,io8255ain al,dxmov bl,aland bl,0f0hmov dx,io8255mov al,80hout dx,almov dx,io8522amov al,blout dx,alJMP EOIIR3ISR: mov dx,io8255 ;IR1处理,使LED灯的高四位灭mov al,90hout dx,almov dx,io8255ain al,dxmov bl,aland bl,0fhmov dx,io8255mov al,80hout dx,almov dx,io8522amov al,blout dx,alJMP EOIEOI: MOV DX,MY8259_OCW2 ;向实验系统中8259发送中断结束命令MOV AL,20HOUT DX,ALnopnopnopnopnopjmp start1code endsend start六、实验结果1、开始灯全亮,当按下L0时,L0灯灭;按下K1时,L1灯灭……2、当按动SP1时,二极管前四个灯亮,屏幕显示“IR1 ok and exit”,当按动SP2时,二极管后四个灯亮,屏幕显示“IR3 ok and exit”。

相关文档
最新文档