微程序控制器实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组成原理No.4实验---

微程序控制器实验

组员:

组号:21号

时间:周二5、6节

【实验目的】

(1)掌握时序发生器的组成原理。

(2)掌握微程序控制器的组成原理。

(3)掌握微程序的编制、写入、观察微程序的运行情况

【实验设备】

TDN-CM++,

【实验原理】

微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器。

实验所用的时序控制电路框图如图1所示,

可产生四个等间隔的时序信号TS1~TS4。在

图1中,∅为时钟信号,由实验台左上方的

方波信号源提供,可产生频率及脉宽可调额

方波信号;STEP是来自实验板上方中部的

一个二进制开关STEP的模拟信号;START

键是来自实验板上方左部的一个微动开关

START的按键信号。当STEP开关为EXEC

时序信号TS1~TS4将周而复始地发送出去。当STEP为STEP(1)时,按下START 启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机了。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,如果STEP开关置“STEP”,会使机器停机,CLR开关执行1→0→1操作可以使时序清零。时序状态图如下图所示。

由于时序电路的内部线路已经连好,因此只需将时序电路与方波信号源连接,即将时序电路的时钟脉冲输入端∅接至方波信号发生器输入端H23上,按动启动键START后,就可产生时序信号TS1~TS4.时序电路的CLR已接至CLR模拟开关上。

编程开关具有三种状态:PROM(编程)、READ(校验)和RUN(运行)。

微指令格式如下:

【实验步骤】

(一)机器指令对应的参考微程序流程图,如下图

将全部微程序指令格式变成二进制代码,可得到如下图所示的二进制代码表。

(二)连接电路图:按照下图所示连接实验电路图。

(3)观察时序信号

观察方波信号源的输出端H23,调节电位器W1,使输出波形的频率最慢。将时序电路中的“STOP”开关置为“RUN”,“STEP”开关置为“EXEC”。按动START 键,测量TS1~TS4各点的波形,比较他们的相互关系,画出波形,并标注测量所得的脉冲宽度,见下图:

注:其中TS2~TS4的高电平宽度所测结果与TS1的相同,在图中未标注。

(四)实际操作

①编程:

将编程开关置为PROM(编程状态)。

将“STATE UNIT”单元中的STEP开关置为“STEP”,STOP开关置为“RUN”状态。用二进制模拟开关置微地址UA5~UA0。

在MK24~MK1开关上置微代码,置0显示灯亮,置1灭。

按动START键,则将微代码写入到对应的地址单元中。

重复后三步操作,将需要的微代码写入到芯片中。

②校验:

将编程开关READ(校验)状态。

将“STATE UNIT”单元中的STEP开关置为“STEP”,STOP开关置为“RUN”状态。用二进制开关置好微地址UA5~UA0。按动START键,读出微代码,观察显示灯的状态是否与写入的相同。若不同,则编写错误,重新编程。

③单步运行:

将编程开关置于“RUN(运行)”状态。

将“STATE UNIT”单元中的STEP开关置为“STEP”,STOP开关置为“RUN”状态。使CLR开关从1→0→1,此时微地址寄存器MA5-MA0清“0”,从而给出运行微指令的入口地址为000000(二进制)。按动START键,启动时序电路,则每按动一次,读出一条微指令后停机,微地址显示灯和微命令显示灯将显示所读出的一条指令。

④强置运行:

通过UA5~UA0端口人为置分支地址,试验中置微地址为001010(12)

⑤连续运行:

将编程开关置于“RUN(运行)”状态。

将单步开关“STEP”置为“EXEC”状态。

使CLR开关从1→0→1,此时微地址寄存器清“0”,从而给出运行微指令的入口地址为000000(二进制)。

按动START键,则可连续读出微指令。

【实验结果】

实验中所置微地址为001010(12),连续运行后,就得出连续的000111(07)和001101(15)。可知操作正确。

【问题分析】

相关文档
最新文档