微机原理课程设计.docx
- 文档编号:3570568
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:15
- 大小:304.90KB
微机原理课程设计.docx
《微机原理课程设计.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
微机原理课程设计
设计题目:
微程序控制器实验报告
班级:
自动化1
学号:
F0856111
姓名:
贾善伟
指导教师:
张乐
设计时间:
6月27——7月1日
目录
1、课程设计的目的......................................................................3
2、课程设计的要求......................................................................3
3、实验内容..................................................................................3
4、原理..........................................................................................3
5、实验步骤……………...............................................................8
6、调试过程及实验结果...............................................................13
7、实验总结与体会.......................................................................15
8、参考文献...................................................................................16
微程序控制器实验报告
一、实验目的及要求
(1)掌握微程序控制器的组成原理。
(2)掌握微程序的编制、写入,观察微程序的运行过程。
二、实验环境
PC机一台,TD-CMA实验系统一套。
三、实验内容
微程序控制器实验
四、原理
微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以
控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。
它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。
这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。
微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图所示。
微程序控制器其中控制存储器采用3片2816的E2PROM,具有掉电保
护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。
微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态完成地址修改。
在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:
编程、校验、运行。
考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利的手动操作方式。
以向00H单元中写入332211为例,对于控制存储器进行编辑的具体操作步骤如下:
首先将KK1拨至‘停止’档、KK3拨至‘编程’档、KK4拨至‘控存’档、KK5拨至‘置数’档,由CON单元的SD05——SD00开关给出需要编辑的控存单元首地址(000000),IN单元开关给出该控存单元数据的低8位(00010001),连续两次按动时序与操作台单元的开关ST(第一次按动后MC单元低8位显示该单元以前存储的数据,第二次按动后显示当前改动的
数据),此时MC单元的指示灯MA5——MA0显示当前地址(000000),M7——M0显示当前数据(00010001)。
然后将KK5拨至‘加1’档,IN单元开关给出该控存单元数据的中8位(00100010),连续两次按动开关ST,完成对该控存单元中8位数据的修改,此时MC单元的指示灯MA5——MA0显示当前地址(000000),M15——M8显示当前数据(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拨至‘置数’档。
由CON单元的SD05——SD00开关给出需要校验的控存单元
地址(000000),连续两次按动开关ST,MC单元指示灯M7——M0显示该单元低8位数据(00010001);KK5拨至‘加1’档,再连续两次按动开关ST,MC单元指示灯M15——M8显示该单元中8位数据(00100010);再连续两次按动开关ST,MC单元指示灯M23——M16显示该单元高8位数据(00110011)。
再连续两次按动开关ST,地址加1,MC单元指示灯M7——M0显示01H单元低8位数据。
如校验的微指令出错,则返回输入操作,修改该单元的数据后再进行校验,直至确认输入的微代码全部准确无误为止,完成对微指令的输入。
位于实验平台MC单元左上角一列三个指示灯MC2、MC1、MC0用来指示当前操作的微
程序字段,分别对应M23——M16、M15——M8、M7——M0。
实验平台提供了比较灵活的
手动操作方式,比如在上述操作中在对地址置数后将开关KK4拨至‘减1’档,则每次随着开
关ST的两次拨动操作,字节数依次从高8位到低8位递减,减至低8位后,再按动两次开关
ST,微地址会自动减一,继续对下一个单元的操作。
微指令字长共24位,
其中MA5…MA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。
C字段中的P<1>为测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现完成对指令的识别,并实现微程序的分支,本系统上的
指令译码原理如图3-2-3所示,图中I7…I2为指令寄存器的第7…2位输出,SE5…SE0为微控器单元微地址锁存器的强置端输出,指令译码逻辑在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所示,
本实验安排了四条机器指令,分别为ADD(00000000)、IN(00100000)、OUT(00110000)
和HLT(01010000),括号中为各指令的二进制代码,指令格式如下:
本实验安排了四条机器指令,分别为ADD(00000000)、IN(00100000)、OUT(00110000)
和HLT(01010000),括号中为各指令的二进制代码,指令格式如下:
助记符机器指令码说明
IN00100000IN->R0
ADD00000000R0+R0->R0
OUT00110000R0->OUT
HLT01010000停机
实验中机器指令由CON单元的二进制开关手动给出,其余单元的控制信号均由微程序控制
器自动产生,为此可以设计出相应的数据通路图
几条机器指令对应的参考微程序流程图如图2。
图中一个矩形方框表示一条微指令,方框中的内容为该指令执行的微操作,右上角的数字是该条指令的微地址,右下角的数字是该条指令的后续微地址,所有微地址均用16进制表示。
向下的箭头指出了下一条要执行的指令。
P<1>为测试字,根据条件使微程序产生分支。
图1
图2
将全部微程序按微指令格式变成二进制微代码,可得到下表的二进制代码表。
五、实验步骤
1.所示连接实验线路,仔细查线无误后接通电源。
如果有‘滴’报警声,说明
总线有竞争现象,应关闭电源,检查接线,直到错误排除。
2.对微控器进行读写操作,分两种情况:
手动读写和联机读写。
1)手动读写
(1)手动对微控器进行编程(写)
①将时序与操作台单元的开关KK1置为‘停止’档,KK3置为‘编程’档,KK4置为‘控
存’档,KK5置为‘置数’档。
②使用CON单元的SD05——SD00给出微地址,IN单元给出低8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的低8位。
③将时序与操作台单元的开关KK5置为‘加1’档。
④IN单元给出中8位应写入的数据,连续两次按动时序与操作台的开关ST,将IN单元的数据写到该单元的中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为后缀的文件中,微程序的格式如下:
2)联机读写
(1)将微程序写入文件
联机软件提供了微程序下载功能,以代替手动读写微控器,但微程序得以指定的格式写入
到以TXT为后缀的文件中,微程序的格式如下:
微指令格式说明:
微指令代码
十六进制地址
微指令标志
$MXXXXXXXX
如$M1F112233,表示微指令的地址为1FH,微指令值为11H(高)、22H(中)、33H(低),
本次实验的微程序如下,其中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。
(2)写入微程序
用联机软件的“【转储】—【装载】”功能将该格式(*.TXT)文件装载入实验系统。
装入过
程中,在软件的输出区的‘结果’栏会显示装载信息,如当前正在装载的是机器指令还是微指
令,还剩多少条指令等。
(3)校验微程序
选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令,
并在指令区显示。
检查微控器相应地址单元的数据是否和表3-2-2中的十六进制数据相同,如果
不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先
用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为
编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。
本次实验的微程序如下,其中分号‘;’为注释符,分号后面的内容在下载时将被忽略掉。
(2)写入微程序
用联机软件的“【转储】—【装载】”功能将该格式(*.TXT)文件装载入实验系统。
装入过
程中,在软件的输出区的‘结果’栏会显示装载信息,如当前正在装载的是机器指令还是微指
令,还剩多少条指令等。
(3)校验微程序
选择联机软件的“【转储】—【刷新指令区】”可以读出下位机所有的机器指令和微指令,
并在指令区显示。
检查微控器相应地址单元的数据是否和表3-2-2中的十六进制数据相同,如果
不同,则说明写入操作失败,应重新写入,可以通过联机软件单独修改某个单元的微指令,先
用鼠标左键单击指令区的‘微存’TAB按钮,然后再单击需修改单元的数据,此时该单元变为
编辑框,输入6位数据并回车,编辑框消失,并以红色显示写入的数据。
;//***************************************//
;////
;//微控器实验指令文件//
;////
;//ByTangDuCO.,LTD//
;////
;//***************************************//
;//****StartOfMicroControllerData****//
$M00000001;NOP
$M01007070;CON(INS)->IR,P<1>
$M04002405;R0->B
$M0504B201;A加B->R0
$M30001404;R0->A
$M32183001;IN->R0
$M33280401;R0->OUT
$M35000035;NOP
;//*****EndOfMicroControllerData*****//
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-2-8所示。
将时序与操作台单元的开关KK1、KK3置为‘运行’档,按动CON单元的总清开关后,
按动软件中单节拍按钮,当后续微地址(通路图中的MAR)为000001时,置CON单元
SD27…SD20,产生相应的机器指令,该指令将会在下个T3被打入指令寄存器(IR),在后面的节拍中将执行这条机器指令。
仔细观察每条机器指令的执行过程,体会后续微地址被强置转换的过程,这是计算机识别和执行指令的根基。
也可以打开微程序流程图,跟踪显示每条机器指令的执行过程。
按本机运行的顺序给出数据和指令,观查最后的运算结果是否正确。
六、调试过程及实验结果
用联机软件的“【转储】—【装载】”功能将该格式(*.TXT)文件装载入实验系统
执行机器指令IN
执行机器指令ADD
执行机器指令OUT
执行机器指令HLT
七、实验总结与体会
本次课程设计连线复杂,不时有连接错误的,按照指导书上所写的作,遇到很多不懂,错误的,让我体会到尽信书不如无书,我对微程序控制器,有了非常透彻的认识。
通过这次设计,使我们能清楚的了解微程序控制器的基本组成、基本原理和设计步骤、设计思路和调试步骤,最终能清晰的建立起概念,为独立完成计算机设计奠定了基础。
首先使我清楚地认识到我在微机原理这门课程上的理论知识上的缺陷。
同时对于书上一些书上难以理解的程序或者是概念包括思路,在经过此次的课程设计后,让我弄懂了很多以前不能清楚理解的东西,并且还加深了对理论知识的理解。
通过自己动手设计程序,在实验中看到自己设计程序的缺陷,分析、修改程序使我对计算机原理这门课程的了解有了进一步的提升。
八、参考文献
1.《微型计算机原理接口及应用》(编著:
吕杨、刘瑞敏、邹金慧、蔡光程重庆大学出版社).
2.《电路原理图与电路板设计教程Protell99SE》(编著:
夏路易、石宗义北京希望电子出版社).
3.《微型机接口原理技术》(编著:
王承发、刘岩高等教育出版社)
4.《微型计算机技术及应用》(第3版)(编著:
戴梅萼、史嘉权清华大学出版社)5..《A/D、D/A转换器接口技术与实用线路》(编著:
杨振江西安电子科技大学出版社)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)