当前位置:文档之家› 华科_HUST_微机原理_并行IO接口实验_独立式开关输入_实验报告

华科_HUST_微机原理_并行IO接口实验_独立式开关输入_实验报告

华科_HUST_微机原理_并行IO接口实验_独立式开关输入_实验报告
华科_HUST_微机原理_并行IO接口实验_独立式开关输入_实验报告

微机原理实验报告

学号

姓名

专业通信1301

指导教师罗杰

院(系、所)电信学院

并行I/O接口实验

一、实验目的

1、掌握GPIO IP核的工作原理和使用方法。

2、掌握IO接口程序控制方法

1)查询方式

2)中断方式

3)延时方式

3、掌握中断控制方式的IO接口设计原理

4、掌握中断程序设计方法

二、实验任务

使用查询、中断两个方式做独立式开关输入,将开关状态显示到console。

三、硬件电路框图

四、硬件平台建立

1 创建XPS工程

创建basesystem文件夹,建立最小系统。启动XPS,打开system.xmp工程文件。

2 添加和配置GPIO IP核

在XPS主界面左边窗口选择IP Cataiong标签,点击General Purpose I/O展开。

添加AXI Genaral Purpose I/O。配置开关与led灯分别有16个,将其分别设置为16

在ucf文件中添加相应代码

3、添加和配置中断控制器IP核

在XPS主界面左边窗口选择Clock, Reset and Interrupt标签,点击AXI Interrupt

Controller展开。

将INTERRUPT引脚选择axi_intc.c_INTERRUPT。

设置中断输入

4、产生外部GPIO链接

SW为开关输入,从GPIO_IO接口接入,LED灯输出,从GPIO2_IO接口接入展开External Ports项可看到SW与LED的外部接口

五、软件平台建立

1.查询

源代码

#include"stdio.h"

#include"xil_io.h"

#include"xil_types.h"

#define gpio_ctrl 0x40000004 //定义通道1地址

#define gpio_data 0x40000000 //定义数据1地址

#define gpio1_ctrl 0x4000000c //定义通道2地址

#define gpio1_data 0x40000008 //定义数据2地址

int main(void)

{

u16 SW,psw; //定义两个输入,psw作比较信号

Xil_Out16(gpio_ctrl,0xffff); //输入

Xil_Out16(gpio1_ctrl,0x0); //输出

psw=SW=0x00; //赋初值0给两个输入信号

while(1)

{

SW=Xil_In16(gpio1_data);

Xil_Out16(gpio1_data,SW);

if(psw!=SW) //判断SW与PSW是否相等

{

psw=SW;

SW=Xil_In16(gpio1_data);

xil_printf("the Switch state is 0x%X\n\r",SW);//显示开关状态}

}

return 0;

}

状态显示:

实验流程图:

2 中断

源代码:

#include"xgpio.h"

#include"xparameters.h" #include"xintc.h"

#include"stdio.h"

#include"xil_io.h"

XGpio swled;

XIntc intc;//实例化intc

int swstate;

int pshdip;

void Initialize();

void GPIOHandler(void * CallBackRef);

int main()

{

Initialize();

while(1)

{

if(pshdip)

{

xil_printf("the Switch state is 0x %x\n\r",swstate);

pshdip=0;

}

}

return 0;

}

void Initialize()

{

XGpio_Initialize(&swled, XPAR_AXI_GPIO_0_DEVICE_ID);

XGpio_SetDataDirection(&swled, 1, 0xffff);

XGpio_SetDataDirection(&swled, 2, 0x0);

XGpio_InterruptEnable(&swled, 1);

XGpio_InterruptGlobalEnable(&swled);

//XGpio_InterruptClear(&swled,1);

XIntc_Initialize(&intc,XPAR_AXI_INTC_0_DEVICE_ID );

XIntc_Connect(&intc, XPAR_AXI_INTC_0_AXI_GPIO_0_IP2INTC_IRPT_INTR, (XInterruptHandler)GPIOHandler, (void *)&swled);

XIntc_Enable(&intc, XPAR_AXI_INTC_0_AXI_GPIO_0_IP2INTC_IRPT_INTR);

microblaze_enable_interrupts();

microblaze_register_handler((XInterruptHandler)XIntc_InterruptHandler,( void *)&intc);

XIntc_Start(&intc, XIN_REAL_MODE);

void GPIOHandler(void * CallBackRef)

{

swstate= XGpio_DiscreteRead(&swled, 1); pshdip=1;

XGpio_DiscreteWrite(&swled, 2, swstate);

XGpio_InterruptClear(&swled, 1);

状态显示:

}

实验流程图:

六、实验小结

在这个实验的过程中,令我觉得最困难的不是硬件部分的理解和搭建,而是软件部分代码的理解,由于代码中利用到了中断,所以对中断状态的理解和使用上面遇到了一些问题。通过与同学交流,和看书上的相关内容,最后我也把代码理解了,这样就很好地把整个实验的过程都理解了。总的来说,本次实验做得还比较轻松,原理方面容易掌握,操作方面也容易实验。希望综合项目的实验也一样顺利。

计算机组成原理实验报告

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 09级 姓名:张文绮学号: 091150022 实验课程:计算机组成原理 实验室号:___田405 实验设备号: 43 实验时间:2010.12.19 指导教师签字:成绩: 实验一算术逻辑运算实验 1.实验目的和要求 1. 熟悉简单运算器的数据传送通路; 2. 验证4位运算功能发生器功能(74LS181)的组合功能。 2.实验原理 实验中所用到的运算器数据通路如图1-1所示。其中运算器由两片74181

以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74373)锁存,锁存器的输入连接至数据总线,数据开关INPUT DEVICE用来给出参与运算的数据,并经过一个三态门(74245)和数据总线相连,数据显示灯“BUS UNIT”已和数据总线相连,用来显示数据总线内容。 图1-2中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。由于实验电路中的时序信号均已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT 的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平控制有效,LDDR1,LDDR2为高电平有效。 3.主要仪器设备(实验用的软硬件环境) ZYE1603B计算机组成原理教学实验系统一台,排线若干。 4.操作方法与实验步骤

微机软件实验习题与答案(完整版)

微机原理软件实验 实验1 两个多位十进制数相加的实验 实验容:将两个多位十进制数相加,要求加数和被加数均以ASCII码形式各自顺序存放以DATA1和DATA2为首的5个存单元中(低位在前),结果送回DATA1处。完整代码如下: DATAS SEGMENT ;此处输入数据段代码 STRING1 DB'input the first number:','$' STRING2 DB 13,10,'input the second number:','$' STRING3 DB 13,10,'the output is:','$' DATA1 DB 6 DUP(00H),'$' DATA2 DB 6 DUP(00H),'$' DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 LEA SI,DATA1 LEA DI,DATA2 L0: LEA DX,STRING1;打印字符串STRING1 MOV AH,09 INT 21H INPUT1: ;输入第一个数 MOV AH,01;输入字符至AL中 INT 21H CMP AL,'/' JE L1 MOV [SI],AL INC SI

JMP INPUT1 L1: LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H INPUT2: ;输入第二个数 MOV AH,01;输入字符至AL INT 21H CMP AL,'/' JE L2 MOV [DI],AL INC DI JMP INPUT2 L2: MOV SI,0 CLC;清空进位标志位CF MOV CX,6

计算机组成原理实验报告

重庆理工大学 《计算机组成原理》 实验报告 学号 __11503080109____ 姓名 __张致远_________ 专业 __软件工程_______ 学院 _计算机科学与工程 二0一六年四月二十三实验一基本运算器实验报告

一、实验名称 基本运算器实验 二、完成学生:张致远班级115030801 学号11503080109 三、实验目的 1.了解运算器的组成结构。 2.掌握运算器的工作原理。 四、实验原理: 两片74LS181 芯片以并/串形式构成的8位字长的运算器。右方为低4位运算芯片,左方为高4位运算芯片。低位芯片的进位输出端Cn+4与高位芯片的进位输入端Cn相连,使低4位运算产生的进位送进高4位。低位芯片的进位输入端Cn可与外来进位相连,高位芯片的进位输出到外部。 两个芯片的控制端S0~S3 和M 各自相连,其控制电平按表2.6-1。为进行双操作数运算,运算器的两个数据输入端分别由两个数据暂存器DR1、DR2(用锁存器74LS273 实现)来锁存数据。要将内总线上的数据锁存到DR1 或DR2 中,则锁存器74LS273 的控制端LDDR1 或LDDR2 须为高电平。当T4 脉冲来到的时候,总线上的数据就被锁存进DR1 或DR2 中了。 为控制运算器向内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245 实现)。若要将运算结果输出到总线上,则要将三态门74LS245 的控制端ALU-B 置低电平。否则输出高阻态。数据输入单元(实验板上印有INPUT DEVICE)用以给出参与运算的数据。其中,输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号为SW-B,取低电平时,开关上的数据则通过三态门而送入内总线中。 总线数据显示灯(在BUS UNIT 单元中)已与内总线相连,用来显示内总线上的数据。控制信号中除T4 为脉冲信号,其它均为电平信号。 由于实验电路中的时序信号均已连至“W/R UNIT”单元中的相应时序信号引出端,因此,需要将“W/R UNIT”单元中的T4 接至“STATE UNIT”单元中的微动开关KK2 的输出端。在进行实验时,按动微动开关,即可获得实验所需的单脉冲。 S3、S2、 S1、S0 、Cn、M、LDDR1、LDDR2、ALU-B、SW-B 各电平控制信号则使用“SWITCHUNIT”单元中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B 为低电平有效,LDDR1、LDDR2 为高电平有效。 对于单总线数据通路,作实验时就要分时控制总线,即当向DR1、DR2 工作暂存器打入数据时,数据开关三态门打开,这时应保证运算器输出三态门关闭;同样,当运算器输出结果至总线时也应保证数据输入三态门是在关闭状态。 运算结果表

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

微机原理实验并行IO接口设计

微机原理实验三并行I/O接口实验 姓名: 学号: 班级:

一、实验目的 1. 掌握GPIOIP核的工作原理和使用方法 2.掌握中断控制方式的IO接口设计原理 3.掌握中断程序设计方法 4.掌握IO接口程序控制方法:中断方式、查询方式、延时方式 二、实验任务 按键输入,并显示到console 用中断、查询两种方式实现按键输入,将结果显示到console窗口。 三、硬件电路 四、硬件实现步骤 1. 创建一个最小系统,启动XPS,并打开xmp工程文件。 2.添加和配置GPIO IP核。

3. 添加和配置AXI Interrupt Controller IP核。 4. 产生外部GPIO连接。 引脚约束 五、中断方式、查询方式 1. 中断方式设计思路 主程序开放microBlaze INTC,GPIO中断,不停地检测输出标志是否为1,是则输出数据到console,并将输出标志设置为0。中断服务程序读取数据(或输出数据)并设立输出标志位为1。

通过中断方式读入开关的状态,由于按键仅短暂的时间维持高电平,并且还具有抖动,因此需在中断服务程序内读入按键状态,并且为消除按键回弹产生的中断,需在中断服务程序内部暂时关闭中断,并且延时一段时间再打开中断。 2. 查询方式设计思路 主程序不停地读取GPIO和ISR寄存器,当对应位为1时,读取GPIO的数据寄存器并输出到console(xil_printf函数实现,头文件为”stdio.h”),并写ISR相应位。数据寄存器的读取通过函数Xil_In实现,而ISR相应状态为的写通过函数Xil_Out实现。 六、软件实现流程 1. 中断方式主程序实现 对各个设备进行初始化,并且开放相应的中断,注册中断服务程序以及开关状态显示等。然后通过读取中断标志进入相应中断服务程序处理中断,并在console打印相关信息。 2. 查询方式程序实现 通过不断地读取GPIO和ISR寄存器,当状态发生变化时读取数据寄存器并输出到console,并写ISR相应位。 七、软件源代码 1. 中断方式源代码 #include"xparameters.h" #include"xgpio.h" #include"xintc.h" #include"stdio.h" void Initialize(); void Delay_50ms(); void PushBtnHandler(void *CallBackRef); void SwitchHandler(void *CallBackRef); XGpio Btns,Dips;//按键BTNS外设变量 XIntc intCtrl;//定义一个XINTC外设变量 int pshBtn,pshDip; int state1,state2; int main() { Initialize(); xil_printf("\r\nRunning GpioInputInterrupt!\r\n"); while(1)

计算机组成原理实验报告(运算器组成、存储器)

计算机组成原理实验报告 一、实验1 Quartus Ⅱ的使用 一.实验目的 掌握Quartus Ⅱ的基本使用方法。 了解74138(3:8)译码器、74244、74273的功能。 利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。 二.实验任务 熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。 新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138的原理图与仿真图 74244的原理图与仿真图

1. 4.74273的原理图与仿真图、

实验2 运算器组成实验 一、实验目的 1.掌握算术逻辑运算单元(ALU)的工作原理。 2.熟悉简单运算器的数据传送通路。 3.验证4位运算器(74181)的组合功能。 4.按给定数据,完成几种指定的算术和逻辑运算。 二、实验电路 附录中的图示出了本实验所用的运算器数据通路图。8位字长的ALU由2片74181构成。2片74273构成两个操作数寄存器DR1和DR2,用来保存参与运算的数据。DR1接ALU的A数据输入端口,DR2接ALU的B数据输入端口,ALU的数据输出通过三态门74244发送到数据总线BUS7-BUS0上。参与运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或DR2暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了T4是脉冲信号外,其他均为电位信号。nC0,nALU-BUS,nSW-BUS均为低电平有效。 三、实验任务 按所示实验电路,输入原理图,建立.bdf文件。 四.实验原理图及仿真图 给DR1存入01010101,给DR2存入10101010,然后利用ALU的直通功能,检查DR1、

微机原理实验报告

汇编语言程序设计实验 一、实验内容 1.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

计算机组成原理--实验报告

实验一寄存器实验 实验目的:了解模型机中各种寄存器结构、工作原理及其控制方法。 实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 实验电路:寄存器的作用是用于保存数据的CPTH 用74HC574 来构成寄存器。74HC574 的功能如下: - 1 -

实验1:A,W 寄存器实验 原理图 寄存器A原理图 寄存器W 原理图连接线表: - 2 -

- 3 - 系统清零和手动状态设定:K23-K16开关置零,按[RST]钮,按[TV/ME]键三次,进入"Hand......"手动状态。 在后面实验中实验模式为手动的操作方法不再详述. 将55H 写入A 寄存器 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据 55H 置控制信号为: 按住STEP 脉冲键,CK 由高变低,这时寄存器A 的黄色选择指示灯亮,表明选择A 寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据55H 被写入A 寄存器。 将66H 写入W 寄存器 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据66H

置控制信号为: 按住STEP脉冲键,CK由高变低,这时寄存器W 的黄色选择指示灯亮,表明选择W寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据66H 被写入W 寄存器。 注意观察: 1.数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。 2.WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。 实验2:R0,R1,R2,R3 寄存器实验 连接线表 - 4 -

微机原理综合实验报告_nexys4_简易数字信号发生器_HUST_华中科技大学

微机原理综合项目报告 基于nexys4简易数字信号发生器 班级:通信1301班 学号: HUST 姓名:华中科技大学 指导老师: 左冬红罗杰

目录 一、项目简介 (1) 1.设计思路 (1) 2.任务分配 (1) 3.功能描述 (1) 二、项目构成及概要设计 (2) 1. 硬件模块构成 (2) 2. 软件实现流程 (2) 三、项目详细设计 (4) 1.硬件的内部构成 (4) 2.硬件平台的搭建 (9) 3.软件模块的构成及其实现 (13) 波形产生模块 (13) 频率调节模块 (15) 幅度调节模块 (16) 方波占空比调节模块 (16) 四、项目操作说明 (18) 五、附录 (19) 六、心得体会及建议 (20)

一、项目简介 1.设计思路 本次项目我们小组选择的是信号发生器,由于之前做过D/A显示锯齿波的实验,便想到在该实验的基础上进行功能的扩充,这样思路比较清晰。首先我们想到在上次实验的基础上加上方波、三角波和正弦波这几种常见波形,实现起来也与锯齿波较为类似,只是在正弦波的显示上花了点功夫,最后决定通过MATLAB取值来实现,最后能正常显示。而几种波形的切换我们则想到了开关,通过添加开关的GPIO核来获取开关的状态,预留了三位用于波形的切换。仅仅几种波形的显示是远不够的,所以我们决定添加频率的调节和幅度的调节部分,实现时发现幅度调节容易实现但频率调节有些难度,最后从代码产生波形的原理上来分析想到通过改变取样的次数来调节频率的增减,而选择用一位开关用于切换频率增加和减小,这样会节省资源。 当添加了方波后又发现其占空比也应该实现调节的功能,想到通过开发板上的按钮来实现,通过建立按钮的中断控制,来调节时间延时的增减,从而控制占空比的实现。当实现了MA TLAB取数进行正弦波的显示时,小组一位成员提出显示心形的设计想法,通过类似的思路也得到了实现。 具体的设计原理及流程后面会有详细说明。 2.任务分配 小组成员、贡献比例及具体分工: 1硬件平台的搭建,软件代码的实现以及各功能的设计 2心形显示的提出和设计,正弦波MA TLAB取值的实现 3项目整体框图的设计和绘制 实验报告、PPT以及视频的拍制则是由小组成员一起完成。 3.功能描述 该信号发生器工程能显示方波,锯齿波,正弦波,三角波以及“爱心”形状(ch1、ch2分别显示“爱心”上下部分再拼接成完整的“爱心”)。通过开发板按钮能调节各个波形的频率、幅度和方波的占空比,通过led灯能反映开关状态,通过数码管能反映当前显示的波形序号。 Switch<2>---Switch<0>:选择波形 Switch<8>---Switch<3>:调节频率 Switch<9>:控制频率增加和减小 Switch<15>---Switch<10>:调节幅度 BTNU:增加占空比 BTND:减小占空比

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

华中科技大学计算机组成原理慕课答案

一、单项选择题 1、下列说法中,错误的是( B ) A.固件功能类似软件,形态类似硬件 B.寄存器的数据位对微程序级用户透明 C.软件与硬件具有逻辑功能的等效性 D.计算机系统层次结构中,微程序属于硬件级 2、完整的计算机系统通常包括( A ) A.硬件系统与软件系统 B.运算器、控制器、存储器 C.主机、外部设备 D.主机和应用软件 3、CPU地址线数量与下列哪项指标密切相关( B ) A.运算精确度 B.内存容量 C.存储数据位 D.运算速度 4、下列属于冯?诺依曼计算机的核心思想是( C ) A.采用补码 B.采用总线 C.存储程序和程序控制 D.存储器按地址访问 5、计算机中表示地址时使用( A )

A.无符号数 B.反码 C.补码 D.原码 6、当-1 < x < 0 时,[x] 补=(C ) A. x B.1-x C.2+x D.2-x 7、假设寄存器为8 位,用补码形式存储机器数,包括一位符号位, 那么十进制数一25 在寄存器中的十六进制形式表示为( C ) A.99H B.67H C.E7H D.E6H 8、如果某系统15*4=112 成立,则系统采用的进制是( C ) A.9 B.8 C.6 D.7 9、某十六进制浮点数A3D00000中最高8 位是阶码(含 1 位阶符),尾数是最低24 位(含1 位数符),若阶码和尾数均采用补码,则该浮

点数的十进制真值是( A ) A.-0.375 ×2^(-93) B.-0.375 ×2^(-35) C. -0.625 ×2^(-93) D.0.625 ×2^(-35) 10、存储器中地址号分别为1000#、1001#、1002#、1003 的4 个连续存储单元,分别保存的字节数据是1A、2B、3C、4D,如果数据字长为32 位, 存储器采用的是小端对齐模式,则这4 个存储单元存储的数据值应被解析为( A ) A.4D3C2B1A B.A1B2C3D4 C.D4C3B2A1 D.1A2B2C3D 11、字长8 位的某二进制补码整数为11011010,则该数的标准移码是(B ) A.11011010 B.01011010 C.00111010 D.10111010 12、对于IEEE754格式的浮点数,下列描述正确的是( D ) A.阶码和尾数都用补码表示 B.阶码用移码表示,尾数用补码表示

华中科技大学微机原理实验考试题库与答案

复习题(后面附有全部代码) 1.用74LS244设计一个输入接口。从输入端口读入开关状态(高表示‘1’,低表示‘0’),以十进制形式在CRT显示器上显示输入结果(0~255)。 如:输入开关状态:高高高高低低低低→ CRT显示:240 2.用74LS244和74LS273设计一个输入/输出接口,从输入端口输入原码数,转换为补码后从输出端口输出(高和亮表示‘1’,低和灭表示‘0’)。 如:输入开关状态:低高高低低高低高→ 灭亮亮灭灭亮灭亮 输入开关状态:高低低低低高低高→ 亮亮亮亮亮灭亮亮

复习题 1.用AD0809设计一个A/D接口,从5VIN输入直流电压值,在CRT显示器上以二进制形式显示采样结果。 如:输入5V→CRT显示:1111 1111 B (允许有误差) 如:输入0V→CRT显示:0000 0000 B

2.用AD0809设计一个A/D接口,从5VIN输入直流电压值,在CRT显示器上以十进制形式显示采样结果。 如:输入5V→CRT显示:255( 允许有误差) 如:输入0V →CRT显示:0 3.用AD0809设计一个A/D接口,从5VIN输入直流电压值,在CRT显示器上以0~FFFH 的形式显示采样结果。 如:输入5V→CRT显示:FFH( 允许有误差) 如:输入0V →CRT显示:00H

复习题 1.用8255设计一个输入/输出接口,C口输入原码数,转换为补码后从B口输出(高和亮表示‘1’,低和灭表示‘0’)。 如:输入开关状态:低高高低低高低高→ 发光二极管: 灭亮亮灭灭亮灭亮 输入开关状态:高低低低低高低高→ 发光二极管: 亮亮亮亮亮灭亮亮

计算机组成原理实验报告

计算机组成原理实验报告 ——微程序控制器实验 一.实验目的: 1.能瞧懂教学计算机(TH-union)已经设计好并正常运行的数条基本指令的功能、格式及执 行流程。并可以自己设计几条指令,并理解其功能,格式及执行流程,在教学计算机上实现。 2.深入理解计算机微程序控制器的功能与组成原理 3.深入学习计算机各类典型指令的执行流程 4.对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念 5.学习微程序控制器的设计过程与相关技术 二.实验原理: 微程序控制器主要由控制存储器、微指令寄存器与地址转移逻辑三大部分组成。 其工作原理分为: 1、将程序与数据通过输入设备送入存储器; 2、启动运行后从存储器中取出程序指令送到控制器去识别,分析该指令要求什么事; 3、控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中; 4、运算任务完成后,就可以根据指令将结果通过输出设备输出 三.微指令格式: 其中高八位为下地址字段、其余各位为控制字段、 1)微地址形成逻辑 TH—UNION 教学机利用器件形成下一条微指令在控制器存储器的地址、 下地址的形成由下地址字段及控制字段中的CI3—SCC控制、当为顺序执行时,下地址字段不起作用、下地址为当前微指令地址加1;当为转移指令(CI3—0=0011)时,由控制信号SCC 提供转移条件,由下地址字段提供转移地址、 2)控制字段 控制字段用以向各部件发送控制信号,使各部件能协调工作。 控制字段中各控制信号有如下几类: ①对运算器部件为了完成数据运算与传送功能,微指令向其提供了24位的控制信号,包括:4位的A、B口地址,用于选择读写的通用积存器3组3位的控制码I8-I6、 I5-I3、I2-I6,用于选择结果处置方案、运算功能、数据来源。 3组共7位控制信号控制配合的两片GAL20V8 3位SST,用于控制记忆的状态标志位 2位SCI,用于控制产生运算器低位的进位输入信号 2位SSH,用于控制产生运算器最高,最地位(与积存器)移位输入信号 ②对内存储器I/O与接口部件,控制器主要向它们提供读写操作用到的全部控制信号,共3位,即MRW

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

北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 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:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 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,查看开始的四个字节的内容,并思考其内容与程序

计算机组成原理实验报告

实验报告书 实验名称:计算机组成原理实验 专业班级:113030701 学号:113030701 姓名: 联系电话: 指导老师:张光建 实验时间:2015.4.30-2015.6.25

实验二基本运算器实验 一、实验内容 1、根据原理图连接实验电路

3、比较实验结果与手工运算结果,如有错误,分析原因。 二、实验原理 运算器可以完成算术,逻辑,移位运算,数据来自暂存器A和B,运算方式由S3-S0以及CN来控制。运算器由一片CPLD来实现。ALU的输入和输出通过三态门74LS245连接到CPU内总线上。另外还有指示灯进位标志位FC和零标志位FZ。 运算器原理图: 运算器原理图 暂存器A和暂存器B的数据能在LED灯上实时显示。进位进位标志FC、零标志FZ 和数据总线D7…D0 的显示原理也是如此。 ALU和外围电路连接原理图:

ALU和外围电路连接原理图运算器逻辑功能表:

三、实验步骤 1、按照下图的接线图,连接电路。 2、将时序与操作台单元的开关KK2 置为‘单拍’档,开关KK1、KK3 置为‘运行’档。 3、打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON 单元的CLR 按钮,将运算器的A、B 和FC、FZ 清零。 4、用输入开关向暂存器A 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数01100101 (或其它数值),数据显示亮为‘1’,灭为‘0’。 ②置LDA=1,LDB=0,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数01100101 置入暂存器A 中,暂存器A 的值通过ALU 单元的 A7…A0 八位LED 灯显示。 5、用输入开关向暂存器B 置数。 ①拨动CON 单元的SD27…SD20 数据开关,形成二进制数10100111 (或其它数值)。 ②置LDA=0,LDB=1,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数10100111 置入暂存器B 中,暂存器B 的值通过ALU 单元的 B7…B0 八位LED 灯显示。 6、改变运算器的功能设置,观察运算器的输出。置ALU_B=0 、LDA=0、LDB=0,然后按表2-2-1 置S3、S2、S1、S0 和Cn的数值,并观察数据总线LED 显示灯显示的结果。如置S3、S2、S1、S0 为0010 ,运算器作逻辑与运算,置S3、S2、

计算机组成原理实验报告册

实验一监控程序与汇编实验 实验时间:第周星期年月日节实验室:实验台: (以上部分由学生填写,如有遗漏,后果由学生本人自负) 1、实验目的 1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。 2)了解汇编语言的语句与机器语言的指令之间的对应关系,学习用汇编语言设计程序的过程和方法。 3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。 2、实验平台 硬件平台:清华大学TEC-XP实验箱的MACH部分 软件平台:监控程序、PC端指令集仿真软件 3、实验要求 1)学习联机使用TEC-XP 教学实验系统和仿真终端软件; 2)使用监控程序的R 命令显示/修改寄存器内容、D 命令显示存储器内容、E 命令修改存储器内容; 3)使用A 命令写一小段汇编程序,使用U命令观察汇编码与机器码之间的关系,用G 命令连续运行该程序,用T命令单步运行并观察程序单步执行情况。 **代码不得写到0000——1FFF的地址单元中,如有违反将被取消当堂成绩 4、操作步骤及实验内容 1)实验箱功能开关设置及联机操作: 1. 将实验箱COM1口与PC机相连; 2. 设置功能状态开关为00110; 3. 于PC端运行; 4. 按RESET,START键,若PC端出现如下输出(如图所示),则操作成功; 图 2)仿真软件相关操作: 1. 在项目文件夹找到并启动; 图

2. 点击文件-启动监控程序; 图 4.若PC端出现如下输出(如图所示),则操作成功; 图 3)理解下列监控命令功能: A、U、G、R、E、D、T 1. A命令:完成指令汇编操作,把产生的指令代码放入对应的内存单元中,可连 续输入。不输入指令直接回车,则结束A命令(如图所示); 图 2. U命令:从相应的地址反汇编15条指令,并将结果显示在终端屏幕上(如图所 示); 图 注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。 3. G命令:从指定(或默认)的地址运行一个用户程序(如图所示); 图 4. R命令:显示、修改寄存器内容,当R命令不带参数时,显示全部寄存器和状 态寄存器的值(如图所示); 图 5. E命令:从指定(或默认)地址逐字显示每个内存字的内容,并等待用户打入 一个新的数值存回原内存单元(如图所示); 图 6. D命令:从指定(或默认)地址开始显示内存120个存储字的内容(如图所示);

计算机组成原理实验报告

实验一 实验题目:运算器实验 实验目的:熟悉存储器和总线的硬件电路 实验要求:按照实验步骤完成实验项目,利用存储器和总线传输数据 实验器材:计算机组成原理实验仪 实验电路图/程序流程图: 实验步骤/程序源代码: 实验原理:实验中所用的运算器原理如图1所示。其中运算器由两片74LS181以并/川形式构成8位字长的ALU。运算器的输出经过有一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器锁存,锁存器的输入已连至数据总线,数据开关用来给出参与运算的数据,经一三态门和数据总线相连,数据显示灯已和数据总线相连,用来显示数据总线内容。 本实验装置的控制线应与相连,数据总线、时序电路产生的脉冲信号(T1-T4)、P(1)、P(2)、P(3)本实验装置已做连接,必须选择一档合适的时钟,其余均为电平控制信号。进行实验室,首先按动位于本实验装置右中则的复位按钮使系统进入初始待令状态,在LED显示器闪动出现“P”的环境下,按动增址命令键使LED显示器自左向右第一位显示提示符“H”,表示本装置已进入手动单元实验状态,在该状态下按动单步命令键,即可获得实验所需的单脉冲信号,而各电平控制信号用位于LED显示器左方的K25-K0二进制数据开关来模拟。在进行手动实验时,必须先预置开关电平:/Load=1,/CE=1,其余开关控制信号电平均置为0,这在以后手动实验时不再说明,敬请注意。 实验连接:按上图实验线路作以下连接: (1)八位运算器控制信号连接:位于实验装置左上方的控制信号(CTR-OUT UNIT)中的(S3、S2、S1、S0、M、/CN、LDDR1、LDDR2、LDCZY、C、B、A)与位于实验装置右中方的(CTR-IN UNIT)、位于实验装置左中方的(UPC UNIT)、位于右上方的(FL UNIT)做对应链接。 (2)完成上述连接,仔细检查无误后方可接通电源进入实验。 实验仪器工作状态设定 在闪动的“P”状态下按动“增址”命令键,使LED显示器自左向右第一位显示提示符“H”,

2013华科光电学院考研复试分数线

光学与电子信息学院 2013年硕士研究生复试工作细则 一、复试方式及复试内容 复试包括专业知识、综合素质和能力、外语听力及口语与思想政治品德等考核内容。 1、专业考核:包括笔试和面试两部分 笔试:考试时间2.5小时,满分为100分。 报考光学工程,光电信息工程、物理电子学、电子与通信工程专业的考生,笔试科目:通信原理、激光技术、光电技术和单片机原理,每门科目50分,考生可以任选两门科目,笔试科目考试范围见: https://www.doczj.com/doc/549083886.html,/Graduate/8/2013-03-08/164644115.html 报考微电子学与固体电子学,电子信息材料与元器件,材料物理与化学, 《电子材料物理》、半导体芯片系统设计与工艺、集成电路专业的考生,笔试科目: 《微机原理与单片机应用基础》和《微电子器件与IC设计》任选一门。 面试:应届毕业的考生,着重考核其应用专业知识分析和解决实际问题的能力及实验技能等;在职报考的考生,着重考核其专业基础是否扎实,以及了解其工作中的成绩等。 2、英语考核:英语听说能力测试,听力口语每位考生不少于8分钟。重点考察专业文献阅读能力。 具体要求见《华中科技大学硕士研究生入学考试英语听说测试实施办法》。 3、综合素质考核:全面考核考生的政治态度,思想表现,道德品质等。着重了解考生对一些重大政治事件的看法和认识,并对考生的专业思想和治学态度进行必要的考察。 英语口语测试与专业面试分开进行。 专业学位考生重点加强实践能力与参加课外科技情况。

二、复试成绩的评定 成绩的评定:采取由复试小组成员分别评分后取平均分确定。复试应综合各方面的考核结果按百分制评分。其中外语口语测试占20%,专业考核采取笔试与面试相结合,笔试成绩与面试成绩各占40%。 初、复试总成绩按初试成绩占60%,复试成绩占40%计算,其中初试四门考试总成绩应按百分制进行折算。 三、复试、录取程序 (1)公布导师名单、复试生情况及招生计划、奖学金类别信息; (2)复试生自主选择学术型和专业硕士类型、选择导师,填报志愿; (3)分别召开复试生、导师会议,介绍导师、复试生情况及相关规定; (4)组织复试、复试成绩评定; (5)复试领导小组评定综合成绩; (6)协调师生双向选择和录取类型; (复试期间由研究生院组织体检) (7)复试领导小组依复试生综合考核成绩和导师意见,讨论确定初录取名单及指导教师和获奖学金学生名单。 (8)公布初录取名单及获奖学金学生名单。 (9)提供未录取考生名单给第二志愿的学校、专业调剂。 (10)系、导师、录取学生按规定分别签订录取协议和奖学金协议。 四、凡有下列情况之一的考生,不予录取 (1)综合复试不合格者; (2)体检不合格的考生。 五、复试分数控制线

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