微程序控制器实验.docx

上传人:小飞机 文档编号:5286184 上传时间:2023-06-22 格式:DOCX 页数:10 大小:365.42KB
返回 下载 相关 举报
微程序控制器实验.docx_第1页
第1页 / 共10页
微程序控制器实验.docx_第2页
第2页 / 共10页
微程序控制器实验.docx_第3页
第3页 / 共10页
微程序控制器实验.docx_第4页
第4页 / 共10页
微程序控制器实验.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微程序控制器实验.docx》由会员分享,可在线阅读,更多相关《微程序控制器实验.docx(10页珍藏版)》请在三一办公上搜索。

1、3.2微程序控制器实验3.2.1实验目的(1)掌握微程序控制器的组成原理。(2)掌握微程序的编制、写入,观察微程序的运行过程。3.2.2实验设备PC机一台,TD-CMA实验系统一套。3.2.3实验原理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控 制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将 控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代 码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这 种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,

2、微程序控 制器原理框图如图3-2-1所示。控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前 面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分 为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。微程序控制器的组成见图3-2-2,其中控制存储器采用3片2816的E2PROM,具有掉电 保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。 微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预 置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微

3、指令地址。 当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置 为“1”状态,完成地址修改。0 3-2-2危程序控制器原虺园在实验平台中设有一组编程控制开关KK3、KK4、KK5 (位于时序与操作台单元),可实现对 存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。考虑到对于存储器(包 括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利的手动操作方式。以向00H单元中写入332211为例,对于控制存储器进行编辑的具体 操作步骤如下:首先将KK1拨至停止档、KK3拨至编程档、KK4拨至控存档、 KK5拨至置数档,由CON单

4、元的SD05SD00开关给出需要编辑的控存单元首地 址(000000),IN单元开关给出该控存单元数据的低8位(00010001),连续两次按动时序 与操作台单元的开关ST (第一次按动后MC单元低8位显示该单元以前存储的数据,第 二次按动后显示当前改动的数据),此时MC单元的指示灯MA5MA0显示当前地址(000000),M7M0显示当前数据(00010001)。然后将KK5拨至加1档,IN单元 开关给出该控存单元数据的中8位(00100010),连续两次按动开关ST,完成对该控存单元 中8位数据的修改,此时MC单元的指示灯MA5MA0显示当前地址(000000),M15 M8显示当前数据(

5、00100010);再由IN单元开关给出该控存单元数据的高 8位(00110011),连续两次按动开关ST,完成对该控存单元高8位数据的修改此时MC单元 的指示灯 MA5 MA0显示当前地址(000000),M23 M16显示当前数据(00110011)。 此时被编辑的控存单元地址会自动加1(01H),由IN单元开关依次给出该控存单元数据的 低8位、中8位和高8位配合每次开关ST的两次按动,即可完成对后续单元的编辑。编辑完成后需进行校验,以确保编辑的正确。以校验00H单元为例,对于控制存储器进行 校验的具体操作步骤如下:首先将KK1拨至停止档、KK3拨至校验档、KK4拨至 控存档、KK5拨至置

6、数档。由CON单元的SD05SD00开关给出需要校验的 控存单元地址(000000),连续两次按动开关ST,MC单元指示灯M7M0显示该单元 低8位数据(00010001); KK5拨至加1档,再连续两次按动开关ST,MC单元指示 灯M15M8显示该单元中8位数据(00100010);再连续两次按动开关ST,MC单元 指示灯M23M16显示该单元高8位数据(00110011)。再连续两次按动开关ST,地 址加1,MC单元指示灯M7M0显示01H单元低8位数据。如校验的微指令出错, 则返回输入操作,修改该单元的数据后再进行校验,直至确认输入的微代码全部准确无误为 止,完成对微指令的输入。* W中

7、心器TI尊示魏耶(rmiiwii :m单元WMhL(rmmHHi :W T示钿和S0Q6-5DMW?W1KK邮3邮EM|=i.叫|硕|匚KK 停止KK3 ttStKK.1I 控存邱E 加% 打-n /中毗小 in: - mimilKK-梓止.KK:1 - Hi 般-财KK5 - UH 5T - n 7L / 位于实验平台MC单元左上角一列三个指示灯MC2、MC1、MC0用来指示当前操作的微 程序字段,分别对应M23M16、M15M8、M7M0。实验平台提供了比较灵活 的手动操作方式,比如在上述操作中在对地址置数后将开关KK4拨至减1档,则每次 随着开关ST的两次拨动操作,字节数依次从高8位到低

8、8位递减,减至低8位后,再 按动两次开关ST,微地址会自动减一,继续对下一个单元的操作。微指令字长共24位,控制位顺序如表3-2-1:耒a携指中格式2321201918-151M211-98-65-0B231E2服EDI0HS3-S0源段。字段HA5-HkO其中MA5MA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译 码出多位。C字段中的P为测试字位。其功能是根据机器指令及相应微代码进行译码, 使微程序转入相应的微地址入口,从而实现完成对指令的识别,并实现微程序的分支,本系 统上的指令译码原理如图3-2-3所示,图中I7I2为指令寄存器的第72位输出,SE5 SE0为微控器

9、单元微地址锁存器的强置端输出,指令译码逻辑在IR单元的INS_DEC(GAL20V8)中实现。从图3-2-2中也可以看出,微控器产生的控制信号比表3-2-1中的要多,这是因为实验的 不同,所需的控制信号也不一样,本实验只用了部分的控制信号。本实验除了用到指令寄存器(IR)和通用寄存器R0夕卜,还要用到IN和OUT单元,从微 控器出来的信号中只有IOM、WR和RD三个信号,所以对这两个单元的读写信号还应先 经过译码,其译码原理如图3-2-4所示。IR单元的原理图如图3-2-5所示,R0单元原理 如图3-2-7所示,IN单元的原理图见图2-1-3所示,OUT单元的原理图见图3-2-6所示。3 3-

10、2-fi OUT单元原阻园3 3-2-7 R0原理图实验中机器指令由CON单元的二进制开关手动给出,其余单元的控制信号均由微程序控制 器自动产生,为此可以设计出相应的数据通路图,见图3-2-8所示。几条机器指令对应的参考微程序流程图如图3-2-9所示。图中一个矩形方框表示一条微指 令,方框中的内容为该指令执行的微操作,右上角的数字是该条指令的微地址,右下角的数 字是该条指令的后续微地址,所有微地址均用16进制表示。向下的箭头指出了下一条要执 行的指令。P为测试字,根据条件使微程序产生分支。图土49徵程序流程图图顼哉据通府图fir会律州状.怀伟有今泽踞泪.$LDIRMA&. MAQCKJT*:莅

11、君存件mMi&R=:ckMCR kx xx KiNMA-sxROWf*i=rlew*fLjjROII-M)M-0UTIW-GB-XX将全部微程序按微指令格式变成二进制微代码,可得到表3-2-2的二进制代码表。表*24二进制flt代码表地址十六进制高五位队suA与段H与段c与段MA5-MAW0000 00 010000000000000000000000010100 70 700000000001110000011100000 100 2 1 05QQQQQQQQQ010010QQQ00010105QI B2 01060001001on001QQQ0000013000 1 1 0 1000000

12、0000010100000001003218 30 0100011OQOOonQ00OQQ0000013328 Ol 010010100000000100000000013500 00 35QQQQQQQQQQQQQQQQQQ1101013.2.4实验步骤1.按图3-2-10所示连接实验线路,仔细查线无误后接通电源。如果有滴报警声,说明 总线有竞争现象,应关闭电源,检查接线,直到错误排除。0 3-2-HI实捡推沌图2)联机读写将微程序写入文件联机软件提供了微程序下载功能,以代替手动读写微控器,但微程序得以指定的格式写入 到以TXT为后缀的文件中,微程序的格式如下:彼指分格式说明:指令代如I六进

13、耕坦址诫指母橱志如$1 1F 112233,表示微指令的地址为1FH,微指令值为11H(高)、22H (中)、33H(低),本次实验的微程序如下,其中分号;为注释符,分号后面的内容在下载时将被忽略掉。(2)写入微程序用联机软件的“【转储】一【装载】”功能将该格式(*.TXT)文件装载入实验系统。装入过 程中,在软件的输出区的结果栏会显示装载信息,如当前正在装载的是机器指令还是微 指令,还剩多少条指令等。(3)校验微程序选择联机软件的【转储】一【刷新指令区T可以读出下位机所有的机器指令和微指令,并 在指令区显示。检查微控器相应地址单元的数据是否和表3-2-2中的十六进制数据相同, 如果不同,则说

14、明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指 令,先用鼠标左键单击指令区的微存TAB按钮,然后再单击需修改单元的数据,此时该 单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。;/* /;/ /;/微控器实验指令文件/; / /;/ By TangDu CO.,LTD /; / /;/* /;/* Start Of Microcontroller Data * /$M 00 000001 ; NOP$M 01 007070 ; CON(INS)-IR, P$M 04 002405 ; R0-B$M 05 04B201 ; A 加 B-R0$M 30

15、001404 ; R0-A$M 32 183001 ; IN-R0$M 33 280401 ; R0-OUT$M 35 000035 ; NOP;/* End Of MicroController Data * /3.运行微程序运行时也分两种情况:本机运行和联机运行。1)本机运行 将时序与操作台单元的开关KK1、KK3置为运行档,按动CON单元的CLR按钮, 将微地址寄存器(MAR)清零,同时也将指令寄存器(R)、ALU单元的暂存器A和暂存器 B清零。 将时序与操作台单元的开关KK2置为单拍档,然后按动ST按钮,体会系统在T1、 T2、T3、T4节拍中各做的工作。T2节拍微控器将后续微地址(下

16、条执行的微指令的地址) 打入微地址寄存器,当前微指令打入微指令寄存器,并产生执行部件相应的控制信号;T3、 T4节拍根据T2节拍产生的控制信号做出相应的执行动作,如果测试位有效,还要根据机 器指令及当前微地址寄存器中的内容进行译码,使微程序转入相应的微地址入口,实现微程 序的分支。 按动CON单元的CLR按钮,清微地址寄存器(MAR)等,并将时序与单元的开关KK2 置为单步档。 置IN单元数据为00100011,按动ST按钮,当MC单元后续微地址显示为000001 时,在CON单元的SD27SD20模拟给出IN指令00100000并继续单步执行,当MC单 元后续微地址显示为000001时,说明

17、当前指令已执行完;在CON单元的SD27SD20给 出ADD指令00000000,该指令将会在下个T3被打入指令寄存器(IR),它将R0中的数 据和其自身相加后送R0;接下来在CON单元的SD27SD20给出OUT指令00110000并 继续单步执行,在MC单元后续微地址显示为000001时,观查OUT单元的显示值是否 为 01000110。2)联机运行联机运行时,进入软件界面,在菜单上选择【实验】一【微控器实验】,打开本实验的数据 通路图,也可以通过工具栏上的下拉框打开数据通路图,数据通路图如图3-2-8所示。将 时序与操作台单元的开关KK1、KK3置为运行档,按动CON单元的总清开关后,按动 软件中单节拍按钮,当后续微地址(通路图中的MAR)为000001时,置CON单元SD27 SD20,产生相应的机器指令,该指令将会在下个T3被打入指令寄存器(IR),在后面的节 拍中将执行这条机器指令。仔细观察每条机器指令的执行过程,体会后续微地址被强置转换 的过程,这是计算机识别和执行指令的根基。也可以打开微程序流程图,跟踪显示每条机器 指令的执行过程。按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号