实验二_指令系统相关程序的编写与调试实验
- 格式:docx
- 大小:2.00 MB
- 文档页数:11
PLC实验报告基础指令实验一、实验目的本次 PLC 基础指令实验的主要目的是熟悉 PLC 的基本指令,掌握其编程方法和应用技巧,通过实际操作加深对 PLC 控制系统的理解,并提高解决实际问题的能力。
二、实验设备1、 PLC 实验台,型号为_____。
2、编程软件,版本为_____。
3、连接导线若干。
4、实验指导书。
三、实验内容(一)位逻辑指令实验1、常开触点和常闭触点指令编写一个简单的程序,实现当输入信号 I00 为 ON 时,输出信号Q00 为 ON。
当输入信号 I01 为 OFF 时,输出信号 Q01 为 ON。
2、取反指令设计一个程序,使得输入信号 I02 为 ON 时,经过取反指令,输出信号 Q02 为 OFF;输入信号 I02 为 OFF 时,输出信号 Q02 为 ON。
3、置位和复位指令编写程序,当输入信号 I03 产生一个上升沿时,使用置位指令将输出信号 Q03 置位为 ON,并保持。
当输入信号 I04 产生一个上升沿时,使用复位指令将输出信号 Q03 复位为 OFF。
(二)定时器指令实验1、接通延时定时器构建一个程序,当输入信号 I05 为 ON 时,接通延时定时器 TON 开始计时,设定时间为 5 秒。
5 秒后,输出信号 Q04 为 ON。
2、断开延时定时器设计程序,当输入信号 I06 由 ON 变为 OFF 时,断开延时定时器TOF 开始计时,设定时间为 3 秒。
3 秒内,如果输入信号 I06 重新变为ON,则定时器复位。
3 秒后,输出信号 Q05 为 OFF。
(三)计数器指令实验1、增计数器编写程序,当输入信号 I07 产生一个上升沿时,增计数器 CTU 的计数值加 1。
当计数值达到预设值 10 时,输出信号 Q06 为 ON。
2、减计数器构建一个程序,当输入信号 I10 产生一个上升沿时,减计数器 CTD 的计数值减 1。
当计数值减为 0 时,输出信号 Q07 为 ON。
实验二汇编语言程序设计与调试一、实验目的及要求本次实验的目的是通过阅读三段存在有不同错误的程序后,进行修改、调试、执行。
以达到提高阅读理解汇编语言程序和调试程序的目的,以便为设计程序打下基础。
要求独立完成。
二、实验设备Dais单片机仿真实验仪一台,计算机一台,导线若干条。
三、实验内容1、外部数据区数据传送程序:把R2、R3源RAM区首址内R6、R7字节数据传送到R4、R5目的RAM区。
先在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如FFH)。
执行程序后检查0000H~00FFH中的内容是否和2000H~20FFH内容完全一致。
本段程序中有几处错误,先查出修正之后再编译、执行。
源程序清单如下:== 外部数据区数据传送子程序==ORG 07B0HMOV R2,00HMOV R3,#00HMOV R4,#10HMOV R5,#00HMOV R6,#00HMOV R7,#08HSE22: MOV DPL,R3MOV DPH,R2 ;建立源程序首址MOVX A,@DPTR ;取数MOV DPL,R5MOV DPH,R4 ;目的地首址MOVX @DPTR,A ;传送CJNE R3,#0F0H,LO42INC R2LO42: INC R3 ;源地址加1CJNE R5,#0FFH,LO43INC R4LO43: INC R5 ;目地址加1CJNE R7,#00H,LO44CJNE R6,#00H,LO45 ;字节数减1SJMP $NOPLO44: DEC R7SJMP SE22LO45: DEC R7DEC R6SJMP SE22 ;未完继续END2、片内(CPU内部存储器)、外数据区传送程序将片内RAM 40H~4AH单元分别置数为A0~AA(由程序自动置数),然后将40H~4AH单元的内容分别传送到外部RAM3000H~300AH;再将外部RAM3000H~300AH单元内的数分别送到片内RAM50H~5AH 单元。
实验二用机器指令和汇编指令编程实验总结下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!实验二用机器指令和汇编指令编程实验总结1. 引言在本实验中,我们学习了使用机器指令和汇编指令编程的基本概念和技能。
可编程控制器的基本指令编程实验报告1. 引言本实验旨在研究可编程控制器的基本指令编程。
可编程控制器(Programmable Logic Controller,简称PLC)是一种专用计算机,常用于工业自动化领域。
通过编程,PLC可以根据输入信号的状态来判断并控制输出信号的状态,实现自动化控制。
2. 可编程控制器的基本指令可编程控制器的基本指令可以分为输入输出指令、变量指令和逻辑指令三大类。
2.1 输入输出指令输入输出指令用于读取输入信号和控制输出信号。
常见的输入输出指令包括:•XIC(eXamine If Closed)指令:用于检测输入信号是否为闭合状态,如果闭合则执行后续程序。
•XIO(eXamine If Open)指令:用于检测输入信号是否为开启状态,如果开启则执行后续程序。
•OTE(Output To External)指令:用于将输出信号设置为高电平或低电平状态,控制外部设备的运行。
2.2 变量指令变量指令用于对变量进行操作,包括赋值、比较、运算等。
常见的变量指令包括:•MOV(Move)指令:用于将一个值赋给一个变量。
•ADD(Addition)指令:用于对两个变量进行加法运算,并将结果保存到一个变量中。
•CMP(Compare)指令:用于对两个变量进行比较,判断它们的大小关系。
•INC(Increment)指令:用于对一个变量进行加1操作。
2.3 逻辑指令逻辑指令用于进行逻辑判断和控制流程。
常见的逻辑指令包括:•LIM(Less Than Immediate)指令:判断一个变量是否小于一个立即数,如果是则执行后续程序。
•JZ(Jump if Zero)指令:如果指定的变量为0,则跳转到指定的标签处继续执行程序。
•CTU(Counter Up)指令:用于实现计数功能,当一个变量达到设定值时,产生一个输出脉冲。
3. 实验过程本实验通过编程软件对一个简单的控制任务进行了模拟。
实验包括以下步骤:3.1 硬件准备搭建实验所需的硬件系统,包括输入设备、输出设备以及可编程控制器。
计算机组成原理实验报告实验目的,通过本次实验,深入了解计算机组成原理的相关知识,掌握计算机硬件的基本组成和工作原理。
实验一,逻辑门电路实验。
在本次实验中,我们学习了逻辑门电路的基本原理和实现方法。
逻辑门电路是计算机中最基本的组成部分,通过逻辑门电路可以实现各种逻辑运算,如与门、或门、非门等。
在实验中,我们通过搭建逻辑门电路并进行实际操作,深入理解了逻辑门的工作原理和逻辑运算的实现过程。
实验二,寄存器和计数器实验。
在本次实验中,我们学习了寄存器和计数器的原理和应用。
寄存器是计算机中用于存储数据的重要部件,而计数器则用于实现计数功能。
通过实验操作,我们深入了解了寄存器和计数器的内部结构和工作原理,掌握了它们在计算机中的应用方法。
实验三,存储器实验。
在实验三中,我们学习了存储器的原理和分类,了解了不同类型的存储器在计算机中的作用和应用。
通过实验操作,我们进一步加深了对存储器的认识,掌握了存储器的读写操作和数据传输原理。
实验四,指令系统实验。
在本次实验中,我们学习了计算机的指令系统,了解了指令的格式和执行过程。
通过实验操作,我们掌握了指令的编写和执行方法,加深了对指令系统的理解和应用。
实验五,CPU实验。
在实验五中,我们深入了解了计算机的中央处理器(CPU)的工作原理和结构。
通过实验操作,我们学习了CPU的各个部件的功能和相互之间的协作关系,掌握了CPU的工作过程和运行原理。
实验六,总线实验。
在本次实验中,我们学习了计算机的总线结构和工作原理。
通过实验操作,我们了解了总线的分类和各种总线的功能,掌握了总线的数据传输方式和时序控制方法。
结论:通过本次实验,我们深入了解了计算机组成原理的相关知识,掌握了计算机硬件的基本组成和工作原理。
通过实验操作,我们加深了对逻辑门电路、寄存器、计数器、存储器、指令系统、CPU和总线的理解,为进一步学习和研究计算机组成原理奠定了坚实的基础。
希望通过不断的实践和学习,能够更深入地理解和应用计算机组成原理的知识。
可编程控制器的基本指令编程实验报告一、实验目的本实验旨在让学生掌握可编程控制器(PLC)的基本指令编程方法,了解PLC的工作原理和应用场景。
二、实验设备1. 可编程控制器(PLC)2. 电源模块3. 输入模块4. 输出模块5. 交流电机6. 传感器等相关设备三、实验内容1. PLC的基本指令介绍可编程控制器是一种数字计算机,它能够根据预设程序对输入信号进行处理,并通过输出信号来控制执行器。
PLC的指令集包括逻辑指令、定时器指令、计数器指令等。
其中,逻辑指令主要用于对输入信号进行逻辑运算,如与门、或门、非门等;定时器指令用于时间延迟操作;计数器指令用于对输入信号进行计数操作。
2. PLC的基本编程方法介绍PLC的基本编程方法包括Ladder图和SFC图两种。
Ladder图是一种类似于电路图的形式,可以直观地表示程序执行过程;SFC图则是一种状态转移图,它能够更好地表示程序执行顺序和流程。
3. 实验步骤及结果分析(1)利用Ladder图编写一个简单的PLC程序,实现交流电机的正反转控制。
首先,将电源模块和输入模块连接到PLC上,然后将输出模块和交流电机连接。
接下来,在Ladder图中添加逻辑指令和输出指令,实现对交流电机的正反转控制。
最后,通过输入模块来控制程序执行。
实验结果:成功实现了交流电机的正反转控制。
(2)利用SFC图编写一个简单的PLC程序,实现传感器检测并控制输出信号。
首先,将传感器连接到PLC上,并在SFC图中添加相应的状态和转移条件。
接下来,在SFC图中添加输出指令,实现对输出信号的控制。
最后,通过输入信号来触发程序执行。
实验结果:成功实现了对传感器检测并控制输出信号。
四、总结本次实验让我初步了解了可编程控制器的基本指令编程方法,并通过实验验证了其在工业自动化领域中的重要性。
同时,在实验过程中也学习到了如何运用逻辑指令、定时器指令、计数器指令等来完成各种功能需求。
这些知识将对我的未来学习和工作产生积极的影响。
实验一 ARM汇编语言程序设计一、实验目的1.了解IAR Embedded Workbench 集成开发环境2.掌握ARM汇编指令程序的设计及调试二、实验设备1.PC操作系统WIN98或WIN2000或WINXP,ADSI.2集成开发环境,仿真驱动程序三、实验内容1.熟悉IAR Embedded Workbench 集成开发环境2.理解下列程序,新建工程,加入下面的程序,并观察实验结果,解释程序实现的功能分析:该程序实现的功能是程序功能:Y = A*B+C*D+E*F程序代码:AREA Examl, CODE,READONLY ;定义一个代码段ENTRY ;程序入口MOV R0,#0;设置R0寄存器的值为0MOV R8,#0;设置R8寄存器的值为0ADR R2,N;将R2寄存器的值设为数据域N的地址LDR R1,[R2];将以R2的值为地址的数据读入R1MOV R2,#0;设置R2的值为0ADR R3,C; 将R3寄存器的值设为数据域C的地址ADR R5,X; 将R5寄存器的值设为数据域X的地址LOOPLDR R4,[R3,R8];将R3+R8的数据读入R4LDR R6,[R5,R8];将R5+R8的数据读入R6MUL R9,R4,R6;R9 = R4*R6ADD R2,R2,R9;R2 = R2+R9ADD R8,R8,#4;R8 = R8+4ADD R0,R0,#1;R0 = R0+1CMP R0,R1;比较R0和R1的值BLT LOOP;R0<R1的话执行循环N DCD 0X03;C DCD 0X01,0X02,0X03,0X04,0X05,0X06;X DCD 0X01,0X02,0X03,0X04,0X05,0X06;END程序结果:各个寄存器的结果执行结果如下:3.实现1+2+3+4+····+100,求的值,并保存在地址0x90018的地址里面程序代码:MOV R0,#100;设置R0寄存器的值为100LDR R2,=0X90018;设置R2寄存器指向地址0x90018MOV R1,#0;设置R1的值为0MOV R3,#0;设置R3的值为0LOOPADD R3,R3,R0;R3 = R3+R0SUB R0,R0,#1;R0 = R0-1CMP R0,R1;将R0和R1的值比较BNE LOOP;不相等的话继续执行循环STR R3,[R2];将R3的值装入到R2指向的地址块中。
PLC原理与应用实验指导书课程性质:实验编写人:张国胜责任教授:武洪涛审定人:徐爱钧目录实验一PLC基本指令实验 (2)实验二PLC定时器/计数器实验 (6)实验三自动配料系统模拟控制实验 (8)实验四机械手模拟控制实验 (10)实验五天塔之光模拟控制实验 (12)实验六步进电机控制实验 (13)实验七电梯模拟控制实验 (14)实验八十字路口交通灯模拟控制实验 (15)实验一PLC基本指令实验一、实验目的1. 掌握常用基本指令的使用方法。
2. 熟悉编程器的指令编入、删除、插入、程序读出等操作。
3. 学会用基本逻辑与、或、非等指令实现基本逻辑组合电路的编程。
二、实验器材1. DICE-PLC01型可编程序控制器实验台/箱l台2. 编程电缆l根3. 连接导线若干三、实验内容及步骤三菱系列FX系列可编程序控制器基本指令有20多条(根据主机型号的不同,指令系统也有所差异),如下表所示。
本次实验进行常用基本指令LD、LDⅠ、LDP、LDF、AND、ANI、ANDP、ANDF、OR、ORI、ORP、ORF、ANB、ORB、OUT、END指令的编程操作训练。
(1)基本指令实验实验二PLC定时器/计数器实验一、实验目的l. 掌握定时指令的使用。
2. 掌握计数器的使用。
3. 掌握计数器/ 定时器内部时基脉冲参数的设置。
二、实验器材1. DICE-PLC01型可编程序控制器实验台/箱l台2. 编程电缆l根3. 连接导线若干三、实验内容与步骤1. 定时器指令FX1 s系列PLC有定时器63个(T0~T63),定时器的时基脉冲为l00ms(0.1s〕,每个定时器的定时范围从0.1s~3276.7s,定时指令占用步数3步。
当M8028被驱动时(即M8028=1),定时器T32~T62(30点)的时基脉冲为10ms(0.01s)即T32~T62的定时时基脉冲为0.01s。
对下列程序进行编程练习:2、计数器指令FX1s系列PLC的一般计数器个数为16个(C0~Cl5),停电锁存计数器16个(Cl6~C31),每个计数器均为16位,设定值范围在K1~K32767内.,该指令占步数为3步。
实验二、汇编语言程序的汇编与调试一、实验目的掌握汇编语言程序的汇编与调试过程,熟悉MASM、LINK、DEBUG等程序的使用。
了解列表文件与交叉参考文件的基本内容。
二、实验原理编制好汇编语言的源程序后,若要在机器上运行,必须经过如图1- 1所示的几个步骤:1、编辑源程序图1- 1 汇编语言程序的上机过程可以使用任何一种文本编辑程序编辑汇编语言源程序,通常使用DOS提供的文本编辑程序EDIT,具体使用方法为:从Windows进入MS-DOS方式,在DOS提示符后键入:EDIT [文件名]进入EDIT后,对源程序进行全屏幕编辑。
编辑完成后选择File菜单的Save命令保存文件,选择File菜单的Exit命令退出EDIT。
对于汇编语言源程序,其文件的扩展名约定使用ASM。
2、汇编汇编程序的基本功能是把用汇编语言编写的源程序翻译成机器语言目标代码,同时生成列表文件及交叉参考文件。
汇编程序的操作步骤为:在DOS提示符后键入:MASM 源程序文件名或MASM 源程序文件名,列表文件名,交叉参考文件名其中文件名不必给出扩展名,汇编程序会按照默认情况处理或产生。
若汇编后出现警告错误或严重错误,应调用EDIT对源程序进行修改,再重新汇编,直至无错误为止。
列表文件[.LST]和交叉参考文件[.XRF]有助于程序的分析和错误的查找,根据需要可以生成这两个文件(缺省时无)。
其中列表文件是文本文件,可用EDIT打开。
交叉参考文件是二进制文件,通过执行程序CREF.EXE,将二进制交叉参考文件转换为索引列表文件[.REF],具体方法为在DOS提示符后键入:CREF 交叉参考文件名3、连接汇编以后的目标代码的地址还是可浮动的相对地址,需要经过连接才能生成可执行程序。
连接程序的功能是连接多个目标代码模块(如果有的话),确定每个程序段的地址,形成可执行程序文件[.EXE]。
连接程序的操作步骤为:在DOS提示符后键入:LINK 目标代码文件名当目标代码文件不止一个时,各个目标代码文件名之间用+(加号)连接;也可以用命令行方式运行LINK程序,其格式为:LINK 目标文件名,可执行程序文件名,内存映象文件名,库文件名4、调试程序通过汇编和连接,排除了语法错误,并不一定能正确执行,这就需要使用动态排错程序。
重庆大学
学生实验报告
实验课程名称汇编语言程序设计
开课实验室DS1502
学院软件学院年级16 专业班软件工程5班学生姓名吉沼橙学号********
开课时间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。