硬件课程设计
计算机组成原理设计
一、实验目的
1.在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。
2.为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
3.在以上实验的基础上再扩展五条机器指令,并编写相应的微程序,上机调试运行。
二、实验设备
TDN—GM+计算机组成原理教学实验系统一台,排线若干。
三、实验内容
本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符机器指令码说明
IN0000 0000 “INPUT DEVICE”中的开关状态→R0
ADD addr 0001 0000 XXXXXXXX R0+[addr]→R0
STA addr 0010 0000 XXXXXXXX R0→[addr]
OUT addr 0011 0000 XXXXXXXX [addr]→BUS
JMP addr 0100 0000 XXXXXXXX addr→PC
其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
1.存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“0 0”时,按START微动开关,可对RAM连续手动读操作。
2.存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START 微动开关可对RAM进行连续手动写入。
3.启动程序(RP):拨动总清开关CLR后,控制台开关SWB、SWA置为“l 1”时,按START微动开关,即可转入到第0l号“取址”微指令,启动程序运行。
题目实验内容考核内容
基本模型机设计与实现编写基本5条机器指令的微指令,
并完成调试。
主要是对计算机组成原理内容的微
指令部分综合考核。
(50%)
复杂模型机的设计与实现扩充指令,至少扩充5条。
设计并实现完整的计算机,基本指
令的扩充。
(50%)
根据以上要求,参考《计算机组成原理实验指导书》设计出相应的微指令代码和微程序,在实验台上调试运行。
运行通过后再设计五条机器指令和相应的微指令代码以及微程序,在实验台上调试运行通过。
1
微机接口技术设计
一、基本要求:
1、8255基本输入输出(接口成绩的40%):
能够在自行设计的接口开发板上,实现拨动开关控制LED的亮灭。
2、流水灯设计实现(接口成绩的10%)
能够在自行设计的接口开发板上,实现拨动不同开关控制LED灯的变化。
例如,K1从左往右,K2从右往左,K3从中间向两边,K4从两边向中间依次亮灭变化。
3、数码管应用(接口成绩的10%)
能够在自行设计的接口开发板上,实现拨动不同开关,数码管显示该开关位置值(1-8);若同时拨
动两个以上开关,则数码管显示“E”。
二、较高要求:
鼓励自拟题目,但必须使用8255、8254、数码管、LED、开关的综合应用。
参考选题:
序
号
题目实验内容考核内容
1交通灯的控制模拟交通灯的控制,分为东西和南北方向,
分别由红、绿、黄等显示。
数秒时间应从数码
管显示,并包括紧急情况处理。
硬件实现设计(画图并连线),软件编程调
试,要求有演示效果。
课题提倡自己增加电路功能。
1、8255编程
2、8254定时/计数
2抢答器用逻辑开关模拟竞赛抢答器按钮(共8个开
关:K0 ~ K7)当某个逻辑开关置“1”时,相
当某组抢答按钮按下。
在七段数码管上将其组
号(0~7)显示出来,
若为0表示无人抢答。
从键盘上按空格键开
始下一轮抢答,按<ESC>键退出程序。
1、8255编程
2、输入输出编程
3秒表计时在自行设计接口板的数码管模拟一个秒表,
要求具有一般秒表的功能。
按准备键时,进入秒表准备状态,再按开始
键开始秒表计时,再按停止键时停止秒表计时。
秒表计时的时间在数码管上显示。
按退出键退
出秒表计时状态。
1、8255编程输入可控
制
2、8253定时/计数
3、数码管显示时间
4汽车速度控制
系统
在自行设计接口板的的按键转换汽车的挡
位,用发光二极管显示挡位,用数码管显示汽
车的速度。
1.按“1”键启动系统,汽车以最低速度行驶,
同时用1盏绿灯显示挡位,数码管显示速度
1、PC人机交互接口
2、LED控制
3、数码管显示
4、8255编程
2
(最低速度为5Km/h)。
当需要换档时,用键盘键入2、3键,并加用一盏黄灯和一盏红灯显示,同时在数码管上显示相应的速度。
2.汽车慢加速时用“A”键,急加速时用“B”键。
慢刹车时用“C”键,急刹车时用“D”键。
加速和刹车时用数码管显示相应的速度变化。
3.当汽车需紧急停车时,键入“ESC”键,所有发光二极管熄灭,同时数码管显示“0”。
5模拟控制的全
自动洗衣机1、按下启动按钮,洗衣机电源导通,准备进入
洗衣程序。
在洗衣过程任一时刻按下停止键,
洗衣程序中止运行。
按下启动按钮,程序重新
开始运行。
2、洗衣之前需按标准/柔和按钮来决定不同的洗
衣程序。
3、洗衣机开始进水,洗衣过程开始,程序中用
高水位开关按钮来代替"水位到"开关信号,低水
位开关信号来代替"排水完"信号。
4、洗衣过程结束,LED灯闪烁。
1、8255编程
2、8253定时/计数
6电子琴音乐的
产生和录放功
能1、在PC机键盘上定义七个按键,分别对应七
个音符。
2、按下音符键,主机箱的蜂鸣器发出响应的声
音,并在数码管上显示所按音符。
3、在内存中保存播放的音乐,按回放键重放。
回放键用板子上的开关实现。
1、8255编程
2、8253定时/计数
3、键盘按键识别
4、控制喇叭发声
7模拟乒乓球1、用发光二极管亮灭模拟乒乓球向左或向右移
动的轨迹。
2、用开关模拟球拍打击动作,并判断打击是否
有效。
3、用数码管显示双方得分。
4、自行定义比赛规则。
1、8255编程
2、输入输出编程
8电子钟及键盘
显示器控制1、利用8253定时器、8255及开关、数码显示
电路,模拟电子钟。
2、能够用数码管显示时分秒。
3、初始时间可取系统时间或自行设定。
1、8255编程
2、8253定时/计数
3、数码显示电路
9函数波形发生
器1、利用D/A、8255设计一个函数发生器。
2、利用按键选择输出波形,能分别产生三角波、
阶梯波、正向锯齿波、负向锯齿波和方波,
并将当前输出波形代码显示在数码管上。
3、波形对应编号:0为方波,1为正向锯齿波,
2为负向锯齿波,3为三角波,4为阶梯波,
5为方波。
1、DAC0832输出波形
2、8255编程
3、数码管显示
3
10鼓励创新,自己提出一个应用系统并实现
三、任务要求:
1、在Proteus仿真环境下实现应用系统功能
2、画出电路设计图制作电路板
3、软硬件调试
4、验收:系统演示加现场提问回答
5、完成课程设计报告
四、课程设计报告要求
(提交源程序和电路图电子版,课程设计报告交手写版)。
设计目的
设计内容
设计过程(设计方案、流程图、电路图、程序)
实验过程(实验步骤、遇到的问题、解决办法、实验结果等)
实验总结和实验心得。
对课程设计安排、实验环境以及老师的教学方法提出自己的看法和意见。
五、考核办法与成绩评定
成绩考核考虑以下几个方面的内容:
(1)题目的新颖程度及难度,鼓励自拟题目
(2)设计结果
(3)设计报告的内容与格式
成绩计分按优、良、中、及格、不及格5级评定。
注意:
1.每道题必须在本组内独立完成,若发现抄袭其他组现象,一经发现取消成绩。
2.点名4次未到课程设计成绩按零分计。
建议教材及参考资料
《微型计算机原理》(第二版)王忠民、王钰、王晓婕编著西安电子科技大学出版社微机原理及接口实验指导书计算机学院计算机科学与技术系
计算机组成原理实验指导书计算机学院计算机科学与技术系
4
计算机学院计算机科学与技术系二零一五年六月十一日
5。