微机原理与单片机实验报告

合集下载

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

微机原理实验报告

微机原理实验报告

微机原理实验报告概述:微机原理是计算机科学与技术专业中的一门重要课程,通过实验学习,可以加深对计算机内部运行原理的理解,提高软硬件的开发和调试能力。

本实验报告将介绍我对微机原理实验的学习和思考。

实验一:二进制转换实验在这个实验中,我首先了解了二进制数的概念以及其和十进制数的转换方法。

通过实际操作,我加深了对计算机内部数据表示方式的理解。

这对于后续学习计算机系统结构和编程语言至关重要。

实验二:逻辑门电路实验逻辑门电路是计算机硬件的基础组成部分,通过实验,我学会了使用逻辑门芯片构建各种逻辑电路,并能够通过真值表分析和验证逻辑电路的正确性。

这对于理解计算机内部的数据处理和控制逻辑有着直接的帮助。

实验三:运算器设计实验在这个实验中,我通过学习和设计算术逻辑单元(ALU),了解了计算机的算术操作过程,并能够通过运算器实现基本算术运算。

这对于理解计算机内部数据的处理和计算机指令的执行有着重要的意义。

实验四:存储器与外设实验存储器是计算机系统的重要组成部分,通过实验,我深入了解了存储器的类型、组织结构和访问方式,并通过外设与存储器的交互,实践了计算机系统的输入和输出过程。

实验五:微处理器实验微处理器是计算机系统中最核心的部件,通过实验,我学习了微处理器的基本运行原理,能够通过汇编语言编写程序,并通过微处理器执行程序实现特定的功能。

这个实验为我今后学习计算机体系结构和操作系统打下了坚实的基础。

实验总结:通过这几个实验,我深入了解了微机原理课程的实践内容和相关知识。

实验的过程中,我不仅学会了使用仪器设备和工具,还培养了自己的动手能力和团队合作精神。

通过不断的实践,我对计算机内部结构和运行原理有了更深刻的理解,也提高了我的问题解决能力和创新思维。

未来展望:微机原理实验的学习只是计算机科学与技术专业中的一小部分。

我希望在今后的学习过程中能加深对计算机体系结构、操作系统、编程语言等方面的学习,并不断深入钻研,成为一名优秀的计算机科学与技术专业人才。

微机原理和单片机实验报告

微机原理和单片机实验报告

实验一 8051单片机仿真系统的配置及使用一、实验目的与要求1.了解80c51单片机仿真开发系统的组成原理。

2.掌握仿真系统的连接与配置。

3.掌握仿真系统的MedWin集成开发环境的使用。

4.掌握程序的调试方法。

二、实验设备1. PC机一台2. Insight SE-52 Plus 8XC51 单片机仿真器主机一台3. TB-40DP1 80C51 仿真头一个4. CAB-40FT 仿真电缆一条5. CAB-25DB 通讯电缆一条6. MS-100电源一台7. 数字万用表一台三、实验内容1. Insight SE52 Plus单片机仿真开发系统的组成及性能2. Insight SE52 Plus单片机仿真开发系统的硬件连接及配置3.学习MedWin集成开发环境的使用四、思考题1 MedWin集成开发环境的使用中,不使用项目管理方式开发应用程序和使用项目管理方式开发应用程序的操作方法和区别?答:区别是:使用项目管理方式开发应用程序,更加方便,效率更高。

2 MedWin集成开发环境的使用中,CODE,DATA,IDATA,XDATA,PDATA各存储空间的意义?答:CODE是片内程序存储器。

DATA为片内数据存储区,地址低128 字节与IData 的数据相同,高128 字节为特殊功能寄存器SFR 空间。

IDATA为片内数据存储区,低地址128字节。

XDATA为片外出具存储区。

PDATA为片外页面方式访问的数据区PData 窗口,使用MOVX @ri 指令访问。

3 MedWin模拟仿真调试巡回彩灯程序,观察实验结果。

改变程序,观察实验结果。

参考程序如下:运行程序2,P1.2和P1.3所接的LED会一直亮。

实验二心电图机液晶显示系统实验(图形部分)一、实验目的了解液晶显示的原理掌握液晶面板上进行波形显示的原理和方法掌握单片机编程技巧二、实验要求了解80C51单片机及OCMJ4X8C液晶模组的硬件配置及连接方法掌握80C51单片机的编程语言掌握波形输出程序的算法和结构编写程序并调试程序三、实验设备单片机仿真器金鹏OCMJ4X8C液晶模组稳压电源四、实验内容液晶显示在心电图机中的应用是将数字技术、计算机技术结合起来,利用单片机和液晶显示模块进行波形显示。

微机原理的实验报告

微机原理的实验报告

一、实验目的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. 学习如何使用单片机设计并实现闹钟功能;3. 掌握数字时钟显示技术。

实验器材:1. 单片机实验箱;2. AT89C52单片机;3. LED数码管;4. 4位开关;5. 电源线;6. 连线线缆。

实验原理:本次实验使用单片机AT89C52来设计和实现闹钟功能。

单片机是一种微型电子计算机系统,具有高度集成、功能强大等特点。

数码管是一种常见的数字显示装置,适用于时钟、计时器等场合。

实验步骤:1. 将AT89C52单片机与LED数码管通过连接线连接起来,保证电源线的正负极连接正常。

2. 编写C程序,实现显示当前时间的功能。

通过编程可以将当前时间在数码管上显示出来。

3. 设定闹钟时间和闹铃的功能,通过编程实现。

当闹钟时间到达时,数码管上会显示闹钟时间,并通过蜂鸣器发出声音。

4. 调试程序,确保闹钟功能正常运行。

5. 完成闹钟的相关操作,包括设置闹钟时间、启动闹钟、关闭闹钟等功能。

实验结果:经过编程和调试,我们成功实现了微机原理闹钟的功能。

我们能够通过设置闹钟时间并启动闹钟来实现报时的功能。

当闹钟时间到达时,数码管上会显示相应的时间,并通过蜂鸣器发出声音,起到提醒作用。

实验总结:通过这次实验,我深入了解了单片机的基本工作原理和编程方法。

同时,我学会了使用单片机设计和实现闹钟功能,并掌握了数字时钟显示技术。

这次实验让我对单片机的应用有了更深刻的认识,并提高了我对数字电路设计和编程的能力。

同时,我还发现了实验过程中可能存在的问题和改进的空间。

例如,我可以进一步完善闹钟功能,加入更多的定时和报时功能,提高闹钟的多样化和实用性。

此外,我还可以优化程序的运行效率,提高系统的稳定性和响应速度。

总之,本次实验对我的学习和提高具有重要意义。

通过实践操作,我深入理解了微机原理闹钟的设计与实现,拓宽了我的知识面和实践能力。

我将继续深入学习和掌握微机原理和相关技术,为以后的学习和研究打下坚实的基础。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

自动化专业-微机原理与单片机接口技术实验报告册 - Copy分解

自动化专业-微机原理与单片机接口技术实验报告册 - Copy分解

微机原理与单片机接口技术实验报告册河南理工大学电气学院专业班级学号姓名目录实验一系统认识实验实验二P3.0口输入、P1口输出实验实验三流水灯实验实验四定时器或实时时钟实验实验五双机通信实验实验六交通灯实验3实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件WAVE6000。

二、实验设备1.G2200/2100 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。

四、连线方案:五、实验步骤1.连接Lab51CPU板。

(已由实验师连好)2.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。

(已由实验师连好)3.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。

特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。

4.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。

拆线时,应先回转一下,不要硬拨,以免损坏线路板。

不管是拆线还是插线,1都应在断电的情况下进行。

实验中“连线方案”的粗线即为需用户动手接连的线。

5.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。

6.在计算机上打开“WAVE6000集成调试环境”,界面如下图所示:7.建立新程序(如果程序已编好,直接跳到第9步)选择菜单[文件 | 新建文件]功能。

出现一个文件名为NONAME1的源程序窗口,在此窗口中输入以下程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND8.保存程序选择菜单[文件 | 保存文件]或[文件 | 另存为 ]功能。

微机原理实验报告

微机原理实验报告

微机原理实验报告一、实验目的本次微机原理实验的主要目的是通过实际操作和观察,深入理解微机系统的工作原理和组成结构,掌握微机系统的编程和调试方法,提高我们对微机原理的实际应用能力。

二、实验设备1、计算机一台2、微机原理实验箱一套三、实验内容1、 8255 并行接口实验了解 8255 芯片的工作原理和编程方法。

通过编程实现 8255 芯片的 A 口、B 口、C 口的输入输出控制。

2、 8253 定时/计数器实验掌握 8253 芯片的工作方式和编程要点。

利用 8253 芯片实现定时和计数功能。

3、 8259 中断控制器实验学习 8259 芯片的中断管理机制。

编写中断服务程序,实现中断响应和处理。

四、实验原理1、 8255 并行接口8255 是一种可编程的并行接口芯片,具有 A、B、C 三个 8 位端口。

通过对控制字的编程,可以设置各个端口的工作方式为输入或输出。

2、 8253 定时/计数器8253 包含三个独立的 16 位计数器,每个计数器可以工作在不同的方式下,如方式 0 到方式 5。

通过对计数器的初值设置和控制字编程,可以实现定时和计数功能。

3、 8259 中断控制器8259 用于管理外部中断请求,可实现中断优先级的判断和中断嵌套。

通过对 8259 的初始化编程,可以设置中断触发方式、中断向量等。

五、实验步骤1、 8255 并行接口实验连接实验电路,将 8255 芯片与实验箱上的相关引脚连接好。

编写程序,设置 8255 的控制字,使 A 口为输出,B 口为输入。

向 A 口输出数据,从 B 口读取数据,并观察实验结果。

2、 8253 定时/计数器实验连接实验电路,将 8253 芯片与实验箱上的相关引脚连接好。

编写程序,设置 8253 计数器 0 的工作方式为方式 2,初值为 1000。

启动计数器,观察输出引脚的波形变化。

3、 8259 中断控制器实验连接实验电路,将 8259 芯片与实验箱上的相关引脚连接好。

微机原理的实验报告

微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。

二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。

2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。

3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。

4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。

三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。

(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。

观察实验现象并记录。

(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。

观察程序的执行结果,并记录相关数据。

(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。

观察实验现象并记录相关数据。

2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。

(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。

(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。

四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。

2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。

但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。

五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。

微机原理(单片机汇编)实验报告

微机原理(单片机汇编)实验报告

软件实验报告软件实验一一、实验目的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个字节存储块各单元内数据对应相同。

单片机实验报告

单片机实验报告

单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。

它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。

本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。

2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。

3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。

4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。

具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。

接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。

4.2 编程使用XXX软件对单片机进行编程。

根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。

验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。

4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。

在实验过程中需记录实验结果,并进行分析。

5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。

掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。

实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。

当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。

在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。

6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。

)。

微机原理与单片机实验报告

微机原理与单片机实验报告

微机原理与单片机实验报告Prepared on 22 November 2020北京联合大学信息学院实验报告课程名称:微型计算机原理学号:姓名:2012 年 6 月 9 日目录实验1 EMU8086模拟器的使用一实验要求利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的:熟悉EMU8086实验环境三 EMU8086环境:1 模拟器编辑窗口2 模拟器调试窗口四实验内容实验内容1:新建文件。

运行 emu80861. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码:MOV AX, 1020HMOV BX, 2030HMOV AX, BXADD AX, BXMOV [BX], AXMOV [2032H], AXHLT2. 编译:单击“编译”按钮,对程序段进行编译;3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。

4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。

5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。

6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。

7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为 400毫秒,单击“全速”按钮,运行程序,8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序的关联。

10.将“存储器”中地址改为1000:0100,并将从其开始的连续10个单元的内容改为55H。

实验内容2:运行范例在模拟器编辑窗口中1.点击典型范例2.选择:hellow,word程序,编译,运行,观察结果。

微机原理实验报告

微机原理实验报告

微机原理实验报告一、实验目的本实验旨在通过实际操控和操作微型计算机,深入了解微机系统的组成和工作原理,加深对计算机硬件结构以及基本操作的理解,培养实际动手能力。

二、实验内容1.熟悉微机系统组成部分:主机、显示器、键盘等。

2.掌握微机系统的基本操作:开机、关机、复位、重启等。

3.了解微机系统的工作原理:运行机制、输入输出等。

4.实践运用微机系统进行一些简单的应用操作。

三、实验步骤1.开机操作:按下主机电源按钮,等待主机启动。

2.系统自检:主机启动后会进行自检操作,检查硬件是否正常。

如果发现问题,主机会发出蜂鸣声。

3.输入输出设备准备:连接好显示器和键盘,并检查是否正常连接。

4.系统登录:按照屏幕上的提示,输入用户名和密码进行系统登录。

5.系统操作:根据实验要求,进行相应的系统操作。

6.关机操作:在操作完成后,选择关机选项进行关机。

四、实验结果与分析通过本次实验,我掌握了微机系统的基本操作,并对其工作原理有了更深入的了解。

通过实际操作,我可以熟练地开机、关机、复位等操作,并可以进行一些简单的应用操作。

同时,我也了解到了微机系统由主机、显示器、键盘等多个组成部分组成,不同组成部分的协作工作实现了系统的正常运行。

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

这对我后续学习计算机原理和操作系统提供了基础。

在实验过程中,我也发现了一些问题,比如操作系统选择界面的选择问题,我没有选择正确的操作系统,导致后续实验操作遇到一些困难。

这些问题提醒我在实际操作中需要格外注意,仔细阅读提示并选择正确的操作选项。

总结来说,本次实验对我深入理解微机系统的组成和工作原理提供了良好的机会。

通过实际操控和操作微型计算机,我对计算机硬件结构以及基本操作有了更直观的认识,掌握了一些基本操作技能。

在未来的学习和应用中,我将更加注重细节,提高自己的操作技能,并不断深入学习和了解更多关于微机系统的知识。

微机原理实验求最大值和最小值

微机原理实验求最大值和最小值

微机原理实验求最大值和最小值
本实验旨在通过学习微机原理,掌握如何求解一组数据的最大值和最小值。

实验中,
我们将使用基于AT89C51单片机的开发板作为实验平台,结合C语言编程,实现最大值和
最小值的求解,提高学生实际操作的能力。

实验步骤:
1. 准备实验环境
首先,需要准备好基于AT89C51单片机的开发板,并将其连接到电脑上。

在开发板中,需要连接到单片机的引脚上,可以使用杜邦线进行连接。

将开发板上的电源接好,并打开
电源开关。

2. 编写程序
接下来,我们需要使用C语言编写程序,实现最大值和最小值的求解。

程序的具体实
现方法如下:
(1)定义一个数组,用于存储一组数据。

(2)定义两个变量,用于分别记录最大值和最小值。

(3)使用for循环遍历数组中的所有元素,依次比较,更新最大值和最小值。

(4)输出最大值和最小值。

3. 烧录程序
将编写好的程序烧录到AT89C51单片机中。

可以使用KEIL或proteus等软件进行烧录。

4. 测试程序
在烧录程序成功后,需要进行测试,以确保程序能够正确运行。

可以使用模拟器或者
连接GPIO口的LED等外部设备定位问题。

实验结果:
总结:
本实验在提高学生实际操作能力的同时,还能够帮助学生深入理解微机原理。

通过本
次实验,学生学会了如何利用单片机和C语言编程解决实际问题,为以后的学习和实践打
下了基础。

微机原理实验报告

微机原理实验报告

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

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

1.1 微机系统的组成。

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

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

1.2 微机系统的工作原理。

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

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

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

2.1 微机系统的组装。

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

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

2.2 微机系统的调试。

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

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

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

3.1 微机系统的应用领域。

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

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

3.2 微机系统的发展趋势。

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

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

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

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

微机原理实验报告

微机原理实验报告

微机原理实验报告1. 感性认识.如果提问者能够找到单片机开发板的话, 先别管那么多, 直接拿开发板的例程来改. 比如原来开发板闪灯频率1Hz, 你就改成5Hz, 或者变着花样地闪, 总之就是在历程的基础上改. 诸如此类. 不要满足于改几个参数以显得你改过的代码的效果与原来有多么不同, 用仿真器链接开发板, 从头开始, 以单步运行的方式, 逐条语句地跟踪, 这相当于读一遍代码. 从简单的程序开始, 力争每个语句要能弄懂意思(不懂就翻书), 对于印象深刻的或者易发生歧义的语句, 自己添加上注释. 慢慢地从简单程序进阶到复杂的程序.2. 从需求入手.当你觉得你在改例程的过程中体会到了单片机编程的一些点滴之后, 你可以想想你在这些改过的地方, 如何能够在这基础上去实现一些跟开发板例程不一样的功能, 所谓不一样的功能, 比如原来是闪灯, 表示开关类的事物在两个状态(开与关)之间的切换, 具有此类抽象特征的事物又比如高压断路器以及二次侧控制继电器的闭与合, IGBT 触发脉冲的开与关. 学会将你的应用需求(客观事物的运动状态和控制状态)抽象地描述成单片机GPIO引脚的电平高低. 这样, 你就不会迷茫于应该从单片机的什么方面开始学.3. 系统学习.前面已经让你知道单片机这行当到底是干嘛的了, 这时候需要把基础打牢. 单片机的内部硬件体系结构, 单片机内各功能模块的工作逻辑和寄存器资源, 可能的话(很有可能噢)还有这种单片机的专用汇编语言(汇编语言不是通用的, 每种单片机的汇编语言都不同.) 基本上这类知识都分别可以从该单片机的数据手册和汇编指令手册中得到(厂家提供了这两类文档下载). 那么, 什么是"系统学习"中的"系统"一词的意义呢? 这个意义就是数据手册的目录和汇编指令手册的目录. 如果你是一个好的阅读者, 那么你首先应该阅读目录, 而不是直接去读第一章.4. 理性认识.这个时候, 假设你对基础知识已经进行了学习, 你需要回到实验中去实践, 通过实践去熟练. 不要指望你那点儿装墨水的脑袋能记住多少东西.回到你做过的实验和写过的注释, 对于原来模糊的地方要分析清楚, 将做过实验的例程抽象为你所理解的流程图, 分析其中每个流程的前因后果.5. 实战.基本上, 想学单片机的人估计都不是计算机系或者软件工程专业的, 我相信. 你的专业是什么, 决定了你怎么用单片机. 自动化? 好吧, 你的控制目标是交流电机或者直流电机的转速和转矩. 电气工程? 好吧, 你的控制目标是输电线主回路断路器的开关动作. 机电一体化? 好吧, 你的控制目标是数控机床上一系列气阀或者液压装置的动作组合. 找一个与你自己专业相关的控制对象, 这个对象最好是你能搞到手的, 控制需求相对简单的. 自己搭建外围电路(这是与单片机有关但是不属于单片机范畴的交叉领域, 不在此讨论, 需另开话题)与单片机系统进行连接, 将你的控制需求由抽象目标一步步具体到程序的模块/流程/代码. 测试你的系统, 开动它, 蹂躏它, 各种极限动作, 要够High!!!6. 跑市场, 拉项目.如果你不能成为一个老板, 那么起码你得知道你未来的老板为什么要让你如此这般做牛做马. 所以, 去了解市场的需求, 看看有什么可以用单片机做产品能够挣钱的事情. 当你合同在手的时候, 你的社会责任感和家庭责任感就来了.。

微机原理与单片机实验报告、课程设计_双机通信

微机原理与单片机实验报告、课程设计_双机通信

实验三双机通信实验一、实验目的UART 串行通信接口技术应用二、实验实现的功能用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。

三、系统硬件设计四、系统软件设计#include<stc.h>void send(void) ;unsigned char a[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd};sbit L0=P0^0; //按位定义sbit L1=P0^1;sbit L2=P0^2;sbit L3=P0^3;sbit L5=P0^5;sbit L6=P0^6;sbit L7=P0^7;void Delay300ms() //300ms延时{unsigned char i, j, k;i = 13;j = 156;k = 83;do{do{while (--k);} while (--j);} while (--i);}Scan_Key() //按键扫描,返回按键值{unsigned char FLAG=0;while(1){P3=0xbf;Delay300ms();if(L5==0){FLAG=1;}if(L6==0){FLAG=2;}if(L7==0){FLAG=3;}if(FLAG!=0)break;P3=0x7f;Delay300ms();if(L5==0){FLAG=4;}if(L6==0){FLAG=5;}if(L7==0){FLAG=6;}break;}return FLAG;}main(){P1M0=0xff; //推挽式输出P1M1=0x00;TMOD=0x20;TH1=0xf4;TL1=0xf4;SCON=0xd0;PCON=0x00;TR1=1;send();}void send() //发送、接收程序{unsigned char i;while(RI==0) //等待接收同时发送{i=Scan_Key();L0=1;L1=1;L2=1;L3=0;P1=0x00;Delay300ms();P1=a[i];Delay300ms();Delay300ms();SBUF=a[i];TI=0;}while(TI==0) //等待发送同时接收{L0=1;L1=1;L2=0;L3=1;P1=SBUF;Delay300ms();Delay300ms();RI=0; }}五、实验过程中遇到的问题及解决方法1、怎样才能使数码管既显示输入的数字又显示输出的数字?解决:用其中一个数码管显示输入数据,另一个显示输出数据。

微机原理实验报告

微机原理实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

微机原理单片机接口技术实验报告册3个

微机原理单片机接口技术实验报告册3个

微机原理与单片机接口技术实验报告册理工大学电气学院专业班级学号目录实验一系统认识实验1实验二中断特性及8259应用编程实验5实验三8255并行接口应用实验9实验四8253定时/计数器应用实验11附录14实验环境15实验一系统认识实验一、实验目的掌握TDN86/88实验装置的基本操作。

二、实验设备TDN86/88实验装置。

三、实验容及步骤实验容:从3500H存单元开始建立0~15共16个数据。

实验源程序如下:CODE SEGMENT ;定义代码段ASSUME CS:CODE ;说明CODE段为代码段START: MOV DI,3500H ;程序开始,设数据首址MOV CX,0010H ;字节数送入CX中MOV AL,00HSAHFL1: MOV [DI],AL ;写入一个字节数据INC DI ;修改地址指针INC AL ;修改数据DAA ;十进制调整LOOP L1 ;未填完转移L2: JMP L2CODE ENDS ;代码段结束END START ;程序结束实验步骤:1、使用串行通信电缆将实验系统装置与计算机(PC)相连。

2、打开WMD86进入系统环境如图1-1所示。

图1-13、点击‘选择串口’如图1-2所示。

可选串行口l或串行口2(计算机后面与电源相邻的为串行口1)。

图1-24、点击文件,打开新建源程序,如图1-3所示。

图1-35、输入源程序并保存为DQ.asm.如图1-4所示。

图1-46、点击‘编译’,对源程序进行汇编、连接,生成可执行文件DQ.EXE如图1-5所示。

图1-57、汇编、连接无误后点击‘窗口’,如图1-6所示。

图1-68、点击‘调试窗口’如图1-7所示,进入调试窗口。

图1-79、按实验装置中的RESET键,显示器上将出现‘WELCOME TO YOU !’,如图1-8所示,说明实验装置和计算机通信成功。

图1-810、装入DQ.EXE程序,确认程序段地址CS:0000及偏移量地址IP:2000。

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

微机原理与单片机接口技术实验报告
/*if(num==0) { while(1){
}}
Led1=0x00;
Led2=0x00;
delay(65530);
delay(65530);
Led1=0xff;
//闪
Led2=0xff;
delay(65530);
delay(65530);
} } */
//定时器初始化子程序
void Init_Timer0(void)
四、系统软件设计 #include<reg51.h> #define L1 P2 #define L2 P3 bit UpdateTimeFlag; //定义读时间标志 void Init_Timer0(void);//定时器初始化
sbit h1=P3^6; sbit key=P0^5; unsigned char code Led_1[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x 7f,0xff} ; void delay(unsigned int t); void Key(); void shun(); void ni(); void delay_shun(); void delay_ni(); void delay(unsigned int t) { while(t--); } void delay_shun(unsigned int t) { while(t--);{ h1=0; key=1; if(key==0)
delay(65530);
}L2=0xff; }
if(UpdateTimeFlag==1) {UpdateTimeFlag=0;}
}
//定时器初始化子程序 void Init_Timer0(void)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京联合大学信息学院实验报告课程名称:微型计算机原理学号:姓名:2012 年 6 月 9 日目录实验1 EMU8086模拟器的使用 (3)实验2 数据传送指令的使用 (5)实验3 多位十六进制加法运算实验 (9)实验5 循环程序实验 (11)实验6 由1 到100 求和实验 (13)实验7 求表中正数_负数_0 的个数实验 (14)实验8 数据排列实验(冒泡排序) (16)实验9 系统功能调用(大小写转换) (18)实验10 阶乘(递归运算) (20)实验11 ProteusIO工程文件的建立 (21)实验12 IO口读写实验(245、373) (22)实验13 8255 接口实验 (24)实验14 声光报警 (25)实验总结 (28)实验1 EMU8086模拟器的使用一实验要求利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的:熟悉EMU8086实验环境三EMU8086环境:1 模拟器编辑窗口2 模拟器调试窗口四实验内容实验内容1:新建文件。

运行emu80861. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码:MOV AX, 1020HMOV BX, 2030HMOV AX, BXADD AX, BXMOV [BX], AXMOV [2032H], AXHLT2. 编译:单击“编译”按钮,对程序段进行编译;3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。

4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。

5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。

6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。

7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序,8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序的关联。

10.将“存储器”中地址改为1000:0100,并将从其开始的连续10个单元的内容改为55H。

实验内容2:运行范例在模拟器编辑窗口中1.点击典型范例2.选择:hellow,word程序,编译,运行,观察结果。

修改程序(不要改原有DEMO程序),输出学号,姓名(汉语拼音或英文名)pare numbers程序,编译,运行,观察结果。

修改程序(不要改原有DEMO程序),将比较对象改为7,编译,运行,观察结果。

4.欣赏其它DEMO范例实验2 数据传送指令的使用一、实验要求编写程序代码指令,注释二、实验目的熟练掌握数据传送类指令的格式、功能和应用。

三、实验说明emu8086环境下自建工程文件。

五、参考程序1 运行以下3段程序,记录用到的4个通用寄存器的内容1.mov ax, 0abch dec axand ax, 00ffh mov cl, 4sal al, 1 mov cl, al add cl, 78h push axpop bxhlt2.mov sp, 2000h mov ax, 3000h mov bx, 5000h push axpush bxpop axhlt3.mov ax, 1234h mov bx, 5678h mov cx, 9abch push axpush bxpush cxpop dipop sipop dxhlt2 运行以下程序,记录AX寄存器的内容,逐条注释指令Mov [1000h], 5566hmov ax, [1000h]lea ax, [1000h]hlt六、编程,测试,记录程序运行结果。

实验3 多位十六进制加法运算实验一、实验要求编程实现多位十六进制数的加法运算。

二、实验目的1、熟悉实验系统的编程和使用。

2、掌握使用加法类运算指令编程及调试方法。

3、掌握加法类指令对状态标志位的影响。

三、实验说明由于本实验是三个十六位二制数相加运算,N4 为存放结果,其中N1 为1111H、N2 为2222H、N3 为3333H 所以结果应该为6666H四、实验程序流程图五、参考程序DATA SEGMENTNUM1 DW 1111H ;N1NUM2 DW 2222H ;N2NUM3 DW 3333H ;N3NUM4 DW 0000H ;N4 DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA BEG: MOV AX, DATAMOV DS, AXMOV SI, OFFSET NUM1MOV AX, 0ADD AX, [SI+0]ADD AX, [SI+2]ADD AX, [SI+4]MOV [SI+6], AXJMP $CODE ENDSEND BEG六、编程,测试,记录程序运行结果。

实验5 循环程序实验一、实验要求练习编程建立8086 的循环程序。

二、实验目的1、熟悉实验系统的编程和使用。

2、掌握使用LOOP 判断转移指令实验循环的方法。

3、掌握使用LOOP 与CX 的组合。

三、实验说明由于本实验是通过给CX 一个数值,再通过LOOP 作一个判断CX-1 是否为0 的转移,实现程序的循环,循环的内容是执行AX+1,所以结果应该为AX 最后大小为开始时给定CX 的大小。

四、实验程序流程图五、参考程序CODE SEGMENTASSUME CS:CODECON_A EQU 25CON_B EQU 12 START: MOV AX,0MOV CX,5INC_AX: NOPINC AXLOOP INC_AXJMP $CODE ENDSEND START六、编程,测试,记录程序运行结果。

实验6 由1 到100 求和实验一、实验要求编程实现1 到100 求和运算。

二、实验目的1、熟悉实验系统的编程和使用。

2、掌握使用加法类运算指令编程及调试方法。

3、掌握使用循环类指令编程及调试方法。

三、实验说明由于本实验是1 到100 的100 个数想加,1+2+3+4+……+97+98+99+100=? 求和四、实验程序流程图五、参考程序DATA SEGMENTtotal DW 0000H ;DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEG: MOV AX, DATAMOV DS, AXMOV SI, OFFSET totalMOV CX, 100MOV AX, 0MOV BX, 1add_100: ADD AX, BXINC BXLOOP add_100MOV [SI], AXJMP $CODE ENDSEND BEG六、编程,测试,记录程序运行结果。

total=1+2+3+4........+99+100 = 5050 =13BA H(16 进制) 验证结果是否正确实验7 求表中正数_负数_0 的个数实验一、实验要求程序中定义数组,编程实现统计数组中正数、负数与0 的个数。

二、实验目的1、熟悉实验系统的编程和使用。

2、掌握查表方法。

三、实验说明由于本实验是先在表中存放数据,其它有正数、负数和0,通过程序对表的查询,统计表中包含正数、负数和0 的个数。

四、实验程序流程图五、参考程序DATA SEGMENTDBUF DB 1,2,-3,-4,-5,1,2,3,4,5,'#' ;7正3负,#为结束标志PLUS DB 1 ;正数个数MINS DB 1 ;负数个数DATA ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDSCODE SEGMENTASSUME DS: DATA,SS: STACK,CS: CODESTART: MOV AX, DATAMOV DS, AXMOV PLUS, 0 ;初始化MOV MINS, 0MOV DI, 0BG: CMP DBUF[DI], '#'JE EN ;遇到#结束INC DICMP DBUF[DI], 0 ;和0比较JG L1 ;大于JL L2 ;小于L1: INC PLUS ;正数个数加1JMP BG ;继续循环L2: INC MINS ;负数个数加1JMP BGEN: MOV AH, 4CHINT 21H六、编程,测试,记录程序运行结果。

实验8 数据排列实验(冒泡排序)一、实验要求1 利用PROTEUS 平台,编程实现8086 的由小到大的数据排列。

2 利用系统功能调用实现需要排序数据的输入和排序结果显示。

二、实验目的1、熟悉实验系统的编程和使用。

2、了解排列的简单算法。

3、了解“冒泡排序”法。

三、实验说明有序的数列更有利于查找。

本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有数比较一遍后,最大的数就会在数列的最后面。

再进行下一轮比较,找出第二大数据,如此下去,直到全部数据由小到大排列完成。

四、实验程序流程图五、参考程序DATA SEGMENTARRAY DB 25,46,3,75,5,30COUNT EQU $-ARRAY DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 60 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX, DATAMOV DS, AXMOV DX, COUNT-1MOV BL, 0FFHAGAINO: CMP BL, 0JE DONEXOR BL, BLMOV CX, DXMOV SI, COUNT-1 AGAIN1: MOV AL, ARRAY[SI]CMP AL, ARRAY[SI-1]JAE UNCHEXCH: XCHG ARRAY[SI-1],ALMOV ARRAY[SI],ALMOV BL, 0FFHUNCH: DEC SILOOP AGAIN1DEC DXJNZ AGAINODONE: JMP $CODE ENDSEND START六、编程,测试,记录程序运行结果。

由于在0040H 单元开始的6 个字节25,46,3,75,5,30 = 19H,2EH,03H,4BH,05H,1EH所以由小到大排列后为:03H,05H,19H,1EH,2EH,4BH实验9 系统功能调用(大小写转换)实验目的:1、掌握DOS调用的输入输出功能2、掌握分支程序设计的方法实验内容:1、每次从屏幕输入一个大写字母,并将其转换为相应的小写字母输出显示到屏幕上,然后继续输入下一个字母;2、此转换一直进行到输入“#”号为止;3、若输入过程中输入了除大写字母和“#”以外的其他字符,则在屏幕上给出错误提示信息:“ERROR!”,并继续进行下一个大写字母的输入。

相关文档
最新文档