实验三 微程序控制器(2)

2020-06-28 11:52

2013/12/614:09:08

图3-8 数据通路图

00NOP01指令译码30P<1>ADD30IN32OUT33HLT35R0->A04IN->R0R0->OUTNOP35R0->B050101A+B->R001

图3-9 微程序流程图

第6页,共9页。

2013/12/614:09:08

将全部微程序按微指令格式变成二进制微代码,可得到表3-2的二进制代码表。

3-2 二进制微代码表

地址 十六进制 高五位 S3-S0 A字段 B字段 C 字段 MA5-MA0 00 01 04 05 30 32 33 35 00 00 01 00000 00 70 70 00000 00 24 05 00000 04 B2 01 00000 00 14 04 00000 18 30 01 00011 28 04 01 00101 00 00 35 00000 0000 0000 0000 1001 0000 0000 0000 0000 000 111 010 011 001 011 000 000 000 000 010 001 010 000 010 000 000 001 000 000 000 000 000 000 000001 110000 000101 000001 000100 000001 000001 110101

3.4 实验步骤

1. 按图3-10所示连接实验线路,仔细查线无误后接通电源。如果有‘滴’报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。

时序与操作台单元TS1CLK0TS2TS330HZTS4XD7XD0数据总线WRRDIOM控制总线XIOW...D7D0...IN单元XIORWRRDIOM控制总线T1T2T3T4MC单元ALU_BLDALDBS3S0RS_BRDLDRiIN_BLDR0ALU®单元ALU_BLDALDBS3S0............CPU内总线......D7D0...IN7IN0...............OUT7OUT0............R0_BD7D0............D7WRLDIRP<1>......IR单元LDIRCON单元P<1>.........D0LED_BOUT单元SE5SE0SE5...D7D0SD27扩展单元GNDSE0SD20 图3-10 实验接线图

2. 对微控器进行读写操作,分两种情况:手动读写和联机读写。 1) 手动读写

(1) 手动对微控器进行编程(写) ① 将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控存’档,KK5置为‘置数’档。

② 使用CON单元的SD05——SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。

③ 将时序与操作台单元的开关KK5置为‘加1’档。

④ IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单

第7页,共9页。

2013/12/614:09:08

元的数据写到该单元的中8位。IN单元给出高8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的高8位。

⑤ 重复①、②、③、④四步,将表3-2-2的微代码写入2816芯片中。 (2) 手动对微控器进行校验(读) ① 将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘校验’档,KK4置为‘控存’档,KK5置为‘置数’档。

② 使用CON单元的SD05——SD00给出微地址,连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯 M7——M0显示该单元的低8位。

③ 将时序与操作台单元的开关KK5置为‘加1’档。

④ 连续两次按动时序与操作台的开关ST,MC单元的指数据指示灯 M15——M8显示该单元的中8位,MC单元的指数据指示灯 M23——M16显示该单元的高8位。

⑤ 重复①、②、③、④四步,完成对微代码的校验。如果校验出微代码写入错误,重新写入、校验,直至确认微指令的输入无误为止。

2) 联机读写

(1) 将微程序写入文件

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

微指令格式说明:$MXXXXXXXX微指令代码十六进制地址微指令标志

如$M 1F 112233,表示微指令的地址为1FH,微指令值为11H(高)、22H(中)、33H(低),本次实验的微程序如下,其中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。

(2) 写入微程序 用联机软件的“【转储】—【装载】”功能将该格式(*.TXT)文件装载入实验系统。装入过程中,在软件的输出区的‘结果’栏会显示装载信息,如当前正在装载的是机器指令还是微指令,还剩多少条指令等。

(3) 校验微程序 选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令,并在指令区显示。检查微控器相应地址单元的数据是否和表3-2-2中的十六进制数据相同,如果不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。

第8页,共9页。

2013/12/614:09:08

; //***************************************// ; // // ; // 微控器实验指令文件 // ; // // ; // By TangDu CO.,LTD // ; // // ; //***************************************// ; //**** Start Of MicroController Data ****// $M 00 000001 ; NOP

$M 01 007070 ; CON(INS)->IR, P<1> $M 04 002405 ; R0->B $M 05 04B201 ; A加B->R0 $M 30 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)清零,同时也将指令寄存器(IR)、ALU单元的暂存器A和暂存器B清零。

② 将时序与操作台单元的开关KK2置为‘单拍’档,然后按动ST按钮,体会系统在T1、 T2、T3、T4节拍中各做的工作。T2节拍微控器将后续微地址(下条执行的微指令的地址)打入微地址寄存器,当前微指令打入微指令寄存器,并产生执行部件相应的控制信号;T3、T4节拍根据T2节拍产生的控制信号做出相应的执行动作,如果测试位有效,还要根据机器指令及当前微地址寄存器中的内容进行译码,使微程序转入相应的微地址入口,实现微程序的分支。

③ 按动CON单元的CLR按钮,清微地址寄存器(MAR)等,并将时序与单元的开关KK2置为‘单步’档。

④ 置IN单元数据为00100011,按动ST按钮,当MC单元后续微地址显示为000001时,在CON单元的SD27?SD20模拟给出IN指令00100000并继续单步执行,当MC单元后续微地址显示为000001时,说明当前指令已执行完;在CON单元的SD27?SD20给出ADD指令00000000,该指令将会在下个T3被打入指令寄存器(IR),它将R0中的数据和其自身相加后送R0;接下来在CON单元的SD27?SD20给出OUT指令00110000并继续单步执行,在MC单元后续微地址显示为000001时,观查OUT单元的显示值是否为01000110。

2) 联机运行

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

将时序与操作台单元的开关KK1、KK3置为‘运行’档,按动CON单元的总清开关后,按动软件中单节拍按钮,当后续微地址(通路图中的MAR)为000001时,置CON单元SD27?SD20,产生相应的机器指令,该指令将会在下个T3被打入指令寄存器(IR),在后面的节拍中将执行这条机器指令。仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。

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

第9页,共9页。


实验三 微程序控制器(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:农民素质培训计划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: