微机原理与应用实验报告

合集下载

微机原理实验报告册(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)学习微机中断处理在接口技术中的应用。

微机原理与应用第一次实验报告

微机原理与应用第一次实验报告

微机原理与应用实验一、实验二实验报告电92 雷云泽2009010941 实验一简单计算机系统基本模块设计1一、实验目的1.掌握简单计算机系统的指令系统2.掌握简单计算机基本模块的设计方法3.巩固EDA电路仿真和调试的方法二、实验任务包括练习指令编码设计寄存器组模块、设计RAM模块、设计I/O端口及其映射模块、设计和检测ROM模块1.练习指令编码阅读项目任务书的简单计算机指令系统,理解其中的7条R型指令AND、OR、ADD、SUB、ADDC、SUBC、SLT,和2条I型指令的LW、SW。

写出表1-1指令的编码和功能说明。

表1-1 指令编码练习2.设计寄存器组模块(1)任务要求在R类型指令中有3个操作数,其中2个操作数来自寄存器组,作为算术逻辑模块ALU的输入,另1个操作数是ALU 的输出,需写回寄存器组中。

所以,寄存器组模块需要1个写通道、2个读通道。

在寄存器组读操作时,需给出要读寄存器的寄存器号,寄存器组将该寄存器号对应的内容从输出端口输出;在寄存器组写操作中,需给出要写入寄存器的寄存器号和要写入的数据,寄存器组模块将在控制信号的作用下把数据写到指定的寄存器中。

寄存器组模块的封装图见1-1,包含2个异步读通道、1个同步写通道,内部包含4个8位寄存器(分别称为R0、R1、R2、R3,对应的二进制编号分别为00、01、10、11),1个2-4译码器和2个8位4选1多路选择器,其中每个寄存器都是带时钟使能和异步复位端口的8位D 触发器。

可利用QuartusII的MegaWizard下LMP_FF、LMP_DECODE、LPM_MUX进行设计。

寄存器组模块信号说明:输入信号:N1[1..0]:读通道1的寄存器号N2[1..0]:读通道2的寄存器号ND[1..0]:写通道的寄存器号DI[7..0]:写通道的输入数据CLK:时钟脉冲信号,上升沿有效REG_WE:写允许,为1时,在CLK上升沿,将数据DI写入ND指定的寄存器;为“0”时,禁止对寄存器阵列进行写操作。

微机原理与应用第四次实验报告

微机原理与应用第四次实验报告

微机原理与应用第四次实验报告实验6 汇编语言程序结构一、实验目的1.掌握汇编语言项目上机过程2.掌握汇编语言程序结构和常用伪操作3.掌握汇编语言程序设计和调试方法4.掌握MSP430F1xx基本I/O控制方法二、实验任务1.学习汇编指示性语句(可在simulator下完成)在EWH8下新建项目Lab_6,编写下面程序L6_directives.s43(程序清单见后页,该程序只是为了学习指示性语句,程序本身并没有实现什么特定功能),利用project/remove移出模板文件test_asm.s43,点击project/add/files将L6_directives.s43添加到项目中。

1) 利用EW430下的view/memory查看DATA16_C段中定义的存储单元内容和地址,在memory/go的窗口内输入存储单元的符号(如number1)即可查看到该符号对应的存储单元地址和内容,注意在L6_directives.s43程序中使用这些存储单元的内容和地址的方法;利用view/disassembly反汇编程序,对比源程序,利用每条指令后的注释,学习其中用到的指示性操作,如:#define、SFB、SFE、SIZEOF、$等,并能在今后的程序设计中使用。

2) 在L6_directives.s43中,number4和number1分别被定义成了什么?二者有何不同?#number4和#number1这两个操作有何不同?MOV #number4, R7和MOV number4, R7执行的结果会相同吗?为什么?3) 如图6-1所示,点击项目中的msp430x14x.h文件,了解该文件中用到的指示性语句,今后的实验中会用到该文件中的定义。

答2.编程控制实验板上发光二级管按下面4种规律循环显示1) 8个LED灯顺时针一个一个单独点亮,每次只有一个灯亮,其他灯灭;2) 4个奇数号LED灯和4个偶数号LED灯交替点亮各一次;3) 8个LED灯两两点亮,顺序为LED1和8,LED2和7,LED3和6,LED4和5,每次只有两个灯亮,其他灯灭;4) 8个LED灯全亮,全灭注意:在灯的状态变化中,需留一定延时,以便视觉能感受到灯的亮灭,要求编写一延时子程,需要延时的地方,用CALL指令调用该子程。

南理工微机原理与应用实验报告

南理工微机原理与应用实验报告

微机原理与应用综合实验指南1 汇编语言实验1.1 emu8086简介及其汇编语言编程及调试EMU8086是一个基于WINDOWS的8086/88CPU仿真实验程序,它包括编辑器、汇编器、连接器以及跟踪执行器、虚拟外设等模块,支持与8086 /88CPU有关的仿真实验。

EMU8086提供基于汇编语言的程序模板,编程者只需在此基础上,添加有关的核心语句,然后点击相应按钮,系统即可完成编译和链接工作。

若无错误,即可自动进入到指令跟踪运行界面,控制程序以单步或连续方式运行。

通过此界面还可以观察寄存器以及存储器的值,还有指令的机器码及反汇编指令。

1.2实验目的:(1)熟悉汇编语言开发环境(2)掌握Emu8086软件使用方法(3)了解汇编语言的程序结构,调试一个程序并记录程序运行结果。

1.3实验内容及要求:1.3.1 熟悉emu8086的操作1.3.1.1打开桌面上的Emu8086的图标,出现如图所示的对话框:1.3.1.2点击【NEW】,可以选择编程所采用的模板。

1.3.1.2.1 若选择COM template, 则文档模板如下:采用此格式,源代码应该在100H 后加载(即:源代码之前应有ORG 100H),从文件的第一个字节开始执行,它支持DOS和Windows命令提示符。

1.3.1.2.2 若选择EXE模板,则显示下图所示的EXE文件模板:1.3.1.2.3 也可选择BIN模板:1.3.1.2.4 BOOT模板文档如下:1.3.1.3 这里我们点选COM模板,建立一个com类型的程序如下图所示。

1.3.1.4点击compile按钮,出现如下提示:1.3.1.5输入汇编后的二进制文件名称“1_”后,出现如下窗口,意味着汇编成功完成。

1.3.1.6点击“run”按钮,跳出如下图所示的调试窗口,并显示运行结果。

1.3.1.7点击[reload]菜单,重新载入程序,然后点击【single step】单步运行。

微机原理的实验报告

微机原理的实验报告

一、实验目的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. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

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

微机原理与应用课程实验报告

微机原理与应用课程实验报告

2014-2015秋学期微机原理与应用课程实验报告实验分工:报告人(签名)姓名:学号:班级:同组人(签名)姓名:学号:班级:实验时间:微机原理与应用课程设计报告一、设计目的1.熟悉emu8086的使用方法。

2.掌握汇编语言设计和调试方法。

3. 提高编程设计能力,掌握结构化编程的方法。

二、课程设计任务及其分析、流程图、代码本课程设计采用自上而下的结构化编程方法,将整个课程设计分为5个任务,并将第4、5个任务都分成第一步和第二步,依次完成这些任务。

先对DS、ES等初始化,再给这5个任务编写5个子程序,其中第4、5个子程序又分成两步。

最后,返回DOS系统,程序结束。

流程图:代码:title 1104520121陈冬冬_课程设计源程序page 60,132.model small.stack 64.data.codemain proc farmov ax,0100hmov ds,axmov es,axcall sub1call sub2call sub3call sub4call sub5mov ax,4chint 21h;返回dos系统main endp(二)每个设计任务及其分析、流程图、代码1.在数据段首址为0100H开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据;分析:任务1要求将15~0共16个字节的数据存入首址为0100H的内存区1。

首先,将内存区1的首址赋给数据段地址偏移寄存器SI。

显然,不能将立即数一个一个立即数存入内存区1,这样在编程上是不现实的。

所以,我先用一个寄存器AL来存放这些数,再将AL的值存入内存区1。

可以先给AL赋值15,然后存入内存区1,以后每次AL自减1,内存区地址加1,这样就用少量代码实现了任务1。

流程图:NY代码:mov si,0100h;内存区1的偏移地址 mov cx,0010h;循环次数,十进制数为16 mov al,0fh;将要赋的值15~0放在al 中 intram:mov [si],al inc si开始初始化目标内存区首址SI=0100H循环次数CX=0100H 初始化将要赋值的寄存器AL=000FH 目标单元赋值 目标内存区SI<—SI-1要赋的值AL<—AL-1 CX<—CX-1 CX=0? 结束dec al;每循环一次,地址加1,数据减1loop intram2.将上述源区内容传送到目的内存区2(首址为1100H)中;分析:任务2要求将内存区1的内容传送到内存区2中。

微机原理及应用中南大学实验报告

微机原理及应用中南大学实验报告

微机原理及应用实验报告实验一单片机仿真开发机操作和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、熟悉汇编程序调试方法2、80某86指令运用及顺序结构程序设计二、实验设备80某86微型计算机三、实验内容1、编程并调试显示“HelloWord!”字符串的汇编程序STACKSSEGMENTSTACK;堆栈段DW128DUP()STACKSENDSDATASSEGMENT;数据段DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVA某,DATAS;初始化MOVDS,A某OUTBUFDB'HelloWord!$'MOVD某,OFFSETOUTBUFMOVAH,9;显示在屏幕上INT21HMOVAH,4CH;退出程序INT21HCODESENDSENDSTART程序调试运行结果如下图:屏幕显示有“HelloWord!”字符串2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。

编写一个完整段定义的汇编语言程序(包含必要的伪指令),计算W=(A+B)某(C—D)。

STACKSSEGMENTSTACK;堆栈段DW128DUP()STACKSENDSDATASSEGMENT;数据段ADW1HBDW2HCDW5HDDW6HWDW2DUP()DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVA某,DATAS;初始化MOVDS,A某MOVA某,AADDA某,BMOVB某,CSUBB某,DIMULB某MOVW,A某MOVW+2,D某MOVAH,4CH;退出程序INT21HCODESENDSENDSTART调试验证结果:W=(A+B)某(C—D)=(1H+2H)某(5H-6H)=-3H,结果存于097E:0008开始的的4个单元里。

微机原理实验二一、实验目的1、熟悉80某86指令及汇编程序调试方法2、掌握分支和循环结构程序设计方法的运用二、实验设备80某86微型计算机三、实验内容3、设某、Y为在数据段中定义的有符号字变量。

微机原理及应用的实验报告

微机原理及应用的实验报告

微机原理及应用的实验报告1. 实验介绍在本次实验中,我们将学习微机原理及应用的基本知识,并通过实践来深入理解和应用这些知识。

本实验旨在让我们熟悉微机系统的原理、组成部分以及在实际应用中的一些常见问题和解决方案。

2. 实验目的•了解微机系统的基本组成部分•掌握微处理器的工作原理和操作方法•学习使用汇编语言编写简单的程序•熟悉实验中常用的开发工具和调试技术3. 实验步骤1.首先,我们需要了解微机系统的基本组成部分。

微机系统主要由中央处理器(CPU)、内存、输入输出设备和总线组成。

其中,CPU是微机系统的核心部件,它负责执行程序的指令和处理数据。

内存用于存储程序和数据,输入输出设备用于与外部环境进行数据交互,总线则负责连接各个部件之间的数据传输。

2.接下来,我们将学习微处理器的工作原理和操作方法。

微处理器是CPU的核心组成部分,它由运算器、控制器和寄存器组成。

运算器负责执行各种算术和逻辑运算,控制器负责控制程序的执行流程,寄存器用于保存指令、数据和中间结果。

3.在实验中,我们将学习使用汇编语言编写简单的程序。

汇编语言是一种低级语言,它与机器语言直接相对应。

通过编写汇编程序,我们可以更加直观地了解指令的执行过程以及数据的处理方式。

同时,在实验中我们还将学习如何使用调试工具对程序进行调试和测试。

4.最后,我们将熟悉实验中常用的开发工具和调试技术。

在实验中,我们将使用一些开发工具如汇编器、编译器和调试器来编写、编译和调试程序。

同时,我们还将学习如何使用逻辑分析仪和示波器等调试工具来对程序进行分析和验证。

4. 实验结果通过本次实验,我对微机原理及应用有了更深入的了解。

我学会了微机系统的基本组成部分,了解了微处理器的工作原理和操作方法,并且能够使用汇编语言编写简单的程序。

同时,我还熟悉了实验中常用的开发工具和调试技术,能够使用它们来进行程序的编写、编译和调试。

通过实验,我对微机系统的原理和应用有了更加直观和深入的认识。

《微机原理与应用》实验报告

《微机原理与应用》实验报告

《微机原理与应用》实验报告课程名称:微机原理与应用实验类型:验证性实验项目名称:实验一:平台仿真一、实验目的1.熟悉protues 仿真平台的使用2.掌握 protues ISIS 下8086的仿真流程二、实验内容和原理1、protues ISIS 编辑环境及基本使用2、元件的查找、选取与使用3、连线、标注4、编辑电路原理图5、设置外部代码编译器6、仿真调试三、实验仪器及材料proteus ISIS 7.8四、实验过程1.MASM32配置2.新建工程3.搭建电路图,编写源代码课程名称:微机原理与应用实验类型:验证性实验项目名称:实验二:基本I/O应用一、实验目的1.掌握I/O接口的设计方法;2.掌握Proteus的使用方法3.汇编程序设计实战二、实验实现功能实现开关闭合LED2,LED3,LED6,LED7亮否则LED0,LED1,LED3,LED4亮要求: 1.译码线为A4,A5,A7,A62.74LS245片选信号为IOS33.74LS373片选信号为IOS44.开关接74LS245的B4口三、实验仪器及材料proteus ISIS 7.8四、实验过程1、电路图主电路图译码子电路图如下2、程序代码CODE SEGMENT PUBLIC 'CODE'ASSUME CS:CODESTART:MOV BL,11001100B ;设置LED灯状态L: MOV DX,030H ;将74LS245的地址送到DXIN AL, DX ;读取开关状态并将状态存入ALTEST AL,10H ;检测开关是否闭合JZ N ;若开关闭合则跳转到NNOT BL ;将BL反向,改变LED状态N: MOV AL,BL ;将LED状态存入ALMOV DX,080H ;将74LS373的地址送到DXOUT DX,AL ;将AL的数据写到74LS373的相应端口JMP START ;跳转到START使程序循环CODE ENDSEND START3、程序流程图4、仿真结果如图。

微机原理及应用实验报告

微机原理及应用实验报告

微机原理及应用实验报告微机原理及应用实验报告1. 引言微机原理及应用是计算机科学与技术专业的一门重要课程,通过该课程的学习和实验,我们可以深入了解微机的基本原理和应用技术。

本文将对我们进行的微机原理及应用实验进行详细报告,包括实验目的、实验内容、实验步骤、实验结果及分析等。

2. 实验目的本次实验的目的是通过实际操作,加深对微机原理的理解,掌握微机的基本组成和工作原理,以及学习并应用微机的常见应用技术。

3. 实验内容本次实验主要涉及以下内容:- 微机的基本组成和结构- 微机的工作原理- 微机的存储器和输入输出设备- 微机的指令系统和编程技术4. 实验步骤4.1 实验一:微机的基本组成和结构在这个实验中,我们首先学习了微机的基本组成和结构,包括中央处理器、存储器、输入输出设备等。

通过观察实际的微机硬件设备,我们对微机的组成有了更加直观的认识。

4.2 实验二:微机的工作原理在这个实验中,我们学习了微机的工作原理,包括指令的执行过程、中央处理器的工作原理等。

通过实际操作,我们对微机的工作过程有了更加深入的理解。

4.3 实验三:微机的存储器和输入输出设备在这个实验中,我们学习了微机的存储器和输入输出设备的原理和应用。

通过实际操作,我们了解了存储器的读写过程,以及输入输出设备的工作原理。

4.4 实验四:微机的指令系统和编程技术在这个实验中,我们学习了微机的指令系统和编程技术。

通过实际编写和执行简单的汇编语言程序,我们掌握了微机的编程技术,并了解了指令的执行过程。

5. 实验结果及分析通过以上实验,我们对微机的原理和应用有了更加深入的理解。

我们通过实际操作,掌握了微机的基本组成和结构,了解了微机的工作原理,熟悉了微机的存储器和输入输出设备,掌握了微机的指令系统和编程技术。

这些知识和技能对我们今后的学习和工作都具有重要的意义。

6. 总结通过本次微机原理及应用实验,我们深入了解了微机的基本原理和应用技术。

通过实际操作,我们对微机的组成和工作原理有了更加直观和深入的理解,掌握了微机的存储器和输入输出设备的原理和应用,以及微机的指令系统和编程技术。

微机原理与应用实验报告

微机原理与应用实验报告

《微机原理与应用》课程实验报告实验名称实验一两个多位十进制数相加实验姓名康吴伟系院专业电子科班级一班学号实验日期 4.14 指导教师毕翔,石雷成绩一、实验目的和要求目的:1.学习数据传送和算术运算指令的用法。

2.熟悉在PC 机上建立,汇编,连接,调试和运行汇编语言程序的过程。

要求:将两个多位十进制数相加,要求被加数,加数通过键盘输入后按顺序存放在以ADD1 和ADD2 为首的六个内存单元中(低位在前),结果送入SUM 为首的六个内存单元中。

假定计算的结果也是六位,否则算溢出,可不处理。

二、实验内容(包括实验步骤和代码)实验程序框图:三、实验结果及其分析《微机原理与应用》课程实验报告data SEGMENTts DB 'please input:$'again DB 0ah,0dh,'again?(y/n)$' data ENDScode SEGMENTASSUME CS:code,DS:dataenter1 PROCPUSH AXPUSH DXMOV AH,02hMOV DL,0dhINT 21hMOV DL,0ahINT 21hPOP DXPOP AX三、实验结果及其分析《微机原理与应用》课程实验报告实验名称实验三BCD 码相乘实验姓名康吴伟系院专业电子科班级 1 学号实验日期 4.28 指导教师毕翔,石雷成绩一、实验目的和要求目的:掌握用组合的BCD 码表示数据,并熟悉如何实现压缩的BCD 码乘法运算。

要求:实现BCD 码的乘法,要求被乘数和乘数要求以压缩的BCD 码形式存放,在内存中各占一个单元,乘积存放在另外两个内存单元中。

程序中可采用将乘数1作为计数器,累加另一个乘数的方法得到计算结果。

二、实验内容(包括实验步骤和代码)实验程序框图:程序语言:DA TA SEGMENTBCD1 DB 23HBCD2 DB 20HBCD3 DW ?《微机原理与应用》课程实验报告实验名称实验四从键盘输入数据并显示姓名康吴伟系院专业电子科班级 1 学号实验日期 5.5 指导教师毕翔,石雷成绩一、实验目的和要求目的:掌握键盘接收数据的方法,并了解将键盘数据显示时须转换为ASCII 码的原理,并在中设置错误出口。

微机原理及应用实验报告

微机原理及应用实验报告

实验报告课程名称实验日期学生专业学生学号学生姓名教师姓名成绩南京理工大学机械工程学院实验一DEBUG命令及其操作一、实验目的1.熟练掌握debug的常用命令,学会用debug来调试程序。

2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。

3.掌握各种寻址方法以及简单指令的执行过程。

二、实验要求1.实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分析等。

2.本实验要求在PC机上进行。

3.本实验只要求在DEBUG调试状态下进行,包括汇编程序,调试程序,执行程序。

三、实验内容实验内容1:学习用DEBUG调试工具进行源程序的输入、汇编、调试和执行。

答:1运行结果:.2.小结debug常用命令及使用体会a 汇编d显示内存单元内容e修改单元内存内容g执行命令t单步(或多步)调试n指定文件路径文件名(含扩展名)u反汇编r查看寄存器值及修改l加载程序w写盘命令体会:●实验内容2设AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。

实验报告要求:1.写出完成上述功能的程序段;2.单步执行,并记录寄存器AX, BX及堆栈指针SP的值答:●实验内容3设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元装入0AH,0BH,0CH,0DH,0EH。

在DEBUG状态下送入下面的程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?A100 ;给各内存单元赋值Mov di,0300Mov dx,0aMov cx,51oop1:mov[di],dxInc diInc dx1oop loop1程序清单如下:寻址方式和AX的内容MOV BX,0300 立即寻址MOV SI,0002 立即寻址MOV AX,BX 寄存器寻址AX: 0300MOV AX,0304H 立即寻址AX:0304MOV AX,[0304H] 存储器直接寻址AX:ds:0304 内存单元的内容0EH MOV AX,[BX] 寄存器间接寻址AX:ds:0300 内存单元的内容0AH MOV AX,0001[BX] 基址相对寻址AX:ds:0301 内存单元的内容0BH MOV AX,[BX][SI] 基址变址寻址AX:ds:0302 内存单元的内容0CH MOV AX,0001[BX][SI] 基址变址寻址AX:ds:0303内存单元的内容0DH 实验内容4设AX=0002H,编写程序将AX的内容乘10,要求用移位的方法完成。

微机原理及应用实验报告

微机原理及应用实验报告

微机原理及应用实验报告实验名称:微机原理及应用实验实验目的:通过实际操作,学习微机原理及应用,了解微机硬件组成和工作原理,掌握微机汇编语言的基本操作及应用。

实验器材与软件:电脑、汇编语言编译软件、实验板、示波器。

实验内容:1.微机硬件组成及工作原理-学习微机硬件包括中央处理器(CPU)、存储器(RAM和ROM)、输入输出设备(I/O)等组成部分。

-了解CPU的工作原理,包括指令译码、执行和数据传输。

-掌握存储器的分类和作用,了解RAM的读写操作和ROM的存储功能。

-理解输入输出设备的工作原理,例如键盘、显示器、串口等。

2.微机汇编语言基础-学习汇编语言的基本语法和指令格式。

-掌握汇编语言中的数据存储和操作方法。

-学习汇编语言的控制结构,包括顺序、选择和循环结构。

3.实验操作-实验前准备:连接实验板、示波器和电脑,启动汇编语言编译软件。

-编写简单的汇编程序,例如实现两个数字相加的功能。

-编译和调试汇编程序,观察电路的输出情况。

-修改程序代码,实现其他功能,例如实现数字的乘法和除法。

实验结果与分析:根据实验内容,我们成功学习了微机硬件组成和工作原理,掌握了汇编语言的基础知识并进行了实际操作。

在实验过程中,我们发现CPU是整个微机系统的核心,通过执行指令和数据操作来实现各种功能。

存储器用于存储程序和数据,RAM可以读写操作,而ROM只能读取。

输入输出设备是与外部环境进行数据交互的媒介。

通过编写简单的汇编程序,例如实现两个数字相加的功能,我们深入了解了汇编语言的语法和指令格式。

在编译和调试过程中,我们发现对于了解指令执行的效率和结果的正确性非常重要。

在修改程序代码的过程中,我们扩展了功能,例如实现数字的乘法和除法。

在这个过程中,我们学会了如何在程序中使用循环结构和控制结构。

总结与心得:通过本次实验,我们深入了解了微机原理及应用的相关知识。

通过实际操作,我们掌握了微机的硬件组成和工作原理,学会了使用汇编语言编写和调试程序。

微机原理与应用-实验报告

微机原理与应用-实验报告

《微机原理与应用》实验报告姓名:***学号:**********年级: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加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。

微机原理与应用实验报告-汇编语言程序设计

微机原理与应用实验报告-汇编语言程序设计

实验报告册课程名称:微机原理指导老师:班级:姓名:学号:学期:20 19 —20 20 学年第学期实验目录实验一:汇编语言程序设计实验二:实验三:实验四:实验五:实验六:姓名:成绩:实验一汇编语言程序设计一、实验目的1、学习8088汇编语言程序的基本结构和程序设计的基本方法。

2、熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的全过程。

3、掌握DEBUG基本指令及其使用方法。

二、实验内容编写程序,将80H-8FH共16个字节数据写入数据段1000H偏移地址开始的16个内存单元中。

三、实验步骤1、进入编程环境,编写、汇编、链接、运行汇编语言源程序。

2、利用DEBUG指令,对程序进行调试。

四、实验程序实验代码如下:;将80H-8FH共16个字节数据写入数据段1000H偏移地址开始的16个内存单元中。

DATAS SEGMENTDATA DB80H,81H,82H,83H,84H,85H,86H,87H,88H,89H,8AH,8BH,8CH,8DH,8EH,8FH;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV ES,AXMOV SI,OFFSET DATAMOV DI,1000HMOV CX,16CLDREP MOVSB;此处输入代码段代码HLTMOV AH,4CHINT 21HCODES ENDSEND START五、实验结果将80H-8FH送入1000H-1016H内存段的结果:3.实验小结进一步巩固了数据的一般传送以及体会到了数据块传送的便利之处,进一熟悉了MASM软件的操作和DEBUG命令的使用。

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

《微机原理与应用》实验报告姓名:郭爽学号:68年级: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,#80D2: MOV R7,#248DJNZ 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 MAINORG 0003HLJMP INTERRUPT ORG 0030H MAIN: SETB EX0SETB IT0SETB EA DELAY2: MOV R0,#200 D4: MOV R1,#200 D5: MOV R2,#10D6: DJNZ R2,D6DJNZ R1 ,D5 DJNZ R0,D4RET INTERRUPT:MOV 20H , P1JB ,WORK1MOV A,#01HA1: MOV P0,AJB ,B1JNB ,B2A2: JB ,LOOP11 JNB ,LOOP22 B1: LCALL DELAY1 LJMP A2B2: LCALL DELAY2 LJMP A2 LOOP11: RL ALJMP A1 LOOP22: RR ALJMP A1ORG 0600H DELAY1: MOV R0,#100 D1: MOV R1,#100 D2: MOV R2,#10 D3: DJNZ R2,D3DJNZ R1,D2DJNZ R0 ,D1RET4.实验心得开始熟悉开发板,通过实验2加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。

实验三.七段LED 数码管控制实验1.功能要求首先用万用表判断所用数码管是共阴极还是共阳极数码管,并测出各引脚功能,画出引脚分布图。

实验采用4 位一体的数码管,用P1 口通过驱动芯片控制段码输出信号线,P0 口通过驱动芯片控制位选线,自主选择驱动芯片,设计实现电路,并实现以下功能:(1)当开关K0 接低电平时,第一位依次显示0~F,然后第二位、第三位、第四位,再循环回第一位。

(2)当开关K0 接高电平时,四位动态显示“HELP”。

2.硬件要求3.程序清单ORG 0000HSETBMOV P0,#0C7HLCALL DLAY2LJMP STARTORG 0030H START:JB ,LOPPJNB ,LOOP2 LOPP: MOV R1,#4 LOOP1:MOV R3,#16 LOP1: MOV P0,#0FEHMOV DPTR,#TAB2 MOV A,R1MOVC A,@A+DPTR MOV P2,AJNB ,LOOP2 MOV DPTR,#TAB1 MOV A,R3MOVC A,@A+DPTR MOV P0,ALCALL DELAYDJNZ R3,LOP1 DJNZ R1,LOOP1LJMP LOPPLOOP2:SETBMOV P0,#89HLCALL DLAY2CLRSETBMOV P0,#86HLCALL DLAY2CLR4.实验心得开始掌握单片机,通过实验3加强了对单片机的理解,学会查表程序的书写方法,学会244芯片的工作原理,并且掌握了数码管工作的原理。

实验四.定时器中断实验1.功能要求实现一个4 位秒表:(1)用开关K0 模拟秒表的启动、停止、清零功能,K0 触发外部中断INT0,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。

(2)定时采用T0 定时器中断完成,最低位按1/10 秒计数,依次计数单位为1 分、10 秒、1 秒、1/10 秒。

(3)要求外部中断INT0 的优先级高于T0 的优先级2.硬件要求3.程序清单ORG 0000HLJMP STARTORG 0003HLJMP ITRU0ORG 000BHLJMP ITRU1ORG 0030H START: MOV TMOD,#01H MOV IP, #01H SETB ET0SETB IT0SETB EX0SETB EA LOPP: SETBMOV R0,#0MOV R4,#0MOV R5,#0MOV R6,#0MOV R7,#0MOV R1,#4LOP1: MOV DPTR,#TAB2 MOV A,R1MOVC A,@A+DPTR MOV P2,AMOV P0,#0C0HDJNZ R1,LOP1 JB ,LOPPSETB TR0 CIRCLE: SETBMOV DPTR,#TAB3 MOV A,R4MOVC A,@A+DPTR MOV P0,ALCALL DELAYCLRSETBMOV DPTR,#TAB4 MOV A,R5MOVC A,@A+DPTR MOV P0,ALCALL DELAYCLRSETBMOV DPTR,#TAB3 MOV A,R6MOVC A,@A+DPTR MOV P0,ALCALL DELAYCLRSETBMOV DPTR,#TAB4 MOV A,R7MOVC A,@A+DPTR MOV P0,A W1: INC R4CJNE R4,#10 ,W2 MOV R4,#0INC R5CJNE R5,#10,W2 MOV R5,#0INC R6LCALL DELAYCLRJNB ,CIRCLECLR TR0JNB ,LOPPLJMP CIRCLETAB3: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H TAB4: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10HTAB2: DB 0FFH,08H,04H,02H,01HDELAY: MOV R2,#200D1: DJNZ R2,D1MOV R2,#200D2: DJNZ R2,D2RETITRU0: INC R0CJNE R0,#3, W3CLRLJMP W4W3: CPLW4: RETIITRU1: MOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) MOD 256CPLJNB ,W1LJMP W24.实验心得开始掌握单片机,通过实验4加强了对单片机的理解,学会定时程序的书写方法,如何进行计算精度,使定时器更加精确。

实验五.脉冲宽度与周期测量实验1.功能要求已知某被测脉冲频率为1KHz 左右:自主设计测量方法,编程连续测量输入脉冲宽度,并用七段LED 显示结果。

自主设计测量方法,编程连续测量输入脉冲周期,并用七段LED 显示结果。

自主设计测量方法,同时测量脉冲宽度和周期,由开关K0 选择显示脉冲宽度还是显示脉冲周期。

2.硬件要求3.程序清单ORG 0000HLJMP MAINORG 000BHLJMP T0XORG 0030HMAIN: MOV TMOD,#0AH ;使用定时器0的方式2,自动赋值类型MOV TH0,#156 ;针对12M晶振赋值,如果为晶振,重新赋值164 MOV TL0,#156SETB EASETB ET0MOV DPTR,#TABMOV A,#0MOV R0,#0MOV R1,#0MOV R2,#0MOV R3,#0MOV R4,#0JB ,M1 ;通过对P1,0的查询选择测量周期或者脉宽M0: JB ,$ ;利用查询的方式开启定时器SETB TR0JNB ,$JB ,$JB ,$CLR TR0LJMP LOOP M1: JB ,M1SETB TR0JNB ,$JB ,$CLR TR0 LOOP: MOV A,TL0 SUBB A,#156 MOV B,#10 DIV ABMOV R1,BMOV R2,AMOV A,R0MOV B,#10MOV R3,BADD A,#10MOV R4,A ;最后给R4加10,让其读后10位的表SHOW: MOV P2,#01H ;共阳极数码管MOV A,R1LCALL SHOW1LCALL SHOW2MOV P2,#02HMOV A,R2LCALL SHOW1LCALL SHOW2MOV P2,#04HMOV A,R3LCALL SHOW1LCALL SHOW2MOV P2,#08HMOV A,R4LCALL SHOW1LCALL SHOW2LJMP MAINSHOW1:MOVC A,@A+DPTRMOV P0,ARETSHOW2:MOV R7,#200MOV R6,#200DJNZ R6,$DJNZ R7,$RETT0X: INC R0 ;每100微妙进1RETITAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;前10位无小数点DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H ;后10位有小数点END4.实验心得通过实验5加强了对单片机的理解,学会利用单片机进行脉冲宽度和周期的测量,并且掌握了十六进制转换为十进制的技巧。

实验六.串行通信实验1.功能要求(1)利用串行口方式0 实现一个七段数码管的显示控制,轮流显示0~9十个数码。

(2)两人一组,利用异步通信功能将一方的8个按键的高低电平状态传到另一方,并利用另一方的8个LED 显示其开关状态,要求双向通信,互相显示。

2.程序清单要求1ORG 0000HLJMP MAINORG 0030H MAIN: MOV SCON,#00H CLR ESLED: MOV P2,#01 LOOP: MOV R3,#10要求2ORG 0000HLJMP MAINORG 0030HMAIN: MOV SCON,#50H MOV TMOD,#20H MOV PCON,#80HMOV TL1,#0F4HMOV TH1,#0F4HSETB RILOP1: MOV DPTR,#TABMOV A,R3MOVC A,@A+DPTRMOV SBUF,AJNB TI,$CLR TILCALL DELAYDJNZ R3,LOP1LJMP LEDDELAY:MOV R7 ,#40W2: MOV R6 ,#40W1: MOV R5 ,#150DJNZ R5,$DJNZ R6, W1DJNZ R7, W2RETTAB: DB 00H,03H,9FH,25H,0DHDB 99H,49H,0C1H,1FH,01H,09H END实验七 .RAM 扩展与读写控制实验1.功能要求(1)利用74LS573 进行总线扩展。

相关文档
最新文档