微机原理实验报告
- 格式:doc
- 大小:1.97 MB
- 文档页数:57
滨江学院微机原理综合实验实验报告学生姓名学号专业信息工程班级2016级二O一八年十二月三十日微机原理综合实验实验一利用DEBUG调试程序调试程序段1、实验目的1)熟悉DEBUG有关命令的使用方法。
2)利用DEBUG掌握有关指令的功能。
3)利用DEBUG运行简单的程序段。
2、实验内容1)进入和退出DEBUG程序。
2)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U命令、N命令、W命令等,也应试一下。
3)利用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。
3、实验准备1)仔细阅读有关DEBUG命令的内容,对有关命令,都要事先准备好使用的例子。
2)作为例子,准备用A命令,输入在显示器上显示字符“S”的系统调用程序段。
3)阅读将AX左移9位的程序段。
4、实验步骤1)在DOS提示符下,进入DEBUG程序。
2)在DOS目录下启动DEBUG。
3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。
5、实验报告要求1)如何启动和退出DEBUG程序。
2)整理每个DEBUG命令使用的方法,实际示例及执行结果。
3)启动DEBUG后,要装入某一个.EXE文件,应通过什么方法实现?实验结果:实验二分支程序实验1、实验目的1)掌握分支程序的设计方法。
2)掌握利用DEBUG修改参数、检查结果的方法。
3)掌握汇编语言源程序的编辑、汇编、连接及调试过程。
2、实验内容1)编写一个程序,显示AL寄存器中的两位十六进制数2)编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z 或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。
3、实验准备1)编写实验内容要求的两个程序。
2)写出调试以上程序,即修改程序参数,检查结果的操作方法。
3)熟悉源程序汇编、连接命令的使用方法即要回答的内容。
微机原理实习报告一、实习目的与意义本次微机原理实习旨在让我们更好地理解和掌握微机原理的基本知识,培养我们动手能力和实际操作技能,提高我们的综合素质和工程实践能力。
二、实习内容与过程在实习过程中,我们主要学习了微机原理的基本知识,包括微机系统组成、微处理器结构、指令系统、存储器、输入输出接口等方面。
同时,我们还进行了实际的操作,包括编程、电路连接、故障排查等。
具体来说,我们首先学习了微机系统组成,了解了微机系统的基本构成和各部分的作用。
然后,我们学习了微处理器结构,了解了微处理器的内部结构和各部分的功能。
接着,我们学习了指令系统,了解了指令的格式和分类,并学会了编写简单的程序。
此外,我们还学习了存储器和输入输出接口,了解了存储器的分类和特点,以及输入输出接口的功能和应用。
在实际操作方面,我们首先学习了编程,掌握了基本的编程语言和编程方法。
然后,我们进行了电路连接,学会了使用电子仪器和工具,了解了电路连接的方法和注意事项。
最后,我们进行了故障排查,学会了诊断和解决电子设备中常见的问题。
三、实习成果与收获通过本次实习,我深入理解了微机原理的基本知识,掌握了微机系统组成、微处理器结构、指令系统、存储器、输入输出接口等方面的知识。
同时,我也提高了自己的动手能力和实际操作技能,学会了编程、电路连接、故障排查等实际操作。
通过本次实习,我深刻认识到了微机原理在现代工程中的重要性,也体会到了工程实践的乐趣和意义。
我相信,本次实习对我的专业学习和未来的工程实践都将产生积极的影响。
四、实习总结本次微机原理实习让我受益匪浅,不仅让我掌握了微机原理的基本知识,也提高了我的动手能力和实际操作技能。
同时,我也深刻认识到了微机原理在现代工程中的重要性。
我相信,这次实习对我的学习和未来的工作都将产生积极的影响。
实验一汇编语言的编译、链接和调试一、实验目的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. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。
四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。
微机原理实验报告班级:指导老师:学号:姓名:实验一两个多位十进制数相加的实验一、实验目的学习数据传送和算术运算指令的用法熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。
二、实验内容将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
三、程序框图图3-1四、参考程序清单DATA SEGMENTDATA1 DB 33H,39H,31H,37H,34H;被加数DATA1END EQU $-1DATA2 DB 34H,35H,30H,38H,32H;加数DATA2END EQU $-1SUM DB 5 DUP(?)DATA ENDSSTACK SEGMENTSTA DB 20 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AXMOV SI,OFFSET DATA1ENDMOV DI,OFFSET DATA2ENDCALL ADDAMOV AX,4C00HINT 21HADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05HAD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30HDEC SIDEC DIDEC BXJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05HCLCAD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BLAAAMOV [SI],ALDEC SIDEC DILOOP AD2MOV SI,DXMOV DI,BPMOV BX,05HAD3: ADD BYTE PTR [SI],30HADD BYTE PTR [DI],30HDEC SIDEC DIDEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START五、实验结果与分析这次实验依次将相加数与被加数存入AL,BL,依次从低位向高位相加,然后把结果放在内存中。
软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。
二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。
三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开CPU窗口,观察CPU窗口各寄存器的变化。
打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。
在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。
2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。
3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。
4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。
5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。
四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。
微机原理实验总结微机原理实验总结一、实验目的和背景:微机原理实验是计算机科学与技术专业的一门重要实验课程,通过该实验能够加深对微机原理的理论知识的理解,同时也提供了锻炼实验技能和培养解决问题能力的机会。
本次实验主要通过实际操作来学习CPU的工作原理,了解计算机的组成和运行过程,并通过搭建系统、调试和测试,加深对计算机工作原理的理解。
二、实验内容:本次实验主要包括以下几个模块的实验内容:1. 实验器材和器件的测试与调试;2. CPU运行状态及信号测试;3. 总线状态测试;4. 存储器的组织和访问方式测试;5. 输入输出接口测试。
三、实验方法和步骤:1. 实验器材和器件的测试与调试在进行实验之前,首先需要对实验器材和器件进行测试和调试,确保器材和器件的正常工作。
具体步骤如下:a. 检查硬件连接是否正确,包括主板、显示器、键盘等部件;b. 检查排线是否插好,开关是否处于正确的位置;c. 将电源插上,开机检查电源是否工作正常;d. 按照实验要求进行相应的仪器设备的调试。
2. CPU运行状态及信号测试通过搭建CPU运行测试电路,观察和测试CPU的运行状态和输出信号。
具体步骤如下:a. 按照实验要求搭建电路,包括主板、CPU、存储器、时钟等;b. 打开电源,上电后等待系统启动,观察CPU的运行状态;c. 使用示波器进行信号测试,观察时钟信号、读写信号、控制信号等。
3. 总线状态测试通过搭建总线状态测试电路,观察和测试总线的状态。
具体步骤如下:a. 按照实验要求搭建电路,包括总线、存储器等;b. 在开关电源的同时观察总线上的信号变化;c. 使用示波器进行信号测试,观察总线控制信号、数据信号等。
4. 存储器的组织和访问方式测试通过搭建存储器组织和访问方式测试电路,观察和测试存储器的组织和访问方式。
具体步骤如下:a. 按照实验要求搭建电路,包括存储器、地址线、数据线等;b. 打开电源,上电后等待系统启动;c. 运行程序,观察存储器的读写操作;d. 使用示波器等设备进行信号测试,观察地址信号、数据信号等。
实验名称:汇编语言程序设计实验日期:2023年3月10日实验地点:计算机实验室实验者:张三一、实验目的1. 熟悉汇编语言的基本语法和指令系统。
2. 掌握汇编语言程序设计的基本方法。
3. 通过实验,加深对微机原理的理解。
二、实验内容本次实验主要涉及以下内容:1. 数据传送指令的应用2. 算术运算指令的应用3. 控制转移指令的应用4. 子程序设计三、实验步骤1. 编写一个简单的程序,实现以下功能:(1)将数据0x1234存入寄存器AX;(2)将数据0x5678存入寄存器BX;(3)计算AX和BX的乘积,并将结果存入寄存器DX;(4)将乘积的高16位和低16位分别存入寄存器CX和AX。
2. 编写一个程序,实现以下功能:(1)将数据0x1A2B3C4D存入内存单元[0x1000];(2)从内存单元[0x1000]开始,读取连续4个字节的数据;3. 编写一个程序,实现以下功能:(1)定义一个子程序,实现两个整数的加法运算;(2)在主程序中调用该子程序,实现两个整数的加法运算。
四、实验结果与分析1. 数据传送指令的应用(1)将数据0x1234存入寄存器AX;MOV AX, 0x1234(2)将数据0x5678存入寄存器BX;MOV BX, 0x5678(3)计算AX和BX的乘积,并将结果存入寄存器DX;MUL BX(4)将乘积的高16位和低16位分别存入寄存器CX和AX; MOV CX, DXMOV AX, DX2. 算术运算指令的应用(1)将数据0x1A2B3C4D存入内存单元[0x1000];MOV [0x1000], 0x1A2B3C4D(2)从内存单元[0x1000]开始,读取连续4个字节的数据; MOV AX, [0x1000]MOV BX, [0x1000+2]MOV CX, [0x1000+4]MOV DX, [0x1000+6]MOV AH, 0x0EINT 0x103. 控制转移指令的应用(1)定义一个子程序,实现两个整数的加法运算;ADD procedure:ADD AX, BXRET(2)在主程序中调用该子程序,实现两个整数的加法运算;MOV AX, 0x1MOV BX, 0x2CALL ADDMOV CX, AX五、实验心得通过本次实验,我深刻理解了汇编语言的基本语法和指令系统,掌握了汇编语言程序设计的基本方法。
微机原理及应用实验报告微机原理及应用实验报告1. 引言微机原理及应用是计算机科学与技术专业的一门重要课程,通过该课程的学习和实验,我们可以深入了解微机的基本原理和应用技术。
本文将对我们进行的微机原理及应用实验进行详细报告,包括实验目的、实验内容、实验步骤、实验结果及分析等。
2. 实验目的本次实验的目的是通过实际操作,加深对微机原理的理解,掌握微机的基本组成和工作原理,以及学习并应用微机的常见应用技术。
3. 实验内容本次实验主要涉及以下内容:- 微机的基本组成和结构- 微机的工作原理- 微机的存储器和输入输出设备- 微机的指令系统和编程技术4. 实验步骤4.1 实验一:微机的基本组成和结构在这个实验中,我们首先学习了微机的基本组成和结构,包括中央处理器、存储器、输入输出设备等。
通过观察实际的微机硬件设备,我们对微机的组成有了更加直观的认识。
4.2 实验二:微机的工作原理在这个实验中,我们学习了微机的工作原理,包括指令的执行过程、中央处理器的工作原理等。
通过实际操作,我们对微机的工作过程有了更加深入的理解。
4.3 实验三:微机的存储器和输入输出设备在这个实验中,我们学习了微机的存储器和输入输出设备的原理和应用。
通过实际操作,我们了解了存储器的读写过程,以及输入输出设备的工作原理。
4.4 实验四:微机的指令系统和编程技术在这个实验中,我们学习了微机的指令系统和编程技术。
通过实际编写和执行简单的汇编语言程序,我们掌握了微机的编程技术,并了解了指令的执行过程。
5. 实验结果及分析通过以上实验,我们对微机的原理和应用有了更加深入的理解。
我们通过实际操作,掌握了微机的基本组成和结构,了解了微机的工作原理,熟悉了微机的存储器和输入输出设备,掌握了微机的指令系统和编程技术。
这些知识和技能对我们今后的学习和工作都具有重要的意义。
6. 总结通过本次微机原理及应用实验,我们深入了解了微机的基本原理和应用技术。
通过实际操作,我们对微机的组成和工作原理有了更加直观和深入的理解,掌握了微机的存储器和输入输出设备的原理和应用,以及微机的指令系统和编程技术。
实验题目8253定时/计数器实验 一、 实验目的与要求: 1. 学会8253芯片和微机接口原理和方法。
2. 掌握8253定时器/计数器的工作方式和编程原理。
二、 实验内容: 1、实验原理 本实验原理图如图 1所示,8253A 的A0、A1接系统地址总线 A0、A1,故8253A 本实验通道2 有四个端口地址,如端口地址表 1所示。
8253A 的片选地址为 48H~ 4FH 。
因此, 仪中的8253A 四个端口地址为 48H 、49H 、4AH 、4BH ,分别对应通道 0、通道1、 和控制字。
采用8253A 通道0,工作在方式3(方波发生器方式),输入时钟CLK0为 输出OUTO 要求为1KHZ 的方波,并要求用接在 GATE0引脚上的导线是接地("0" 甩空("1"电平)来观察GATE 对计数器的控制作用,用示波器观察输出波形。
2、实验线路连接 (1) 8253A 芯片的CLK0引出插孔连分频输出插孔 (2) 8253A 的 GATE0 接+5V 。
实验步骤 (1) 按图1连好实验线路(2) 运行实验程序 1. 按“调试”按钮2. 选“窗口” “进入示波器窗口” ,然后最小化3. 按“运行按钮”4.将模拟示波器窗口打开,选择“串行口 2”,再按 Ctrl + F2按钮即可看到波形 显示“ 8253-1 ”用示波器测量8253A 的OUT2输出插孔,方波输出,幅值0〜4V 三、实验代码: 1MHZ ,电平)或 3、 CODE SEGMENT ASSUME CS:CODE TCONTRO EQU 004BH TCON2 EQU 004AH CONT PORT EQU 00DFH DATA PORT EQU 00DEH DATA1 EQU 0500H START: JMP TCONT TCONT: CALL FORMATCALL LEDDIS P MOV DX,TCONTRO1MHZ 。
微机原理da实验报告实验介绍本实验是微机原理课程的实践环节,旨在通过组装和调试一个简单的微机原理实验板,加深对微机原理的理解和应用。
实验材料- 微机原理实验板x1- 电源线x1- 扁平电线x10- LED灯x5- 电阻x5- 开关x5- 七段数码管模块x1- 七段数码管驱动芯片x1- 逻辑开关芯片x1实验原理微机原理实验板是由微处理器、存储器、输入输出设备和系统总线等组成的微型计算机系统。
微机原理实验板通过连接各个器件和电路,利用微处理器来控制和操作其他设备,实现各种功能。
实验步骤1. 将微机原理实验板放在平整的工作台上,并且确定没有裸露的金属物体接触电路,以防止静电对电路的损害。
2. 使用扁平电线连接实验板和电源,注意正确连接正负极。
3. 将扁平电线连接到实验板上的开关模块,并确保开关处于关闭状态。
4. 连接LED灯和电阻,通过扁平电线将它们与开关模块连接起来。
5. 使用扁平电线将七段数码管模块和驱动芯片连接到实验板上的特定接口。
6. 检查所有连接并确保紧固可靠。
7. 打开电源,观察LED灯和七段数码管的显示效果。
8. 打开开关,观察LED灯是否亮起,七段数码管是否显示正确的数字。
实验结果经过实验,我们成功搭建了一个简单的微机原理实验板,并能够通过开关控制LED灯的亮灭和七段数码管的数字显示。
实验结果符合预期。
实验总结通过本次实验,我对微机原理有了更深入的理解。
通过组装和调试实验板,我掌握了实际操作微机原理的技能,对微型计算机系统的构成和工作原理有了更直观的认识。
通过观察实验结果,我进一步加深了对微处理器、存储器和输入输出设备的理解,并加深了对微机原理实验的兴趣。
实验心得微机原理实验板的搭建过程虽然简单,但要求仔细、耐心和细致。
在实验过程中,我发现了一些连接错误和接触不良的问题,通过排除故障并调整连接,最终解决了问题。
这让我懂得了在实际操作中需要仔细检查和耐心排查问题,以保证实验的顺利进行。
通过本次实验,我深刻认识到微机原理在现代计算机技术中的重要性,掌握了一些基本的电路组装和调试技巧,并体验了微机原理的实际应用。
微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。
实验一,微机系统组成及工作原理。
1.1 微机系统的组成。
微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。
其中,CPU是微机系统的核心部件,负责控制整个系统的运行。
1.2 微机系统的工作原理。
微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。
CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。
实验二,微机系统的组装和调试。
2.1 微机系统的组装。
在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。
组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。
2.2 微机系统的调试。
组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。
通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。
实验三,微机系统的应用。
3.1 微机系统的应用领域。
微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。
在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。
3.2 微机系统的发展趋势。
随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。
未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。
结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。
这对我今后的学习和工作将有很大的帮助。
第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)实现中断嵌套,即在定时器中断服务程序中再次触发按键中断。
微机原理实验报告 -回复实验报告:微机原理一、实验目的1. 学习微机原理的基本概念和工作原理;2. 了解微机硬件系统的组成和功能;3. 实际操作微机系统,掌握常见的微机指令格式和计算方法。
二、实验仪器和材料1. 个人电脑;2. 操作系统软件;3. 汇编语言开发环境。
三、实验内容1. 安装操作系统软件,确保系统正常运行;2. 学习并掌握微机硬件系统的主要组成部分,包括中央处理器(CPU)、内存、输入输出设备等;3. 编写并调试汇编语言程序,运行计算程序实现加减乘除等基本运算;4. 分析程序运行过程中的指令执行情况,如寄存器状态的变化;5. 实验过程中要注意安全操作,避免人为损坏实验设备。
四、实验结果与分析通过安装操作系统软件,我们确保了系统正常运行。
在学习微机硬件系统的组成和功能时,我们了解了中央处理器(CPU)的作用和主要组成部分,以及内存和输入输出设备的作用。
在编写和调试汇编语言程序的过程中,我们成功实现了加减乘除等基本运算,并通过分析程序运行过程中的指令执行情况,了解了寄存器状态的变化。
五、实验心得通过这次实验,我们更深入地了解了微机原理的基本概念和工作原理。
通过实际操作微机系统,我们掌握了常见的微机指令格式和计算方法。
实验过程中,我们加深了对微机硬件系统的理解,也学会了如何编写和调试汇编语言程序。
这次实验不仅提高了我们的实际操作能力,还培养了我们分析问题和解决问题的能力。
总之,通过这次微机原理实验,我们对微机系统有了更深入的了解,也掌握了更多实际应用的知识和技能。
这对我们今后学习和工作都会有很大的帮助。
实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉Tddebug调试环境和Turbo Debugger的使用。
二、实验所用设备1. PC微机一台。
三、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。
实验中可使用DOS功能调用(INT21H)。
(1) 显示单个字符输出入口:AH=02H调用参数:DL=输出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX=串地址,’$’为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=输出字符(4) 返回DOS系统入口:AH=4CH调用参数:AL=返回码四、实验步骤1.运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3.使用Rmrun菜单中的Run,运行程序,观察运行结果;4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5.更改数据区中的数据,考察程序的正确性。
图1-1 显示程序实验流程图五、参考程序清单六、实验报告内容及要求写出程序调试过程及运行情况。
1.将参考程序写入轻松汇编编辑框。
2.点击保存,然后编译,结果框显示编译成功。
3.点击生成,显示链接成功。
4.点击运行,显示如图:实验二数据传送实验一、实验目的1. 熟悉Tddebug调试环境和Turbo Debugger的使用;2. 掌握与数据有关的不同寻址方式。
二、实验所用设备1. PC微机一台。
三、实验内容将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
班级自动化学号姓名实验一系统认识实验一实验目的掌握教学系统的基本操作二实验设备PC机一台masm软件三实验内容及步骤(1)输入程序并检查无误,经汇编连接后装入系统(2)输入E3500后回车,在3500-3510单元中分别送入00~09十个数据(3)按“T“键运行以上程序直至程序运行完(4)输入D3600后回车,查看3600单元后面的数据四程序及其显示的结果(1)程序(2)显示的结果实验三运算类编程实验一实验目的(1)掌握使用运算类指令编程及调试方法(2)掌握运算类指令对各状态标志位的影响及其测试方法二实验设备PC一台masm软件三实验内容及步骤(1)二进制双精度加法运算(2)输入程序并检查无误,经汇编连接后装入系统(3)用U0000:2000查看MOV AX,DA TA的语句,即得到数据段段位置CS:1412用E命令E1412:0000回车,给XL,YL,YH赋值存入二进制数A0,65,15,00和9E,B7,21,00(4)用G=0000:2000,运行以上程序(5)输入D1412:0008,检验显示的结果是否为:3E,1D,17,00四实验程序五程序显示的结果实验四分支程序设计实验一实验目的:(1)掌握分支程序的结构(2)掌握分支程序的设计,调试方法二实验设备:PC机一台masm软件三实验内容设计一数据块间的搬移程序。
设计思想:程序要求把内存中一数据区传送到另一存储区。
源数据块和目的数据块在存储中可能有三种情况,对于两个分离的情况,数据的传送从数据块的首位置开始,或者从数据块的末位置开始。
但对于有部分重叠的情况,则要加以分析,否则重叠部分会因搬移而遭到破坏,可以得到以下结论:(1)当源数据块首址大于目的块首址时,从数据块首址开始传送数据。
(2)当源数据块首址小于目的块首址时,从数据块末址开始传送数据。
四实验步骤(1)按实验流程图设计编写实验程序(2)输入程序并检查无误后,经汇编,连接后装入系统(3)用E命令在以SI为起址的单元中填入十六个数(4)用G=0000:2000运行实验程序(5)用D命令查看DI为起址的单元中的数据是否与SI单元中数据相同五实验程序及结果显示(1)实验程序(1)实验结果显示实验五循环程序设计一实验目的(1)加深对循环结构的理解(2)掌握循环结构程序设计的方法(3)熟练掌握调试循环程序的方法二实验设备:PC机一台masm软件三实验内容求数据区内负数的个数:设数据区的第一单元存放区内单元数据的个数,从第二单元开始开始存放数据,在区内最后一个单元存放结果。
目录软件实验部分:实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同数个数实验七无符号双字节快速乘法子程序实验八多分支程序实验九脉冲计数(定时/计数器实验)实验十电脑时钟(定时器、中断综合实验)硬件实验部分:实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五继电器控制实验六 8255控制交通灯实验七 LED16×16点阵显示实验实验八串并转换实验实验九 A/D转换实验实验十 D/A转换实验十一电子音响实验十二步进电机控制实验十三 8032串行口应用实验㈠——双机通信实验十四小直流电机调速实验软件实验部分本节共编了十个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
本节提供的软件实验,涉及外部数据存储器扩展寻址操作,因此需按下图连接实验线路。
1.将存储器单元的D0—D7总线接口用8芯扁平线与数据总线单元D0—D7的任一接口相连,存储器单元的A0—A7地址接口与地址总线单元(低8)A0—A7的任一接口相连,存储器单元的A8—A12地址接口与地址总线单元(高8)A8—A12的任一接口相连。
注意外部扩充的数据区的有效范围。
2.存储器单元的WE/PGM插孔与六位LED左下方的IOWE插孔相连。
3.存储器单元的OE插孔与六位LED左下方的IORD插孔相连。
4.存储器单元的CS1插孔与六位LED右下方的IOWE插孔相连。
实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二、实验内容把2000H-20FFH的内容清零三、程序框图四、实验步骤用连续或单步方式运行程序,检查2000-20FF中执行程序前后的内容变化。
五、思考假使把2000H-20FFH中的内容改成FF,如何修改程序。
接P1.0到L1,试编写程序,对片外数据存储器6264进行读写操作,若L1闪动则表示6264RAM读写正常。
(此思考题也可留在硬件实验中做)ORG 0640HSE01: MOV R0,#00HMOV DPTR,#2000H ;(2000H)送DPTRLOO1: MOVX @DPTR,A ;0送(DPTR)INC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,#00H,LOO1 ;不到FF个字节再清SJMP $END实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。
二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、程序框图四、实验步骤用连续或单步方式运行程序,检查2000—2002H中内容变化情况。
五、思考如何用断点方式调试本程序。
ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000)→A→BSWAP A ;交换ANL A,#0FH ;屏敝高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000)内容屏敝高位MOVX @DPTR,A ;送2002HSJMP $END实验三拼字程序一、实验目的进—步掌握汇编语言设计和调试方法。
二、实验内容把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节。
三、程序框图四、实验步骤单步或用断点方式运行程序,检查2002H内容变化情况。
ORG 0680HSE03: MOV DPTR,#2000HMOVX A,@DPTRANL A,#0FH ;(2000H)内容屏敝高位SWAP A ;交换MOV B,A ;保存INC DPTRMOVX A,@DPTR ;(2001H)内容送AANL A,#0FH ;屏敝高位ORL A,B ;或INC DPTRMOVX @DPTR,A ;送2002HSJMP $END实验四数据区传送子程序一、实验目的掌握RAM中的数据操作。
二、实验内容把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
三、程序框图四、实验步骤在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如0200H),R6、R7中输入字节数(例如01FFH),运行程序,检查0000-01FFH中内容是否和0200-03FFH中内容完全—致。
ORG 07B0HMOV R2,#00HMOV R3,#00HMOV R4,#02HMOV R5,#00HMOV R6,#01HMOV R7,#0FFHSE22: MOV DPL,R3MOV DPH,R2 ;建立源程序首址MOVX A,@DPTR ;取数MOV DPL,R5MOV DPH,R4 ;目的地首址MOVX @DPTR,A ;传送CJNE R3,#0FFH,LO42INC R2LO42: INC R3 ;源地址加1CJNE R5,#0FFH,LO43INC R4LO43: INC R5 ;目地址加1CJNE R7,#00H,LO44CJNE R6,#00H,LO45 ;字节数减1SJMP $NOPLO44: DEC R7SJMP SE22LO45: DEC R7DEC R6SJMP SE22 ;未完继续END实验五数据排序实验一、实验目的熟悉8032指令系统,掌握程序设计方法。
二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
三、程序框图四、实验步骤把8032中RAM 50H-5AH中放入不等的数据,运行本实验程序后检查50-5AH中内容是否按从小到大排列。
(注意数据是在CPU内部存储区存放,注意寻址方式。
)五、思考1.修改程序把50H-5AH中内容按从大到小排列;2.如果改为有符号数,如何修改。
ORG 09B0HQUE: MOV R3,#50HQUE1: MOV A,R3 ;指针送R0MOV R0,AMOV R7,#0AH ;长度送R7CLR 00H ;标志位为0MOV A,@R0QL2: INC R0MOV R2,ACLR CMOV 22H,@R0CJNE A,22H,QL3 ;相等吗?SETB CQL3: MOV A,R2JC QL1 ;大于交换位置SETB 00HXCH A,@R0DEC R0XCH A,@R0INC R0 ;大于交换位置QL1: MOV A,@R0DJNZ R7,QL2JB 00H,QUE1 ;一次循环中有交换继续SJMP $ ;无交换退出END实验六查找相同数个数一、实验目的熟悉汇编语言编程。
二、实验内容在2000—200FH中查出有几个字节是零,把个数放在2010H中。
三、程序框图四、实验步骤在2000—200FH的几个单元中填入零,运行本程序后检查2010H中是几个单元数。
五、思考修改程序,查找其它内容。
ORG 0AA0HL5800: MOV R0,#10H ;查找16个字节MOV R1,#00HMOV DPTR,#2000HL5811: MOVX A,@DPTRCJNE A,#00H,L5816 ;取出内容与00H相等吗?INC R1 ;取出个数加1L5816: INC DPTRDJNZ R0,L5811 ;未完继续MOV DPTR,#2010HMOV A,R1MOVX @DPTR,A ;相同数个数送2010HL581E: SJMP L581EEND实验七无符号双字节快速乘法子程序一、实验目的掌握MCS-51汇编语言程序设计方法。
二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:(R2R3)*(R6R7)=((R2)*28+(R3))*((R6)*28+(R7))=(R2)*(R6)*216+((R2)*(R7)+(R3)*(R6))*28+(R3)*(R7)三、实验内容将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4 R5 R6 R7中。
四、程序框图五、实验步骤在R2R3和R6R7中输入无符号整数,连续或单步运行本实验程序后检查R4 R5 R6 R7 中内容。
ORG 0970HQKUL: MOV A,R3MOV B,R7MUL AB ;R3*R7XCH A,R7 ;R7=(R3*R7)低字节MOV R5,B ;R5=(R3*R7)高字节MOV B,R2MUL AB ;R2*R7ADD A,R5MOV R4,ACLR AADDC A,BMOV R5,A ;R5=(R2*R7)高字节MOV A,R6MOV B,R3MUL AB ;R3*R6ADD A,R4XCH A,R6XCH A,BADDC A,R5MOV R5,AMOV PSW.5,C ;存CYMOV A,R2MUL AB ;R2*R6ADD A,R5MOV R5,ACLR AMOV ACC.0,CMOV C,PSW.5 ;加上次加法的进位ADDC A,BMOV R4,ASJMP $END实验八多分支程序一、实验目的掌握汇编语言的编程。
二、实验内容编写程序,根据送入的数据转移运行;了解利用堆栈延时的方法。
三、程序框图四、实验步骤在CPU内部数据区20H中分次送入00、01、02、03,每次运行程序后,观察数码管上数字循环情况。
五、思考修改程序,使数码管显示自动循环显示0、1、2、3。
六、电路介绍字形口FFDCH 字位口/键扫口FFDDH 键入口FFDEH共阴极8段码,a—h接D0—D7,为1灭,为0亮键扫显示控制电路ORG 0A10HMEMS: MOV A,20HMOV DPTR,#KKKK ;散转首址RL A ;(20)*2JMP @A+DPTR ;转到(20)*2+DPTR KKKK: AJMP MEMSP0AJMP MEMSP1AJMP MEMSP2SJMP MEMSP3MEMSP0: MOV 20H,#0C0H ;0字循环LJMP SOX0MEMSP1: MOV 20H,#0F9H ;1字循环LJMP SOX0MEMSP2: MOV 20H,#0A4H ;2字循环LJMP SOX0MEMSP3: MOV 20H,#0B0H ;3字循环LJMP SOX0;---------------------------------------------SOX0: MOV A,20HMOV R0,#0DCHMOV R1,#0DDHMOVX @R0,AMOV A,#01HSOX1: MOVX @R1,AMOV R2,#20HLCALL DELYRL A ;显示子程序SJMP SOX1;---------------------------------------------DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRET;---------------------------------------------END实验九脉冲计数(定时/计数器实验) 一、实验目的熟悉8032定时/计数功能,掌握初始化编程方法。