仿真运算器的搭建

1、实验目的

(1)熟练掌握算术逻辑单元(ALU)的应用方法;

(2)进一步熟悉简单运算器的数据传送原理;

(3)画出逻辑电路图及布出美观整齐的接线图;

(4)熟练掌握有关数字元件的功能和使用方法;

(5)熟练掌握子电路的创建及使用。

2、实验原理

本实验仿真单总线结构的运算器,原理如图1所示。相应的电路如图2所示。

电路图中,上右下三方的8条线模拟8位数据总线;K8产生所需数据;74244层次块为三态门电路,将部件与总线连接或断开,切记总线上只能有一个输入;两个74273层次块作为暂存工作寄存器DR1和DR2;两个74374层次块作为通用寄存器组(鉴于电路排列情况,只画出两个通用寄存器GR1和GR2,如果可能的话可设计4个或8个通用寄存器);众多的开关作为控制电平或打入脉冲;众多的8段代码管显示相应位置的数据信息;核心为8位ALU层次块。

图1

图2

                                                                         图3(K8的层次块)

                                                               图4(8BIT-ALU的层次块)

                                                          图5(74273的层次块)

                                                           图6(74244的层次块)

                                                              图7(74374的层次块)

3、实验内容

(1)说明整个电路工作原理?

         答:仿真运算器,完成多种算术运算和逻辑运算。

(2)说明74LS244N的功能及其在电路中作用,及输入信号G有何作用?

         答:74LS244N是三态门缓冲器,当信号G=1时,可以阻断电路。

(3)说明74LS273N的功能及其在电路中作用,及输入信号CLK有何作用?

         答:74LS273N是数据寄存器,能够暂存数据,信号CLK是打入脉冲。

(4)说明74LS374N的功能及其在电路中作用,及输入信号CLK和OC有何作用?

         答:74LS374N是寄存器,还有三态门的功能,信号CLK是打入脉冲,信号OC高电平时是高阻态。

(5)K8产生任意数据存入通用寄存器GR1。

         答:在K8中确定一个任意的两位数(两个16进制数),Q=0(可存数),U跳变,且Y=0,数据即可存入GR1。

(6)K8产生任意数据存入通用寄存器GR2。

         答:在K8中再确定一个任意的两位数(两个16进制数),Q=0(可存数),P跳变,且O=0,数据即可存入GR2。

(7)完成GR1+GR2→GR1。

         答:存入两个数之后,把Q=1(阻断K8,不可存数),W=0,E=1,GR1的数存入DR1;DR2存数同上;S3~S0=1001,N=1,M=0,Z=0,即可算出GR1+GR2,U跳变,即可存入GR1。

(8)完成GR1-GR2→GR2。

          答:存入两个数之后,把Q=1(阻断K8,不可存数),W=0,E=1,GR1的数存入DR1;DR2存数同上;S3~S0=0110,N=0,M=0,Z=0,即可算出GR1-GR2,P跳变,且O=0,数据即可存入GR2。

(9)完成GR1∧GR2→GR1。

         答:存入两个数之后,把Q=1(阻断K8,不可存数),W=0,E=1,GR1的数存入DR1;DR2存数同上;S3~S0=1011, M=1,Z=0,即可算出GR1∧GR2,U跳变,即可存入GR1。

(10)完成GR1∨GR2→GR2。

         答:存入两个数之后,把Q=1(阻断K8,不可存数),W=0,E=1,GR1的数存入DR1;DR2存数同上;S3~S0=1110, M=1,Z=0,即可算出GR1∨GR2,P跳变,且O=0,数据即可存入GR2。

(11)完成GR1⊕GR2→GR1。

         答:存入两个数之后,把Q=1(阻断K8,不可存数),W=0,E=1,GR1的数存入DR1;DR2存数同上;S3~S0=0110, M=1,Z=0,即可算出GR1⊕GR2,U跳变,即可存入GR1。

 (12)~GR1→GR2。(“~”表示逻辑非运算)

         答:存入数之后,把Q=1(阻断K8,不可存数),W=0,E=1,GR1的数存入DR1; S3~S0=0000, M=1,Z=0,即可算出~GR1,P跳变,且O=0,数据即可存入GR2。

(13)~GR2→GR1。

        答:存入数之后,把Q=1(阻断K8,不可存数),R=0,T=1,GR2的数存入DR2; S3~S0=0101, M=1,Z=0,即可算出~GR2,U跳变,数据即可存入GR1。

 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Keil仿真环境搭建需要良好的软件开发环境支持。根据引用中的内容,Keil公司提供了针对51系列单片机的软件仿真器。然而,外围设备的仿真仍然是软件仿真的一个薄弱环节。为了搭建Keil仿真环境,我们可以按照以下步骤进行操作: 1. 首先,我们需要安装Keil软件。Keil提供了免费的Lite版本,可以从其官方网站下载并安装。 2. 安装完成后,打开Keil软件。在菜单栏中选择“Project”,然后选择“New Project”。 3. 在新建项目的对话框中,选择所需的单片机型号,并指定项目的保存路径。点击“Save”按钮创建项目。 4. 在项目创建完成后,可以将所需的源代码文件添加到项目中。在左侧的项目管理器中,右键点击“Source Group”,然后选择“Add Files to Group”。选择所需的源代码文件,并点击“Add”按钮。 5. 接下来,需要配置Keil的仿真器。在菜单栏中选择“Options”,然后选择“Debug”. 在弹出的对话框中,选择所使用的仿真器类型,并进行相应的配置。 6. 如果在运行浮点数时遇到“Hardware fault”的问题,可以参考引用中的内容。可以检查代码中是否存在浮点数运算错误,并对相关代码进行修复。 7. 另外,如果使用Keil V5打开了Keil V4开发的项目文件(.uvproj),需要将文件名更改为.uvprojX,以兼容新版本的Keil软件。这是因为Keil V5对项目文件的格式进行了一些改变,参考引用中的说明。 通过以上步骤,我们可以成功搭建Keil仿真环境,以便进行单片机开发和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值