微程序控制器实验Word格式文档下载.docx

上传人:b****6 文档编号:17446448 上传时间:2022-12-01 格式:DOCX 页数:9 大小:115.55KB
下载 相关 举报
微程序控制器实验Word格式文档下载.docx_第1页
第1页 / 共9页
微程序控制器实验Word格式文档下载.docx_第2页
第2页 / 共9页
微程序控制器实验Word格式文档下载.docx_第3页
第3页 / 共9页
微程序控制器实验Word格式文档下载.docx_第4页
第4页 / 共9页
微程序控制器实验Word格式文档下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

微程序控制器实验Word格式文档下载.docx

《微程序控制器实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微程序控制器实验Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。

微程序控制器实验Word格式文档下载.docx

3.设计并修改电路,编写用微程序实现存储器中两个单字节十六进制数的加法运算,结果输出至0U单元。

三、项目要求及分析:

要求:

操作数由IN单元输入至MEM在由ME中读出操作数并在ALL中运算。

四、具体实现:

1.按图1-3-10所示连接实验线路,仔细查线无误后接通电源。

如果有‘滴’报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。

图1-3-10实验接线图

2.对微控器进行读写操作,分两种情况:

手动读写和联机读写。

1)手动读写

进行手动读或是写,都需要手动给出地址,系统专门安排了一个ADDF单元,做为

地址输入。

ADDF单元原理如图1-3-11所示,可以看出本单元实为一个加减计数器。

当开关为’加1'

档时,在T2的下沿计数器进行加1计数,当开关为’减1'

档时,在T2的下沿计数器进行减1计数,当开关置为‘置数’档时,计数器置初值,其作用相当于直通,SA7-SA0的输出值就是二进制开关组的值。

在实验中选择什么档位,取决于写入数据的地址是否连续,如果是连续地址,选择

'

加1'

或是’减1'

档会方便一些。

如果是离散地址,选择‘置数’档会方便一些。

控制

开关

aat^

SA7...SAO

8位二进制开关

图1-3-11ADDR单元原理图

(1)手动对微控器进行编程(写)

1按图1-3-12接好线(部分实验接线被改变,手动读写微控器完成后应予恢复)

图1-3-12手动读写微控器接线图

2将MC单元编程开关置为‘编程’档,时序单元状态开关置为‘单步’档,ADDR

单元状态开关置为‘置数’档

3使用ADDR单元的低6位SA5-SA0给出微地址MA5…MA0微地址可以通过MC单元的MA5…MA0微地址灯显示。

4CON单元SD27-SD20SD17-SD10SD07-SD00开关上置24位微代码,待写入值由MC单元的M23…M0二十四位LED灯显示。

5启动时序电路(按动一次TS按钮),即将微代码写入到EPROM2816的相应地址对应的单元中。

6重复③、④、⑤三步,将表1-3-2的微代码写入2816芯片中。

(2)手动对微控器进行校验(读)

1接线方法和编程一样。

2将MC单元编程开关置为‘校验’档,时序单元状态开关置为‘单步’档,ADDR单元状态开关置为‘置数’档。

3使用ADDR单元的低6位SA5-SA0给出微地址MA5…MA0微地址可以通过MC单

元的MA5…MA0微地址灯显示。

相应地址单元的数据将会被读出,并在MC单元的

M23…M0

二十四位LED灯显示。

重复本步,检查2816芯片中相应地址单元的数据是否和表1-3-2中的二进制数据相同,如果不同,则说明写入操作失败,应重新写入。

2)联机读写

(1)将微程序写入文件

联机软件提供了微程序下载功能,以代替手动读写微控器,但微程序得以指定的格式写入到以TXT为后缀的文件中,微程序的格式如下:

注意,$MXXXXXXX之间间隔必须为四个空格,不能用TAB键

微指令格式说明:

SMXXXXXXXX

微指令代码十六进制地址

微抬令标志

如$M1F112233,表示微指令的地址为仆H微指令值为11H(高)、22H(中)、33H(低),本次实验的微程序如下,其中分号’;

’为注释符,分号后面的内容在下载时将被忽略掉。

***************************************

//

微控器实验指令文件//

//****************************************//;

//*******StartOfMicroControllerData********//

$M00000001

;

NOP

$M01007070

CON(INS)->

IR,P<

1>

$M04002405

R0->

B

$M0504B201

A加B->

R0

$M30001404

A

$M32183001

IN->

$M33280401

OUT

$M35000035

//*******EndOfMicroControllerData********//

(2)写入微程序

用联机软件的“【转储】—【装载】”功能将该格式(*.TXT)文件装载入实验系统。

装入过程中,在软件的输出区的‘结果'

栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。

(3)校验微程序选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示。

检查微控器相应地址单元的数据是否和表1-3-2中的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的‘微存'

TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。

3.运行微程序

运行时也分两种情况:

本机运行和联机运行。

1)本机运行

1将MC单元的编程开关置为’运行’档,MEM单元的编程开关也置为’运行’档,按动CON单元的CLR按钮,将微地址寄存器(MAR清零,同时也将指令寄存器(IR)、ALL单元的暂存器A和暂存器B清零。

2将时序单元的状态开关置为‘单拍'

档,然后按动TS按钮,体会系统在T1和T2节拍中各做的工作。

T1节拍微控器将后续微地址(下条执行的微指令的地址)打入微地址寄存器,当前微指令打入微指令寄存器,并产生执行部件相应的控制信号;

T2节拍根据T1节拍产生的控制信号做出相应的执行动作,如果测试位有效,还要根据机器指令及当前微地址寄存器中的内容进行译码,使微程序转入相应的微地址入口,实现微程序的分支。

3按动CON单元的CLR按钮,清零微地址寄存器(MAR等,并将时序单元的状态开

关置为‘单步'

档。

4置IN单元数据为,按动TS按钮,当MC单元后续微地址显示为000001时,在CON单元的SD27-SD20模拟给出IN指令00100000并继续单步执行,当MC单元后续微地址显示为000001时,说明当前指令已执行完;

在CON单元的SD27-SD20给出ADD指令,该指令将会在下个T2被打入指令寄存器(IR),它将R0中的数据和其自身相加后送R0;

接下来在CON单元的SD27-SD20给出OUT指令00110000并继续单步执行,在MC单元后续微地址显示为000001时,观查OUT单元的显示值是否为。

2)联机运行联机运行时,进入软件界面,在菜单上选择【实验】-【微控器实验】,打开本实验的数据通路图,也可以通过工具栏上的下拉框打开数据通路图,数据通路图如图1-3-8所示。

将MC单元的编程开关置为‘运行’档,MEM单元的编程开关也置为‘运行’档,按动CON单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR为000001时,置CON单元SD27-SD20,产生相应的机器指令,该指令将会在下个T2被打入指令寄存器(IR),在后面的节拍中将执行这条机器指令。

仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。

也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。

按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确

思考题:

1画出指令系统修改后微程序流程图

2.编写微程序,指令如下:

$M00000001;

$M01007070;

IR,P<

$M30186004;

AR

$M04103005;

MEM->

$M05001406;

$M06186007;

$M07103008;

$M08002409;

RO->

$M0904B201;

A+B->

$M3218600A;

$M0A18300B;

IN->

$M0B200401;

MEM

$M35000035;

$M33280401;

3.机器指令验证程序

$P0000

$P0110

$P0220

$P03FF

$P04FF

$P05DF

$P06FF

$P07FF

$P08BF

$P09FF

$P0A5F

$P0BFF

$P0CFF

$P0DFF

$P0EFF

$P0FFF

$P1010

4.联机装入调试

五、调试运行结果:

我们所给ME中数据为00100011,R0中数据为00100011,最终结果正确,为

01000110。

六、所遇问题及解决方法:

1.连线中出现问题,通过请教老师、同学得以解决。

2.实验中,实验箱接触不良,通过排查解决。

3.对实验中所用软件不是十分熟悉,通过请教同学才得以解决。

七、实验总结:

1.通过本次实验我掌握了微程序控制器的功能、组成知识,掌握了指令格式和各字

段功能,掌握了微程序的编制、写入、观察微程序的运行,学习了基本指令的执行流程。

2.通过实验,我对控制器有了更为深刻的认识,加深了其工作中数据流的去向认识。

3.做实验前应该适当预习一下,这样子会知其所以然,顺利很多,同时,做实验需要持之以恒的恒心、信心与耐心,一定要认真、细心,特别微小的错误都有可能导致实验的失败,并且必须弄清楚每一步实验的原理和所需要的知识点。

4.遇到问题,要寻找解决问题的方法,做事情一定要懂原理才行,这样才可以有速度完成实验。

八、建议:

1.实验之前尽可能带领我们熟悉本次试验的基本流程,不仅仅是理论知识的讲解;

2.实验之前向大家讲解本次试验的注意事项,以免我们犯不必要的错误;

3.如果可能,尽量带领我们熟悉实验操作,避免我们做实验时不知如何下手。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1