实验四:输入输出实验
单片机实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
实验四 P口输入、输出

4、编程完成:发光二极管循环显示二进制数00H至0FFH。 、编程完成:发光二极管循环显示二进制数 至 。
LED EQU 01H ORG 0 MOV A,#LED LOOP: MOV p1,A CALL DELAY INC A LJMP LOOP DELAY: MOV R6,#0 MOV R7,#0 DLLOOP: DJNZ R6,$ DJNZ R7,DLLOOP RET END
假设赋值给A为类似 的数据, 假设赋值给 为类似1BH、0AEH的数据,编程,利用查表功 为类似 、 的数据 编程, 能将高低半字节分别转换为ASCII码,存放在地址为30H、31H 能将高低半字节分别转换为 码 存放在地址为 、 数据区。 的值, 的RAM数据区。修改程序中给累加器 的值,重复实验,观察 数据区 修改程序中给累加器A的值 重复实验, 实验结果。 实验结果。 RESULT EQU 03H MOV A,B ORG 0 ANL A,#0FH LJMP START MOVC A,@A+DPTR ASCIITAB: MOV RESULT+1,A DB '0123456789ABCDEF' RET BINTOHEX: START: MOV DPTR,#ASCIITAB MOV SP,#40H MOV B,A MOV A,#1AH SWAP A CALL BINTOHEX ANL A,#0FH LJMP $ MOVC A,@A+DPTR END MOV RESULT,A
三、实验内容 1、⑴ 按图连接线路:P1.0—P1.7用插针连 、 按图连ห้องสมุดไป่ตู้线路: 用插针连 至L0-L7; ; 在闪动“ 状态 状态, ⑵ 在闪动“P.”状态,按PCDBG键; 键 双击DVCC图标,启动 图标, ⑶ 双击 图标 启动DVCC; ; 在系统设置选项中设定仿真模式为内程序、 ⑷ 在系统设置选项中设定仿真模式为内程序、 内数据; 内数据; 在主菜单中选择联接; ⑸ 在主菜单中选择联接; 新建文件,编辑实验源程序(1)和 ⑹ 新建文件,编辑实验源程序 和(2)(见附 见附 录),验证“八位逻辑电平显示”电路中的 ,验证“八位逻辑电平显示” 发光二极管的连接是共阴极还是共阳极。 发光二极管的连接是共阴极还是共阳极。
《C语言程序设计》实验设计习题答案

《C语言程序设计》实验设计习题答案C语言程序设计是计算机专业的一门基础课程,通过实验设计习题可以帮助学生巩固所学的C语言知识,并提升编程能力。
本文将为您提供《C语言程序设计》实验设计习题的答案,以帮助您更好地理解和掌握相关知识。
实验一:基本输入输出实验题目描述:请编写一个程序,实现输入两个整数并输出其和与积。
```c#include<stdio.h>int main(){int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;int product = num1 * num2;printf("和:%d\n", sum);printf("积:%d\n", product);return 0;```实验二:判断奇偶数实验题目描述:请编写一个程序,实现判断输入整数是奇数还是偶数的功能,并输出结果。
```c#include<stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0){printf("%d为偶数\n", num);}else{printf("%d为奇数\n", num);return 0;}```实验三:求和实验题目描述:请编写一个程序,实现输入n个整数并输出其和。
```c#include<stdio.h>int main(){int n, num;int sum = 0;printf("请输入整数的个数:");scanf("%d", &n);for(int i = 0; i < n; i++){printf("请输入第%d个整数:", i+1);scanf("%d", &num);sum += num;printf("和:%d\n", sum);return 0;}```实验四:阶乘实验题目描述:请编写一个程序,实现输入一个整数并输出其阶乘。
plc实验报告总结

plc实验报告总结近年来,工业自动化技术飞速发展,PLC(可编程控制器)也成为现代化生产领域不可或缺的设备之一。
在学习PLC时,我们进行了一系列实验,以下是本人对PLC实验的总结。
实验一:PLC硬件配置在这个实验中,我们学会了PLC的硬件配置和连接步骤。
我们用编程器连接PLC并将程序下载到PLC中。
这个实验直观地介绍了PLC的硬件构成和基本配置方法。
实验二:PLC基础操作这个实验教给我们PLC的基础操作,如如何创建程序,如何将输入/输出模块配置到PLC中,并编写程序将输入信号转换为输出信号。
这个实验让我们了解了PLC的基本功能和使用方法。
实验三:PLC计数器和定时器在这个实验中,我们学会了如何编程使用PLC的计数器和定时器。
我们能够利用计数器和定时器来控制输出电路和操作电机。
这个实验让我们明白了如何利用PLC控制多个输出和设备。
实验四:PLC组态软件和模拟仿真本次实验是在模拟环境中使用PLC。
我们用Simatic S7组态软件将我们的PLC机器仿真,观察程序的运作情况。
这个实验允许我们将PLC程序提前测试并进行模拟。
实验五:PLC通信在这个实验中,我们使用S7协议进行PLC通信。
我们了解了基本的通信协议,如何建立连接,如何在不同硬件设备之间传输数据。
这个实验展示了现实世界中PLC通信的应用。
PLC的应用范围非常广泛, 包括制造业,交通运输,电力建设等。
在现代制造设备中,几乎所有的电子控制系统都与PLC有关。
PLC逐渐取代了真空管、继电器和计时器等设备,成为可编程控制系统的主要顶替者之一。
总之,通过PLC的实践经验,我了解到PLC对于自动化控制是非常重要的。
它可以高效地控制机器人、传送带等设备,并且具有可编程、可靠、操作简便等优点。
PLC不仅提高了设备的生产效率和质量,而且缩短了制造周期,节省了成本。
我相信,在未来几年内,PLC将在更广泛的自动化控制领域发挥更为广泛和重要的作用。
电子电路实验四 实验报告

实验四波形发生电路实验报告一、理论计算1.正弦振荡电路实验电路如图1所示,电源电压为±12V。
分析图1电路的工作原理,根据图中的元件参数,计算符合振荡条件的Rw值以及振荡频率f0。
该正弦振荡电路采用RC串并联选频网络,选频网络的示意图如下:当输入信号的频率足够低时,,超前,且当频率趋近于零时,相位超前趋近于+90°;当输入信号的频率足够高时,,滞后,且当频率趋近于无穷大时,相位滞后趋近于-90°。
因此,当信号频率从零逐渐变化到无穷大时,的相位将从+90°逐渐变化到-90°,故必定存在一个频率f0,当f= f0时,与同相。
RC串并联选频网络的反馈系数整理可得令,则代入上式,得出当f=f0时,,由正弦振荡电路的起振条件知,。
对于图1的正弦振荡电路,有将R3、R4代入上式,令之大于3,得Rw>10kΩ。
将R1=R2=16kΩ、C1=C2=0.01μF代入f0式,得f0=994.7Hz。
2.多谐振荡电路实验电路如图2所示。
深入分析图2所示电路的工作原理,画出Vo1、Vo2的波形,推导Vo1、Vo2波形的周期(频率)和幅度的计算公式。
再按图2中给出的元件参数计算Vo1、Vo2波形的周期(频率)、幅度,以备与实验实测值进行比较。
该电路为三角波发生电路,原理图如下:虚线左边为滞回电路,故Vo1为方波。
根据叠加原理,集成运放A1同相输入端的电位令,则阈值电压对于虚线右边的积分电路,其输入电压不是+U Z,就是-U Z,故积分电路的输出电压的波形为三角波。
设输出电压的初始值为-U T,终了值为+U T,则可解得T为矩形波、三角波共同的周期。
矩形波的幅度的理论值即为UZ,等于6V;将实验电路图中的各个参数代入各式,得UT=0.5*6=3V,故三角波的幅度理论值为3V,矩形波、三角波的周期 。
3.锯齿波发生电路锯齿波发生电路的原理图见仿真实验电路图。
设二极管导通时的等效电阻可忽略不计,当u o1=+U Z时,D3导通,D4截止,输出电压的表达式为uo随时间线性下降。
实验四 三态门逻辑功能测试

实验四三态门逻辑功能测试班级:计科三班学号:20100810323 姓名:夏雪一、实验准备(老师指导)1.测试5M脉冲信号能否使用将5M的脉冲信号加在实验箱上,输出显示在示波器上。
2.认识三态门的管脚记住三态门的管脚分配情况,便于实验进行:1使能,2输入,3输出;4使能,5输入,6输出;7接地;8使能,9输入,10输出;11使能,12输入,13输出;14接电源。
3.示波器中信号的合并一般示波器中波形的显示为信号与实间的关系,即为X—T(Y—T)关系图,如果要将示波器上两信号合并,则将显示选项改为X—Y。
4.对延迟时间的理解延迟时间的测试要用到示波器的延迟扫描,对波形展开放大后,观察波形上升点与下降点,上升10%开始记为上升时间,下降10%开始记为下降时间。
二、实验内容1.测试三态门的逻辑功能并测输入输出电压(静态测试);2.测试三态门的传输特性,输入端接在CP端;3.测三态门的传输延迟;4.输入端接入函数发生器的三角波(最小值为0V,最大值不超过5V),将输入输出信号显示在示波器上,并将两信号合并;三、实验条件实验箱,74LS125芯片,导线,示波器,信号发生器,万用表四、实验电路1.测三态门的逻辑功能并测输入输出电压2.测三态门的传输特性(输入信号为实验箱内的CP)3.传输延迟4.信号合成CP5MHZ五、实验结果及结论1.三态门的逻辑功能测试使能端1和输入端2接逻辑信号,按下灯亮表示输入信号为高电平1,未按下灯不亮表示输入信号为低电平0,输出3接在发光二级管上,发光为黄色表示输出信号为低电平,为红色表示输出信号为高电平输入的逻辑信号为00,输出信号灯不亮(实验中为发光二极管,显示为黄色),表示输出为低电平,即为0。
输入端2的输入电压为0V,输出3电压为24.6mV。
输入的逻辑信号为01,输出信号灯亮(实验中为发光二极管,显示为红色),表示输出为高电平,即为1。
输入端2的输入电压为4.98V,输出电压3为4.99V。
华工计组实验报告

实验名称:计算机组成原理实验实验目的:1. 理解计算机组成原理的基本概念和原理。
2. 掌握计算机各个组成部件的功能和相互关系。
3. 通过实验加深对计算机组成原理的理解和应用。
实验时间:2023年X月X日实验地点:计算机实验室实验器材:1. 计算机组成原理实验箱2. 计算机组成原理实验指导书3. 计算器4. 计算机组成原理实验数据记录表实验内容:一、实验一:计算机硬件系统结构1. 实验目的:了解计算机硬件系统的基本结构,包括中央处理器(CPU)、存储器、输入输出设备等。
2. 实验步骤:(1)观察实验箱的硬件组成,识别各个硬件部件。
(2)了解各个硬件部件的功能和相互关系。
(3)记录实验数据。
3. 实验结果与分析:实验结果显示,计算机硬件系统主要由CPU、存储器、输入输出设备等组成。
CPU负责处理数据,存储器负责存储数据,输入输出设备负责与用户进行交互。
二、实验二:CPU工作原理1. 实验目的:了解CPU的工作原理,包括指令周期、时钟周期、数据通路等。
2. 实验步骤:(1)观察实验箱的CPU模块,识别各个部件。
(2)了解CPU各个部件的功能和相互关系。
(3)进行指令周期和时钟周期的实验,记录实验数据。
3. 实验结果与分析:实验结果显示,CPU的工作原理包括指令周期和时钟周期。
指令周期是指执行一条指令所需的时间,时钟周期是指CPU中时钟信号的周期。
实验数据表明,CPU通过数据通路进行指令的执行,完成数据处理。
三、实验三:存储器工作原理1. 实验目的:了解存储器的工作原理,包括随机存储器(RAM)、只读存储器(ROM)等。
2. 实验步骤:(1)观察实验箱的存储器模块,识别各个存储器。
(2)了解存储器的功能和特点。
(3)进行存储器读写实验,记录实验数据。
3. 实验结果与分析:实验结果显示,存储器包括RAM和ROM。
RAM具有读写功能,而ROM只能读。
实验数据表明,存储器通过地址译码器进行寻址,实现数据的读写。
C语言_实验四、函数程序设计

实验四函数一、实验目的1.掌握函数的定义、函数的说明和调用。
2.掌握函数的参数及其传递方式,函数值的正确返回。
二、实验内容1.[目的]掌握标准库函数的说明和调用方法。
[题目内容]编写一个程序,首先显示一个菜单,然后根据用户的选择,输入数据后,执行相应的操作。
[输入]用户选择和函数自变量值[输出]如下菜单:=======MENU======1.。
sin2.。
cos3.。
pow4.。
sqrt0.。
exit==================[提示]使用标准库函数、多分支选择结构。
2.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1 。
编写一个程序,从键盘输入任意10个整数,分别调用用户自定义函数来判断这10个整数的奇偶性。
[输入]任意10个整数[输出]这10个整数的奇偶性[提示]在主函数中使用循环结构输入10个整数。
根据子函数的返回值输出相应的判断结果信息。
3.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]编写一个用户自定义函数,该函数有三个整数参数,函数的功能是:求解这三个整数的最大值,函数的返回值为三个参数的最大值。
编写一个程序,从键盘输入任意5个整数,分别两次调用用户自定义函数来求出这5个整数中的最大值。
[输入]任意5个整数[输出]这5个整数的最大值[提示]先用前三个整数调用函数,求出的最大值作为参数之一,再与另两个整数一起求出最大值即为所求。
4.[目的]掌握用户自定义函数的定义、函数的说明和调用方法。
[题目内容]nA表示从m各元素中抽出n个元素的排列的个数。
它的计算公式为:m)!(!n m m A n m -=。
编写一个用户自定义函数,该函数有一个整数参数,函数的功能是:求解这个整数的阶乘,函数的返回值为这个整数的阶乘。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称:计算机组成原理实验项目:输入输出实验姓名:李翠超专业:计算机科学与技术班级:计算机6班学号:1609040307计算机科学与技术学院实验教学中心2017年12 月13 日实验项目名称:输入输出实验一、实验目的1、掌握计算机的I/O端口原理,注意实践观察2、掌握程序编制及指令格式二、实验内容1、移位实验2、数据传送实验/输入输出实验三、实验原理及接线1、COP2000 中有7 个寄存器可以向数据总线输出数据, 但在某一特定时刻只能有一个寄存器输出数据. 由X2,X1,X0 决定那一个寄存器输出数据.图1 数据输出选择器原理图表1 连接线表置下表的控制信号, 检验输出结果2、移位实验ALU直接输出和零标志位产生原理图ALU左移输出原理图ALU右移输出原理图直通门将运算器的结果不移位送总线。
当X2X1X0=100时运算器结果通过直通门送到数据总线。
同时,直通门上还有判0电路,当运算器的结果为全0时,Z=1右移门将运算器的结果右移一位送总线。
当X2X1X0=101时运算器结果通过右通门送到数据总线。
具体连线是:Cy与CN-->DBUS7ALU7-->DBUS6ALU6-->DBUSSALUS-->DBUS4ALU4-->DBUS3ALU3-->DBUS2ALU2-->DBUS 1ALU1-->DBUSOCy与CN-->DBUS7当不带进位移位时(CN=0):0-->DBUS7当带进位移位时(CN=1):Cy-->DBUS7左移门将运算器的结果左移一位送总线。
当X2X1X0=110时运算器结果通过左通门送到数据总线。
具体连线是:ALU6-->DBUS7ALUS-->DBUS6ALU4-->DBUSSALU3-->DBUS4ALU2-->DBUS3ALU1-->DBUS2ALUO-->DBUS 1当不带进位移位时(CN=0):0-->DBUSO当带进位移位时(CN=1):Cy-->DBUSO3、在综合实验中,模型机作为一个整体来工作的,所有微程序的控制信号由微程序存储器uM输出,而不是由开关输出。
在做综合实验之前,先用8芯电缆连接J1和J2,这样实验仪的监控系统会自动打开uM的输出允许,微程序的各控制信号就会接到各寄存器、运算器的控制端口。
此综合实验使用的指令是模型机的缺省指令/微指令系统。
等做完木综合实验,熟悉了此套指令/微指令后,用户可以自己设计的指令/微指令系统,有关自己设计指令/微指令系统的说明在下一章介绍。
在做综合实验时,可以用COP2000计算机组成原理实验软件输入、修改程序,汇编成机器码并下载到实验仪上,由软件控制程序实现单指令执行、单微指令执行、全速执行,并可以在软件上观察指令或微指令执行过程中数据的走向、各控制信号的状态、各寄存器的值。
COP2000软件的使用方法见第七章“COP2000集成开发环境使用”。
也可以用实验仪自带的小键盘和显示屏来输入、修改程序,用键盘控制单指令或单微指令执行,用LED或用显示屏观察各寄存器的值。
实验仪上的键盘使用方法见第六章“实验仪键盘使用”。
在用微程序控制方式做综合实验时,在给实验仪通电前,拔掉实验仪上所有的手工连接的接线,再用8芯电缆连接J1和J2,控制方式开关拨到“微程序控制”方向。
若想用COP2000 软件控制组成原理实验仪,就要启动软件,并用快捷图标的“设置”功能打开设置窗口,选择实验仪连接的串行口,然后再按“连接C OP2000实验仪”按钮接通到实验仪。
四、实验步骤1、将55H写入A寄存器二进制开关K23-K 16用于DBUS}}:o}的数据输入,置控制信号为:按住CLOCK脉冲键,CLOCK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A 寄存器。
放开CLOCK键,CLOCK由低变高,产生一个上升沿,数据SSH被写入A寄存器。
S2S1S0=111注意观察:移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。
但究竟把那一个结果送数据总线由X2X1X0输出选择决定。
2、数据传送实验/输入输出实验2.1在COP2000软件中的源程序窗口输入下列程序MOV A, #12HMOV A, R0MOV A, @R0MOV A, 01HINOUTEND2.2将程序另存为EXI.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令。
2.3按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入/输出状态,各控制信号的状态,PC及uPC如何工作。
五、实验操作步骤实验结果分析每个程序的一开始的第一条微指令一定是取指令,此微指令的值为OCBFFFFH,对应到各个控制位就是EMRD, PCOE、及工REN为低,此二位有效,其它所有位都处于无效状态。
在程序第一次运行时或复位后,uPC和PC的值都为0, PCOE有效将PC值送到ABUS,做为程序存储器EM的地址,EMRD信号有效就是从程序存储器EM中读出程序指令,工REN将读出的指令送到工R寄存器和uPC,此微指令的作用就是:从程序存储器EM的0地址读出程序指令机器码7CH,并存入uPC中做为微程序存储器uM的地址,从微程序存储器uM的7CH单元中读出微控制码OC7FFF7H,同时PC加1为读下一条指令或数据做准备。
MOV A, #12:木指令为两个状态周期。
在T1状态时,上次读出的指令机器码为7CH,存入uPC中做为微程序存储器uM的地址,读出微指令的值为OC7FFF7H,对应到各个控制位就是EMRD, PCOE, EMEN及AEN为低,处于有效状态,其它控制位为无效状态。
由于上条微指令(取指操作)已将PC加1,此时PCOE是将加1后的PC输出到ABUS做为程序存储器EM的地址,EMRD就是从程序存储器EM中读出数据,木指令中读出的数据应为12H } EMEN将读出的数据送到DBUS总线上,AEN是将DBUS总线上的值存入累加器A中。
同时uPC加1为执行下条微指令做准备,PC加1为读取下一条指令做准备。
每条指令的最后一条微指令一定是取指令操作,木指令的TO状态周期即为取指令,执行上一条微指令时uPC已经加1,按照此uPC为地址从微程序存储器uM读出的微指令的值为OCBFFFFH,参照第一步的说明,此微指令从程序存储器EM中读取指令。
MOV A, RO:木指令为两个状态周期。
在T1状态时,由上条取指操作取出的指令机器码为70H,存入uPC后做为微程序地址访问微程序存储器uM的70H单元,读出微指令的值为OFFF7F7,各控制位的状态为RRD, AEN为低电平为有效状态,RRD有效表示从寄存器组RO-R3中读数送到DBUS上,在上条取指令操作时,工REN将取出的指令机器码70H送入工R寄存器,而工R寄存器的最低两位是用来选择寄存器R?的,此时工R寄存器最低两位为00,被读出的寄存器为ROo AEN有效表示将DBUS的数据写到累加器A中。
同时uPC加1,为执行下条微指令做准备。
木指令的TO状态也是取指令,完成的功能是取出下一条要执行的指令机器码,并存入uP C和工R寄存器中。
MOV A, CRO:木指令为二个状态周期。
在T2状态时,由上个取指操作读出的指令机器码为74H,打入uPC后,从微程序存储器74H单元读出的微指令的值为OFF77FFH,有效的控制位为MAREN和RRD, RRD 有效表示从寄存器组RO-R3中读出数据送到DBUS, MAREN有效表示将数据从DBUS总线上打入地址寄存器MAR o uP C加1取出下条微指令执行。
在T1状态时,由uPC做为微程序存储器地址,从uM的75H单元中读出微指令的值为OD7BFF7H,其中有效的控制位为EMRD, EMEN, MAROE和AENo MAROE表示程序存储器EM的地址由地址寄存器MAR输出,EMRD表示从程序存储器EM中读出数据,EMEN表示读出的数据送到地址总线DBUS上,AEN有效表示将数据总线DBUS上的值存入累加器A中。
此状态下uP C要加1,为取下条微指令做准备。
木指令的TO状态执行的是取指操作。
取指操作详细描述见程序开始部分的取指令的说明。
MOV A, O1:木指令为二个状态周期。
在T2状态时,由上条取指操作取出的指令机器码为78H,存入uPC和工R寄存器后做为微程序存储器uM的地址,读出微指令的值为OC77FFFH,相应的有效控制位为EMRD, PCOE, EMEN和MAREN, PCOE有效表示将PC值做为程序存储器EM的地址,EMRD表示从程序存储器中读出数据,在木指令中此数据值为O1H, EMEN表示将读出的数据送到DBUS总线,MAREN表示将DBUS总线上的数据打入地址寄存器MAR o uP C同时加1}取出下条微指令准备执行。
在T1状态时,由uPC 做为微程序存储器地址,从uM的79H单元中读出微指令的值为OD7BFF7H,可以参见上条指令的T1状态,此微指令的所完成的功能是,以MAR的值做为程序存储器的地址,读出数据并送到数据总线DBUS,同时将此数据存入累加器A中。
uPC加1取出下条微指令准备执行。
在TO状态,微指令执行取指令操作。
IN:木指令分两个状态周期。
在T1状态时,由上次取指操作取出的指令机器码为OCOH,以此做为微地址从uM中取出的微指令值为OFFFFI7H,有效控制位为AEN, X2X1X0=000,因为X2, X1, XO为低,被选中的寄存器为输入端口工N,也就是说,输入端口工N上的数据被允许送到数据总线DBUS上,AEN有效表示将此数据打入累加器A中。
同时uPC加1取出下条微指令准备执行。
在TO状态,微指令执行的是取指令操作,取出下条指令准备执行。
OUT:木指令分两个状态周期。
在T1状态,由上次取出的指令机器码为OC4H,以此为微地址从微程序存储器uM中读出的微指令为OFFDF9FH,有效控制位为OUTEN, X2X1X0=100(二进制),S2S1S0=111(二进制),S2S1S0=111表示运算器做“ALU直通”运算,也就是累加器不做任何运算,直接输出结果,而X2X1X0=100表示运算器的结果不移位直接输出到数据总线DBUS, OUTEN有效表示将数据总线上的数据打入输出端口寄存器OUT内。
uPC加1}取出下条微指令准备执行。
在TO状态,微指令执行的是取指操作,取出下条将要执行的指令。