当前位置:文档之家› 微机原理实验报告

微机原理实验报告

微机原理实验报告

一、实验目的

本实验的目的是通过实际操作,加深对微机原理的理解,掌握微机系统的基本结构和工作原理,以及熟悉微机实验仪器的使用。

二、实验器材与软件

1. 实验器材:

- 单片机开发板

- 电脑

- 示波器

- 逻辑分析仪

- 多用途实验接口板

- 电源

- 连接线等

2. 实验软件:

- Keil C51 编译软件

- Proteus 仿真软件

三、实验内容

本实验包括以下几个部分:

1. 单片机基本实验

a) 使用Keil C51编写一个简单的程序,实现LED灯的闪烁。

b) 将编写好的程序下载到单片机开发板,并观察LED灯的闪烁情况。

c) 使用示波器观察LED灯的闪烁信号,并记录波形图。

d) 使用逻辑分析仪对程序进行调试,检测程序执行过程中的信号变化情况。

2. 外部中断实验

a) 连接外部中断引脚和按键开关,编写一个程序,实现按键按下时LED灯亮起,松开时LED灯熄灭。

b) 下载程序到单片机开发板,进行按键测试,并记录测试结果。

c) 使用示波器观察按键信号和LED灯状态的变化,并记录波形图。

3. 定时器实验

a) 编写一个程序,利用定时器产生一个1秒的定时中断,实现LED灯的周期性闪烁。

b) 下载程序到单片机开发板,观察LED灯的闪烁情况,并记录结果。

c) 使用示波器观察定时器产生的中断信号,并记录波形图。

4. 串口通信实验

a) 连接单片机的串口引脚和电脑的串口,编写一个程序,实现单片机与电脑之间的数据传输。

b) 下载程序到单片机开发板,使用串口助手等工具进行数据收发测试,并记录测试结果。

c) 使用逻辑分析仪观察串口通信的信号波形,并记录波形图。

四、实验结果与分析

根据实验内容进行实验后,我们得到了以下结果和分析:

1. 单片机基本实验

- 编写的程序能够成功实现LED灯的闪烁,证明程序逻辑正确。

- 示波器观察到了LED灯的闪烁信号,并记录了波形图。

- 逻辑分析仪检测到了程序执行过程中的信号变化情况,验证了程序的正确性。

2. 外部中断实验

- 编写的程序能够正确地响应按键的按下和松开动作,LED灯亮起和熄灭。

- 示波器观察到了按键信号和LED灯状态的变化,并记录了波形图。

3. 定时器实验

- 编写的程序能够按照设定的定时周期周期性地闪烁LED灯。

- 示波器观察到了定时器产生的中断信号,并记录了波形图。

4. 串口通信实验

- 编写的程序能够实现单片机与电脑之间的数据传输,成功收发数据。

- 使用逻辑分析仪观察到了串口通信的信号波形,并记录了波形图。

五、实验总结

通过本次实验,我们深入了解了微机原理的基本知识和实验操作。通过编写程序、调试和观察信号波形,我们掌握了微机系统的基本结构和工作原理。同时,我们也熟悉了微机实验仪器的使用,如示波器和逻辑分析仪。实验结果表明,我们能够正确地编写程序,实现各项实验要求,并通过观察波形图进行结果验证。通过本

次实验,我们对微机原理有了更深入的理解,为以后的学习和实践打下了坚实的基础。

以上是本次微机原理实验报告的详细内容,希望能够满足您的需求。如有任何问题,请随时向我提问。

微机原理上机实验(七+十四)实验报告 8253方波实验 电子钟设计实验

微机原理上机实验报告实验七:8253方波实验 实验十四:电子钟

微机原理上机实验(七)实验报告 实验七:8253方波实验 一、实验目的 了解8253的内部结构、工作原理;了解8253与8086的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。 二、实验内容 1、编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得 到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。 2、连接线路,验证8253的功能,熟悉它的使用方法。 三、实验原理图

四、实验步骤 1、连线说明: C4区:CS、A0、A1 ——A3区:CS2、A0、A1 C4区:CLK0 ——B2区:2M C4区:OUT0 ——C4区:CLK1 C4区:OUT1 ——F8区:Ctrl(蜂鸣器) 2、测试实验结果:蜂鸣器发出时有时无的声音;用逻辑笔测试蜂鸣器的输入端口,红 绿灯交替点亮。 实验代码 COM_ADD EQU 0263H R T0_ADDR EQU 0260H T1_ADDR EQU 0261H _STACK SEGMENT STACK DW 100 DUP(?)

_STACK ENDS CODE SEGMENT START PROC NEAR ASSUME CS:CODE, SS:_STACK MOV DX,COM_ADDR MOV AL,35H OUT DX,AL ;计数器T0设置在模式2状态,BCD码计数 MOV DX,T0_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL ;CLK0/1000 MOV DX,COM_ADDR MOV AL,77H OUT DX,AL ;计数器T1为模式3状态,输出方波,BCD码 计数 MOV DX,T1_ADDR MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL ;CLK1/1000

8086微机原理实验报告

8086微机原理实验报告 实验名称:8086微机原理实验 实验目的: 1.深入了解8086微处理器的内部结构和指令系统。 2.掌握汇编语言的编程方法和技巧。 3.熟悉微机系统的输入输出操作原理。 4.掌握8086微机系统的调试方法和程序调试技巧。 实验器材: 1.8086微处理器芯片 2.Intel 8086学习板 3.编程器 4.示波器 5.实验箱 实验步骤: 1.熟悉8086微处理器的内部结构和指令系统 在开始实验前,首先需要熟悉8086微处理器的内部结构和指令系统。 通过阅读教材和讲义,了解到8086微处理器采用16位结构,具有4个寄存器组,支持16种不同寻址方式的指令。熟练掌握常用的指令系统和汇编语言的编程方法。 2.设计并编制简单的汇编程序 在熟悉8086微处理器的内部结构和指令系统后,我们开始设计并编制简单的汇编程序。本实验中,我们编写了一个简单的汇编程序,用于实现两个数的加法操作,并将结果存储在内存中。程序中使用了mov指令将操作数送入寄存器,add指令将它们相加,再用mov指令将结果存储到内存中。程序流程图如下所示:

a. 将第一个数送入累加器A中。 b. 将第二个数送入寄存器B中。 c. 执行add指令,将A和B相加,结果保存在A中。 d. 将结果存储到内存中。 e. 程序结束。 3.调试程序并进行测试 在完成汇编程序的编写后,我们需要使用调试器对程序进行调试,并进行测试。首先,将程序加载到学习板上进行调试。在调试过程中,我们使用示波器观察各个信号的波形,以确定程序的正确性。通过逐步单步执行程序并观察寄存器和标志位的变化,我们验证了程序的正确性。接下来,我们使用输入设备输入两个数,并观察输出结果是否正确。测试结果表明程序正确实现了两个数的加法操作。 4.总结体会和改进建议 通过本次实验,我们深入了解了8086微处理器的内部结构和指令系统,掌握了汇编语言的编程方法和技巧,熟悉了微机系统的输入输出操作原理,以及掌握了8086微机系统的调试方法和程序调试技巧。同时,通过实验过程中对问题的分析和解决,我们学会了如何排除故障和进行改进建议。 建议可以在以下几个方面进行改进:a.进一步学习其他指令系统和更复杂的汇编语言编程技巧;b.通过更多实验来掌握如何排除故障和进行改进建议; c参加相关比赛和项目实践,将理论知识应用于实际应用中。 结论: 本次实验达到了预期目标,深入了解了80位86微处理器的内部结构和指令系统,掌握了汇编语言的编程方法和技巧,熟悉了微机系统的输入输出操作原理及掌握了系统的调试方法和程序调试技巧通过这次实验课的学习为今后学习奠定了坚实的理论与实践基础收获了很多经验在今后学习和实际应用中应继续努力提高理论和

微机原理实验报告_实验讲义_硬件实验_实验三 可编程定时计数器82532021(1)

实验三可编程定时器/计数器(8253) 一、实验目的 掌握8253的基本工作原理和编程方法。 二、实验内容 本实验通过和计算机相连的实验箱来完成,实验箱和计算机通过PCl扩展线相连。实 验软件和编程请参照如下步骤: 首先,将实验软件(PORTR, MASM, LINK, TD)拷入计算机D盘的某文件夹(文件夹名不能是中文)下; 然后,运行PORTR.EXE程序,自动获取实验箱的接口地址; 接着,重启计算机,选择DOS启动,进入DOS; 在DoS环境下,用EDIT编辑程序,用MASM,LINK,TD汇编、连接、调试程序。 基本实验任务和具体操作如下所示: 1.按图2-6虚线连接电路,将计数器。设置为方式0,计数器初值为N (NWOFH),用手动 逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用示波器观测OUTO电平变化 (当输入N个脉冲后OUTO变高电平)。 2.按图2-7连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为IOO0, 用 示波器观测OUTl输出电平的变化(频率1HZ)。 286H*- US 6253 CS JLTb-JL 280H~ 图2-6 OUTl CATEl CLKKl OUT0 GATE0 CLK0< IMHZ 图2-7

三、编程提示 1、8253控制寄存器地址283H 计数器O地址280H 计数器1地址281H CLKO连接时钟IMHZ 2、参考流程图(见图2-8、图2-9) 图2-8 图2-9 3、参考程序1:(程序名:E8253_1.ASM) ioport equ 0d400h-0280h ;0d400h为实验箱的接I I地址,应改为运行PoRTR程序自动获取的那个接I 1地址io8253_ctrl equ ioport+283h io8253_cnt0 equ ioport+280h code segment assume cs:code start :mov al, IOh ;设置8253通道0为工作方式0,二进制计数 mov dx, io8253_ctrl out dx, al mov dx,io8253_cnt0 raov ;送计数初值为OFH al, Ofh out dx, al 111: in al, dx :读计数初值 :调显示子程序 call disp push dx mov ah,06h mov dl, Offh int 21h pop dx jz 111 mov ah, 4ch :退出 int 21h disp proc near ;显示子程序

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

微机原理及应用的实验报告 1. 实验介绍 在本次实验中,我们将学习微机原理及应用的基本知识,并通过实践来深入理 解和应用这些知识。本实验旨在让我们熟悉微机系统的原理、组成部分以及在实际应用中的一些常见问题和解决方案。 2. 实验目的 •了解微机系统的基本组成部分 •掌握微处理器的工作原理和操作方法 •学习使用汇编语言编写简单的程序 •熟悉实验中常用的开发工具和调试技术 3. 实验步骤 1.首先,我们需要了解微机系统的基本组成部分。微机系统主要由中央 处理器(CPU)、内存、输入输出设备和总线组成。其中,CPU是微机系统的核心部件,它负责执行程序的指令和处理数据。内存用于存储程序和数据,输入输出设备用于与外部环境进行数据交互,总线则负责连接各个部件之间的数据传输。 2.接下来,我们将学习微处理器的工作原理和操作方法。微处理器是 CPU的核心组成部分,它由运算器、控制器和寄存器组成。运算器负责执行 各种算术和逻辑运算,控制器负责控制程序的执行流程,寄存器用于保存指令、数据和中间结果。 3.在实验中,我们将学习使用汇编语言编写简单的程序。汇编语言是一 种低级语言,它与机器语言直接相对应。通过编写汇编程序,我们可以更加直观地了解指令的执行过程以及数据的处理方式。同时,在实验中我们还将学习如何使用调试工具对程序进行调试和测试。 4.最后,我们将熟悉实验中常用的开发工具和调试技术。在实验中,我 们将使用一些开发工具如汇编器、编译器和调试器来编写、编译和调试程序。 同时,我们还将学习如何使用逻辑分析仪和示波器等调试工具来对程序进行分析和验证。 4. 实验结果 通过本次实验,我对微机原理及应用有了更深入的了解。我学会了微机系统的 基本组成部分,了解了微处理器的工作原理和操作方法,并且能够使用汇编语言编写简单的程序。同时,我还熟悉了实验中常用的开发工具和调试技术,能够使用它

杭电微机原理AD转换DA转换实验实验报告

微型计算机原理与接口技术实验报告 班级: 学号: 姓名: 指导老师:朱亚萍 实验名称: A/D转换实验 D/A转换实验(一) D/A转换实验(二) 实验一A/D转换实验 一、实验目的 了解模/数转换基本原理,掌握ADC0809的使用方法。 二、实验内容 利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。 三、实验接线图 图 1-1 四、编程指南 1. ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址 的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D 采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两 条指令:

MOV DX, ADPORT OUT DX, AL ;ADC0809端口地址 ;发CS和WR信号并送通道地址 2.用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果: MOV DX, ADPORT IN AL, DX ;ADC0809端口地址 五、实验程序框图 图 1-2 六、实验步骤 1.断电连接导线, 将0809 CS4插孔连到译码输出FF80H插孔,将通道0模 拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔, 8MHZ→T; 2. 在PC机和实验系统联机状态下,新建实验程序,编辑完成后进行保存 (保存后缀为.asm文件); 3. 编译下载; 4. 全速运行,运行程序; 5. 按RST键退出。 七、实验程序 DATA SEGMENT BUF DB 6 DUP(0) DATA1: DB 0c0h,0f9h,0a4h,0b0h,99h, DB 92h,82h,0f8h,80h,90h, DB 88h,83h,0c6h,0a1h,86h, DB 8eh,0ffh,0ch,89h,0deh, DB 0c7h,8ch,0f3h,0bfh,8fh DATA ENDS CODE SEGMENT ASSUME CS: CODE,DS: DATA ADC EQU 0FF80H ; ADC0809端口地址 PA EQU 0FF20H PB EQU 0FF21H PC EQU 0FF22H MAIN PROC FAR START: MOV AX, DATA MOV DS, AX MOV ES, AX ADC_S:MOV AX, 00H MOV DX, ADC OUT DX, AL MOV CX, 0500H DELAY:LOOP DELAY MOV DX, ADPORT IN AL, DX CALL CONVERS CALL DISP JMP ADC_S MAIN ENDP CONVERS PROC NEAR MOV AH, AL 3.循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。

微机原理综合实验报告

滨江学院 微机原理综合实验 实验报告 学生姓名 学号 专业信息工程 班级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”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。 3、实验准备 1)编写实验内容要求的两个程序。 2)写出调试以上程序,即修改程序参数,检查结果的操作方法。 3)熟悉源程序汇编、连接命令的使用方法即要回答的内容。 4、实验步骤 1)用EDIT或其它编辑软件,编写.ASM源程序,例如HEXASC.ASM及DSPKEY.ASM。2)对其进行汇编及连接,产生.EXE文件。 13 3)对.EXE文件进行调试运行。 (1)用DEBUG调试运行,学会修改AL内容的方法。 (2)对DSPKEY.EXE键入不同的字符,分别进行调试。 (3)在MS-DOS下运行这两个.EXE文件。 5、实验报告要求 1)画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。 2)说明本实验是如何利用DEBUG进行调试的。 6、参考程序清单 1)显示AL中两位十六进制数程序: ;DISPHEX.ASM CODE SEGMENT ASSUME CS:CODE START: MOV AL,3EH MOV BL,AL MOV DL,AL MOV CL,4

微机实验心得体会

微机实验心得体会 【篇一:微机原理实验报告】 一、实验目的 1.掌握qtspim的调试技术 2.了解mips汇编语言与机器语言之间的对应关系 3.掌握mips汇编程序设计 4.了解c语言语句与汇编指令之间的关系 5.熟悉常见的mips汇编指令 6.掌握程序的内存映像 二、实验任务 用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。 int main() { int k, y ; int z[50] ; y = 56; for(k=0;k50;k++) z[k] = y - 16 * ( k / 4 + 210) ; } 三、实验要求 1.完成汇编语言程序设计、调试、测试全过程 2.指出用户程序的内存映像,包括代码段和数据段 3.完成软件实验报告 四、实验过程 程序源代码: .data #定义用户数据段 z:.space 200 .text main: la $s0,z #$s0=addrz li $t0,0 #$s1=k=0 li $t1,56 #$s2=y=56 loop: slti $t2,$t0,50 #判断k是否小于50 beq $t2,$0,done #当k大于等于50时跳转 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210

sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0 10 syscall 五、实验总结 通过这次实验,加深了我对理论学习的代码书写规范的理解,练习 了qtspim软件的使用,对以后的学习有很大的帮助。这次实验的内 容相对比较简单,原理容易理解,编译的过程中遇到了一点困难, 不过在同学的帮助下顺利解决了。 【篇二:微机原理与接口技术实验总结】 微机原理与接口技术实验总结 11107108徐寒黎 一、实验内容以及设计思路 1、①试编写一程序,比较两个字符串string1、 string2 所含字符 是否相同,若相同输出“match”,若不相同输出“no match”。 设计思路:定义一个数据段,在数据段中定义两个字符串作为 string1、 string2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将string1和string2都实现用键盘输入,方法是 mov dx,offset string2 mov ah,0ah 并且显示在显示器上,显示方法将0ah改成09h,语句与上面类似。然后进行比较第一个单元, mov al,[string1+1] cmp al,[string2+1] jnz nomatch 若字符串长度不等,则直接跳转,输出输出“no match”; 若长度相等再逐个比较 lea si,[string1+2] lea di,[string2+2] mov cl,[string1+1]

微机原理实验报告

微机原理实验报告

微机原理实验报告 班级:自动化72 组员梁慕佳 07054031 张乐 07054033 张林鹏 07054034

实验一:8255 并行接口实验 1 实验目的 1. 学习并掌握8255 的工作方式及其应用; 2. 掌握8255 典型应用电路的接法。 2 实验设备 PC机一台,TD-PITE 实验装置一套。 3 实验内容 1. 基本输入输出实验。编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 4 实验原理 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。 图2-6-1 8255内部结构及外部引脚图

图2-6-2 8255控制字格式 5 实验步骤 1. 基本输入输出实验 本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。用一组 开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出 功能。具体实验步骤如下述: (1)实验接线图如图2-6-3所示,按图连接实验线路图; (2)编写实验程序,经编译、连接无误后装入系统; (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 图2-6-3 8255基本输入输出实验接线图 程序如下: ;========================================================= ; 文件名: A82551.ASM ; 功能描述: A口为输入,B口为输出,将读入的数据输出显示 ; IOY1

微机实验报告心得

微机实验报告心得 篇一:微机实验心得 微机实验心得 这学期通过对微机原理和微机实验课的学习,对微机系统和它的工作原理有了很大的了解。微机实验课,总共做了十几个实验,回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,它是和机器语言最接近的,用它来编程序,会比用其它高级语言要快得多。实验课程加深了我们对汇编语言指令的熟悉和理解。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。 通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。 对于这门课,我们收获了很多,我觉得这门课偏重于工程思维,主要难点在于对程序的理解。但是老师让我们通过手打程序,控制实验平台很好的理解了各实验的实验程序。对于课程的建议,实验讲义给的程序很清楚,大大降低了实

验预习和自主编程的难度,给实验讲义可以更多的给方法和方式,提供一些程序建议而减少直接给出程序内容。实验课上,请一个或两个同学讲解一下实验程序设计思路,通过讲解与其他人互动,可以收获更多。 微机原理课程上讲到的各种芯片的功能,以及引脚的作用,在实验中都得到了运用,使我们加深了对于主要芯片的应用的认识,同时在实验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。总结这门课,个人感觉很有必要,学习理论的过程中边通过实验辅助,使我们更容易的接受微机原理的知识。实验过程中,获得了很多收获,获得了很多感悟,当然也遇到了很多困难。但我们都一一克服了他们,成功的完成了实 验。并在解决问题,克服困难的过程中,发现了自己平时忽略的,隐藏的问题,以及一些不该出现的粗心大意的小毛病。通过这些,我们认识的更加深刻,了解的更加深入。做到了学以致用,对知识掌握得更加牢固。 这学期的课程告一段落,但是对微机原理的理解和认识,我深知我们做的还远远不够,我们接下来还要继续努力多学习更多知识,当然动手实践很重要,我们平时也应该多编写多运用。通过了这一学期对微机原理的学习,真的对它有了一个全新的认识,我会坚持对它的学习,使自己在汇编语言

微机原理实验报告

微机原理实验报告实验名称:MIPS汇编程序设计 院系:电信学院 班级: 姓名: 指导老师: 一、实验目的: 1.熟悉MIPS汇编程序开发环境,学习使用Qtstim工具。知道如何查看内存空间分配。 2. 了解C语言语句与汇编指令之间的关系。

3. 掌握MIPS汇编程序设计,掌握QTSPIM的调试技术。 4. 了解MIPS汇编语言与机器语言之间的对应关系。 5. 熟悉常见的MIPS汇编指令 6. 掌握程序的内存映像。 二、实验内容 1.用汇编程序实现以下伪代码:要求使用移位指令实现乘除法运算。Int main () { Int K,Y; Int Z[50]; Y=56; For(k=0;k<50;K++) Z[k]=Y-16*(k/4+210); } 三、程序设计及分析 1.C语言分析: 有两个变量是int型,一个数组型;还有一个循环执行过程。 2.汇编程序实现分析: 首先需要定义用户数据段,获得一个内存空间作为数组空间。 再选定几个存放器作为K,Y以及输出,其中输出输出和Y可以合用一个存放器。 3.设计思路: 分配完空间地址后,最重要的是完成循环控制。循环控制有

两个思路:可以是先判断后循环;或者是先循环后判断 即如图 slti $t2,$t0,50 #判断k 是否于50 beq $t2,$t3〔$t2=1循环,否那么结束。〕 四、程序实现及调试分析 1. 汇编程序代码实现: 方法一

.data #定义用户数据段 z:.space 200 #数组为int型,大小为50,所以占内存4*50 str:.asciiz " "#输出结果之间的空隙 .text main: la $s0,z #$s0 #为数组在z[] li $t0,0 #$s1 #代表k计数,初始值为0 li $t1,56 #$t2 #代表Y,初值为56 loop: slti $t2,$t0,50 #判断k是否于50 beq $t2,$0,done #当k大于等于50,跳转结束 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210 sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] li $v0,1 #输出 addi $a0,$s0,0 syscall li $v0,4 #输出间隔 la $a0,str syscall addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0,10 syscall 2.调试过程 1.编写程序:详细见代码 2.装载程序

微机原理-数码转换实验报告

微机原理-数码转换实 验报告 -CAL-FENGHAI.-(YICAI)-Company One1

实验九数码转换 一、实验目的 1、掌握计算机常用数据编码之间的相互转换方法。 2、进一步熟悉DEBUG软件的使用方法。 二、实验内容 1、ACSII码转换为非压缩型BCD码 2、BCD码转换为二进制码 3、十六进制数转换为ASCII码 三、实验 1、ACSII码转换为非压缩型BCD码 DATA SEGMENT PARA 'DATA' DATA1 DB 8 DUP() DATA2 DB 8 DUP( ) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,SEG DATA1 MOV DS,AX MOV DX,DATA MOV AH,0AH INT 21H LEA SI,DATA1 MOV CL,[SI+1] LEA DI,DATA2 ADD SI, 2 CHK: MOV AL,[SI+2] CMP AL, '0' JB L01 CMP AL, '9' JA L01 SUB AL,30H MOV BL,AL MOV [DI], BL INC SI INC DI DEC CX JNZ CHK L01: MOV BL, 0FFH LOOP CHK

MOV AH,4CH INT 21H CODE ENDS END START

2、BCD码转换为二进制码 DATA SEGMENT BCD DB 1,2,3,4,5 A DW DATA ENDS STACK SEGMENT PARA STACK''STACK'' STAPN DW 50 DUP() STACK ENDS CODE SEGMENT MAIN PROC FAR ASSUME DS:DATA,CS:CODE,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX CALL CONVERT MOV A,BX RET MAIN ENDP CONVERT PROC NEAR PUSH SI PUSH CX PUSH AX MOV SI,4 L1:MOV AL,BCD[SI] CBW XCHG AX, BX MOV CX,10D

微机原理与系统设计实验四

实验1 继电器控制实验 一、实验目的 1、了解微机控制直流继电器的一般方法。 2、进一步熟悉使用8255、8253。 二、实验所用仪器(或实验环境) 计算机、微机原理实验箱、USB接口模块、汇编语言开发软件等 三、实验原理 将8253 计数器0 设置为方式3、计数器1 设置为方式0 并联使用,CLK0 接1MHZ 时钟,设置两个计数器的初值(乘积为5000000)启动计数器工作后,经过5秒钟OUT1 输出高电平。通过8255 的PA0口查询OUT1的输出电平,用C 口PC0输出开关量控制继电器动作。 继电器开关量输入端输入“1”时,继电器常开触点闭合,发光二极管接通,指示灯亮,输入“0”时断开,指示灯灭。

四、实验内容 1、使用8254定时,让继电器周而复始的闭合5 秒钟(指示灯灯亮),断开5 秒钟(指示灯灯)。 2、改变指示灯亮灭的周期为2s,改用PC7口控制继电器。 五、方案设计 1、实验接线及分析 接线: 8255/CS 接I/O 地址译码/Y1(288H---28FH) 8255/PC0 接继电器 8255/PA0 接8254/OUT1 8254/CS 接I/O 地址译码/Y0(280H---287H) 8254/CLK0 接时钟/1MHz 8254/OUT0 接8254/CLK1 8254/GATE0,1 接+5V 硬件电路分析: (包括端口地址分析) 2、实现该内容的方案(或原理) 3、画出流程图

六、实验程序设计 ;***************************; ;* 继电器控制 *; ;***************************; io8253a equ 280h io8253b equ 281h io8253c equ 283h io8255a equ 288h io8255c equ 28ah io8255ctl equ 28bh code segment assume cs:code start: mov dx,io8255ctl mov al,90h lll: out dx,al mov dx,io8255c mov al,01 ;将PC0置位 out dx,al call delay ;延时5s mov al,0 ;将PC0复位 out dx,al call delay ;延时5s jmp lll ;转lll delay proc near ;延时子程序 push dx mov dx,io8253c ;设8254计数器为方式3 mov al,36h out dx,al mov dx,io8253a mov ax,10000 ;写入计数器初值10000 out dx,al mov al,ah out dx,al mov dx,io8253c mov al,70h ;设计数器1为工作方式0 out dx,al mov dx,io8253b mov ax,500 ;写入计数器初值500 out dx,al mov al,ah out dx,al ll2: mov ah,06 ;是否有键按下 mov dl,0ffh int 21h

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

《微机原理与应用》实验报告 姓名:*** 学号:********** 年级:2014 专业:电子

2016年春季学期 实验一.熟悉单片机开发环境 1.功能要求 在 P1 端口接8 个LED,并编程依次循环点亮。要求用软件延时程序控制LED 的亮灭时间,并能精确地计算和用软件测量延时时间。 2.硬件原理

3.程序清单 ORG 0000H LJMP START ORG 0030H START: MOV R2,#8 MOV A,#01H LOOP1: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP1 MOV R2,#8 RR A LOOP2: MOV P1,A LCALL DELAY RR A DJNZ R2,LOOP2 LJMP START DELAY: MOV R5,#20 D1: MOV R6,#80 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2

DJNZ R5,D1 RET END 4.实验心得 首次接触开发板,通过实验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 0000H LJMP MAIN DELAY2: MOV R0,#200 D4: MOV R1,#200

微机原理软件实验报告

信息与通信工程学院微机原理软件实验报告 班级: 姓名: 学号: 日期:2011年12月

实验一DEBUG的使用 (1) 一、实验目的 (1) 二、实验内容 (1) 三、预习思考 (3) 四、实验过程 (4) 五、实验总结 (9) 实验二分支、循环程序设计 (10) 一、实验目的 (10) 二、实验内容 (10) 三、预习思考 (10) 四、实验过程 (10) (一)、流程图 (11) (二)、源代码 (11) (三)、实验分析 (11) 五、实验总结 (14) 实验三代码转换程序设计 (15) 一、实验目的 (15) 二、实验内容 (15) 三、预习思考 (15) 四、实验过程 (16) (一)流程图 (16) (二)模块层次图 (16)

(三)源代码 (17) (四)实验分析 (21) 五、实验总结 (22) 实验四子程序设计 (23) 一、实验目的 (23) 二、实验内容 (23) 三、预习思考 (23) 四、实验过程 (24) (一)流程图 (24) (二)模块层次图 (25) (三)源代码 (25) (四)实验分析 (34) 五、实验总结 (35) 实验五中断程序设计 (37) 一、实验目的 (37) 二、实验内容 (37) 三、预习思考 (37) 四、实验过程 (38) (一)流程图 (38) (二)源代码 (39) (三)实验分析 (45) 五、实验总结 (46)

实验一 DEBUG 的使用 一、实验目的 1.掌握汇编程序的编辑、编译、连接和执行的全过程; 2.学习和掌握用DEBUG调试程序的方法。 二、实验内容 1.用编辑软件,输入以下汇编语言源程序: DAT SEGMENT A D B 20 B DB 15 Y DB 3 DUP(0) Z DB 0,0 DAT ENDS STA SEGMENT STACK DW 50 DUP(?) STA ENDS COD SEGMENT ASSUME CS:COD,DS:DAT STAR PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DAT MOV DS,AX MOV AX,STA MOV SS,AX MOV AL,A MOV Z,AL

相关主题
文本预览
相关文档 最新文档