微机原理实验报告2
微机原理实验报告

微机原理实验报告概述:微机原理是计算机科学与技术专业中的一门重要课程,通过实验学习,可以加深对计算机内部运行原理的理解,提高软硬件的开发和调试能力。
本实验报告将介绍我对微机原理实验的学习和思考。
实验一:二进制转换实验在这个实验中,我首先了解了二进制数的概念以及其和十进制数的转换方法。
通过实际操作,我加深了对计算机内部数据表示方式的理解。
这对于后续学习计算机系统结构和编程语言至关重要。
实验二:逻辑门电路实验逻辑门电路是计算机硬件的基础组成部分,通过实验,我学会了使用逻辑门芯片构建各种逻辑电路,并能够通过真值表分析和验证逻辑电路的正确性。
这对于理解计算机内部的数据处理和控制逻辑有着直接的帮助。
实验三:运算器设计实验在这个实验中,我通过学习和设计算术逻辑单元(ALU),了解了计算机的算术操作过程,并能够通过运算器实现基本算术运算。
这对于理解计算机内部数据的处理和计算机指令的执行有着重要的意义。
实验四:存储器与外设实验存储器是计算机系统的重要组成部分,通过实验,我深入了解了存储器的类型、组织结构和访问方式,并通过外设与存储器的交互,实践了计算机系统的输入和输出过程。
实验五:微处理器实验微处理器是计算机系统中最核心的部件,通过实验,我学习了微处理器的基本运行原理,能够通过汇编语言编写程序,并通过微处理器执行程序实现特定的功能。
这个实验为我今后学习计算机体系结构和操作系统打下了坚实的基础。
实验总结:通过这几个实验,我深入了解了微机原理课程的实践内容和相关知识。
实验的过程中,我不仅学会了使用仪器设备和工具,还培养了自己的动手能力和团队合作精神。
通过不断的实践,我对计算机内部结构和运行原理有了更深刻的理解,也提高了我的问题解决能力和创新思维。
未来展望:微机原理实验的学习只是计算机科学与技术专业中的一小部分。
我希望在今后的学习过程中能加深对计算机体系结构、操作系统、编程语言等方面的学习,并不断深入钻研,成为一名优秀的计算机科学与技术专业人才。
微机原理实验报告2g(参考答案)

实验步骤及结果记录: 实验步骤: (1) 打开 DVCC-598JH 实验箱电源。 (2) 启动计算机,运行 DVCC-598JH 实验系统。 (3) 新建文件、输入程序并保存文件。 (4) 按 F9 键调试程序。 (5) 按 Ctrl+F9 键编译链接并传送文件至 DVCC-598JH 实验箱。 (6) 打开内部数据区,将 20H 单元的值更改为 00H 运行,观察程序运行情况。 (7) 分别将 20H 单元的值更改为正数(01H~7FH) 、负数(80H~0FFH)运行, 观察程序运行情况。 结果记录: 将 20H 单元的值更改为 00H 运行,观察到 21H 单元的值为 00H; 将 20H 单元的值更改为 08H 运行,观察到 21H 单元的值为 01H; 将 20H 单元的值更改为 87H 运行,观察到 21H 单元的值为 0FFH;
实验步骤及结果记录: 实验步骤: (1) 新建文件、输入程序并保存文件。 (2) 按 F9 键调试程序。 (3) 按 Ctrl+F9 键编译链接并传送文件至 DVCC-598JH 实验箱。 (4) 打开内部数据区,更改从 20H 单元的 8 个数据,观察程序运行情况。 (5) 打开外部数据区,观察从 2000H 开始的 16 个单元数据,检查运行结果的正确性。 结果记录: 20H 给定值 观察值 观察值 87H 2000H 07H 2001H 08H 21H 54H 2002H 04H 2003H 05H 22H 36H 2004H 06H 2005H 03H 23H 23H 2006H 03H 2007H 02H 24H 19H 2008H 09H 2009H 01H 25H 43H 200AH 03H 200BH 04H 26H 77H 200CH 07H 200DH 07H 27H 69H 200EH 09H 200FH 06H
微机原理的实验报告

一、实验目的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、掌握PC 机中断处理系统的基本原理。
2、熟悉定时/计数器8254 工作原理及其编程方法。
3、利用实验板上的8254 定时器为中断源发中断申请,中断请求用IRQ3(系统总线区的IRQ)。
4、熟悉数码管显示原理,掌握数码管显示接口技术。
5、学习数字时钟原理,实现数字时钟。
6、掌握中断控制器8259 管理。
二、实验内容与步骤接线:三、实验原理1、PC 机用户可使用的硬件中断只有可屏蔽中断,由8259 中断控制器管理。
中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU 发出可屏蔽中断请求。
IBMPC、PC/XT 机内有一片8259 中断控制器对外可以提供8 个中断源:中断源中断类型号中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 0BH 串行口2IRQ4 0CH 串行口1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机8 个中断源的中断请求信号线IRQ0~IRQ7 在主机的62 线ISA 总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。
对于PC/AT 及286 以上微机内又扩展了一片8259 中断控制,IRQ2 用于两片8259 之间级连,对外可以提供16 个中断源:中断源中断类型号中断功能IRQ8 070H 实时时钟IRQ9 071H 用户中断IRQ10 072H 保留IRQ11 073H 保留IRQ12 074H 保留IRQ13 075H 协处理器IRQ14 076H 硬盘IRQ15 077H 保留实验系统总线区的IRQ 接到了3 号中断IRQ3 上,即进行中断实验时,所用中断类型号为0BH。
微机原理与接口技术实验报告二

微机原理与接口技术实验报告(二)1、实验内容一:实验目的:(1) 阅读《实验操作.ppt》, 学习汇编工具的使用(2) 学习附录的程序代码, 理解并输入、编译和查错3) 学习利用编译错误信息进行附录的程序修改;(程序包含一个语法错误和一个逻辑错误)4)学习程序流程控制: (条件跳转指令ja jb (call指令, 观察程序执行时堆栈的变化(学会用debug –g命令设置断点);5 )学习程序中有限的寄存器的使用。
2.实验内容:(1)打开masm for windows软件, 在其中输入实验要求附给的程序, 保存后运行, 程序报错:(2)经分析发现, “noneeded”没有定义, 改为“notneeded”后正常运行(3)运行过程中发现当字母或数字个数达到两位数时, 统计结果的各位与十位对调了。
如下图, 字母数应为13, 但显示为31(4)经检查, 发现第80行程序有误, inc指令应改为dec指令。
运行后程序正常, 调试完毕。
如下图程序框图如下:实验内容二:1.实验目的及内容:编写完整程序, 实现功能:统计以下字符串STR中空格的数目, 结果保存在COUNT中, 并把个数在屏幕上显示出来。
STR DB ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9'L EQU $-STRCOUNT DB ?(字符串STR可以从这里直接拷贝到程序中)实验结果:程序如下:dispmsg macro messgemov ah,9lea dx,messgeint 21hendmDATA segmenttishi db 0dh,0ah,'the original string is:' string db ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9' STRINGLEN= $-stringnewline db 0dh,0ahNspace db 0dH,0aH,'Number of char space is:',?,?Nsp db ?,'$'DATA endsSTACK segment stack 'stack'sta db 100 dup(?)stack endsCODE segmentASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,seg DATAMOV DS,AXxor cx,cxxor dl,dlmov cl,stringlenlea bx,stringcnt:mov al,[bx]cmp al,' 'jz yesspinc blloop cnt jmp shijinzhiyessp:inc dlinc blloop cntjmp shijinzhishijinzhi:lea bx,Nspmov ah,02hint 21hcall char2asc dispmsg tishiMOV AH,4CHINT 21Hchar2asc procmov dl,10 next: xor ah,ahdiv dladd ah,'0'mov [bx],ahdec bxor al,aljnz nextretchar2asc endpcode endsend startEND START运行结果如下:程序流程图如下:实验中遇到的问题及解决方法:1.汇编语言中寄存器有限, 在使用时注意是否保存寄存器中原有的值, 防止在使用寄存器时将原值改变。
微机原理实验报告

目录软件实验部分:实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同数个数实验七无符号双字节快速乘法子程序实验八多分支程序实验九脉冲计数(定时/计数器实验)实验十电脑时钟(定时器、中断综合实验)硬件实验部分:实验一 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,如何修改程序。
微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。
二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。
2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。
3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。
4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。
三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。
(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。
观察实验现象并记录。
(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。
观察程序的执行结果,并记录相关数据。
(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。
观察实验现象并记录相关数据。
2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。
(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。
(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。
四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。
2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。
但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。
五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。
微机原理实验报告

微机原理实验报告1实验的目的是学习8086/8088指令系统中一些基本指令的用法和程序的基本方法。
2熟悉8086.8088汇编语言程序在PC机上建立、组装、连接、调试和运行的全过程。
实验中,a、B、C、D四个数字以单字节压缩BCD码的形式存储在num存储器的四个单元中。
然后,计算(a+b)-(c+D)并以Y1为单位,结果显示在屏幕上。
在调试过程中,不断更改a、B、C、D的内容,并检查结果。
本文提供了几组数据:1。
A=09,B=06,C=04,d=072。
A=38,B=41,C=29,d=34 3。
A=70,B=23,C=42,d=41 4。
A=63,B=73,C=62,d=50 3。
实验调试过程1。
使用DOS工具掩码和链接生成EXE文件2。
使用调试工具编译并中断单击调试器。
1使用-U命令反汇编程序②设置断点1检查a+B的结果是否正确。
结果在23小时存储在A1中,结果正确。
③设置断点2检查C+D的结果是否正确。
如果结果存储在Al中30小时,则结果正确。
④运行程序后,使用-D命令检查最终结果是否正确。
数据段中的第五个地址是计算结果,它是正确的。
⑤尤其在(a+b)-(c+D)中使用-E。
如果前者比后者小,结果可能不正确。
这时,我们应该判断借阅符号是否为负数。
如果是负数,则使用(c+D)-(a+b),并在结果中输出一个负号。
三。
已成功调试并检查结果。
直接在DOS命令下运行程序添加.exe 或者在调试期间使用-G命令运行程序,并检查程序结果。
4实验程序和DSEG程序框图。
定义数据段编号DB 13h、27h、11h、12h;定义A、B、C、D Y1 DB?DSEG结束;数据段结束sseg段标准堆栈;定义堆栈DB 20 dup(?)sseg结束cseg段假设CS:cseg,ds:DSEG,SS:sseg start:MOV AX,DSEG MOV ds,AX MOV AX,sseg MOV SS,AX MOV AL,[NUM];将A复制到AL以添加AL,[NUM+1];A+B DAA MOV CL,AL;保存AL MOV AL,[NUM+2];将C复制到AL 以添加AL,[NUM+3];C+D DAA SUB CL,AL;(A+B)-(C+D)MOV AL,CL DAS MOV[NUM+4],AL MOV BL,AL;save AL和AL,0F0H;R SHIFT MOV CL,4 SHR AL,CL ADD AL,30H;获取ASCII MOV DL,AL MOV AH,02h int 21h MOV AL,BL;还原AL和AL,0Fh;取低位4位,加上AL,30H MOV DL,AL MOV AH,02h int 21h MOV ax,4c00h int 21h cseg end start end end 5。
微机原理实验报告 实验二

4.全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。
5.编写实验报告。
本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
设计原理图及源程序
程序框图:
源程序:
问题讨论
在实验中确认正确编译好且试验箱能运行程序之后并开始自己的程序运行,可为什么不能得到预期的结果?
(3)A端口有一个8位的数据输出缓冲锁存器和一个输入缓冲锁存器,用以暂存数据,B、C端口各有一个8位的数据输出锁存器和一个输入缓存器。
(4)8255A内部结构及引脚:三个可编程的数据端口A、B、C,数据总线缓冲器,内部控制逻辑——A组和B组控制,④读写控制逻辑.
(5)8255A的控制字:方式选择控制字8255A C端口按位置位/复位控制字
(6)8255A是通用的可编程并行接口芯片,可将在一个与TTL兼容的I/O设备与CPU相连,如果与使用高于8MHz时钟的CPU一起工作,需要插入等待状态,输出提供至少2.5mA的吸收电流,最大为4mA。
2.实验接线:CS0CS8255 PA0~PA7平推开关的输出K1~K8 PB0~PB7发光二极管的输入LED1~LED8。
1.设计原理:
(1)可编程控制改变端口功能,8255A有三种工作方式:
方式0,基本输入/输出;方式1,选通联络工作方式;方式2,双向输入/输出方式,只有A端口具有此功能。
(2)可编程并行接口芯片8255A为40引脚双列直插芯片,它有三个独立的端口,分别称为A、B、C端口,每个端口有8根数据线,通过数据线可以与I/O设备交换数据。
微机原理实验报告书
姓名学号实验时间
课题名称
实验二8255并行口实验实 Nhomakorabea目的1.掌握8255A的基本工作方式
微机原理上机实验报告

微机原理上机实验报告实验一基本输入/输出实验:本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。
用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。
8255基本输入/输出实验参考接线图如图所示。
流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENTCS0 EQU 300OHMY8255_A EQU CS0+00HMY8255_B EQU CS0+01HMY8255_C EQU CS0+02HMY8255_MODE EQU CS0+03HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,3003HMOV AL,10000010BOUT DX,ALTEST_IT:MOV DX,3001HIN AL,DXMOV DX,3000HOUT DX,ALJMP TEST_ITCODE ENDSEND START实验现象:闭合开关,对应控制灯泡发光。
实验二流水线指示灯显示实验:首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。
8255流水灯显示实验参考接线图如图所示。
流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENTCSO EQU 3000HA EQU CSO+0000HB EQU CSO+0001HC EQU CSO+0002HM EQU CSO+0003HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV AL,10000000BMOV DX,MOUT DX,AL;MOV DX,B;IN AL,DXL1:MOV AL,00001000BMOV DX,AOUT DX,ALMOV AL,00000001BMOV DX,BOUT DX,ALMOV CX,00FFHC1: MOV BX,CXMOV CX,0FFFFHD1:LOOP D1MOV CX,BXLOOP C1MOV AL,00000100BMOV DX,AOUT DX,ALMOV AL,00000010BMOV DX,BOUT DX,ALMOV CX,00FFHC2: MOV BX,CXMOV CX,0FFFFHD2:LOOP D2MOV CX,BXLOOP C2MOV AL,00000010BMOV DX,AOUT DX,ALMOV AL,00000100BMOV DX,BOUT DX,ALMOV CX,00FFHC3: MOV BX,CXMOV CX,0FFFFHD3:LOOP D3MOV CX,BXLOOP C3MOV AL,00000001BMOV DX,AOUT DX,ALMOV AL,00001000BMOV DX,BOUT DX,ALMOV CX,00FFHC4: MOV BX,CXMOV CX,0FFFFHD4:LOOP D4MOV CX,BXLOOP C4JMP L1MOV AX,4C00HINT 21HCODE ENDSEND START实验现象:灯泡如流水般从左至右依次流动发光,并始终保持在同一时间只有一个灯亮着。
微机原理实验报告

微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。
二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。
2.掌握微机系统的基本操作:开机、关机、复位、重启等。
3.了解微机系统的工作原理:运行机制、输入输出等。
4.实践运用微机系统进行一些简单的应用操作。
三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。
2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。
如果发现问题,主机会发出蜂鸣声。
3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。
4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。
5.系统操作:根据实验要求,进行相应的系统操作。
6.关机操作:在操作完成后,选择关机选项进行关机。
四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。
通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。
同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。
五、实验心得通过本次实验,我对微机系统的组成和工作原理有了更深入的了解。
这对我后续学习计算机原理和操作系统提供了基础。
在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。
这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。
总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。
通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。
在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。
微机原理实验报告

微机原理实验报告实验目的,通过本次实验,掌握微机原理的基本知识,了解微机系统的组成和工作原理,掌握微机系统的组装和调试方法。
实验一,微机系统组成及工作原理。
1.1 微机系统的组成。
微机系统由中央处理器(CPU)、内存、输入设备、输出设备和外部设备等组成。
其中,CPU是微机系统的核心部件,负责控制整个系统的运行。
1.2 微机系统的工作原理。
微机系统的工作原理是通过CPU对内存中的指令进行解释和执行,从而实现各种功能。
CPU通过总线与内存、输入输出设备进行数据传输和控制信号的交换,实现对整个系统的控制和管理。
实验二,微机系统的组装和调试。
2.1 微机系统的组装。
在组装微机系统时,首先要选择合适的主板、CPU、内存、硬盘等配件,然后按照正确的安装顺序和方法进行组装。
组装完成后,还需连接电源、显示器、键盘、鼠标等外部设备。
2.2 微机系统的调试。
组装完成后,需要对微机系统进行调试,检查各个部件是否连接正确,是否能够正常工作。
通过BIOS设置和操作系统的安装,完成对微机系统的调试和配置。
实验三,微机系统的应用。
3.1 微机系统的应用领域。
微机系统广泛应用于各个领域,如办公、教育、科研、娱乐等。
在办公领域,微机系统可以用于文字处理、表格制作、图像处理等;在教育领域,微机系统可以用于多媒体教学、网络教学等。
3.2 微机系统的发展趋势。
随着科技的不断发展,微机系统也在不断更新换代,性能不断提升,体积不断缩小,功耗不断降低。
未来,微机系统将更加智能化、便携化,成为人们生活、工作不可或缺的一部分。
结论,通过本次实验,我对微机原理有了更深入的了解,掌握了微机系统的组成和工作原理,了解了微机系统的组装和调试方法,对微机系统的应用和发展趋势也有了一定的认识。
这对我今后的学习和工作将有很大的帮助。
微机原理实验 原理

微机原理实验原理
实验1:微机原理实验的实验目的
实验2:微机原理实验的仪器和材料
实验3:微机原理实验的实验步骤
实验4:微机原理实验的实验结果与分析
实验5:微机原理实验的实验结论
实验1:实验目的
本实验旨在通过使用微机原理实验仪器和材料,了解微机原理的基本原理和工作方式。
实验2:仪器和材料
本实验所需的仪器和材料包括微机原理实验仪器、计算机、电源线、串口通信线、示波器等。
实验3:实验步骤
1. 将微机原理实验仪器与计算机连接,确保连接稳定。
2. 打开电源线,将微机原理实验仪器通电。
3. 配置串口通信线,确保仪器与计算机之间的串口通信正常。
4. 在计算机上开启相关的软件程序,进行实验参数的设置与调整。
5. 根据实验要求,进行数据采集、数据处理以及实验结果的观察与记录。
6. 分析实验结果,根据实验目的得出相应的结论。
实验4:实验结果与分析
根据实验数据的采集和处理,我们得到了实验结果。
经过对实
验结果的分析和比较,可以得出以下结论:
- 实验结果符合预期,验证了微机原理的基本原理和工作方式。
- 实验过程中出现了一些异常情况,为了更好地理解这些异常
状况,需要进一步分析和研究。
实验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,DA TA1LEA 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,DA TA1MOV 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’。
微机原理实验报告

微机原理实验报告
一、实验目的
本次实验的主要目的是了解微机原理、学习微机的基础知识、技能和操作方法,还有熟悉微机实验室的使用方法。
二、实验过程
在实验室中,我们首先进行了掌握微处理器的基本指令集和编程技巧的实验。
通过对微处理器的学习,我们了解到了微处理器的组成结构和工作原理,同时也了解了微处理器的基础指令集,包括数据的传送、算术、逻辑、分支、循环指令等等。
接着我们进行了CPU总线实验。
通过对CPU总线的学习,我们了解了CPU读写内部和外部存储器的方法和原理。
同时,我们学习了编写程序来控制CPU读写存储器等。
最后,我们进行了8255并行接口控制实验。
通过学习并实践8255并行接口控制实验,我们了解了接口及其编程。
三、实验结果
在实验中,我们成功地掌握了微处理器的基本指令集和编程技巧,了解了微处理器的组成结构和工作原理,同时掌握了CPU总
线实验和8255并行接口控制实验。
在实验中不仅增长了专业知识,而且也培养了我们的实验能力,并进一步增强了我们的实践能力。
四、实验心得
通过这次实验,我们意识到,要想成为一名优秀的计算机专业
人才,必须首先打牢微机原理的基础,通过大量的实践和实验,
来应用理论知识,深入了解计算机底层的数据处理方式以及处理
器和存储器的工作原理。
只有这样才能够在日后工作中运用自如,并且在以后的学习和研究中更具备竞争力。
在以后的学习中,我将持续学习和实践,不断探索和发现,提
升自身的能力,为未来的发展做好充分的准备。
北京工业大学微机原理实验报告2

北京工业大学微机原理实验报告2微机原理实验报告—实验二熟悉汇编程序建立及其调试方法姓名:学号:一、实验目的1、熟悉汇编语言源程序的框架结构,学会编制汇程序。
2、熟悉汇编语言上机操作的过程,学会汇编程序调试方法。
二、实验内容1、学习编写汇编语言源程序的方法,了解数据存放格式。
2、阅读给出的程序,找出程序中的错误。
3、通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。
三、实验预习1、阅读实验指导第一章的内容,了解汇编语言程序建立、汇编、链接、调试的全过程。
2、下面的汇编语言源程序有错误的,试给程序加注释。
通过调试手段找出程序中的错误并修改之。
写出程序的功能,画出程序流程图。
(1)程序修改前:STACKSG:SEGMENT PARA STACK ‘STACK’ ;不能有冒号DB 256 DUP(?)STACKSG ENDSDATASG: SEGMENT PARA ‘DATA’;不能有冒号BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512DW 23,56,420,75,0,-1024,-67,39,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG: SEGMENT ;不能有冒号ASSUME SS:STACKSG , CS:CODESGASSUME DS:DATASGORG 100HBEGIN MOV DS, DATASG ;BEGIN: 应改为MOV AX , DATASG MOV DS, AX LEA SI ,BLOCKMOV CX, COUNTDEC CXMOV AX , [SI]CHKMAX ADD SI,2 ;应加冒号CHKMAX: CMP [SI] , AXJLE NEXTMOV AX , [SI]DEC CX ;删除NEXT: LOOP CHKMAXMOV MAX ,AXMOV AH, 4CHINT 21HCODESG ENDSEND BEGIN(2)程序修改后:STACKSG SEGMENT PARA STACK ‘STACK’DB 256 DUP(?)STACKSG ENDSDATASG SEGMENT PARA ‘DATA’BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512DW 23,56,420,75,0,-1024,-67,39,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG SEGMENTASSUME SS:STACKSG , CS:CODESGASSUME DS:DATASGORG 100HBEGIN MOV AX , DATASGMOV DS, AXLEA SI ,BLOCKMOV CX, COUNTDEC CXMOV AX , [SI]CHKMAX:ADD SI,2CMP [SI] , AXJLE NEXTMOV AX , [SI]NEXT: LOOP CHKMAXMOV MAX ,AXMOV AH, 4CHINT 21HCODESG ENDSEND BEGIN(3)程序注释:STACKSG SEGMENT PARA STACK 'STACK'DB 256 DUP(?)STACKSG ENDS ;定义堆栈段DATASG SEGMENT PARA 'DATA' ;数据段定义BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512DW 23,56,420,75,0,-1024,-67,39,-2000 ;定义变量BLOCK包含20个字COUNT EQU 20 ;COUNT=20MAX DW ? ;定义字变量MAX并不赋值DATASG ENDSCODESG SEGMENT ;代码段定义ASSUME SS:STACKSG , CS:CODESG ;说明STACKSG是堆栈段ASSUME DS:DATASG ;CODESG是代码段,DATASG是数据段ORG 100HBEGIN: MOV AX, DATASGMOV DS, AX ;DS指向DATASGLEA SI ,BLOCK ;取BLOCK的有效地址给SIMOV CX, COUNT ;CX=20DEC CX ;CX=CX-1MOV AX , [SI] ;将DS:[SI]里的值送到AX CHKMAX : ADD SI, 2 ;SI=SI+2CMP [SI] , AX ;比较DS:[SI]与AX值的大小JLE NEXT ;如果DS:[SI]的值小于AX里的值,则跳转到NEXT MOV AX , [SI] ;将DS:[SI]的值送到AXNEXT: LOOP CHKMAX ;循环CHKMAXMOV MAX ,AX ;将AX的值送到变量MAXMOV AH, 4CH ;结束INT 21HCODESG ENDSEND BEGIN(4)程序的流程图:Y NNY(5)程序的功能:找出20个数中的最大值并保存。
微机原理第二次实验报告

微机原理第二次实验报告实验二:加法及判断程序调试实验实验报告健行理工1402班 陈丽红 201424450202一、实验目的1. 掌握编写汇编语言源程序的基本方法和基本框架。
2. 学会编写顺序结构、分支结构和循环结构的汇编程序,掌握宏定义与宏调用的方法。
3.掌握程序中数据的产生与输入输出的方法。
二、实验内容1. 用汇编语言编写一个加法程序: 1325十9839,用ASCII 码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出。
2. 设有一组数据: 5,-4,0,3,100,-51,编程判断:每个数是>0、=0、还是<0 ?并输出其判断结果。
即:⎪⎩⎪⎨⎧<-=>=010001x x x y 当当当三、程序说明3.1实验内容一:(1) 两个数据先以相反的顺序以ASCII 码的形式存放在数据段的DATA1和DATA2中,相加时从DATA1和DATA2的起始字节开始相加,也就是从数的个位数开始相加。
相加后的结果存放在DATA2开始的存储单元中,同时用DL 保存进位位。
(2)对于本题来说,题目为两个四位数相加,所以定义循环数为4。
(3) 程序中的加法运算是ASCII 码运算,后面应加一条ASCII 码加法调整指令AAA ,经AAA 调整的加法指令,将ASCII 码的数据高4位清“0”,因此要将结果每位数高4位拼成3,变成ASCII 码存到DATA2中。
(4)一位运算结束后将用于保存进位位的DL 复原,进入循环,进行下一位求和计算。
(5)由于计算是从个位数相加开始,所以存入DATA2中的数据应该以相反的顺序输出,故再进行一轮循环输出,得到最终的计算结果。
3.2实验内容二:(1)首先将原始数据(5,-4,0,3,100,-51)装入起始地址为VAR 的字节存储单元中。
(2)将判断结果以字符串的形式分别存放在数据区中,以便在显示输出时调用。
(3)判断部分采用CMP 指令。
微机原理第二次实验报告-董东启

实验二定时器实验一、实验目的与要求利用定时器控制产生占空比可变的PWM波,通过实验验证进一步加强对定时器功能的认识,掌握定时器的使用方法。
1、用P1.0口输出PWM波,利用按键控制占空比的增加和降低,用示波器查看P1.0口的输出波形。
2、引导学生进行利用现有程序演示定时器动态显示数码管实验,了解数码管动态扫描方式。
二、实验注意事项1、启动KEIL软件,选择菜单“工程\新建工程”以建立工程(扩展名为.uv2,如T2a.uv2)。
2、选择菜单“文件\新文件”以建立一个新的文本编辑窗口,在窗口中输入参考源程序1并保存(扩展名为.asm),如test2a.asm,然后将其加入到源程序组1中。
3、在工程菜单的选项“目标1属性”中设置相应的选项,包括“输出\产生hex文件”选项以便汇编生成HEX代码供编程器使用,在“调试\使用KeilMonitor-51 Driver”的设置中选择相应的串口号。
4、使用“工程”中的“编译全部文件”完成相应的文件编译,如果程序格式正确将生成相应HEX代码文件,如T2a.hex。
如果提示有编译错误请自行修改源程序然后再重新编译。
5、用单根连线将P1.0(JP44)连接到8路指示灯部分(JP32)的LED0,将P1.6、P1.7(JP44)分别连接到JP37的K01、K02。
6、完成仿真器与计算机之间的连线并通电。
7、在KEIL软件中启动“调试\开启仿真模式”,然后用“运行”命令实现全速运行的仿真。
8、观察实验现象并分别依次按下K01、K02,观察并记录实验现象然后在KEIL软件中启动“中断运行-调试(debug)\关闭仿真模式”退出仿真,选择“工程\关闭工程”可关闭当前工程。
9、参考步骤1-4完成参考源程序2的建立与输入,如新项目T2b.uv2和新的源程序test2b.asm,完成编译与仿真设置。
10、用8PIN连线将P0口连接到数码管数据输入端,P2口连接到数码管控制端。
11、输入程序并仿真运行,注意数码管的显示内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告课程名称:《微机原理》实验第3次实验
实验名称:无符号数加减法的实现
实验时间:2015年9月25日
实验地点:XXXX组号__________
学号:XXXX
姓名:XXX
指导老师:XX 评定成绩:___________
微机原理实验3
南京大学工程管理学院
一、实验设备:
计算机
二、实验用时:
4小时
三、实验内容:
1.编写子程序Add_16,实现双字节无符号数加法。
要求在地址0x70~0x73定义变量ACCALO、ACCAHI、ACCBLO、ACCBHI。
2.编写子程序Sub_16,实现双字节无符号数减法。
要求在地址0x20~0x23定义变量ACCALO、ACCAHI、ACCBLO、ACCBHI。
其中:
ACCALO ;存放加数或减数低8位
ACCAHI ;存放加数或减数高8位
ACCBLO ;存放被加数或被减数低8位
ACCBHI 存放被加数或被减数高8位
编写Main主程序,使用被数0x4C4B和数0x40D2对编写的子程序进行加法和减法测试。
(测试数字可以自选,注意数据大小对结果的影响。
)
四、实验报告要求:
1.程序框图和源程序清单
五、实验结果:
1、程序框图:(1)
(2)
2、源程序清单:
(1)
list p=16f877A ; 标明所用的处理器类型
#include <p16f877A.inc> ; 调用头文件
ACCALO EQU 0x70
ACCAHI EQU 0x71
ACCBLO EQU 0x72
ACCBHI EQU 0x73
org 0x0000 ; 复位入口地址main
MOVLW 0x4b;
MOVWF ACCBLO;
MOVLW 0x4c;
MOVWF ACCBHI;
MOVLW 0xd2;
MOVWF ACCALO;
MOVLW 0x40;
MOVWF ACCAHI;
CALL Add_16;
NOP;
GOTO $;
Add_16
MOVF ACCALO,w;
ADDWF ACCBLO,f;
BTFSC STATUS,C;
INCF ACCBHI;
MOVF ACCAHI,w;
ADDWF ACCBHI,f;
RETURN;
END ; 程序结束
(2)
list p=16f877A ; 标明所用的处理器类型
#include <p16f877A.inc> ; 调用头文件
ACCALO EQU 0x20
ACCAHI EQU 0x21
ACCBLO EQU 0x22
ACCBHI EQU 0x23
w_tem EQU 0x74
org 0x0000 ; 复位入口地址
main
MOVLW 0x25;
MOVWF ACCBLO;
MOVLW 0x20;
MOVWF ACCBHI;
MOVLW 0x40;
MOVWF ACCALO;
MOVLW 0x4c;
MOVWF ACCAHI;
CALL Sub_16;
NOP;
GOTO $;
Sub_16
MOVLW 0x00;
MOVWF w_tem;
MOVF ACCBLO,w;
XORLW 0xff;
ADDLW 0x01;
MOVWF ACCBLO;
MOVF ACCBLO,w;
ADDWF ACCALO,f;
BTFSC STATUS,C;
INCF w_tem,f;
MOVF ACCBHI,w;
XORLW b'11111111';
MOVWF ACCBHI;
MOVF ACCAHI,w;
ADDWF w_tem,w;
ADDWF ACCBHI,w;
MOVWF ACCAHI;
RETURN;
END ; 程序结束
3、实验截图:
(1)
截图1
ACCAHI=0x40,ACCALO=0xd2,ACCBHI=0x4c,ACCBLO=0x4b,最终结果:
ACCBHI=0x8d,ACCBLO=0x1d
(2)
截图2
ACCAHI=0x4c,ACCALO=0x40,ACCBHI=0x20,ACCBLO=0x25,最终结果:
ACCAHI=0x2c,ACCALO=0x1b
六、实验结果分析及反思:
1、movlw是W寄存器赋立即数值,movwf是把W寄存器的内容传送至数据寄存器中,两者要注意区分;
2、对单片机的学习不应该只停留在理论阶段,应该多了解单片机的底层构件,这样在以后进行硬件仿真时遇到问题才不会手足无措,无计可施;
3、movf可以实现把数据寄存器的内容传送至目的寄存器,要注意它和movlw、movwf之间的区别;
4、状态寄存器STA TUS中的C为1表示有进位或无借位,为0表示无进位或有借位;
七、实验总结:
1、实现无符号数加减法仅仅是指令的简单使用,不过应该注意看门狗的溢出复位问题,即应该注意给看门狗计数定时清零,应用clrwdt 指令;
2、在做微机原理实验时,要有耐心,一般来说,微机原理实验的内容较多,所涉及的软件种类多,所以对于动手能力有很大的提升,对思维能力也有很好的帮助;
3、PIC单片机的I/O口在作为输出时,有很强的驱动能力,高电平
输出时的拉电流和低电平时的灌电流都可以达到25mA。
而在作为输入时,端口会呈现出极高的输入阻抗,由端口引入的输入漏电流不超过1μA,对于输入信号来说基本上可以视为开路状态;
4、器件在休眠模式时,仍可正常工作的模块如下:WDT定时器、TIMER1定时器、数模转换器、LCD模块、比较器、参考电压模块、欠压复位模块(电路);
5、PIC单片机关于中断编程有这几个原则:中断服务程序尽量短,只做必须做的事情,其他的放到主循环里去做;其次,中断服务中尽量避免调用其他子程序,防止堆栈溢出;最后,不要在中断中做复杂运算;
6、PIC单片机I/O口的基本结构是由3个D触发器构成的锁存器、2个受控三态门、1个反相器、1个TTL电平缓冲器、1个具有双输入端的或门、1个具有双输入端的与门、互补推挽输出的PMOS管(P沟道场效应管)和NMOS管(N沟道场效应管)以及2个钳位二极管构成的。
下面我们要分析一下I/O口是怎样工作的,这对我们理解PIC 单片机的性能是有帮助的;
7、上拉电阻就是把不确定的信号通过一个电阻嵌位在高电平,此电阻还起到限流的作用。
同理,下拉电阻是把不确定的信号嵌位在低电
平。
上拉电阻是说的是器件的输入电流,而下拉说的则是输出电流;
8、指令助记符不能顶格书写(即不能够靠最左边),当前面没有标号时,必须至少保留一个空格;
9、操作码又称指令助记符,决定着指令的操作类型和操作性质,是汇编语言语句中的核心要素,每一条汇编指令都不可缺少,而其它三部分有些指令可以缺省;。