当前位置:文档之家› 西华大学实验报告(微处理器与微计算机系统)

西华大学实验报告(微处理器与微计算机系统)

西华大学实验报告(微处理器与微计算机系统)
西华大学实验报告(微处理器与微计算机系统)

电气与电子信息学院6A224 实验室实验时间:年月日

电气与电子信息学院6A224 实验室实验时间:年月日

电气与电子信息学院6A224 实验室实验时间:年月日

图1 P0 口连接的8 盏LED 灯

电气与电子信息学院6A224 实验室实验时间:年月日

图1 P0 口和P2 口连接的4 个LED 图2 5461BS 内部接线原理图

电气与电子信息学院6A224 实验室实验时间:年月日

图1 P0 口连接的4×4 按键

中可以看出:如果把P0口低四位置为0,高四位置为1,即P0=#0F0H

电气与电子信息学院6A224 实验室实验时间:年月日

电气与电子信息学院6A224 实验室实验时间:年月日

图1 单片机串口与PC 机USB 接口连接图

中可以看出:单片机接收口RXD(PORT3_0)与CH340G的发送口TXD相连

西华大学实验报告(计算机类)

电气与电子信息学院6A224 实验室实验时间:年月日

图1 扫描键盘原理图

PORT0_3 构成键盘输出行,PORT0_4—PORT0_7

口使用的时候,内部没有上拉电阻,因此在做为上拉电阻。R2 和D10、D11、D13、D14 构成了一个

图2 按键抖动波形图

集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。)参考提供的源程序,仔细检查编写好的汇编语言源程序,参考《KEIL

电气与电子信息学院6A224 实验室实验时间:年月日

电气与电子信息学院6A224 实验室实验时间:年月日

微机系统实验报告

西安电子科技大学 实验报告

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握 DOS 功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC 机一台。 三、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。 4. 自主设计输入显示信息,完成编程与调试,演示实验结果。 四、实验源码 DA TA SEGMENT DISCHA DB'WangHan 14030188004',0AH,0DH,'$' TAB DB' ',0AH,0DH,'$' BLANK DB' $' DA TA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA,SS:STACK START: MOV AX,SEG DISCHA MOV DS,AX MOV DX,OFFSET DISCHA MOV AH,09H INT 21H NEXT: MOV AH,01H INT 21H CMP AL,'Q' JE ENDSS

CMP AL,'q' JE ENDSS MOV BL,AL MOV AX,SEG BLANK MOV DS,AX MOV DX,OFFSET BLANK MOV AH,09H INT 21H MOV BH,0AH MOV DL,BL MOV CL,04H SHR DL,CL CMP DL,BH JNL Q3 JMP Q2 Q1: ADD DL,07H Q2: ADD DL,30H MOV AH,02H INT 21H MOV DL,BL MOV DH,0FH AND DL,DH CMP DL,BH JNL Q3 JMP Q4 Q3: ADD DL,07H Q4: ADD DL,30H MOV AH,02H INT 21H MOV AX,SEG TAB MOV DS,AX MOV DX,OFFSET TAB MOV AH,09H INT 21H MOV CX,0009H LOOP NEXT

华科_计算机系统实验报告

课程实验报告课程名称:计算机系统基础 专业班级: 学号: 姓名: 指导教师: 报告日期:年月日 计算机科学与技术学院

目录 实验1: (1) 实验2: (7) 实验3: (24) 实验总结 (34)

实验1:数据表示 1.1 实验概述 实验目的:更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。 实验目标:加深对数据二进制编码表示的了解。 实验要求:使用有限类型和数量的运算操作实现一组给定功能的函数。 实验语言:c。 实验环境:linux 1.2 实验内容 需要完成bits.c中下列函数功能,具体分为三大类:位操作、补码运算和浮点数操作。 1)位操作 表1列出了bits.c中一组操作和测试位组的函数。其中,“级别”栏指出各函数的难度等级(对应于该函数的实验分值),“功能”栏给出函数应实现的输出(即功能),“约束条件”栏指出你的函数实现必须满足的编码规则(具体请查看bits.c中相应函数注释),“最多操作符数量”指出你的函数实现中允许使用的操作符的最大数量。 你也可参考tests.c中对应的测试函数来了解所需实现的功能,但是注意这些测试函数并不满足目标函数必须遵循的编码约束条件,只能用做关于目标函数正确行为的参考。 表1 位操作题目列表

2)补码运算 表2列出了bits.c中一组使用整数的补码表示的函数。可参考bits.c中注释说明和tests.c中对应的测试函数了解其更多具体信息。 表2 补码运算题目列表 3)浮点数操作 表3列出了bits.c中一组浮点数二进制表示的操作函数。可参考bits.c中注释说明和tests.c中对应的测试函数了解其更多具体信息。注意float_abs的输入参数和返回结果(以及float_f2i函数的输入参数)均为unsigned int类型,但应作为单精度浮点数解释其32 bit二进制表示对应的值。 表3 浮点数操作题目列表

微处理器系统与嵌入式系统1—7章最全答案合集

“微处理器系统原理与嵌入式系统设计”第一章习题解答 1.1 什么是程序存储式计算机? 程序存储式计算机指采用存储程序原理工作的计算机。 存储程序原理又称“·诺依曼原理”,其核心思想包括: ●程序由指令组成,并和数据一起存放在存储器中; ●计算机启动后,能自动地按照程序指令的逻辑顺序逐条把指令从存储器中 读出来,自动完成由程序所描述的处理工作。 1.2 通用计算机的几个主要部件是什么? ●主机(CPU、主板、存); ●外设(硬盘/光驱、显示器/显卡、键盘/鼠标、声卡/音箱); 1.3 以集成电路级别而言,计算机系统的三个主要组成部分是什么? 中央处理器、存储器芯片、总线接口芯片 1.4 阐述摩尔定律。 每18个月,芯片的晶体管密度提高一倍,运算性能提高一倍,而价格下降一半。 1.5 讨论:摩尔定律有什么限制,可以使用哪些方式克服这些限制?摩尔定律还会持续多久?在摩尔定律之后电路将如何演化? 摩尔定律不能逾越的四个鸿沟:基本大小的限制、散热、电流泄露、热噪。具体问题如:晶体管体积继续缩小的物理极限,高主频导致的高温…… 解决办法:采用纳米材料、变相材料等取代硅、光学互联、3D、加速器技术、多核…… (为了降低功耗与制造成本,深度集成仍是目前半导体行业努力的方向,但这不可能永无止,因为工艺再先进也不可能将半导体做的比原子更小。用作绝缘材料的二氧化硅,已逼近极限,如继续缩小将导致漏电、散热等物理瓶颈,数量集成趋势终有终结的一天。一旦芯片上线条宽度达到纳米数量级时,相当于只有几个分子的大小,这种情况下材料的物理、化学性能将发生质的变化,致使采用现行工艺的半导体器件不能正常工作,摩尔定律也就要走到它的尽头了。业界专家预计,芯片性能的增长速度将在今后几年趋缓,一般认为摩尔定律能再适用10年左右,其制约的因素一是技术,二是经济。)

微处理器实验报告

微处理器实验报告 实验1 熟悉并使用传送类指令 题3. 模仿test1.Asm的循环结构,编写多字节数据的传送程序,把内部RAM的30H--39H单元置为10H-19H,然后传送到外部RAM的0100H--0109H单元。 提示: (1)用寄存器作内部RAM指针,用DPTR作外部RAM指针。 (2)设置内部RAM的30H--39H单元的值为10H-19H: 解:程序如下: ORG 0000H AJMP START ORG 0100H START:MOV R1,#10H MOV DPTR,#0100H MOV R2,#0AH LOOP:MOV A,@R1 MOVX @DPTR,A INC R1 INC DPTR DJNZ R2,LOOP NOP SJMP $ END 运行结果如下图所示:在memory1中,在Address 控件填上D:0x30,可查看内部RAM 30h单元开始的值,将30h-39h 置为10h-19h。

实验2:熟悉并使用算术逻辑操作类指令 题2.编写程序,将6位压缩BCD码123456与6位BCD码567890相加,结果仍用BCD码表示。第一组BCD码放在30H开始连续的内部存储器单元内,第二组BCD 码放在40H开始连续的内部存储器单元内,相加结果放在50H开始的连续的内部存储器单元内。 解:程序如下: ORG 0000H AJMP START ORG 0100H START: MOV 30H,#56H MOV 31H,#34H

MOV 32H,#12H MOV 40H,#90H MOV 41H,#78H MOV 42H,#56H MOV R0,#30H MOV R1,#40H MOV R2,#03H MOV R3,#50H LOOP: MOV A,@R0 ADD A,@R1 DA A MOV @R1,A INC R0 INC R1 INC R3 DJNZ R2,LOOP NOP SJMP $

计算机操作系统 实验报告

操作系统实验报告 学院:计算机与通信工程学院 专业:计算机科学与技术 班级: 学号: 姓名: 指导教师: 成绩: 2014年 1 月 1 日

实验一线程的状态和转换(5分) 1 实验目的和要求 目的:熟悉线程的状态及其转换,理解线程状态转换与线程调度的关系。 要求: (1)跟踪调试EOS线程在各种状态间的转换过程,分析EOS中线程状态及其转换的相关源代码; (2)修改EOS的源代码,为线程增加挂起状态。 2 完成的实验内容 2.1 EOS线程状态转换过程的跟踪与源代码分析 (分析EOS中线程状态及其转换的核心源代码,说明EOS定义的线程状态以及状态转换的实现方法;给出在本部分实验过程中完成的主要工作,包括调试、跟踪与思考等) 1.EOS 准备了一个控制台命令“loop ”,这个命令的命令函数是 ke/sysproc.c 文件中的ConsoleCmdLoop 函数(第797行,在此函数中使用 LoopThreadFunction 函数(第755 行)创建了一个优先级为 8 的线程(后面简称为“loop 线程”),该线程会在控制台中不停的(死循环)输出该线程的ID和执行计数,执行计数会不停的增长以表示该线程在不停的运行。loop命令执行的效果可以参见下图: 2. 线程由阻塞状态进入就绪状态 (1)在虚拟机窗口中按下一次空格键。 (2)此时EOS会在PspUnwaitThread函数中的断点处中断。在“调试”菜单中选择“快速监视”,在快速监视对话框的表达式编辑框中输入表达式“*Thread”,然后点击“重新计算”按钮,即可查看线程控制块(TCB)中的信息。其中State域的值为3(Waiting),双向链表项StateListEntry的Next和Prev指针的值都不为0,说明这个线程还处于阻塞状态,并在某个同步对象的等待队列中;StartAddr域的值为IopConsoleDispatchThread,说明这个线程就是控制台派遣线程。 (3)关闭快速监视对话框,激活“调用堆栈”窗口。根据当前的调用堆栈,可以看到是由键盘中断服务程序(KdbIsr)进入的。当按下空格键后,就会发生键盘中断,从而触发键盘中断服务程序。在该服务程序的最后中会唤醒控制台派遣线程,将键盘事件派遣到活动的控制台。 (4)在“调用堆栈”窗口中双击PspWakeThread函数对应的堆栈项。可以看到在此函数中连续调用了PspUnwaitThread函数和PspReadyThread函数,从而使处于阻塞状态的控制台派遣线程进入就绪状态。 (5)在“调用堆栈”窗口中双击PspUnwaitThread函数对应的堆栈项,先来看看此函数是如何改变线程状态的。按F10单步调试直到此函数的最后,然后再从快速监视对

微处理器系统结构与嵌入式系统设计(第2版) 第3章答案

“微处理器系统原理与嵌入式系统设计”第三章习题解答 3.1处理器有哪些功能?说明实现这些功能各需要哪些部件,并画出处理器的基本结构图。 处理器的基本功能包括数据的存储、数据的运算和控制等功能。其有5个主要功能:①指令控制②操作控制③时间控制④数据加工⑤中断处理。其中,数据加工由ALU 、移位器和寄存器等数据通路部件完成,其他功能由控制器实现。处理器的基本结构图如下: 寄存器组 控制器 整数单元 浮点单元 数据通路 处理器数据传送 到内存数据来自内存数据传送到内存指令来自内存 3.2处理器内部有哪些基本操作?这些基本操作各包含哪些微操作? 处理器基本操作有:取指令、分析指令、执行指令。 取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。 分析指令:对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。 执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。 3.3什么是冯·诺伊曼计算机结构的主要技术瓶颈?如何克服? 冯·诺伊曼计算机结构的主要技术瓶颈是数据传输和指令串行执行。可以通过以下方案克服:采用哈佛体系结构、存储器分层结构、高速缓存和虚拟存储器、指令流水线、超标量等方法。

3.5指令系统的设计会影响计算机系统的哪些性能? 指令系统是指一台计算机所能执行的全部指令的集合,其决定了一台计算机硬件主要性能和基本功能。指令系统一般都包括以下几大类指令。:1)数据传送类指令。(2)运算类指令 包括算术运算指令和逻辑运算指令。(3)程序控制类指令 主要用于控制程序的流向。 (4)输入/输出类指令 简称I/O 指令,这类指令用于主机与外设之间交换信息。 因而,其设计会影响到计算机系统如下性能: 数据传送、算术运算和逻辑运算、程序控制、输入/输出。另外,其还会影响到运算速度以及兼容等。 3.9某时钟速率为2.5GHz 的流水式处理器执行一个有150万条指令的程序。流水线有5段,并以每时钟周期1条的速率发射指令。不考虑分支指令和乱序执行带来的性能损失。 a)同样执行这个程序,该处理器比非流水式处理器可能加速多少? b)此流水式处理器是吞吐量是多少(以MIPS 为单位)? a.=51p T nm S T m n =≈+-串流水 速度几乎是非流水线结构的5倍。 b.2500M IPS p n T T =≈流水 3.10一个时钟频率为2.5 GHz 的非流水式处理器,其平均CPI 是4。此处理器的升级版本引入了5级流水。然而,由于如锁存延迟这样的流水线内部延迟,使新版处理器的时钟频率必须降低到2 GHz 。 (1) 对一典型程序,新版所实现的加速比是多少? (2) 新、旧两版处理器的MIPS 各是多少? (1)对于一个有N 条指令的程序来说: 非流水式处理器的总执行时间s N N T 990 106.1)105.2/()4(-?=??= 5级流水处理器的总执行时间s N N T 991 10)4(2)102/()15(-?+=?-+= 加速比=42.310 +=N N T T ,N 很大时加速比≈3.2 (2)非流水式处理器CPI=4,则其执行速度=2500MHz/4=625MIPS 。 5级流水处理器CPI=1,则其执行速度=2000 MHz /1=2000 MIPS 。 3.11随机逻辑体系结构的处理器的特点是什么?详细说明各部件的作用。 随机逻辑的特点是指令集设计与硬件的逻辑设计紧密相关,通过针对特定指令集进行

微处理器实验报告

《微处理器实验》实验报告 一、实验目的与任务 1、掌握80C51单片机程序的调试与下载方法。 2、掌握80C51单片机并口的工作原理及输入输出控制方法。 3、理解和学会单片机外部中断的使用; 4、学习单片机定时器/计数器的应用。 二、实验原理介绍 80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。 ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。本课程的全部实验只用到MCU1。 图3-1为本实验对应的硬件电路。P0口用于控制发光管L101~L108,口线输出0(低电平)时,对应的发光管点亮,口线输出1(高电平)时,对应的发光管熄灭。P3口的4根口线连接独立按键KX0~KX3,由于P3口内部上拉电阻的作用,按键松开时,对应的口线表现为1状态(高电平),按键按下时,对应的口线表现为0状态(低电平)。 中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。引起突发事件的来源称为中断源,中断源要求服务的请求称为中断请求,对中断请求提供的服务称为中断服务,中断管理系统处理事件的过程称为中断响应过程。51类单片机至少包括5个中断源: INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。(本实验用) INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 T0:定时器/计数器0中断,由T0计满回零引起。(本实验用) T1:定时器/计数器l中断,由T1计满回零引起。 TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。 与实验三相同,图3-1为本实验对应的硬件电路。P0口用于控制发光管L101~L108,口线输出0(低电平)时,对应的发光管点亮,口线输出1(高电平)时,对应的发光管熄灭。P3口的4根口线连接独立按键KX0~KX3,其中KX0对应外部中断0,进行KX0按键动作的时候可以触发外部中断。 三、实验内容与结果 1、设计程序,控制发光管L101~L108以一定的时间间隔轮流点亮。 ①在Keil中编写源程序。参考程序如下(请将下划线部分补充完整): ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV A, #11111110B ;准备点亮第一只发光管 NEXT: MOV ,A ACALL DELAY ;软件延时1s左右 A ;准备点亮下一只发光管 SJMP NEXT

微机汇编语言编程系统实验报告

微机系统实验报告 实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC机一台。 三、实验内容 (1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。 (2) 在屏幕上显示自己的学号姓名信息。 (3)循环从键盘读入字符并回显在屏幕上,然后显示

出对应字符的ASCII码,直到输入“Q”或“q”时结束。 (4)自主设计输入显示信息,完成编程与调试,演示实验结果。 考核方式:完成实验内容(1)(2)(3)通过, 完成实验内容(4)优秀。 实验中使用的DOS功能调用:INT 21H 表3-1-1 显示实验中可使用DOS功能调用

四、实验步骤 (1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。 (2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。

(3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。按F9连续运行。 (4)更改数据区的数据,考察程序的正确性。 五、实验程序 DATA SEGMENT BUFFER DB '03121370konglingling:',0AH,0DH,'$' BUFFER2 DB 'aAbBcC','$' BUFFER3 DB 0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX mov ah,09h mov DX,OFFSET BUFFER int 21h MOV SI,OFFSET BUFFER2

嵌入式微处理器实验指导(实验一、二、三、四、五)

实验一、Linux常用命令及工具 【实验目的】 熟悉Linux常用命令及工具的使用,特别是常用命令的关键选项及用法需要熟悉。 【实验内容】 1. 在老师讲解下掌握Linux常用命令和工具的用法; 2. 打开虚拟机ubuntu的Terminal,进行命令的练习和熟悉; 3. 截图保存相关界面; 【实验准备】 1. 熟悉Ubuntu虚拟机的安装和使用。 2. 熟悉Linux常用命令和工具。 【实验报告要求】 1. 分别叙述Linux常用命令、ctags+vim工具的功能和一般用法,包括常用选项。 2. 需要有实验记录。 【实验步骤】 一、常用命令用法: 1、对于不熟悉的命令请查看网页:https://www.doczj.com/doc/0b41460.html,/ 2、ls的功能及常用选项,当以长格式显示目录下的内容列表时,输出的信息从 左到右依次包括文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间、文件名等,对于文件类型和权限模式需要熟悉; 3、cd的功能及常用选项:-、/、~、.、..各表示什么意思? 4、mkdir、cp、mv、rm、pwd的功能及常用选项; 5、chmod的功能及常用选项; 6、find的功能及常用选项; 7、grep的功能及常用选项; 8、tar的功能及常用选项。 二、常用工具的安装和熟悉 1、下载ctags-5.8.tar.gz和vim-6.4.tar.bz2文件,复制到虚拟机的root目录下,用tar解压缩,然后安装。安装方法如下: 1)进入源代码根目录执行./configure, 2)然后执行make, 3)编译成功后执行make install。 2、进入/opt/WXL/wxl210/linux2.6.35wxl210exp20131202路径下,运行命令:

电子科技大学微处理器与嵌入式系统设计实验报告一

微处理器系统结构与嵌入式系统设计实验报告 微处理器系统结构与嵌入式系统设计实验名称 ARM基础编程实验 一、实验目的 1.熟悉并掌握常用ARM汇编指令 2.熟悉并掌握“C+汇编”混合编程技术 3.熟练使用ARM软件开发调试工具Keil 二、实验内容 1.学习使用Keil开发工具 2.使用ARM汇编语言,编程实现1+2+……+N累加运算功能 3.使用C调用汇编函数,实现字符串拷贝功能 4.使用汇编调用C函数,实现求和运算功能 5.使用ARM汇编语言,实现冒泡排序算法(选做) 三、实验步骤 1.实验1.1:运行Keil,建立工程文件,单步运行调试演示 示例程序,深刻理解每一条指令,观察寄存器,内存空间 的变化。 2.实验1.2:用汇编语言实现1+2+...+N的累加: a)建立新工程,加入实验1.2文件夹中的sum.s。 b)用汇编补充算法核心部分,代码参考流程图如下 图1.1所示。 c)使用单步调试,仔细观察过程中关键寄存器值的 变化。

微处理器系统结构与嵌入式系统设计实验报告 RO=R0+R1 R1=R1+1 SUM_END 结果溢出? R1>=N NO YES YES NO 图1.1 3. 实验1.3:C 调用汇编实现字符串拷贝功能: a) 建立新工程,加入实验1.3文件夹中的main.c 和testfile.s(同一个工程下添加两个文件一起编译)。 b) 补充完成源代码中缺失的部分,分别实现 1. 拷贝源字符串的一个字节到R2中; 2. 将拷贝的字节复制到目标空间。 c) 运行Debug 进行调试。 4. 实验1.4:汇编调用C 实现求和1+2+ (10) a) 建立新工程,加入实验1.4文件夹中的sum.c 和testfile.s(同一个工程下添加两个文件一起编译)。 b) 补充完成源代码中缺失的部分,通过调用c 函数g()实现1+2+3+glovb1,结果存在R8中。 c) 运行Debug 进行调试 5. 实验1.5:ARM 汇编实现冒泡算法: a) 建立新工程,加入实验1.5文件夹中的maopao.s 。 b) 补充完成源代码中缺失的部分,实现冒泡排序功能。 c) 运行Debug 进行调试 四、 实验结果 1. 实验1.2:用汇编语言实现1+2+...+N 的累加 R1自增1 R0暂存累加和

华中科技大学计算机操作系统实验报告

实验目的 掌握Linux操作系统的使用方法; 了解Linux系统内核代码结构; 掌握实例操作系统的实现方法。 一、实验要求 1、掌握Linux操作系统的使用方法,包括键盘命令、系统调用;掌握在Linux 下的编程环境。 ●编一个C程序,其内容为实现文件拷贝的功能; ●编一个C程序,其内容为分窗口同时显示三个并发进程的运行结 果。要求用到Linux下的图形库。 2、掌握系统调用的实现过程,通过编译内核方法,增加一个新的系统调用。 另编写一个应用程序,调用新增加的系统调用。 实现的功能是:文件拷贝; 3、掌握增加设备驱动程序的方法。通过模块方法,增加一个新的设备驱动 程序,其功能可以简单。 实现字符设备的驱动; 4、了解和掌握/proc文件系统的特点和使用方法 ●了解/proc文件的特点和使用方法 ●监控系统状态,显示系统中若干部件使用情况 ●用图形界面实现系统监控状态。 5、设计并实现一个模拟的文件系统(选作) 二、实验一 1、编一个C程序,其内容为实现文件拷贝的功能 要实现文件拷贝功能,主要用到的函数是fopen、fputc、fgetc。 主要用到的头文件: #include #include 设计思路:由scanf函数获取2个文件名,根据其文件名和路径分别打开该2个文件,设置一个循环,从源文件复制1个字节到目 的文件,直到源文件指针到文件尾,最后关闭2个文件。 在可能出错的地方需要加上相应的报错代码,并输出错误信息,以方便调试。 理清楚设计思路后,首先搭建linux下编程环境。 安装gcc:sudo apt-get install build-essential 安装codeblocks:sudo apt-get install codeblocks 在集成开发环境Code::Blocks IDE下根据需求写出相应的源代码copy.c,将程序编译并生成exe可执行文件。 然后手动创建一个测试文件test.txt ,运行copy.exe文件,并输入

哈尔滨工业大学微处理器原理与应用实验报告

微处理器原理与应用 实验报告 姓名:王烁行 同组人:张绍文、马文佳、孙蓦征 学号:1080520406 班级:0805204 指导教师:赵彬 院系:电子信息工程

1 实验一简单I/O口扩展实验(一) 交通灯控制实验 1.1实验要求 扩展实验箱上的74LS273作为输出口,控制八个发光二极管燃灭,模拟交通灯管理。 1.2实验目的 1.学习在单片机系统中扩展简单I/O接口的方法 2.学习数据输出程序的设计方法 3.学习模拟交通灯控制的实现方法 1.3实验原理 本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1、L3、L5作为东西方向的指示灯,将L2、L4、L6作为南北方向的指示灯。而交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 各发光二极管共阳极,阴极接有与非门,因此使其点亮应使相应输入端为高电平。1.4 实验内容(包括实验电路和程序流程图) 按指导书搭接电路,调试程序并运行。

图1实验电路图 图2实验流程图

1.5 实验结果 实验现象与既定目标相符:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 1.6 实验结果讨论分析 实验中发现交通灯在黄灯和红绿灯切换的时候有抖动和延时,初步估计是单片机定时系统不稳定以及程序的延时冗余没有添加所导致。 1.7 实验程序代码 PORT EQU 0CFA0H ;片选地址CS0 ORG 0000H LJMP BEGIN ORG 4100H BEGIN: MOV A,#03H ;1、2亮,其余灭 ACALL SHOW ;调用273显示单元 ACALL T03 ;延时3秒 EW: MOV A,#12H ;东西导通;南北截止 ACALL SHOW ACALL T10 ;延时10秒 MOV A,#02H ;东西截止;南北截止 ACALL SHOW SNBY: MOV A,#04H ;3亮,其余灭 ACALL SHOW ;调用273显示单元 ACALL T02 ;延时2秒 MOV A,#00H ; ACALL SHOW ACALL T02 ;延时2秒 MOV A,#04H ;3亮 ACALL SHOW ACALL T02 ;延时2秒 MOV A,#00H ;灭 ACALL SHOW ACALL T02 ;2秒 MOV A,#04H ;3亮 ACALL SHOW

微机系统的组装与配置实验报告

微机系统的组装与配置实验报告

计算机学院综合性实验 实验报告 课程名称微机与外设维护维修技术 实验学期 2015 至 2016 学年第 2 学期 学生所在院系计算机学院 年级 2013 专业班级计 学生姓名学号 2013 任课教师 实验成绩 计算机学院制

一、硬件拆卸部分 1、主板的型号及功能、性能说明: 主板是电脑系统中最大的一块电路板,主板上布满了各种电子元件、插槽、接口等。它为CPU、内存和各种功能(声、图、通信、网络、TV、SCSI等)卡提供安装插座(槽);为各种磁、光存储设备、打印机和扫描仪等I/O设备以及数码相机、摄像头、调制解调器等多媒体和通讯设备提供接口,实际上电脑通过主板将CPU等各种器件和外部设备有机地结合起来形成一套完整的系统。 主板的标准结构是根据主板上各元器件的布局排列方式、主板的尺寸大小及形状、所使用的电源规格等。 目前市场上PC的主板主要有ATX、Micro ATX和BTX等结构。 2、CPU的型号及功能、性能说明: 中央处理器(CPU)是一块超大规模集成电路芯片,它是整个计算机系统的核心。CPU主要包括运算器、控制器和寄存器三个部件。这三个部件相互协调,使他们可以进行分析、判断、运算并控制计算机各部分协调工作。其中运算器主要完成各种算术运算和逻辑运算;而控制器是指挥中心,控制运算器及其他部件工作,它能对指令进行分析,作出相应的控制;寄存器用来暂时存放运算中的中间结果或数据。 CPU的性能指标: 字长或位数; 主频、外频、FSB频率; 高速缓冲存储器; 指令扩展技术; CPU的制造工艺; CPU的核心代号; 超线程技术; 多核心技术; 虚拟化技术; 可信执行技术。 3、硬盘的型号及功能、性能说明: 硬盘主要是有固定面板、控制电路板、磁头组、盘面组、主轴电机、接口、及其附件组成。其中磁头组和盘片组件是构成硬盘的核心,它们被封装在硬盘的净化腔体内,包括浮动磁头组件、磁头驱动机构、盘片组、主轴驱动装置级读写控制电路几个部分。 温切斯特硬盘的特点:磁盘旋转,磁头径向运动,磁头悬浮在磁片上方,用磁存储信息。 磁盘技术: RAID技术(廉价磁盘冗余阵列),使用磁盘驱动器的方法,是将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个大容量磁盘驱动器来使用。(RAID0、RAID1、RAID0+1、RAID3、RAID5模式);

实验报告计算机操作系统-windows7

实验报告计算机操作系统-Windows 7 班级 178 学号姓名 【实验目的】 1. 掌握Windows 7的基本操作; 2. 熟练掌握资源管理器、文件与文件夹的管理方法 3. Windows 7控制面板的使用 【实验内容和步骤】 一.Windows7基本操作和文件管理 完成实践教程第18页中的实验并回答下列问题。 1.如何新建文件或文件夹 在桌面空白处单击鼠标右键,选择“新建”--“文件夹”,键入新文件夹的名称,然后按 ENTER 键。 2.如何选定多个相邻文件或文件夹如何选定多个不相邻文件和文件夹如何选中全部文件和文件夹 选定多个相邻文件的操作是:单击第一个文件,然后按住Shift 键,再单击最后一个文件 Shift 键,就是Ctrl 键上面那个。 选定多个不相邻文件操作是:单击第一个文件,然后按住Ctrl 键的同时,单击其他待选定的文件 Ctrl 键,就是键盘最左下角那个。 如何选中全部文件和文件夹:ctrl+A 3.试列举对文件/文件夹进行复制和移动的方法

第一种方法:可以用鼠标右键进行操作。 第二种:可用ctrl+c 进行复制;ctrl+x 进行移动(也就是剪切)ctrl+v进行粘贴 4.如何对已删除的文件进行“还原” 如果没清空回收站,在回收站里还原就行。 5.如何对按照修改日期搜索文件或文件夹 我的电脑右键选搜索,打开搜索界面,在搜索选项里按日期,选中并输入日期 6.如何“隐藏”文件/文件夹如何显示被“隐藏”起来的文件/文件夹图标 把想隐藏文件的文件夹或文件,打开文件夹属性,隐藏打钩或去掉即可以选择这个文件是否隐藏或显示打开任意的文件夹的工具选项卡的文件夹选项——查看选项卡——隐藏文件和文件夹上面有2个选择,选择显示隐藏文件夹即可看到隐藏文件 二.Windows7系统设置 完成实践教程第23页中的实验并回答下列问题。 1.如何改变桌面的背景、屏幕的分辨率并设置屏幕保护程序。 开始—控制面板—外观和个性化—个性化,然后进行桌面背景、窗口颜色、屏幕保护调整。

计算机控制系统实验报告3

江南大学物联网工程学院 《计算机控制系统》 实验报告 实验名称实验三积分分离PID控制仿真实验 实验时间2017.11.2 专业自动化班级1503 姓名汪涛学号1070415333 指导教师陈珺实验成绩

一、实验目的与要求 1、学会PID 三个系数的选取。 2、了解积分分离值的模拟实验选取。 3、掌握SIMULINK 的仿真方法。 二、仿真软硬件环境 PC 机,MATLAB R2012b 。 三、实验原理 如图,R 为输入,C 为输出。计算机不断采人误差E ,进行积分判别与PID 运算,然后判结果是否溢出(若溢出则取最大或最小值),最后将控制量输送给系统。 四、PID 算法 PID 控制规律为:? ++ =t D I p dt t de T dt t e T t e K t U 0 ]) ()(1)([)( 其中:e(t)为控制器输入;u(t)为控制器输出。对上式进行零初始条件下的拉氏变换,得PID 控制器的传递函数: )1 1()()()(S T S T K S E S U S D D I P ++== 五、整定调节参数与系统开环增益 用临界比例带法整定参数。设采样周期为50ms ,先去掉微分与积分作用,只保留比例控制,增大K P ,直至系统等幅振荡,记下振荡周期T u 和振荡时所用比例值K pu ,按以下公式整定参数(比例、积分、微分调节): T=0.167Tu ,K p =0.27/K pu ,T I =0.4T u ,T D =0.22T u

六、SIMULINK仿真结构图 七、自定义函数设计 实现积分分离功能的自定义函数设计(文件名jffl): function y=jffl(x)y=x; EI=5(或2);else y=0;if abs(x)<=EI end

华中科技大学HUST类MIPS单周期微处理器设计实验报告

类MIPS单周期微处理器设计 实验报告 专业: 班级: 学号: 姓名:

一、微处理器各模块设计 各模块的框图结构如上图所示。由图可知,该处理器包含指令存储器、数据存储器、寄存器组、ALU单元、符号数扩张、控制器、ALU控制译码以及多路复用器等。图中还忽略了一个单元:时钟信号产生器,而且以上各个部件必须在时钟信号的控制下协调工作。 1.指令存储器的设计 指令寄存器为ROM类型的存储器,为单一输出指令的存储器。因此其对外的接口为clk、存储器地址输入信号(指令指针)以及数据输出信号(指令)。 (1)在IP wizard 中配置ROM,分配128个字的存储空间,字长为32位宽。 (2)选择输入具有地址寄存功能,只有当时钟上升沿有效时,才进行数据的输出。 (3)配置ROM内存空间的初始化COE文件。最后单击Generate按钮生成IROM模块。

2.数据存储器的设计 数据存储器为RAM类型的存储器,并且需要独立的读写控制信号。因此其对外的接口输入信号为clk、we、datain、addr;输出信号为dataout。 数据存储器基本建立过程同ROM的建立。 3.寄存器组设计 寄存器组是指令操作的主要对象,MIPS中一共有32个32位寄存器。在指令的操作过程中需要区分Rs、Rt、Rd的地址和数据,并且Rd的数据只有在寄存器写信号有效时才能写入,因此该模块的输入为clk、RegWriteAddr、RegWriteData、RegWriteEn、RsAddr、RtAddr、reset;输出信号为RsData、RtData。 由于$0一直输出0,因此当RsAddr、RtAddr为0时,RsData以及RtData 必须输出0,否则输出相应地址寄存器的值。另外,当RegWriteEn有效时,数据应该写入RegWriteAddr寄存器。并且每次复位时所有寄存器都清零。 代码如下: module regFile( input clk, input reset, input [31:0] regWriteData, input [4:0] regWriteAddr, input regWriteEn, output [31:0] RsData, output [31:0] RtData, input [4:0] RsAddr, input [4:0] RtAddr

电子科技大学中山学院微处理器实验报告

微处理器实验报告

ORG 0100H MAIN: CLR E A MOV SP,#60H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON,#50H MOV PCON,#00H SETB TR1 MOV R7,#15 MOV DPTR,#0050H LOOP: MOV A,#00H MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR T I INC DPTR DJNZ R7,LOOP SJMP $ END ORG 0000H

2、编写一段程序,接收主机串行口发送来的字符,在单片机接收到‘X’的时候返回一个‘T’表示正确,否则返回一个‘F’表示错误。 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV TMOD,#20H ;设置T1 为方式2 MOV TH1,#0FDH ;设置波特率为9600 MOV TL1,#0FDH MOV SCON,#50H ;设置串口为方式1 MOV PCON,#00H SETB TR1 ;启动定时器1 LOOP: JNB RI,$ CLR R I MOV A,SBUF CJNE A,#'X',FSEND MOV A,#'T' AJMP SEND FSEND: MOV A,#'F' SEND: MOV SBUF,A ;回发数据 JNB TI,$ CLR T I SJMP LOOP END

3、采用串行口中断方式,实现与实验2相同的功能。 ORG 0000H LJMP MAIN ORG 0023H LJMP ZRS232 ORG 0100H MAIN: CLR E A MOV SP,#60H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON,#50H MOV PCON,#00H SETB ES SETB TR1 SETB EA SJMP $ ZRS232: JB RI,ZR ZT: CLR TI AJMP ZEND ZR: CLR R I MOV A,SBUF CJNE A,#'X',FSEND MOV A,#'T' AJMP SEND FSEND: MOV A,#'F' SEND: MOV SBUF,A ZEND: RETI END ORG 0000H LJMP MAIN

微机实验报告

实验报告 课程名称微型计算机系统原理及应用(第五版)实验课时 实验项目汇编语言实现c=a+b 实验时间 1 指导老师实验成绩 实验目的(本次上机实验所涉及并要求掌握的知识点)熟练掌握编写汇编语言源程序的基本方法和基本框架熟练使用debug调试程序 掌握用Dos功能调用,实现字符的输入与显示 汇编语言实现c=a+b 实验环境DosBox 0.74 实验内容汇编语言程序上机——通过键盘输入两个数(两个数相加不超9),两数相加后输出在屏幕上步骤: 汇编语言的汇编过程 程序运行步骤及生成的文件 (1)编辑程序(try1.asm文件) myfile.asm 编辑程序 汇编程序 链接程序 myfile.crf otherfiles.obj myfile.lst myfile.obj myfile.map myfile.exe 编辑汇编链接 无错 编辑程序 EDIT 可执行文件 EXE 二进制目标文件 OBJ 源程序 ASM 有错

在dos界面下输入try1 *.asm可以看到d盘中的masm文件夹下有try1.asm文件 (2)汇编程序 给list文件命名:try1 引用文件名可以默认, 会发现无警告性错误,也无致命性错误 在无错的情况下汇编成二进制文件try1.obj

(3)链接程序 (4)执行程序 总结(对上机实验结果进行分析,上机心得体会及改进意见通过本次上机,我学习到了如下内容: (1)我对汇编语言的汇编与执行一个程序有了一定了解 首先用notepad(不只是notepad) 编辑程序,将其放于masm文件夹下。然后,在dos环境下通过“masm 文件名.asm”命令生成汇编语言源程序文件(ASM文件)。源程序不能被计算机直接执行,所以要经过汇编程序加以翻译,这个翻译过程称为编译过程或汇编过程,就是把源程序文件翻译成二进制代码所表示的目标文件——OBJ文件。若源程序中有语法错误,则汇编结束后,汇编程序将指出源文件中的语法错误,就需要重新使用编辑程序来修正源程序中的语法错误,直至得到无误的ASM文件和OBJ文件。若无错,OBJ文件虽然已是二进制机器指令码的形式,但计算机仍不能直接执行,还必须用“link 文件名”命令把目标文件与库文件或其它目标文件进行链接和在内存中重新定位,生成可直接执行文件(EXE文件)。这时的EXE文件才可以由DOS装入内存储器并运行。通过“文件名.exe”命令即可运行程序。 (2)我对常用的dos功能调用有了一定了解 1号调用——单字符调用 通过键盘输入字符,将字符的ASCII码送入寄存器AL中,并在屏幕上显示该字符 2号调用——单字符显示 将DL寄存器中的字符送显示器显示 9号调用——显示字符串 将当前内存缓冲区中以‘$’结尾的字符串送显示器显示。 0a号调用——回车 0d号调用——换行 存在的问题: 分别输入两个数后,必须要分别将各自的高位屏蔽,如果不屏蔽结果就输出符号(错误的),但是我想既然是两个加起来不大于9的数相加,那是否屏蔽高位应该没有影响吧?这里有疑问

微处理器系统结构与嵌入式系统设计(第2版) 第5章答案

5.10 用16K×1位的DRAM芯片组成64K×8位存储器,要求: (1) 画出该存储器的组成逻辑框图。 (2) 设存储器读/写周期为0.5μS, CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? (1)组建存储器共需DRAM芯片数N=(64K*8)/(16K*1)=4*8(片)。 每8片组成16K×8位的存储区,A13~A0作为片内地址,用A15、A14经2:4译码器产生片选信号,逻辑框图如下(图有误:应该每组8片,每片数据线为1根) (2)设16K×8位存储芯片的阵列结构为128行×128列,刷新周期为2ms。因为刷新每行需0.5μS,则两次(行)刷新的最大时间间隔应小于: 为保证在每个1μS内都留出0.5μS给CPU访问内存,因此该DRAM适合采用分散式或异步式刷新方式,而不能采用集中式刷新方式。 ●若采用分散刷新方式,则每个存储器读/写周期可视为1μS,前0.5μS用于读写,后 0.5μS用于刷新。相当于每1μS刷新一行,刷完一遍需要128×1μS=128μS,满足刷新周期小于2ms的要求; ●若采用异步刷新方式,则应保证两次刷新的时间间隔小于15.5μS。如每隔14个读写周期刷新一行,相当于每15μS刷新一行,刷完一遍需要128×15μS=1920μS,满足刷新周期小于2ms的要求; 需要补充的知识: 刷新周期:从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止的时间间隔。刷新周期通常可以是2ms,4ms或8ms。 DRAM一般是按行刷新,常用的刷新方式包括: ●集中式:正常读/写操作与刷新操作分开进行,刷新集中完成。

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