第三章 基本指令实验
基本顺序指令实验报告

一、实验目的1. 理解基本顺序指令的概念和作用。
2. 掌握基本顺序指令的使用方法。
3. 通过实验,加深对基本顺序指令的理解和掌握。
二、实验原理基本顺序指令是指在程序设计中,按照一定的顺序执行的一系列指令。
它们是程序的基本组成部分,用于实现各种功能。
基本顺序指令主要包括赋值指令、数据输入输出指令、条件判断指令等。
三、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C++四、实验步骤1. 创建一个新的C++项目,命名为“基本顺序指令实验”。
2. 在项目中添加一个新的源文件,命名为“main.cpp”。
3. 在“main.cpp”文件中编写以下代码:```cpp#include <iostream>int main() {int a = 10; // 赋值指令int b = 5; // 赋值指令int sum; // 赋值指令std::cout << "请输入两个整数:" << std::endl;std::cin >> a >> b; // 数据输入指令sum = a + b; // 赋值指令std::cout << "两个整数的和为:" << sum << std::endl; // 数据输出指令if (a > b) { // 条件判断指令std::cout << "a大于b" << std::endl;} else if (a < b) {std::cout << "a小于b" << std::endl;} else {std::cout << "a等于b" << std::endl;}return 0;}```4. 编译并运行程序,观察输出结果。
实验一 可编程控制器基本指令编程实验

INPUT00
OUTPUT00
INPUT01
INPUT02 INPUT03 INPUT04
OUTPUT01
OUTPUT02
二、实验内容
接线指导:
INPUT00接GND
INPUT01接GND,INPUT02接GND INPUT03接GND,INPUT04接GND OUTPUT00接输出显示LED灯LD1 OUTPUT01接输出显示LED灯LD2 OUTPUT02接输出显示LED灯LD3
三、实验原理
注:在将程序全部清除时,全部指令成为NOP; 若在普通的指令与指令之间加入NOP指令,则PLC将无 视其存在继续工作; 若将已写入的指令换成NOP指令,则回路会发生变化。
三、实验原理
注:可编程控制器反复进行输入处理、程序执行和输出处 理。 若在程序的最后写入END指令,则END以后的其余程序 步不再执行,而直接进行输出处理。
二、实验原理
PLC设置
开关拨至STOP处, 此时只有POWER 指示灯亮,系统 进入编程状态
二、实验原理
程序下载到PLC内部存储器
二、实验原理
程序下载设置
二、实验原理
程序下载
二、实验原理
程序运行
开关拨至RUN处, 此时只有POWER 指示灯和RUN指 示灯同时亮,系 统进入运行状态
二、实验内容
二、实验内容
实验要求:
按与、或、非逻辑功能要求编写梯形图, 分别将X0-X4接地观察实验结果
二、实验内容
2、定时器、计数器实验
OUTPUT00 接输出显示LED灯LD1 OUTPUT01 接输出显示LED灯LD2 编程使PLC输出0输出脉冲宽度为1S的方波,由PLC 输出0对脉冲计数,计数值达到10时,PLC输出1输出
基本指令交通等实验报告

一、实验目的1. 熟悉PLC(可编程逻辑控制器)的基本指令编程方法。
2. 掌握PLC在交通灯控制系统中的应用。
3. 理解交通灯控制系统的逻辑原理,提高实际工程应用能力。
二、实验环境1. PLC实验装置:三菱FX系列PLC1台2. 编程软件:GX Developer3. 输入输出模块:开关量输入电路板1块4. 交通灯电路:交通灯控制电路图三、实验原理1. 交通灯控制系统原理:交通灯控制系统主要由信号灯、传感器、控制器等组成。
信号灯负责控制交通流,传感器负责检测交通状况,控制器根据交通状况控制信号灯的亮灯状态。
2. PLC基本指令:PLC基本指令包括逻辑运算指令、定时器指令、计数器指令等。
逻辑运算指令用于实现逻辑控制,定时器指令用于实现定时功能,计数器指令用于实现计数功能。
四、实验步骤1. 设计交通灯控制电路图:根据交通灯控制系统的原理,设计交通灯控制电路图,包括信号灯、传感器、PLC输入输出端子等。
2. 编写PLC程序:根据交通灯控制电路图,使用PLC编程软件编写交通灯控制程序。
(1)定义输入输出:在编程软件中定义PLC的输入输出端子,包括传感器输入端子和信号灯输出端子。
(2)编写逻辑控制程序:根据交通灯控制系统的逻辑原理,编写逻辑控制程序。
(3)编写定时器程序:根据交通灯控制系统的定时要求,编写定时器程序。
(4)编写计数器程序:根据交通灯控制系统的计数要求,编写计数器程序。
3. 编译程序:将编写好的PLC程序编译成可执行文件。
4. 上传程序:将编译好的PLC程序上传到PLC实验装置。
5. 模拟运行:在PLC实验装置上模拟运行交通灯控制系统,观察信号灯的亮灯状态是否符合预期。
五、实验结果与分析1. 实验结果:通过模拟运行,观察信号灯的亮灯状态,发现信号灯的亮灯状态符合预期,实现了交通灯控制系统的基本功能。
2. 实验分析:(1)逻辑控制程序:通过编写逻辑控制程序,实现了交通灯控制系统的基本逻辑,如直行、左转、右转信号灯的切换。
(整理)PLC实验报告.

(整理)PLC实验报告.PLC实验报告第三章:实验任务书§3-1 基本实验实验⼀: 基本逻辑指令实验⼀、实验⽬的: 掌握可编程序控制器的操作⽅法,熟悉基本指令以及实验设备的使⽤⽅法。
⼆、实验设备 1.可编程控制器2.编程器或计算机编程软件(cx-p)3 .SAC-PC可编程序控制器教学实验设备三、实验任务: 按照下⾯给出的控制要求编写梯形图程序, 输⼊到可编程序控制器中运⾏,根据运⾏情况进⾏调试、修改程序,直到通过为⽌。
1.⾛廊灯两地控制I/O分配:0(01000)⾛廊灯声光显⽰区2.⾛廊灯三地控制I/O分配:0(01000)⾛廊灯声光显⽰区3.圆盘正反转控制1 电机反转旋转区反转端⼦4.⼩车直线⾏驶正反向⾃动往返控制实验⼆: 计时器指令实验实验⽬的: 熟悉计时器指令以及实验设备的使⽤⽅法。
实验设备: 略。
实验任务: 按照下⾯给出的控制要求编写梯形图程序。
1.通电延时控制输⼊ 0 ON OFF输出 0 ONOFF2.断电延时控制输⼊ 0 ONOFF输出 0 ONOFF3.通电断电延时控制输⼊0 ONOFF 输出0 ON OFF4.闪光报警控制输⼊0 ONOFF输出0 ONOFF 1秒2秒实验三: 计数器指令实验实验⽬的: 熟悉计数器指令。
实验任务: 按照下⾯给出的控制要求编写梯形图程序。
1.按钮计数控制按钮按下3次,信号灯亮;再按2次,灯灭。
2.⽤计数器构成计时器(有断电记忆功能)3.圆盘旋转计数、计时控制圆盘电机起动后, 旋转⼀周(对应光电开关产⽣8个计数脉冲)后,停1秒,然后再转⼀周……,以此规律重复, 直到按下停⽌按钮时为⽌。
4.测扫描频率⽤计数器、⾼速计时器测CPU每秒扫描程序次数。
⽤编程器监控⽅式,观察计数器每秒所记录下的程序扫描次数。
实验四: 微分指令、锁存器指令实验实验⽬的: 熟悉微分指令、锁存器指令。
实验任务:1.按钮操作叫响提⽰有按钮操作时,⽆论时间长短,蜂鸣器发出1秒声响。
实训课题三 基本指令的使用

实训课题三基本指令的使用
一、实训目的
1 理解并掌握27个基本指令的含义和使用;
2 电机正反转等编程方法;
二、实训仪器设备
1 PLC综合实训装置一台;
2 PC机一台;
3 编程软件一套。
三、实训指导
1、27个基本指令
基本指令一览表
图1.3-1 基本指令
四、实训内容--编程训练
1、编写电动机起保停电路的控制程序,并接线调试。
2、用基本指令实现电机正反转控制。
请比较课本上第三章中电机正反转控制与课后实训3-1中高速正反转控制的不同之处;
3、按下开始按钮后,一盏灯亮2S,停2S,反复循环。
4、用主控开关指令编车库门的手、自动控制程序。
控制要求:车库门有自动和手动控制两种方式;通过选择开关来决定控制状态是手动或自动;手动时:通过两个控制按钮X1和X2来控制门的上升、下降;自动时:按下按钮X3时,门自动上升,到达上限位后延时6s自动下降,降到下限位后停止。
注意:当处于手动操作状态时,自动程序不起作用;当处于自动操作状态时,手动程序不起作用;
五、实训报告
1、写出正确的梯形图及列出正确的助记符程序表。
2、总结27个基本指令的难点。
实验基本指令实验报告

一、实验目的1. 熟悉实验基本指令的使用方法。
2. 掌握常用指令的编写和调试技巧。
3. 培养实验操作的规范性和准确性。
二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 实验设备:个人电脑三、实验内容1. 实验一:Hello World(1)实验目的学习C语言的基本语法,编写一个简单的“Hello World”程序。
(2)实验步骤1)打开Visual Studio 2019,创建一个新的C++项目。
2)在项目主界面中,选择“源文件”,然后点击“添加新项”。
3)在弹出的对话框中,选择“C++文件”,命名为“hello.cpp”。
4)在“hello.cpp”文件中,编写以下代码:```c#include <iostream>using namespace std;int main() {cout << "Hello World!" << endl;return 0;}```5)保存文件,并返回到项目主界面。
6)点击“生成”菜单,选择“生成解决方案”,生成可执行文件。
7)运行程序,观察结果。
(3)实验结果程序输出“Hello World!”,实验成功。
2. 实验二:变量和运算符(1)实验目的学习C语言中的变量和运算符,编写一个计算两个整数相加的程序。
(2)实验步骤1)打开Visual Studio 2019,创建一个新的C++项目。
2)在项目主界面中,选择“源文件”,然后点击“添加新项”。
3)在弹出的对话框中,选择“C++文件”,命名为“add.cpp”。
4)在“add.cpp”文件中,编写以下代码:```c#include <iostream>using namespace std;int main() {int a = 10;int b = 20;int sum = a + b;cout << "The sum of " << a << " and " << b << " is " << sum << endl;return 0;}```5)保存文件,并返回到项目主界面。
8086实验

实验一、寻址方式与基本指令实验一、实验目的1.熟悉8086寻址方式及基本指令功能,进一步理解和巩固课学习内容。
2.掌握汇编语言程序设计上机过程和汇编语言源程序结构。
3.熟悉Microsoft的DEBUG调试工具的使用方法。
二、实验预习要求1.认真阅读教科书第三章,了解并熟悉汇编语言程序的上机步骤及DEBUG调试工具的使用方法。
2.复习8086操作数寻址方式及基本指令功能(数据传送、算术运算和逻辑运算等)。
3.了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行环境的问题外),以便在实验时进行验证。
三、实验内容1.读懂下列源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件;用EDIT打开EX11.LST文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。
1)程序装入后,代码段寄存器CS的内容为H,代码段第一条可执行指令“MOV AX,DATA”对应的机器代码为H,它是一个字节指令,注意观察执行该指令时IP的变化情况,该指令源操作数DATA的寻址方式是,其值为。
2)执行完“MOV DS,DATA”指令后,数据段寄存器DS的内容为H,源程序在数据段中定义的数据库82H、68H和88H被装入的存储单元的物理地址分别为H,H和H。
3)程序中第一条“ADD AL,[BX]”指令对应的机器代码H,它是一个字节指令,注意观察执行该指令时IP的变化情况,该指令中源操作数的寻址方式为,该操作数所在存储单元的逻辑地址(DS):(BX)为,物理地址为H;执行完该指令后(AL)= H,CF= ,OF= ,ZF= ,SF= ,AF= ,PF= ;若两操作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确?若计算结果正确,结果是正数还是负数?4)执行完第二条“ADD AL,[BX]”指令后,(AL)= H,CF= ,OF= ,ZF= ,SF= ,AF= ,PF= ;若两操作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确?5)指令“MOV SUM,AL”中,目的操作数的寻址方式为,该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为H。
指令实验报告

指令实验报告指令实验报告一、引言计算机指令是计算机系统中的基本操作单位,它们决定了计算机能够执行的任务和操作。
指令集架构是计算机体系结构的重要组成部分,对计算机系统的性能和功能起到了至关重要的作用。
本实验旨在通过对指令集架构的实验研究,深入了解指令的执行过程和机器指令的设计原则。
二、实验目的本实验的主要目的是通过设计和实现一系列机器指令,来掌握指令的编码方式、指令的执行过程以及指令的设计原则。
通过实验,可以加深对计算机体系结构的理解,提高对计算机指令的使用和优化能力。
三、实验内容1. 设计一组机器指令集,包括算术运算指令、逻辑运算指令、条件分支指令和数据传输指令等。
2. 实现指令集的编码和解码器,将指令转化为计算机可以识别和执行的二进制码。
3. 搭建计算机系统,包括中央处理器(CPU)、存储器和输入输出设备。
4. 编写指令的执行程序,模拟指令的执行过程,并进行测试和验证。
四、实验步骤1. 设计机器指令集。
根据实验要求和需求,设计一组满足功能要求的机器指令集,并确定指令的格式和编码方式。
2. 实现指令的编码和解码器。
根据指令集的设计,编写编码和解码器的代码,将指令转化为计算机可以理解的二进制码,并将其解码为可执行的指令。
3. 搭建计算机系统。
根据实验要求,搭建计算机系统,包括CPU、存储器和输入输出设备等,确保计算机系统能够正常工作。
4. 编写指令执行程序。
根据指令集的设计和编码方式,编写指令的执行程序,模拟指令的执行过程,并进行测试和验证。
五、实验结果与分析通过实验,我们成功设计和实现了一组机器指令集,并完成了指令的编码和解码器的开发。
在搭建计算机系统后,我们编写了指令的执行程序,并进行了测试和验证。
实验结果表明,指令的执行程序能够正确地执行指令,并输出正确的结果。
通过对实验结果的分析,我们可以得出以下结论:1. 指令的编码方式对指令的执行效率和系统性能有重要影响。
合理设计指令的编码方式可以提高指令的执行效率和系统的性能。
湘南学院2011级汇编实验三 基本指令的使用

实验三基本指令的使用
(一)实验目的与要求
1、加深对语法规则的认识,为后续编程打下基础
2、对指令的执行情况进行分析并通过上机验证
(二)实验重点与难点
1、汇编程序的格式要求
2、汇编指令执行结果的察看
(三)实验类型:验证性实验
(四)实验学时:2 学时
(五)实验主要内容
1、实验中提供一个程序框架,文件名为sy3.asm,同学们打开该文件后,在文件中的空
行处按下面的要求填入相应内容。
2、在程序中按顺序加入以下功能指令
将AX、BX分别置初始值8234H和9040H
用直接寻址方式将vax1单元的值送入CX
将vax2单元的偏移量送入SI
用BX和SI的基址变址寻址方式读取一个数据传送给DX
将ax,bx,cx,dx的值依次入栈
将当前的栈顶单元内容出栈送给DI
将AX、BX做加法运算,值存入BX
将BX的值加上20
将vax1单元的值和DI的值相加,结果存在内存中。
3、将程序编译,连接成功生成相应的exe文件
4、用debug的T命令章步执行该程序,察看各指令执行后的结果以及最后三条指令执行后
标志位的值并记录。
5、在实验报告中将补充的指令写出来,并将每条指令执行后其目的操作数的值及最后三条
指令执行后标志位的值记录。
基本指令的应用实验原理

基本指令的应用实验原理1. 引言在计算机科学中,指令是计算机执行特定操作的一组指示。
指令是计算机程序的基本构建模块,通过组合不同的指令,可以完成各种复杂的任务。
在本文中,我们将探讨基本指令的应用实验原理。
2. 实验目的本实验的目的是了解基本指令的应用,并通过实际操作来加深对指令的理解。
通过这些实验,我们可以掌握如何编写和执行基本指令,从而为进一步学习计算机科学打下坚实的基础。
3. 实验步骤以下是实验中常用的基本指令及其应用实验原理的一些列点:•加载指令:用于将数据从存储器加载到寄存器中,以供后续指令使用。
加载指令的原理是通过地址寻址将数据从存储器读取到寄存器中。
•存储指令:用于将数据从寄存器存储到存储器中,以便后续操作使用。
存储指令的原理是通过地址寻址将数据从寄存器写入到存储器中。
•算术指令:用于进行基本的算术运算,例如加法、减法、乘法和除法等。
算术指令的原理是通过执行特定的算术运算来得到结果。
•逻辑指令:用于进行逻辑运算,例如与、或、非、异或等。
逻辑指令的原理是通过执行特定的逻辑运算来得到结果。
•转移指令:用于改变程序的控制流程,例如无条件跳转、条件跳转和循环等。
转移指令的原理是通过改变指令的执行顺序来实现程序的分支和循环。
4. 实验原理基本指令的实验原理是通过编写和执行特定的指令来实现特定的操作。
在计算机中,指令通常是以二进制形式表示的。
计算机通过解码和执行这些二进制指令来完成各种任务。
指令的编写通常是由程序员完成的。
程序员使用特定的程序设计语言来编写指令,然后将程序翻译成计算机可以执行的机器代码。
编写指令需要考虑指令的格式、操作数的类型和寻址方式等。
指令的执行是由计算机硬件完成的。
计算机根据当前指令的二进制编码来执行相应的操作,并更新寄存器和存储器中的数据。
执行指令需要考虑指令的时序、数据的传输和运算等。
5. 实验结果通过实验,我们可以获得以下结果: - 加载指令可以成功将数据从存储器加载到寄存器中。
指令实验报告

指令实验报告指令实验报告引言:计算机科学与技术领域中,指令是一种对计算机硬件发出的命令,用于执行特定的操作。
指令的设计和实现对于计算机的性能和功能至关重要。
本实验旨在通过对指令的实验研究,深入了解指令的结构、执行和优化方法,以提高计算机的性能和效率。
一、指令的结构与分类指令是计算机硬件执行的最小单位,由操作码和操作数组成。
操作码用于指示计算机执行的操作类型,操作数则提供执行操作所需的数据。
根据操作码的不同,指令可以分为算术指令、逻辑指令、数据传输指令等多种类型。
不同类型的指令在计算机中的实现方式和执行效率上也有所差异。
二、指令的执行过程指令的执行过程可以分为取指、译码、执行和写回等多个阶段。
取指阶段是指计算机从内存中读取指令的过程,译码阶段将操作码和操作数翻译为计算机可以理解的形式,执行阶段则是实际执行指令的过程,写回阶段将执行结果写回到内存或寄存器中。
这些阶段的协同工作保证了指令的正确执行。
三、指令的优化方法为了提高计算机的性能和效率,可以通过优化指令的设计和执行方法来实现。
一种常用的优化方法是指令流水线技术。
流水线将指令的执行过程拆分为多个子任务,并同时执行不同的指令,从而提高计算机的并行处理能力。
另外,还可以通过指令重排、循环展开等技术来优化指令的执行顺序,减少指令之间的依赖关系,提高计算机的运行速度。
四、指令的实验研究在指令的实验研究中,我们选取了一组常见的指令进行测试和分析。
通过编写相应的测试程序,并在不同的硬件平台上运行,我们得到了一系列的实验数据。
通过对这些数据的分析和比较,我们可以评估不同指令的性能和效率,并找出其中的优化空间。
同时,我们还对指令的执行过程进行了详细的观察和记录,以便更好地理解指令的实际执行情况。
五、实验结果与讨论根据实验数据的分析,我们发现在不同的硬件平台上,同一组指令的执行效率存在差异。
这是由于硬件平台的差异导致了指令执行的速度和资源分配的不同。
通过对这些差异的分析,我们可以得出一些结论,并提出相应的改进方案。
实验plc基本指令实验报告

实验plc基本指令实验报告实验 PLC 基本指令实验报告一、实验目的本次实验的主要目的是熟悉和掌握 PLC(可编程逻辑控制器)的基本指令,通过实际操作和编程练习,深入理解 PLC 的工作原理和编程方法,提高对 PLC 控制系统的设计和应用能力。
二、实验设备1、 PLC 实验箱,型号为_____,包含 PLC 主机、输入输出模块、电源模块等。
2、编程软件,使用的是_____,版本为_____。
3、计算机一台,用于安装编程软件和进行程序编写、调试。
4、连接电缆,用于将计算机与 PLC 实验箱进行连接。
三、实验内容1、熟悉 PLC 实验箱的硬件结构和操作方法了解 PLC 主机的型号、输入输出点数和性能参数。
认识输入输出模块的接口类型和连接方式。
掌握电源模块的连接和供电方法。
2、学习 PLC 编程软件的使用安装和启动编程软件。
熟悉编程软件的界面和功能菜单。
掌握创建新工程、编写程序、编译下载和在线调试的操作流程。
3、练习 PLC 基本指令的编程应用位逻辑指令:包括常开触点、常闭触点、输出线圈、取反指令等。
通过编写简单的逻辑控制程序,如电机的启停控制、信号灯的闪烁控制等,理解位逻辑指令的功能和用法。
定时器指令:学习定时器的类型(如接通延时定时器、断开延时定时器)和参数设置方法。
编写定时器控制程序,实现定时启动、定时停止等功能。
计数器指令:掌握计数器的工作原理和编程方法。
通过编写计数器控制程序,实现对事件的计数和控制。
数据传送指令:练习数据的读取、写入和传送操作,如将一个数据从输入寄存器传送到输出寄存器,或者在不同的存储区之间进行数据交换。
四、实验步骤1、硬件连接将 PLC 实验箱的电源模块正确连接到交流电源,并确保电源指示灯亮起。
使用连接电缆将计算机的 USB 接口与 PLC 实验箱的编程接口连接好。
2、软件安装与设置在计算机上安装指定的 PLC 编程软件,并按照安装向导完成安装过程。
打开编程软件,设置通信参数,选择与 PLC 实验箱相匹配的通信端口和波特率。
基本指令训练实验报告

一、实验目的1. 熟悉PLC(可编程逻辑控制器)的基本指令及其应用。
2. 掌握PLC编程软件的使用方法,能够编写简单的PLC控制程序。
3. 通过实验加深对PLC控制原理的理解,提高实际操作能力。
二、实验环境1. PLC型号:三菱FX3U-32MR2. 编程软件:GX Works23. 实验装置:PLC实验箱、继电器模块、输入输出模块等三、实验内容1. 基本指令学习(1)位操作指令:AND(与)、OR(或)、NOT(非)、XOR(异或)(2)定时器指令:TON(定时器)、TOF(定时器)(3)计数器指令:C(计数器)(4)比较指令:EQ(等于)、GT(大于)、LT(小于)(5)数据传输指令:MOV(移动)、MVR(移动)2. 基本指令编程练习(1)编写一个简单的PLC控制程序,实现以下功能:- 当输入X0接通时,输出Y0点亮;- 当输入X1接通时,输出Y1点亮;- 当输入X0和X1同时接通时,输出Y0和Y1同时点亮。
(2)编写一个PLC控制程序,实现以下功能:- 当计数器C0的计数值为5时,输出Y0点亮;- 当计数器C0的计数值为10时,输出Y1点亮;- 当计数器C0的计数值大于10时,输出Y0和Y1同时点亮。
3. 实验步骤(1)连接PLC实验箱,将输入输出模块连接到PLC上。
(2)启动GX Works2编程软件,新建一个项目。
(3)在项目中选择PLC型号,添加相应的程序块。
(4)根据实验要求,编写PLC控制程序。
(5)下载程序到PLC,进行实验验证。
四、实验结果与分析1. 实验一结果- 编写的PLC控制程序能够实现输入X0和X1控制输出Y0和Y1的功能。
- 通过实验验证,程序运行正常,符合预期效果。
2. 实验二结果- 编写的PLC控制程序能够实现计数器C0计数到5、10、大于10时,输出Y0和Y1的功能。
- 通过实验验证,程序运行正常,符合预期效果。
五、实验总结1. 通过本次实验,熟悉了PLC的基本指令及其应用,掌握了PLC编程软件的使用方法。
实验一基本指令实验

实验1 基本指令实验一、实验目的1、掌握常用基本指令的使用方法。
2、学会用基本逻辑与、或、非等指令实现基本逻辑组合电路的编程。
3、熟悉编译调试软件的使用。
二、实验器材三、实验内容SIEMENS S7-1200系列可编程序控制器的常用基本指令简要介绍如下:1、取指令指令符:LD 梯形图符:数据:接点号。
除了数据通道之外,PC的其余继电器号都可以。
功能:读入逻辑行(又称为支路)的第一个常开接点。
2、取反指令指令符:LDN 梯形图符:数据:同LD指令功能:读入逻辑行的第一个常闭接点。
在梯形图中,每一逻辑行必须以接点开始,所以必须使用LD或LDN指令。
此外,这条指令还用于电路块中每一支路的开始,或分支点后分支电路的起始,并与其它一些指令配合使用。
3、与指令指令符:A 梯形图符:数据:接点号。
功能:逻辑与操作,即串联一个常开接点。
4、与非指令指令符:AN 梯形图符:数据:接点号,同A指令。
功能:逻辑与非操作,即串联一个常闭接点。
5、或指令指令符:O 梯形图符:数据:接点号,范围同A指令。
功能:逻辑或操作,即并联一个常开接点。
6、或非指令指令符:ON 梯形图符:数据:接点号,范围同A指令。
功能:逻辑或非操作,即并联一个常闭接点。
7、非指令指令符:NOT 梯形图符:数据:接点号,范围同A指令。
功能:逻辑非操作,即并联一个常闭接点。
8、输出指令指令符:= 梯形图符:数据:继电器线圈号。
功能:将逻辑行的运算结果输出。
说明:当位值为1时,常开触点闭合;当位值为0时,常闭触点闭合。
四、实验步骤1、实验前,先用下载电缆将PC机串口与S7-1200-CPU226主机的PORT1端口连好,然后对实验箱通电,并打开24V电源开关。
主机和24V电源的指示灯亮,表示工作正常,可进入下一步实验。
2、进入编译调试环境,用指令符或梯形图输入下列练习程序。
3、根据程序,进行相应的连线。
可以把输出端连接到LED进行显示。
4、下载程序并运行,观察运行结果。
第三章 基本指令实验

第三章 基本指令实验§3.1 [实验3.1] 循环操作一、实验目的1. 掌握循环操作指令的运用;2. 掌握用汇编语言编写DSP 程序的方法。
二、实验设备1.一台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5416主控板;3. DSP 硬件仿真器。
三、实验原理TMS320C54x 具有丰富的程序控制与转移指令,利用这些指令可以执行分支转移、循环控制以及子程序操作。
本实验要求编写一程序完成 ∑==51i i x y 的计算。
这个求和运算可以通过一个循环操作指令BANZ 来完成。
BANZ 的功能是当辅助寄存器的值不为0时转移到指定标号执行。
例如:STM #4, AR2loop:ADD *AR3+, A BANZ loop, *AR2– ;当AR2不为零时转移到loop 行执行。
假设AR3中存有x 1到x 5五个变量的地址,则上述简单的代码就完成了这五个数的求和。
四、实验步骤1. 学习有关指令的使用方法;2. 在CCS 环境中打开本实验的工程(Ex3_1.pjt ),阅读源程序;3. 编译并重建 .out 输出文件(Rebuild All …),然后通过仿真器把执行代码(.out 的文件)下载到DSP 芯片中;4.在“end:B end”代码行设置断点(当光标置于改行时,单击工具条上的Toggle Breakpoint图标,此时该行代码左端会出现一个小红点或双击此行),单击运行;5.选择“View”->“memory”,起始地址设为“0x0060”,观察内存数值的变化。
应能看到五个加数的值及其求和值。
注意查看0X0060--0X0065单元中计算值显示的十六进制结果。
6. 停止程序的运行(单击);7.尝试改变对变量的初始赋值,或者增加或减少变量数目,重复上述3~6步过程,验证程序运行结果。
五、思考题1.总结迭代次数与循环计数器初值的关系(在本实验的代码中,用AR2作为循环计数器,设其初值为4,共执行了5次加法。
实验三指令系统实验

实验三指令系统实验一实验要求:掌握数据传送类指令、算术运算类等指令的格式和功能,注意对标志位的影响情况。
掌握指令系统,熟悉用DEBUG命令来观测指令的执行情况,加深对指令的理解。
二实验内容: 利用DEBUG汇编命令直接向内存中汇编课堂上讲过的指令。
三实验步骤:(先在纸上计算,再上机验证)1、教材68页2.11,要求学生结合上机,写出执行后的结果表和标志位的变化。
观察下列指令执行后,寄存器和内存单元的变化2、执行下列指令序列-AMOV AL,80HMOV BL,08HCBWIDIV BLINT 3则AH=_______AL=_______。
3.-E 2000:21002000:2100 00.14 00.78 00.56-AMOV AX,2000HMOV DS,AXLEA SI,[2100H] 左边程序段的二条指令执行后(SI)=________MOV BX,2100HMOV CX, [BX+1] (CX) =________ INT 34. -AMOV AX,1234HMOV BX,AXXCHG BH,BLAND BL,0FHADD AX,BXINT 3执行上述指令后,AX= , BX=5.-AMOV AX,1234HMOV BX,AXAND BX,00FFHADC AX,BXINT 3执行上述指令后,AX= , BX=6.执行下列程序段后,AX= , BX= MOV AX,0123HMOV BX,3210HPUSH AXPUSH BXPOP AXPOP BXINT 37.假设寄存器AX=1234H,DX=0A000HMOV BX, 0MOV CX, BXSUB CX, AXSBB BX, DXMOV AX, CXMOV DX, BXINT 3上述程序段执行后AX=_______ ,DX=_______(请写出上机用G或T 执行,验证结果)。
基本指令实验

基本指令实验(2学时)一、实验目的1、掌握常用基本指令的使用方法。
2、学会用基本逻辑与、或、非等指令实现基本逻辑组合电路的编程。
3、熟悉编译调试软件的使用。
二、实验内容SIEMENS S7-200系列可编程序控制器的常用基本指令有10条。
本次实验进行常用基本指令LD、LDN、A、AN、NOT、O、ON、ALD、OLD、= 指令的编程操作训练。
先简要介绍如下:1、取指令指令符:LD 梯形图符:数据:接点号。
除了数据通道之外,PC的其余继电器号都可以。
功能:读入逻辑行(又称为支路)的第一个常开接点。
2、取反指令指令符:LDN 梯形图符:数据:同LD指令功能:读入逻辑行的第一个常闭接点。
在梯形图中,每一逻辑行必须以接点开始,所以必须使用LD或LDN指令。
此外,这条指令还用于电路块中每一支路的开始,或分支点后分支电路的起始,并与其它一此指令配合使用。
3、与指令指令符:A 梯形图符:数据:接点号。
功能:逻辑与操作,即串联一个常开接点。
4、与非指令指令符:AN 梯形图符:数据:接点号,同A指令。
功能:逻辑与非操作,即串联一个常闭接点。
5、或指令指令符:O 梯形图符:数据:接点号,范围同A指令。
功能:逻辑或操作,即并联一个常开接点。
6、或非指令指令符:ON 梯形图符:数据:接点号,范围同A指令。
功能:逻辑或非操作,即并联一个常闭接点。
7、非指令指令符:NOT 梯形图符:数据:接点号,范围同A指令。
功能:逻辑或非操作,即并联一个常闭接点。
8、输出指令指令符:= 梯形图符:数据:继电器线圈号。
功能:将逻辑行的运算结果输出。
9、电路块与指令指令符:ALD 梯形图符:无数据:无功能:将两个电路块串联起来。
10、电路块或指令指令符:OLD 梯形图符:无数据:无功能:将两个电路块并联起来。
说明:LD、A、O:称为常开触点指令;LDN、AN、ON:称为常闭触点指令;当位值为1时,常开触点闭合;当位值为0时,常闭触点闭合。
三、实验步骤1、实验前,先用下载电缆将PC机串口与S7-200-CPU226CN主机的PORT1端口连好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 基本指令实验§3.1 [实验3.1] 循环操作一、实验目的1. 掌握循环操作指令的运用;2. 掌握用汇编语言编写DSP 程序的方法。
二、实验设备1.一台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5416主控板;3. DSP 硬件仿真器。
三、实验原理TMS320C54x 具有丰富的程序控制与转移指令,利用这些指令可以执行分支转移、循环控制以及子程序操作。
本实验要求编写一程序完成 ∑==51i i x y 的计算。
这个求和运算可以通过一个循环操作指令BANZ 来完成。
BANZ 的功能是当辅助寄存器的值不为0时转移到指定标号执行。
例如:STM #4, AR2loop:ADD *AR3+, A BANZ loop, *AR2– ;当AR2不为零时转移到loop 行执行。
假设AR3中存有x 1到x 5五个变量的地址,则上述简单的代码就完成了这五个数的求和。
四、实验步骤1. 学习有关指令的使用方法;2. 在CCS 环境中打开本实验的工程(Ex3_1.pjt ),阅读源程序;3. 编译并重建 .out 输出文件(Rebuild All …),然后通过仿真器把执行代码(.out 的文件)下载到DSP 芯片中;4.在“end:B end”代码行设置断点(当光标置于改行时,单击工具条上的Toggle Breakpoint图标,此时该行代码左端会出现一个小红点或双击此行),单击运行;5.选择“View”->“memory”,起始地址设为“0x0060”,观察内存数值的变化。
应能看到五个加数的值及其求和值。
注意查看0X0060--0X0065单元中计算值显示的十六进制结果。
6. 停止程序的运行(单击);7.尝试改变对变量的初始赋值,或者增加或减少变量数目,重复上述3~6步过程,验证程序运行结果。
五、思考题1.总结迭代次数与循环计数器初值的关系(在本实验的代码中,用AR2作为循环计数器,设其初值为4,共执行了5次加法。
);2.学习其它转移指令。
§3.2 [实验3.2] 双操作数乘法一、实验目的1. 掌握TMS320C54x 中的双操作数指令;2. 掌握用汇编语言编写DSP 程序的方法。
二、实验设备1.一台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5416主控板;3. DSP 硬件仿真器。
三、实验原理TMS320C54x片内的多总线结构,允许在一个机器周期内通过两个16位数据总线(C 总线和D 总线)寻址两个数据和系数。
双操作数指令是用间接寻址方式获得操作数的,并且只能用AR2到AR5的辅助寄存器。
双操作数指令占用较少的程序空间,而获得更快的运行速度。
现举一例说明双操作数指令的用法。
试求y=mx+b ,则用单操作数指令的代码应该如下:LD @m, TMPY @x, A ; 单操作数乘法指令ADD @b, A STL A, @y 若用双操作数乘法指令则改为:STM @m, AR2STM @x, AR3MPY *AR2, *AR3, A ; 双操作数乘法指令ADD @b, A STL A, @y表面上从代码的行数来看,用双操作数乘法指令似乎没有什么显著优势,但是双操作数指令可以节省机器周期,这在某些迭代运算过程中是十分有用的;迭代次数越多,节省的机器时间越多。
本实验要计算的乘法累加∑==101i i i x a z 就是双操作数指令的一种应用场合。
四、实验步骤1. 学习有关双操作数乘法指令的使用方法;2. 在CCS 环境中打开本实验的工程(Ex3_2.pjt ),阅读源程序;3.编译并重建.out 输出文件,然后通过仿真器把执行代码(.out的文件)下载到DSP芯片中;4.在“end:B end”代码行设置断点(或双击此行便可完成断点设制),单击运行;5.选择“View”->“memory”,起始地址设为“0x0060”,观察内存数值a,x和z的变化。
注意查看0X0060--0X0075单元中计算值显示的十六进制结果。
6. 停止程序的运行(单击);7.改变对变量a i和x i的初始赋值,重复上述过程,验证程序运行结果。
五、思考题1.试用单操作数指令完成上述计算;2.学习其它双操作数指令。
§3.3 [实验3.3] 并行运算一、实验目的1.掌握TMS320C54x中的并行运算指令;2.掌握用汇编语言编写DSP程序的方法。
二、实验设备1.一台装有CCS软件的计算机;2. DSP实验箱的TMS320C5416主控板;3. DSP硬件仿真器。
三、实验原理TMS320C54x片内有1条程序总线,3条数据总线和4条地址总线。
这3条数据总线(CB、DB和EB)将内部各单元连接在一起。
其中,CB和DB总线传送从数据存储器读出的操作数,EB总线传送写到存储器中的数据。
并行运算就是同时利用D总线和E总线。
其中,D总线用来执行加载或算术运算,E总线用来存放先前的结果。
并行指令有并行加载和乘法指令,并行加载和存储指令,并行存储和乘法指令,以及并行存储和加/减法指令4种。
所有并行指令都是单字单周期指令。
并行运算时存储的是前面的运算结果,存储之后再进行加载或算术运算。
这些指令都工作在累加器的高位,且大多数并行运算指令都受ASM(累加器移位方式位)影响。
现举一个并行指令为例:ST src, Ymem ; Ymem = src << (ASM-16)|| LD Xmem, dst ; dst = Xmem <<16这个并行加载和存储指令实现了存储ACC和加载累加器并行执行。
其它的并行指令请读者查阅相关资料。
本实验中要求用并行运算指令编写程序完成z = x + y和f = e + d的计算。
四、实验步骤1.学习有关并行指令的使用方法;2.在CCS环境中打开本实验的工程(Ex3_3.pjt),阅读源代码Ex3_3.asm;3.编译并重建.out 输出文件,然后通过仿真器把执行代码(.out的文件)下载到DSP芯片中;4.单击运行;5.选择“View”->“memory”,起始地址设为“0x0060”,观察内存数值的变化。
应能看到z=x+y和f=d+e的结果。
注意查看0X0060--0X0065单元中计算值显示的十六进制结果。
6. 停止程序的运行(单击);7.尝试改变对变量x, y, d和e的初始赋值,重复上述过程,验证程序运行结果。
五、思考题1.学习其它并行指令,理解其工作原理。
§3.4 [实验3.4] 小数运算一、实验目的1. 掌握TMS320C54x 中小数的表示和处理方法;2. 掌握用汇编语言编写DSP 程序的方法。
二、实验设备1.一台装有CCS 软件的计算机;2. DSP 实验箱的TMS320C5416主控板;3. DSP 硬件仿真器。
三、实验原理两个16位整数相乘,乘积总是“向左增长”,这意味着多次相乘后乘积将会很快超出定点器件的数据范围。
而且要将32位乘积保存到数据存储器,就要开销2个机器周期以及2个字的程序和RAM 单元;并且,由于乘法器都是16位相乘,因此很难在后续的递推运算中,将32位乘积作为乘法器的输入。
然而,小数相乘,乘积总是“向右增长”,这就使得超出定点器件数据范围的是我们不太感兴趣的部分。
在小数乘法下,既可以存储32位乘积,也可以存储高16位乘积,这就允许用较少的资源保存结果,也便于用于递推运算中。
这就是为什么定点DSP 芯片都采用小数乘法的原因。
小数的表示方法: TMS320C54x 采用2的补码表示小数,其最高位为符号位,数值范围为 (–1~1)。
一个十进制小数(绝对值)乘以32768后,再将其十进制整数部分转换成十六进制数,就能得到这个十进制小数的2的补码表示,例如:0.5乘以32768得16384,再转换成十六进制就得到4000H ,这就是0.5的补码表示形式。
在汇编语言程序中,由于不能直接写入十进制小数,因此如果要定义一个小数0.707,则应该写成word 32768*707/1000,而不能写成32768*0.707。
在进行小数乘法时,应事先设置状态寄存器ST1中的FRCT 位(小数方式位)为“1”,这样,在乘法器将结果传送至累加器时就能自动地左移1位,从而自动消除两个带符号数相乘时产生的冗余符号位。
使用的语句是SSBX FRCT 在本实验中,要求编写程序完成 ∑==41i i i x a y 的计算,其中的数据均为小数: a1=0.1 a2=0.2 a3=–0.3 a4=0.2x1=0.8 x2=0.6 x3=–0.4 x4=–0.2注意源代码中小数的表示。
四、实验步骤1.在CCS环境中打开本实验的工程(Ex3_4.pjt),阅读源代码Ex3_4.asm;2.编译并重建.out 输出文件,然后通过仿真器把执行代码(.out的文件)下载到DSP芯片中;3.单击运行;4.选择“View”->“memory”,起始地址设为“0x0060”,观察内存数值的变化。
注意查看0X0060--0X0068单元中计算值显示的十六进制结果。
其中计算结果为y=0.24=1EB7H;5. 停止程序的运行(单击);6.尝试改变变量的赋值,重复上述过程,验证程序运行结果。
五、思考题a)以375⨯为例分析两个带符号数相乘时的冗余符号位是如何产生的,理解为什么要设5.0-.0定FRCT(小数)位。
(注解: 冗余符号位是两个代符号数相乘时存储器自动留出符号位的空间因此而产生;设置FRCT 是为了减去多出来的一个符号位.)§3.5 [实验3.5] 长字运算一、实验目的1.掌握TMS320C54x中的长字指令;2.掌握用汇编语言编写DSP程序的方法。
二、实验设备1.一台装有CCS软件的计算机;2. DSP实验箱的TMS320C5416主控板;3. DSP硬件仿真器。
三、实验原理TMS320C54x可以利用32位的长操作数进行长字运算。
长字指令如下:DLD Lmem, dstDST src, LmemDADD Lmem, src [,dst]DSUB Lmem, src [,dst]DRSUB Lmem, src [,dst]除了DST指令外,都是单字单周期指令,也就是在单个周期内同时利用C总线和D总线得到32位操作数。
DST指令存储32位数要用E总线2次,因此需要2个机器周期。
长操作数指令中的一个重要问题是,高16位和低16位操作数在存储器中如何排列。
一般情况下,高16位操作数放在存储器中的低地址单元,低16位操作数放在存储器中的高地址单元。
例如一个长操作数16782345H,它在存储器中的存入方式是:(0060H)=1678H(高字),(0061H)=2345H(低字)。