实验6 CPU组成与机器指令执行实验

实验6 CPU组成与机器指令执行实验
实验6 CPU组成与机器指令执行实验

肇庆学院计算机学院/软件学院

实验报告

专业计算机学院班级姓名学号

课程名称:CPU组成与机器指令执行实验学年2014—2015 学期1□/ 2□

课程类别专业必修 限选□任选□实践□

评分:批阅老师:2016年月日

●实验目的

(1)将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机;

(2)用微程序控制器控制模型机数据通路;

(3)通过CPU运行九条机器指令(排除中断指令)组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。

●实验电路

本次实验用到前面四个实验中的所有电路,包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。因此,在基本实验中,这是最复杂的一个实验,也是最能得到收获的一个实验。

在前面的实验中,实验者本身作为“控制器”,完成数据通路的控制。而在本次实验中,数据通路的控制将由微程序控制器来完成。CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是由微指令组成的序列来完成的,即一条机器指令对应一个微程序。

●实验设备

(1)TEC-9计算机组成原理实验系统一台

(2)双踪示波器一台

(3)直流万用表一只

(4)逻辑测试笔一支

●实验任务

(1)对机器指令系统组成的简单程序进行译码。

将下表的程序按指令格式手工汇编成十六进制机器代码,此项任务应在预习时完成。

地址指令机器代码

00H LDA R0,[R2] 58H

01H LDA R1,[R3] 5DH

02H ADD R0,R1 04H

03H JC +4 94H

04H AND R2,R3 3EH

05H SUB R3,R2 1BH

06H STA R3,[R2] 4BH

07H STP 60H

08H JMP [R1] 84H

(2)按照下面框图,参考前面实验的电路图完成连线,控制器是控制部件,数据通路(包括上面各模块)是执行部件,时序产生器是时序部件。连线包括控制台、时序部分、数据通路和微程序控制器之间的连接。其中,为把操作数传送给通用寄存器组RF,数据通路上的RS1、RS0、RD1、RD0应分别与IR3至IR0连接,WR1、WR0也应接到IR1、IR0上。

开关控制

控制台时序发生器

时序信号

开关控制指示灯信号控制信号时序信号

控制信号

微程序控制器数据通路

指令代码、条件信号

图13 模型计算机连线示意图

(3)将上述任务(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7—SW0设置通用寄存器R2、R3及内存相关单元的数据。注意:由于设置通用寄存器时会破坏内存单元的数据,因此一般应先设置寄存器的数据,再设置内存数据。也可以使用上端软件或实验台监控系统用PS2键盘写入内容。

(4)用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论分析值作对比。单拍方式执行时注意观察微地址指示灯、IRBUS指示灯、DBUS指示灯、AR2指示灯、AR1指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程(可观察到每一条微指令)。

(5)以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可观察到每一条机器指令)。执行结束后,记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。注意:单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。

(6)以连续方式(DB、DP、DZ都设为0)再次执行程序。这种情况相当于计算机正常运行程序。由于程序中有停机指令STP,程序执行到该指令时自动停机。执行结束后,记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。同理,程序执行前的原始数据与第二遍执行结果有关。

实验步骤和实验结果

1、对机器指令系统组成的简单程序进行译码。

地址指令机器代码

00H LDA R0,[R2] 58H

01H LDA R1,[R3] 5DH

02H ADD R0,R1 04H

03H JC +4 94H

04H AND R2,R3 3EH

05H SUB R3,R2 1BH

06H STA R3,[R2] 4BH

07H STP 60H

08H JMP [R1] 84H

2、接线

微程序控制器与数据通路之间的线可以通过选择开关直接选择。将开关设置为“微程序”。只需连接数据通路部分的线。

a、数据通路的LDIR接CER、LDPC接LDR4、LDDR1接LDDR2、M1接M2、LDAR1接LDAR2。

b、指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。

信号1 LDIR LDPC LDDR1 M1 LDAR1 IR0 IR0 IR1 IR1 IR2 IR3

信号2 CER LDR4 LDDR2 M2 LDAR2 RD0 WR0 RD1 WR1 RS0 RS1

选择模式开关拔=“微程序”

3、实验步骤

(1)、设置通用寄存器R2、R3的值。

在本操作中,使R2 = 60H,R3 = 61H。

令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 1,使实验系统处1)、

于寄存器加载工作方式KLD。按CLR#按钮,使实验系统处于初始状态。

2)、在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储器单元的内容。例如可将该地址设置为0FFH。

3)、按一次QD按钮,将0FFH写入AR0和AR1。

4)、在SW7—SW0上设置02H,作为通用寄存器R2的寄存器号。按一次QD按钮,则将02H写入IR。

5)、在SW7—SW0设置60H,作为R2的值。按一次QD按钮,将60H写入IR指定的R2寄存器。

6)、在SW7—SW0上设置03H,作为通用寄存器R3的寄存器号。按一次QD按钮,将03H写入IR。

7)、在SW7—SW0设置61H,作为R3的值。按一次QD按钮,将61H写入R3。

设置R2、R3结束,按CLR#按钮,使实验系统恢复到初始状态。

或用实验台监控系统或系统上端软件直接写入内容

(2)、存程序机器代码。

本操作中,我们从00地址开始依次存10个机器代码:58H,5DH,04H,94H,3EH,1BH,4BH, 60H,84H。在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。

令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 0,使实验系统处于写双端口存储器工作方式KWE。按CLR#按钮,使实验系统处于初始状态。

1)、置SW7—SW0为00H,按QD按钮,将00H写入AR1。

2)、置SW7—SW0 为58H,按QD按钮,将58H写入存储器00H单元。AR1自动加1,变为01H。

3)、置SW7—SW0为5DH,按QD按钮,将5DH写入存储器01H单元。AR1自动加1,变为02H。

重复进行下去,一直到将84H写入存储器09H单元。

按CLR#按钮,使实验系统恢复到初始状态。

4)、置SW7—SW0为60H,按QD按钮,将60H写入AR1。

5)、置SW7—SW0 为24H,按QD按钮,将24H写入存储器60H单元。AR1自动加1,变为61H。

6)、置SW7—SW0为83H,按QD按钮,将83H写入存储器61H单元。按CLR#按钮,使实验系统恢复到初始状态。

或用实验台监控系统或系统上端软件直接写入内容

(3)用单拍(DP)方式执行一遍程序。(SWC=0,SWB=0,SWA==0;DP=1,DZ=0,DB=0)

在单拍执行过程中,首先要随时监测AR2的值和IR的值,以判定程序执行到何处,正在执行哪条指令。监测微地址指示灯和判断字段指示灯,对照微程序流程图,可以判断出微指令的地址和正在进行的微操作。程序执行的结果如下:

初值:R0未定,R1未定,R2 = 60H,R3 = 61H。存储器60H单元的内容是24H,61H单元的内容是83H。

地址指令机器代码R0 R1 R2 R3 察看AR2即PC地址

00H LDA R0,[R2] 58H 24H XXH 60H 61H 00000000

01H LDA R1,[R3] 5DH 24H 83H 60H 61H 00000001

02H ADD R0,R1 04H A7H 83H 60H 61H 00000010

03H JC +4 94H A7H 83H 60H 61H 00000011

04H AND R2,R3 3EH A7H 83H 60H 61H 00000100

05H SUB R3,R2 1BH A7H 83H 60H 01H 00000101

06H STA R3,[R2] 4BH A7H 83H 60H 01H 00000110

07H STP 60H A7H 83H 60H 01H 00000111

08H JMP [R1] 84H A7H 83H 60H 01H 00001111

(4)、用单指(DZ=1)方式执行程序。

1)、按步骤(1)写寄存器内容。使R2 = 60H,R3 = 61H。

2)、按步骤(2)写存储器内容。从00地址开始依次存10个机器代码:58H,5DH,04H,95H,3EH,1BH,4BH,60H,84H。在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。

3)、单指执行程序(SWC=0,SWB=0,SWA==0;DP=0,DZ=1,DB=0)

初值:R0未定,R1未定,R2 = 60H,R3 = 61H。存储器60H单元的内容是24H,61H单元的内容是83H。

地址指令机器代码R0 R1 R2 R3 察看AR2即PC地址

00H LDA R0,[R2] 58H 24H XXH 60H 61H 00000000

01H LDA R1,[R3] 5DH 24H 83H 60H 61H 00000001

02H ADD R0,R1 04H A7H 83H 60H 61H 00000010

03H JC +4 94H A7H 83H 60H 61H 00000011

04H AND R2,R3 3EH A7H 83H 60H 61H 00000100

05H SUB R3,R2 1BH A7H 83H 60H 01H 00000101

06H STA R3,[R2] 4BH A7H 83H 60H 01H 00000110

07H STP 60H A7H 83H 60H 01H 00000111

08H JMP [R1] 84H A7H 83H 60H 01H 00001111

(5)、用连续方式执行程序。

1)、按步骤(1)写寄存器内容。使R2 = 60H,R3 = 61H。

2)、按步骤(2)写存储器内容。从00地址开始依次存10个机器代码:58H,5DH,04H,95H,3EH,1BH,4BH,60H,84H。在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。

3)、单连续方式执行程序(SWC=0,SWB=0,SWA==0;DP=0,DZ=0,DB=0)

执行结果为:PC地址停在07H。

观察执行结果R0=_0A7_H;R1=_83_H;R2=_60_H;R3=_01_H

存储器60单元: 01 H。

实验报告五 定时器计数器实验

信息工程学院实验报告 课程名称:微机原理与接口技术Array 实验项目名称:定时器/计数器实验实验时间: 班级:姓名:学号: 一、实验目的 1. 掌握8254 的工作方式及应用编程。 2. 掌握8254 典型应用电路的接法。 二、实验设备 PC 机一台、TD-PITD+实验系统一套。 三、实验原理 8254 是Intel 公司生产的可编程间隔定时器。是8253 的改进型,比8253 具有更优良的性能。8254 具有以下基本功能: (1)有 3 个独立的16 位计数器。 (2)每个计数器可按二进制或十进制(BCD)计数。 (3)每个计数器可编程工作于 6 种不同工作方式。 (4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。 (5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=f CLKi ÷f OUTi、其中f CLKi 是输入时钟脉冲的频率,f OUTi 是输出波形的频率。 图5-1 是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述: (1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。

图5-1 8254 的内部接口和引脚 8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表5-1~5-3 所示。 表5-1 8254 的方式控制字格式 表5-2 8254 读出控制字格式 表5-3 8254 状态字格式 8254 实验单元电路图如下图所示:

定时器实验报告

定时器实验报告 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

电子信息工程学系实验报告课程名称:单片机原理及接口应用 实验项目名称:51定时器实验 实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。 MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP)

2 、51单片机的相关寄存器设置 方式控制寄存器TMOD: D7D6D5D4D3D2D1D0 GATE C/T M1 M0GATE C/T M1M0 TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。 TMOD各位的含义如下: 1. 工作方式选择位M1、M0 M1、M0的状态决定定时器的工作方式: M1M0功能说明 0 0 1 10 1 1 方式0,为13位的定时/计数器 方式1,为16位的定时/计数器 方式2,为常数自动重装入的8位定时/计数器 方式3,T0分为两个8位定时/计数器, T1在该方式时停止 3、51单片机定时器的工作过程(逻辑)方式一方式1:当M1M0=01时,定时器工作于方式1。

实验五 ARM 指令系统实验二

实验五ARM指令系统实验二 注意:本实验在模拟环境下进行,请不要打开实验箱电源!! 一、实验目的: 1、掌握MDK开发环境下多文件编程的方法; 二、实验原理 我们编程时会以工程为单位来解决一个问题,为了解决问题的复杂性和人脑的局限性之间的矛盾,编程人员常常把把一个大问题分解成若干过小问题,每个小问题的解决方法在一个文件中实现,把每个文件解决问题的方法综合起来就够成了解决了大问题的方法。 这些文件之间是存在一定关系的,如果一个文件与其他文件不发生任何关系,那么就没有在工程中存在的必要了!从ARM汇编程序员的角度理解这种关系为: 一个文件有标号被其他文件引用,另一个文件应用了其他文件的标号;这用引用与被应用的关系分别通过import和export实现。 例如: 三、实验任务 下面文件中的定义的数据为某科目学生成绩,试编程找出最高分数的放在maxscore,score.s的内容如下: ;score.s area score,data,readwrite

scores dcb65,78,92,47,77,83,59,93,82,97;学生成绩numofstudent dcb10;学生人数 maxscore dcb0;存放最高分数 end 四、实验步骤 ;A.s …… export label label ……;B.s……import label bl label…… 说明标号label可以被其他文件引定义了标号label说明标号label可以被其他文件引引用了标号label 1、用自然语言描述解决给问题的算法,可以尽可能的抽象! 2、建立工程并建立源文件score.s并把输入(复制)上面内容,并将该文件添加到工 程; 3、建立文件maxoftwo.s,在文件中实现子程序getmax,调用者传入的参数位于 r0、r1中,要求找出r0、r1中的较大值,并把较大值保存在r0

最新西华大学机器人创新设计实验报告(工业机械手模拟仿真)

实验报告 (理工类) 课程名称: 机器人创新实验 课程代码: 6003199 学院(直属系): 机械学院机械设计制造系 年级/专业/班: 2010级机制3班 学生姓名: 学号: 实验总成绩: 任课教师: 李炜 开课学院: 机械工程与自动化学院 实验中心名称: 机械工程基础实验中心

一、设计题目 工业机器人设计及仿真分析 二、成员分工:(5分) 三、设计方案:(整个系统工作原理和设计)(20分) 1、功能分析 工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备。特别适合于多品种、变批量的柔性生产。它对稳定、提高产品质量,提高生产效率,改善劳动条件和产品的快速更新换代起着十分重要的作用。机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,是当代研究十分活跃,应用日益广泛的领域。机器人应用情况,是一个国家工业自动化水平的重要标志。机器人并不是在简单意义上代替人工的劳动,而是综合了人的特长和机器特长的一种拟人的电子机械装置,既有人对环境状态的快速反应和分析判断能力,又有机器可长时间持续工作、精确度高、抗恶劣环境的能力,从某种意义上说它也是机器的进化过程产物,它是工业以及非产业界的重要生产和服务性设备,也是先进制造技术领域不可缺少的自动化设备。 本次我们小组所设计的工业机器人主要用来完成以下任务: (1)、完成工业生产上主要焊接任务; (2)、能够在上产中完成油漆、染料等喷涂工作; (3)、完成加工工件的夹持、送料与转位任务; (5)、对复杂的曲线曲面类零件加工;(机械手式数控加工机床,如英国DELCAM公司所提供的风力发电机叶片加工方案,起辅助软体为powermill,本身为DELCAM公司出品)

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用Array实验项目名称:51定时器实验实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP) 2、51单片机的相关寄存器设置 方式控制寄存器TMOD: TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下: 1. 工作方式选择位M1、M0 3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式1。

T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若T1工作于定时方式1,计数初值为a,晶振频率为12MHz,则T1从计数初值计数到溢出的定时时间为t =(216-a)μS。 4、51单片机的编程 使用MCS-51单片机的定时/计数器的步骤是: .设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 如:T1用于定时器、方式1,T0用于计数器、方式2,均用软件控制。则TMOD的值应为:0001 0110,即0x16。 .设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为T,计数初值为a,则有 T = 12×(T_all – a)/fosc a = T_all – T×fosc/12 a = – T×fosc/12 (注意单位) THx = a / 256;TLx = a % 256; .确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1;EA = 1; 还需要编写中断服务函数: void T0_srv(void)interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段} .启动定时器:TR0(TR1)= 1。 四、实验内容过程及结果分析: 利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计00-59的两位秒表显示程序。 (1)实现个位秒表,9-0

C51单片机定时器及数码管控制实验报告

理工大学信息工程与自动化学院学生实验报告 (201 — 201学年第1 学期) 课程名称:单片机技术

一、实验目的 1.掌握定时器T0、T1 的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 2.掌握LED 数码管动态显示程序设计方法。 二、实验原理 1.89C51 单片机有五个中断源(89C52 有六个),分别是外部中断请求0、外部中断请求1、定时器/计数器0 溢出中断请求、定时器/计数器0 溢出中断请求及串行口中断请求。每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器TCON 和SCON 中。当中断源请求中断时,相应标志分别由TCON 和SCON 的相应位来锁寄。五个中断源有二个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。在

同一优先级别中,靠部的查询逻辑来确定响应顺序。不同的中断源有不同的中断矢量地址。 中断的控制用四个特殊功能寄存器IE、IP、TCON (用六位)和SCON(用二位),分别用于控制中断的类型、中断的开/关和各种中断源的优先级别。中断程序由中断控制程序(主程序)和中断服务程序两部分组成: 1)中断控制程序用于实现对中断的控制; 2)中断服务程序用于完成中断源所要求的中断处理的各种操作。 C51 的中断函数必须通过interrupt m 进行修饰。在C51 程序设计中,当函数定义时用了interrupt m 修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按MCS-51 系统中断的处理方式自动把它安排在程序存储器中的相应位置。 在该修饰符中,m 的取值为0~31,对应的中断情况如下: 0——外部中断0 1——定时/计数器T0 2——外部中断1 3——定时/计数器T1 4——串行口中断 5——定时/计数器T2 其它值预留。 89C51 单片机设置了两个可编程的16 位定时器T0 和T1,通过编程,可以设定为定时器和外部计数方式。T1 还可以作为其串行口的波特率发生器。

实验五Shell简单命令

Linux基础与Shell编程实验指导书 实验一Linux指令系统 实验学时:2学时 实验类型:验证性 一.实验目的 使用命令,查看目录,对目录下的文件进行操作,查找过滤,压缩打包操作 二.实验内容 ●使用Linux指令,查看目录,修改目录。 ●使用Linux指令,创建文件,修改文件属性。 ●使用cat和find命令查找。 ●使用tar命令进行文件的解压缩。 三.实验要求 按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。 四.实验步骤 1.使用cd命令,查看/tmp目录。

2.创建myDir文件,查看属性。 3.修改目录的拥有者和工作组。 4.使用myDir下的所有文件和子目录都自动拥有工作组xz 5.在myDir目录下创建文件,测试上面的操作是否成功。

6.查看/tmp目录下的内容及属性。 7.创建newfile文件。设置newfile文件权限模式。 8.把newfile备份到/tmp/myDir目录下,并改名为newfile.bak。 9.在/root目录下为该文件创建1个符号链接。

10.使用find命令查找系统中是否存在文件grub.conf. 11.查找系统中所有空文件,并记录到/tmp/myDir/zerofile.log. 12.搜索/etc/grup.conf文件中含有root字符串的行。 13.过滤显示/etc下文件名中包含init字符串的文件或目录名称。 14.把/tmp目录打包成tmp.tar,放在/root目录下.

15.把/tmp目录压缩打包成tmp.tar.gz,放在/root目录下. 16.比较tmp.tar与tmp.tar.gz的大小。 17.不解包只查看压缩包tmp.tar.gz中的内容。 18.解压tmp.tar.gz的内容到/tmp/myDir目录。 实验二Linux进程操作 实验学时:2学时 实验类型:验证性

实验二_指令系统相关程序的编写与调试实验

重庆大学 学生实验报告 实验课程名称汇编语言程序设计 开课实验室DS1502 学院软件学院年级16专业班软件工程5班 学生姓名吉沼橙学号20161717 开课时间2017至2018学年第 1 学期 软件工程学院制

《汇编语言程序设计》实验报告

Add sp,4 Pop ax Pop bx Push ax Push bx Pop ax Pop bx Mov ah,4ch Int 21h Code ends End start 先转换成asm格式 然后转换成obj格式

然后转换成exe格式 (2)用debug跟踪lab2.exe 的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容。开始每一步的执行: 1:AX=2000 2:SS=2000 3:SP=0004 4: AX=0000 SP=0006 5: BX=0000 SP=0008 6.7:AX与BX入栈SP由0008到0004 8:AX与BX出栈SP由0004到0008

(5)习题:3.37 -教材114页。 MOV AL, STATUS AND AL, 00010101B ;只保留第1、3、5位 CMP AL, 00010101B JZ ROUTINE_1 ;3位全为1转ROUTINE_1 JZ ROUTINE_2 ;两位为1转ROUTINE_2 JZ ROUTINE_3 ;1位为1转ROUTINE_3 JZ ROUTINE_4 ;3位全为0转ROUTINE_4 ROUTINE_3: JMP EXIT ROUTINE_1: JMP EXIT ROUTINE_2: JMP EXIT ROUTINE_4: EXIT: INT 21H

机器人实验报告

智能机器人实验报告1 学院:化学与材料科学学院 学号: 2015100749 姓名:朱巧妤 评阅人:评阅时间:

实验1 电驱动与控制实验 (一)实验目的 熟悉和掌握机器人开发环境使用,超声传感器、碰撞传感器、温度传感器、颜色传感器等常见机器人传感器工作原理与使用方法,熟悉机器人平台使用与搭建;设计一个简单的机器人,并采用多种程序设计方法使它能动起来。 (二)仪器工具及材料 计算机、机器人实验系统、机器人软件开发平台、编程下载器等设备。 (三)内容及程序 实验内容: (1)碰撞传感器原理与应用; (2)颜色传感器原理与应用; (3)测距传感器原理与应用; (4)温度传感器原理与应用; (5)熟悉开发环境使用与操作;设计一个简单轮式移动机器人,并使用图形化编程方式实现对机器人的控制,通过该设计掌握机器人开发平台的结构设计、程序设计等基本方法。 实验步骤: 1)首先确定本次要做的机器人为货架物品颜色辨别的机器人。 2)根据模型将梁、轴、插销、螺丝等零件拼装成一个货架台 3)将货架台安装上可识别颜色的摄像头,并装在控制器上方,将两个摄像头的连接线分 别插入控制器的传感器接口,将显示器连接线插入传感器接口。 4)拼装完成后将控制器连接电脑,在电脑上运用Innobot软件对机器人进行颜色识别动 作的编程,拖动颜色传感器模块,对应选择数码管接口以及两个摄像头的接口,使机器人能将货架台上物品的颜色反应到数码管上。 5)将所编程序进行上传。测试看机器人是否能将颜色反映到显示器上完成所编动作。

(四)结果及分析 使用梁和轴以及螺钉拼装出货架台。 将拼装好的货架台装到传感器上。

计组实验二实验报告-80868088指令系统

HUNAN UNIVERSITY 课程实习报告 题目: 8086/8088指令系统 学生姓名 学生学号 专业班级计算机科学与技术2班 指导老师 完成日期2013年4月21日

一、实验目的 利用debug工具的e和u功能找出8086/8088指令系统的指令格式中各种操作吗编码对应的指令功能,得到8086/8088操作吗从00~FF所对应的的汇编指令的名字。并加以分析总结,形成你的关于8086/8088指令系统操作码编码方法的实验报告。 二、实验过程 1、编写C++程序,生成debug的输入文件(shuru.txt) 2、将shuru.txt复制到debug的根目录下,在debug界面输入如下指令“debug out.txt”,在debug的根目录下,生成了输出文本文件out.txt。 打开out.txt,对256条记录进行整理,如下所示。 3、固定前两位为00,将第二字节从00变为ff,观察汇编指令变化。编写C++程序如下: 4、将shuru2.txt复制到debug的根目录下,在debug界面输入如下指令“debug out2.txt”,在debug的根目录下,生成了输出文本文件out2.txt。

打开out2.txt,对256条记录进行分析。 三、256条记录 指令码汇编指令 ------------------------------------------------------------- 0B76:0100 0000 ADD [BX+SI],AL 0B76:0100 0100 ADD [BX+SI],AX 0B76:0100 0200 ADD AL,[BX+SI] 0B76:0100 0300 ADD AX,[BX+SI] 0B76:0100 0400 ADD AL,00 0B76:0100 050000 ADD AX,0000 0B76:0100 06 PUSH ES 0B76:0100 07 POP ES 0B76:0100 0800 OR [BX+SI],AL 0B76:0100 0900 OR [BX+SI],AX 0B76:0100 0A00 OR AL,[BX+SI] 0B76:0100 0B00 OR AX,[BX+SI] 0B76:0100 0C00 OR AL,00 0B76:0100 0D0000 OR AX,0000 0B76:0100 0E PUSH CS 0B76:0100 0F DB 0F 0B76:0100 1000 ADC [BX+SI],AL 0B76:0100 1100 ADC [BX+SI],AX 0B76:0100 1200 ADC AL,[BX+SI] 0B76:0100 1300 ADC AX,[BX+SI] 0B76:0100 1400 ADC AL,00 0B76:0100 150000 ADC AX,0000 0B76:0100 16 PUSH SS 0B76:0100 17 POP SS 0B76:0100 1800 SBB [BX+SI],AL 0B76:0100 1900 SBB [BX+SI],AX 0B76:0100 1A00 SBB AL,[BX+SI] 0B76:0100 1B00 SBB AX,[BX+SI] 0B76:0100 1C00 SBB AL,00 0B76:0100 1D0000 SBB AX,0000 0B76:0100 1E PUSH DS 0B76:0100 1F POP DS 0B76:0100 2000 AND [BX+SI],AL 0B76:0100 2100 AND [BX+SI],AX 0B76:0100 2200 AND AL,[BX+SI] 0B76:0100 2300 AND AX,[BX+SI] 0B76:0100 2400 AND AL,00 0B76:0100 250000 AND AX,0000

机器人实验报告

一、机器人的定义 美国机器人协会(RIA)的定义: 机器人是一种用于移动各种材料、零件、工具或专用的装置,通过可编程序动作来执行种种任务的、并具有编程能力的多功能机械手。 日本工业机器人协会(JIRA—Japanese Industrial Robot Association):一种带有存储器件和末端执行器的通用机械,它能够通过自动化的动作替代人类劳动。(An all—purpose machine equipped with a memory device and an end—effector,and capable of rotation and of replacing human labor by automatic performance of movements.) 世界标准化组织(ISO):机器人是一种能够通过编程和自动控制来执行诸如作业或移动等任务的机器。(A robot is a machine which can be programmed to perform some tasks which involve manipulative or locomotive actions under automatic control.) 中国(原机械工业部):工业机器人是一种能自动定位控制、可重复编程、多功能多自由度的操作机,它能搬运材料、零件或夹持工具,用以完成各种作业。 二、机器人定义的本质: 首先,机器人是机器而不是人,它是人类制造的替代人类从事某种作业的工具,它能是人的某些功能的延伸。在某些方面,机器人可具有超越人类的能力,但从本质上说机器人永远不可能全面超越人类。

实验五 定时器实验

实验五定时器实验 [实验目的] 1.熟悉ARM芯片内部定时器的配置方法 2.掌握ARM芯片定时器匹配输出应用 3. 掌握定时器的捕获用法 [实验仪器] 1.Proteus仿真的LPC2000系列的ARM处理器 2.软件:PC机操作系统Win98、Win2000或WinXP,Keil for ARM(MDK)集成开发环境 [实验原理] Lpc2000系列的ARM芯片内部定时器可以实现匹配和捕获功能。通过相关寄存器设置可以实现对应的功能。 [实验内容] 设计一个使用ARM内部定时器0的匹配输出功能,实现P0.5引脚输出方波。另一引脚P0.0用软件输出方波(非中断方式)。 [预备知识] 参照上课用的ppt的定时器一节或者参考教材定时器一章。 [实验步骤] 按照下图设计硬件,来满足本次实验的需要.(电源设置参考实验一)

器件的名称参照下表 使用Keil MDK建立一个软件工程。命名为timer0。步骤参照前面的实验。在主函数中写入一些代码: #include void timer0_init() { PINSEL0 &= ~(0x3<<6); //设定P0.3引脚作为匹配输出引脚 PINSEL0 |= (0x2<<6);

T0PR = 100000; //预分频系数为100000 T0TC = 0; T0MR0 = 10; //匹配寄存器为10,即:TC计数值到10的时候会和MR0匹配 T0MCR &= ~(0x7); T0MCR = 0x2; //010 //匹配时,复位定时器,即:重新再计数。 T0EMR |= 0x3<<4; //外部匹配,将匹配信号由mat0.0引脚输出 T0TCR =1; //启动定时器0 } void delay(int x) { while(--x); } int main() { PINSEL0 = 0x00000000; IODIR0 = 0x1; timer0_init(); while(1){ IOSET0 = 0x00000001; delay(100000); IOCLR0 = 0x00000001; delay(100000); } return 0; } 编译生成hex文件,将生成的hex文件加载到lpc2138上运行,记录一下两个LED的闪烁时间(大概计时一下)。并通过计算定时器实际定时的时间和闪烁时间比较,验证本实验的正确性。 【思考题】 1.修改程序,将定时器的匹配输出引脚设置成GPIO,当定时器匹配时利用匹配中断 完成led的闪烁操作。 2.设定一个按钮,连接到定时器0的捕获引脚上,并设定一个数码管连接到gpio上, 当发生捕获事件时,利用捕获中断服务程序将将捕获到的数值显示出来(提示:将 预分频器的值设的大一些,这样计数器计数值就会慢些,确保计数器的值不要大于 15,否则就得用多个数码管来显示了)。

计算机组成原理实验十三建立指令流水系统实验

一.建立指令流水系统实验 1.实验内容及要求 (1)实验内容: 1. 分析流水指令集 insfile 2.MIC。 2. 改造实验十二中自己编制的指令集,使其中至少一条指令成流水方式。 3. 在自己编制的两个指令集中运行同一个程序,观测运行情况和效率。程序来 源自定。 (2)实验要求: 1. 了解指令流水系统的设计方式。 2. 编制一条可以流水方式运行的指令。 2.实验环境 Principle操作系统,DICE-CP226计算机组成原理与系统结构实验仪和CP226软件。 3.实施步骤或参数 实验内容1: 1. 打开CP226环境,点击打开文件,选择目录 c:\ program files\CP226计算机组成原理\data\ 2. 在data目录中打开insfile2.mic,为了方便分析,在记事本中打开insfile1.mic 文件,可同时观察两个文件中相同指令的微指令有什么不同。 3. 1.3 可以发现,因为每条指令的最后一条微指令都为CBFFFF取指指令,所以,当此取指指令前一条指令未用到取指位时,两条指令基本都进行了合并,形成流水方式。 实验内容2: 1. 实验十二的代码为:(由于word排版问题,源文件的各列可能没有对齐,在实际文件中,各列要严格按照模版位置对齐。) 12.mic源文件:

_FATCH_ T0 00 CBFFFF 01 FFFFFF 02 FFFFFF 03 FFFFFF 04 FFFFFF 05 FFFFFF 06 FFFFFF 07 FFFFFF 08 FFFFFF 09 FFFFFF 0A FFFFFF 0B FFFFFF 0C FFFFFF 0D FFFFFF 0E FFFFFF 0F FFFFFF A-W A,#* T2 10 C7FFEF T1 11 FFFE91 T0 12 CBFFFF 13 FFFFFF 输出 OUTA T1 14 FFDF9F T0 15 CBFFFF 16 FFFFFF 17 FFFFFF 跳到 * T1 18 C6FFFF T0 19 CBFFFF 1A FFFFFF 1B FFFFFF LD A,#* T1 1C C7FFF7 T0 1D CBFFFF 1E FFFFFF 1F FFFFFF 延时 T0 20 FFFFFF 21 FFFFFF 22 FFFFFF 23 FFFFFF

六轴工业机器人实验报告

六轴工业机器人模块 实验报告 姓名:张兆伟 班级:13 班 学号:30 日期:2016年8月25日

六轴工业机器人模块实验报告 一、实验背景 六自由度工业机器人具有高度的灵活性和通用性,用途十分广泛。本实验是在开放的六自由度机器人系统上,采用嵌入式多轴运动控制器作为控制系统平台,实现机器人的运动控制。通过示教程序完成机器人的系统标定。学习采用C++编程设计语言编写机器人的基本控制程序,学习实现六自由度机器人的运动控制的基本方法。了解六自由度机器人在机械制造自动化系统中的应用。 在当今高度竞争的全球市场,工业实体必须快速增长才能满足其市场需求。这意味着,制造企业所承受的压力日益增大,既要应付低成本国家的对手,还要面临发达国家的劲敌,二后者为增强竞争力,往往不惜重金改良制造技术,扩大生产能力。 机器人是开源节流的得利助手,能有效降低单位制造成本。只要给定输入成值,机器人就可确保生产工艺和产品质量的恒定一致,显著提高产量。自动化将人类从枯燥繁重的重复性劳动中解放出来,让人类的聪明才智和应变能力得以释放,从而生产更大的经济回报。 二、实验过程 1、程序点0——开始位置 把机器人移动到完全离开周边物体的位置,输入程序点 0。按下手持操作示教器上的【命令一览】键,这时在右侧弹出指令列表菜单如图:按手持操作示教器【下移】键,使{移动 1}变蓝后,按【右移】键,打开{移动 1}子列表,MOVJ 变蓝后,按下【选择】键,指令出现在命令编辑区。修改指令参数为需要的参数,设置速度,使用默认位置点 ID 为 1。(P1 必须提前示教好)。按下手持操作示教器上的【插入】键,这时插入绿色灯亮起。然后再按下【确认】键,指令插入程序文件记录列表中。此时列表内容显示为: MOVJ P=1 V=25 BL=0 (工作原点) 2、程序点1——抓取位置附近(抓取前) 位置点1必须选取机器人接近工件时不与工件发生干涉的方向、位置。(通常在抓取位置的正上方)按下手持操作示教器上的【命令一览】键按手持操作示教器【下移】键,使{移动 1}变蓝后,按【右移】键,打开{移动 1}子列表,MOVJ

单片机定时器实验报告

XXXX大学信息工程与自动化学院学生实验报告 (2009 —2010 学年第二学期) 课程名称:单片机开课实验室: 2010年 5月14日 一.实验目的: 掌握定时器T0、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 二.实验原理: MCS-51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。T1还可以作为其串行口的波特率发生器。 定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由TH1和TL1构成,特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。 定时器的编程包括: 1)置工作方式。 2)置计数初值。 3)中断设置。 4)启动定时器。 定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常数也就不同。

在编写中断服务程序时,应该清楚中断响应过程:CPU执行中断服务程序之前,自动将程序计数器PC内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护累加器A和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC使程序转向该中断矢量地址单元中以执行中断服务程序。定时器T0和T1对应的中断矢量地址分别为000BH 和001BH。 中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断点地址从栈顶弹出,装入到程序计数器PC,使程序返回到被到中断的程序断点处,以便继续执行。 因此,我们在编写中断服务程序时注意。 1.在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活地安排在64K 字节程序存储器的任何空间。 2.在中断服务程序中应特别注意用软件保护现场,以免中断返回后,丢失原寄存器、累加器的信息。 3.若要使执行的当前中断程序禁止更高优先级中断,可以先用软件关闭CPU中断,或禁止某中断源中断,在返回前再开放中断。 三.实验内容: 编写并调试一个程序,用AT89C51的T0工作方式1产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。实验电路原理如图1所示。 计算初值公式 定时模式1 th0=(216-定时时间) /256 tl0=(216-定时时间) mod 256

实验2 指令系统、寻址方式及源程序结构

实验二指令系统、寻址方式及源程序结构 实验目的: 1. 熟悉8088/8086的数据传送和算术运算指令的书写格式、功能。 2. 熟悉各种寻址方式。 3. 掌握汇编语言源程序结构,熟悉常用伪指令,编写完整的源程序。 4. 掌握汇编、连接、运行汇编源程序的全过程;使用DEBUG调试和运行汇编源程序。实验内容: 安装MASM WINDOWS 集成实验环境 2011 在硬盘F中建立自己的文件夹,以“班级姓名”命名(比如计科1111张三),实验文件以“实验次数-序号”命名,比如sy2-1.asm。 1、验证指令格式 用A命令写入汇编指令,使用寄存器、段寄存器、存储器和立即数等作为操作数,验证mov、add指令的格式并得出结论。 2、理解不同的寻址方式 假设(DS)=2000H, (BX)=0100H, (SI)=0002H, (20100)=12H, (20101)=34H, (20102)=56H, (20103)=78H, (21200)=2AH, (21201)=4CH, (21202)=B7H, (21203)=65H.,请分析下列7条指令的源操作数各自使用何种寻址方式以及每条指令执行后AX的值。 然后使用Debug命令设置上述寄存器及存储单元的内容,再用汇编(A)、单步执行(T)等命令验证每条指令执行后AX的值。 (1)MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX] (5) MOV AX,1100[BX] (6) MOV AX,[BX][SI] (7) MOV AX,1100[BX][SI] 3、编写源程序 假设有3个数x, ,y z,其中x=1234h,y=0c3f6h,z=10c5h,分别保存在内存单元X、Y、Z。请编写源程序,计算x+ 2z -y,结果保存在Z单元中,并用debug调试运行,查看每条指令的执行结果,观察标志位变化情况。其中X、Y、Z单元在数据段定义。 程序结构如下:

《工业机器人》实验报告

北京理工大学珠海学院实验报告 实验课程:工业机器人实验名称:实验一:工业机器人认识 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解6自由度工业机器人的机械结构,工作原理,性能指标、控制系统,并初步掌握操作。了解6自由度工业机器人在柔性制造系统中的作用。 二、实验设备 FMS系统(含6-DOF工业机器人) 三、实验内容与步骤 1、描述工业机器人的机械结构、工作原理及性能指标。 2、描述控制系统的组成及各部分的作用。

3、描述机器人的软件平台及记录自己在进行实际操作时的步骤及遇到的问题以及自己的想法。教师批阅:

北京理工大学珠海学院实验报告 实验课程:工业机器人实验名称:实验二:机器人坐标系的建立 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解机器人建立坐标系的意义;了解机器人坐标系的类型;掌握用D-H方法建立机器人坐标系的方法与步骤。 二、实验设备 FMS系统(含6-DOF工业机器人) 三、实验内容与步骤 1、描述机器人建立坐标系的意义以及机器人坐标系的类型。 2、深入研究机器人机械结构,建立6自由度关节型机器人杆件坐标系,绘制机器人杆件坐标系图。

教师批阅:

实验课程:工业机器人实验名称:实验三:机器人示教编程与再现控制 教师:时间:班级:姓名:学号: 一、实验目的与任务 了解机器人示教编程的工作原理,掌握6自由度工业机器人的示教编程与再现控制。 二、实验设备 FMS系统(含6-DOF工业机器人) 三、实验内容与步骤 1、描述机器人示教编程的原理。 2、详细叙述示教编程与再现的操作步骤,记录每一个程序点,并谈谈实验心得体会。教师批阅:

单片机定时器实验报告

( 2009 —2010 学年第二学期) 课程名称:单片机开课实验室: 2010年 5月14日 一.实验目的: 掌握定时器T0、T1的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 二.实验原理: MCS-51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。T1还可以作为其串行口的波特率发生器。 定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由TH1和TL1构成,特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行。定时器的中断由中断允许寄存器IE,中断优先权寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。 定时器的编程包括: 1)置工作方式。 2)置计数初值。 3)中断设置。 4)启动定时器。 定时器/计数器由四种工作方式,所用的计数位数不同,因此,定时计数常数也就不同。 在编写中断服务程序时,应该清楚中断响应过程:CPU执行中断服务程序之前,自动

将程序计数器PC内容(即断点地址)压入堆栈保护(但不保护状态寄存器PSW,更不保护累加器A和其它寄存器内容),然后将对应的中断矢量装入程序计数器PC使程序转向该中断矢量地址单元中以执行中断服务程序。定时器T0和T1对应的中断矢量地址分别为000BH 和001BH。 中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作一方面告诉中断系统该中断服务程序已经执行完毕,另一方面把原来压入堆栈保护的断点地址从栈顶弹出,装入到程序计数器PC,使程序返回到被到中断的程序断点处,以便继续执行。 因此,我们在编写中断服务程序时注意。 1.在中断矢量地址单元放一条无条件转移指令,使中断服务程序可以灵活地安排在64K 字节程序存储器的任何空间。 2.在中断服务程序中应特别注意用软件保护现场,以免中断返回后,丢失原寄存器、累加器的信息。 3.若要使执行的当前中断程序禁止更高优先级中断,可以先用软件关闭CPU中断,或禁止某中断源中断,在返回前再开放中断。 三.实验内容: 编写并调试一个程序,用AT89C51的T0工作方式1产生1s的定时时间,作为秒计数时间,当1s产生时,秒计数加1;秒计数到60时,自动从0开始。实验电路原理如图1所示。 计算初值公式 定时模式1 th0=(216-定时时间) /256 tl0=(216-定时时间) mod 256

单片机实验报告——定时器

实验四定时器实验 自动化121班1202100236 张礼 一.实验目的 掌握定时器的工作原理及四种工作方式,掌握定时器计数初始值的计算,掌握如何对定时器进行初始化,以及程序中如何使用定时器进行定时。 二.实验仪器 单片机开发板一套,计算机一台。 三.实验任务 编写程序,使用单片机开发板上8位共阴极数码管的其中一位来显示0~9这九个字符,先从“0”开始显示,数字依次递增,当显示完“9”这个字符后,又从“0”开始显示,循环往复,每1秒钟变换一个字符,1秒钟的定时时间必须由定时器T0(或T1)提供。 开发板上的8位共阴极数码管与单片机的输入输出端口P1的硬件接线如图4-1所示,单片机P1口的8条数据线通过J3端子同时连接到2片74HC573D锁存器的输入端,数码管的各个同名端分别连接后再与锁存器U2的8个输出端相连,每一位数码管的位选端分别与锁存器U3的8个输出端相连。两片锁存器的输出使能端OE都恒接地,使得锁存器的内部数据保持器输出端与锁存器的输出端保持接通。而U2的锁存使能端LE由P2.1控制,所

以P2.1是段锁存;U3的锁存使能端LE由P2.0控制,所以P2.0是位锁存。当锁存使能端为“1”时,则锁存器输入端的数据传送到输出端;当锁存使能端为“0”时,锁存器输入端的数据则不能传送到输出端;因此段码和位码通过锁存器分时输出。 汇编语言程序流程如图4-2: 四.实验步骤: 1.数码管的0~9的字型码表如下: 2.参考图4-2所给的程序流程图编写实验程序。(注:以下程序为两位60秒计数程序) #include sbit wei=P2^0; sbit duan=P2^1; char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

相关文档
最新文档