微机原理与应用实验报告

合集下载

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

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

竭诚为您提供优质文档/双击可除微机原理实验报告清零程序篇一:微机原理实验报告微机原理与应用课程实验报告实验分工:报告人同组人实验时间: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的末尾处。

微机原理及应用实验报告

微机原理及应用实验报告
2•深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。
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

微机原理实验报告册(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. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

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

微机原理与应用实验报告范文

微机原理与应用实验报告范文

微机原理与应用实验报告范文姓名:专业:学院:学号:指导老师:微机原理实验一一、实验目的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. 实验结果通过本次实验,我对微机原理及应用有了更深入的了解。

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

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

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

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

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

微机原理与应⽤实验报告6实验10 串⾏通信技术⼀、实验⽬的1. 了解异步串⾏通信原理2. 掌握MSP430异步串⾏通信模块及其编程⽅法⼆、实验任务1. PC机上的串⾏通信接⼝及其控制程序的使⽤1.1 任务要求参看讲义,了解PC机的标准异步串⾏接⼝协议,从⽹络学堂下载“串⼝调试助⼿程序”,⽤D型9针孔-孔交叉线连接两台PC机的串⼝,利⽤“串⼝调试助⼿程序”控制PC机串⼝,实现两台PC机之间字符串的传送。

1.2 任务实现已完成。

2. 掌握单⽚机与PC机串⾏通信的硬件连接2.1 任务要求参看附录D实验板原理图,了解MSP430F1xx串⼝模块相关引脚和实验板串⼝接线(插座S3: P3.4-UTXD0,P3.5-URXD0,P3.6-UTXD1,P3.7-URXD1),及其经RS-232电平转换后的信号(插针P7: TXD0,RXD0)。

思考:设计单⽚机与PC机进⾏串⾏通信时,硬件设计有哪些需要注意的事项?2.2 任务实现已完成。

设计需注意硬件相容与软件相容必须⼀致,即硬件相容的地⽅,必须也是软件相容的,⽐如UART0和UART1两个端⼝是针型还是孔型要符合它们的接线⽅式是male还是female (即TxD和RxD已交叉还是未交叉)。

3. 查询⽅式控制串⾏通信的收发3.1 任务要求采⽤查询⽅式控制单⽚机串⼝的接收和发送,在实验板上设计连线,编程实现接收PC 机的串⼝发送来的字符串,字符串以字符@结尾,MCU将接收到的字符串保存在RAM中,收到字符@后,MCU开始将收到的字符串发给PC机,PC机侧⽤串⼝助⼿程序接收并显⽰收到的字符串。

思考:1)如果采⽤单⽚机的串⼝1完成,如何设计实验连线,程序该如何修改?2)如果两个单⽚机进⾏串⾏通信,如何设计连线和编程?3)如果波特率改为2400bps,如何编程完成?波特率改为38400bps呢?3.2 任务实现程序如下所⽰:#include "msp430.h" ; #define controlled include file NAME main ; module namePUBLIC main ; make the main label vissible; outside this moduleORG 0FFFEhDC16 init ; set reset vector to 'init' labelRSEG DATA16_NBUFFER DS8 100RSEG DATA16_Cstringend: DB '@'RSEG CSTACK ; pre-declaration of segmentRSEG CODE ; place program in 'CODE' segment init: MOV #SFE(CSTACK), SP ; set up stack main: NOP ; main programMOV.W #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog timerCALL #UART0_INITAA: MOV #0,R13MOV #0,R14MOV #BUFFER,R5Rchk: BIT.B #URXIFG0,&IFG1JZ RchkMOV.B &U0RXBUF,BUFFER(R13)CMP.B BUFFER(R13),stringend(R14)JZ TchkINC R13JMP RchkTchk: BIT.B #UTXIFG0,&IFG1JZ TchkMOV.B @R5+,&U0TXBUFDEC R13JNZ TchkJMP AAUART0_INIT:BIS.B #SWRST, &U0CTLBIS.B #BIT4+BIT5, &P3SELBIS.B #PENA+PEV+SPB+CHAR,&U0CTLMOV.B #SSEL0,&U0TCTLBIS.B #URXEIE,&U0RCTLMOV.B #03h,&U0BR0MOV.B #0h,&U0BR1MOV.B #55h,&U0MCTLBIS.B #UTXE0+URXE0, &ME1BIC.B #SWRST,&U0CTLRETEND波特率寄存器值计算如下:N=ACLKbaud rate=327689600=3.41≈03h故U0BR0=03h,U0BR1=0h0.41 ×101起始位+8数据位+1偶校验≈4故U0MCTL=1010101b=55h如果采⽤单⽚机的串⼝1完成,需⽤孔-孔交叉线连接实验板的串⼝1和PC机的串⼝。

微机原理及应用实验报告

微机原理及应用实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

微机原理及应用实验报告

微机原理及应用实验报告

实验报告课程名称实验日期学生专业学生学号学生姓名教师姓名成绩南京理工大学机械工程学院实验一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,要求用移位的方法完成。

微机原理与应用实验报告

微机原理与应用实验报告

微机原理及应用实验报告班级:机械1301班:黄佳清学号: 0801130117座位号:中南大学机电工程学院实验一单片机仿真开发机操作和MCS-51指令系统应用一.实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;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,A INC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,DPTRMOVX R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;部存储器数据块赋值,搬运数据块到外部存储器,再搬运回部数据存储器。

五、附加题1. 将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标3.4.修改程序,实现新功能实现倒序数据转移程序AJMPMAINORG 0030HMAIN: MOV R0,#40HMOV R2,#0FHMOV A,#00HA1: MOV R0,ADEC R0INC ADJNZ R2,A1MOV R0,#30HMOV DPTR,#7000HMOV R2,#0FHA2: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030HMOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,DPTRMOVX R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND实验二程序设计一、实验目的1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

微机原理及应用实验报告

微机原理及应用实验报告

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

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

实验内容: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)。

微机原理及应用实验报告班级:机械1301班:黄佳清学号:0801130117座位号:中南大学机电工程学院实验一单片机仿真开发机操作和MCS-51指令系统应用一.实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;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 ;部存储器数据块赋值,搬运数据块到外部存储器,再搬运回部数据存储器。

五、附加题1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元容3.4.修改程序,实现新功能实现倒序数据转移程序AJMPMAINORG 0030HMAIN: MOV R0,#40HMOV R2,#0FHMOV A,#00HA1: MOV R0,ADEC R0INC ADJNZ R2,A1MOV R0,#30HMOV DPTR,#7000HMOV R2,#0FHA2: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030HMOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,DPTRMOVX R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND实验二程序设计一、实验目的1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

二、实验容及步骤(完成分值:30分/单个程序)题目1、编写排序程序并上机调试通过。

已知8031部RAM60H~69H单元中,依次存放了0FH,09H,07H,0CH,03H,0DH,08H,0BH,04H,01H共10个字节无符号数,编程将它们规律排序,最大数放在60H中,最小数放在69H中。

结果应该是0FH,0DH,0CH,0BH,09H,08H,07H,04H,03H,01H。

题目2、编写多字节加法程序并上机调试通过。

8031部RAM22H、21H、20H单元中,分别存放了3字节无符号被加数0FFH、0FFH、0FFH(低字节在低地址),在32H、31H、30H单元中分别存放3字节无符号加数22H、22H、22H(低字节在低地址),求两数之和,并将结果存入部RAM23H 、22H 、21H 、20H单元中(低字节在低地址)。

结果应该是01H、22H、22H、21H。

四、参考实验程序题目1ORG 0000HLJMP mainORG 0100Hmain:...将10个随机数送入部RAM的50~59H单元NOP;可在此处设置断点ACALL SELSORT;调用排序子程序HERE:AJMP HERE ;可在此处设置断点,观察每次排序结果NOP;排序子程序DAT EQU 60H ;排序数据首地址N EQU 10 ;排序个数SELSORT: MOV R0,#DATMOV R2,#N-1LOOP: MOV B,R0MOV A,R0MOV R3,AINC AMOV R1,A MOV A,R2MOV R4,ALOOP1: MOV A,R1CLR CSUBB A,BJC LOOP2 ;改为JNC即可逆序排列MOV B,R1MOV A,R1MOV R3,ALOOP2: INC R1DJNZ R4,LOOP1MOV A,R3MOV R1,AMOV A,R1XCH A,R0XCH A,R1INC R0DJNZ R2,LOOPRETEND题目2ORG 0000HLJMP main ORG 0100Hmain: MOV R0,#20HMOV R0,#0FFHINC R0MOV R0,#0FFHINC R0MOV R0,#0FFHMOV R0,#30HMOV R0,#22HINC R0MOV R0,#22HINC R0MOV R0,#22HACALL MULTADD;调用多字节加法子程序HERE:AJMP HERE ;可在此处设置断点,观察结果NOP;N字节无符号数加法子程序([R0]+[R1])=([R0]) ;入口 :R0,R1,R2;占用资源:ACC,B;堆栈需求:2字节;出口 :R0存放结果高地址MULTADD:MOV R0,#20H ;地址1 MOV R1,#30H ;地址2MOV R2,#03H ;加法字节数NSUB: CLR CNSUB1: MOV A,R0ADDC A,R1MOV R0,AINC R0INC R1DJNZ R2,NSUB1CLR AADDC A, #00H ; 把进位位C加到高8位去MOV R0, ARETEND五、附加题1. 画出题目1的程序流程图。

2.将题目1的排序算法进行改变,采用另一种排序算法进行排序。

ORG 0000HLJMP mainORG 0100HMAIN:...;将10个随机数送入LOOP2: MOV A,R0MOV 50H,R1CJNE A,50H,BIG ;做减法。

BIG: JNC LESS ;是0则跳转LJMP LOOP3LESS: XCH A,R1 ;交换60与61中的容XCH A,R0 LOOP3: INC R1CJNE R1,#6AH,LOOP2 ;INC R0MOV 51H,R0MOV R1,51HINC R1CJNE R0,#69H,LOOP2 ;以此类推,直到剩最后两个数比较完。

SJMP $END3.画出题目2的程序流程图。

4. 改为编写多字节减法程序。

ORG 0000HLJMP mainORG 0100Hmain: MOV R0,#20HMOV R0,#0FFHINC R0MOV R0,#0FFHINC R0MOV R0,#0FFHMOV R0,#30HMOV R0,#22HINC R0MOV R0,#22HINC R0MOV R0,#22HACALL MULTADD;调用多字节加法子程序HERE:AJMP HERE ;可在此处设置断点,观察结果NOP ;N字节无符号数加法子程序([R0]+[R1])=([R0]);入口 :R0,R1,R2;占用资源:ACC,B;堆栈需求:2字节;出口 :R0存放结果高地址MULTADD:MOV R0,#20H ;地址1 MOV R1,#30H ;地址2MOV R2,#03H ;加法字节数NSUB: CLR CNSUB1: MOV A,R0ADDC A,R1MOV R0,AINC R0INC R1DJNZ R2,NSUB1CLR AADDC A, #00H ; 把进位位C加到高8位去MOV R0, ARETEND实验三定时/计数器实验一、实验目的1、掌握MCS-51单片机部定时/计数器的功能与特点,工作方式选择和编程方法,中断功能的使用和中断服务程序的设计;2、 了解和熟悉MCS-51单片机实验板的功能。

二、实验容及步骤(完成分值:60分/单个程序)本实验需要用到单片机最小应用系统(F1区)和十六位逻辑电平显示模块(I4区)。

用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。

三、参考流程图、电路图、参考程序程序:Tick equ 5000 ;100us 记数次数,5000 x 100us = 0.5s,十六进制#1388HT100us equ 156 ; 100us 时间常数(12MHz) C100us equ 5h ; 100us 记数单元,05H 、06Horg 0000H ljmp Start org 000BH LJMP T0Int;---------------------------------------- ORG 0100H Start:mov TMOD, #02h ; 方式2, 定时器mov TH0, #T100us ; 100us 时间常数(12MHz) mov TL0, #T100us ; 100us 时间常数(12MHz) mov IE, #10000010b ; EA=1, IT0 = 1 setb TR0 ; 开始定时 mov p1,#0FEH ;由于电路原因,输出高电平为灭灯。

mov C100us, #HIGH(Tick);05H<-#13H,初始化100us 记数单元 mov C100us+1, #LOW(Tick);06H<-#88H,初始化100us 记数单元 Loop: ljmp Loop;---------------------------------------- ORG 0300H T0Int:push PSWmov a, C100us+1; 100us 高位记数单元06H100jnz Goondec C100us; 100us低位记数单元05HGoon:dec C100us+1mov a, C100us; 100us低位记数单元05Horl a, C100us+1jnz Exit ; 100us 记数单元不为0, 返回mov C100us, #HIGH(Tick);05H<-#13H,100us 记数单元为0则初始化100us记数单元mov C100us+1, #LOW(Tick);06H<-#88H,100us 记数单元为0则初始化100us记数单元MOV A,P1 ; 100us 记数单元为0, 位移!RL AMOV P1,AExit:pop PSWreti;----------------------------------------End五、附加题1.修改程序,实现新功能奇数偶数交换点亮Tick equ 5000T100us equ 156 C100us equ 5horg 0000Hljmp Startorg 000BHLJMP T0Int;----------------------------------------ORG 0100HStart:mov TMOD, #02h mov TH0, #T100us mov TL0, #T100us mov IE, #10000010b setb TR0 mov p1,#0AAHmov C100usmov C100us+1Loop: ljmp Loop;----------------------------------------ORG 0300H T0Int:push PSWmov a, C100us+1jnz Goondec C100usGoon:dec C100us+1mov a, C100usorl a, C100us+1jnz Exitmov C100us, #HIGH(Tick) mov C100us+1,#LOW(Tick)MOV A,P1RL AMOV P1,AExit:pop PSWreti;----------------------------------------End2.用MCS-51单片机的部定时器定时中断,编写一段电子秒表程序,在静态数码管上实现显示。

相关文档
最新文档