当前位置:文档之家› 实验一 IO地址译码 实验报告

实验一 IO地址译码 实验报告

实验一 IO地址译码 实验报告
实验一 IO地址译码 实验报告

信息学院

《汇编语言与接口技术》上机实验报告

学号:104100197 姓名:王飞班级:计科10C

课程名称:汇编语言与接口技术上机内容I/O地址译码

实验性质:□综合性实验□设计性实验■验证实验

实验时间: 2012年 5 月11 日实验地点:睿智4号102室实验设备TPC—2003A微机实验箱

实验报告:(包括目的、方法、原理、结果或实验小节等)。

一、实验目的

掌握I/O地址译码电路的工作原理。

二、实验原理和内容

实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D

触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每

个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地

址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

三、实验中使用的程序

stack1 segment stack 'stack'

dw 32 dup(0)

stack1 ends

data segment

baseport equ 0ec00h-280h;实际基址

port1 equ baseport+2a0h;基址+偏移地址

port2 equ baseport+2a8h;基址+偏移地址

data ends

code segment

assume ss:stack1,ds:data,cs:code

start: mov ax,data

mov ds,ax

again: mov dx, port1

in al, dx

call delay ;调用延时程序

mov dx, port2

in al, dx

call delay

jmp again

delay proc

push bx

push cx

mov bx, 5000

wait2: mov cx,0

wait1: loop wait1

dec bx

jnz wait2

pop cx

pop bx

ret

delay endp;延时程序

mov ah, 4ch

int 21h

code ends

end start

四、实验小结

通过本次实验,基本掌握I/O地址译码电路的工作原理。会写延时程序。在实验中达到了预期灯泡一亮一灭的效果。自己可以控制灯泡亮灭的速度。

任课教师评语:

教师签字:年月日注:每学期至少有一次设计性实验。每学期结束请任课教师按时按量统一交到教学秘书处。

单片机原理及接口技术实验报告

单片机原理及接口技术 实验报告 任课教师 班级 姓名 日期

实验一构建单片机最小系统和实验环境熟悉 一、单片机最小系统的组成原理图 二、单片机的工作原理: 1.运算器 运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。它能实现数据的算术逻辑运算、位变量处理和数据传送操作。 (1)算术逻辑单元ALU ALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。MCS-51中位处理具有位处理功能,特别适

用于实时逻辑控制。 (2)累加器ACC 累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。MCS—51系列单片机中许多指令的操作数来自累加器ACC。累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。 (3)寄存器B 寄存器B是8位寄存器,主要用于乘、除运算。乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B寄存器中。除法运算时,B中存放除数,除法操作后,余数存于寄存器B中。寄存器B也可作为一般的寄存器用。 (4)程序状态字PSW 程序状态字是8位寄存器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。PSW中各标志位名称及定义如下: CY():进(借)位标志位,也是位处理器的位累加器C。在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。在位操作中,CY作为位累加器C 使用,参于进行位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态(第三章讨论)。 AC():辅助进(借)位标志位。在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。 F0():用户标志位,由用户通过软件设定,决定程序的执行方式。 RS1(),RS0():寄存器组选择位。用于设定当前通用寄存器组的组,其对应关系如下:

译码器实验报告

译码器实验报告 一、实验目的 1、掌握中规模集成译码器的逻辑功能和使用方法 2、熟悉数码管的使用 二、实验原理 译码器是一个多输入、多输出的组合逻辑电路。它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。不同的功能可选用不同种类的译码器。 译码器可分为通用译码器和显示译码器两大类。前者又分为变量译码器和代码变换译码器。 变量译码器(又称二进制译码器),用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端供其使用。而每一个输出所

代表的函数对应于n个输入变量的最小项。 三、实验设备与器件 1.+5V直流电源 2.单次脉冲源 3.逻辑电平开关 4.74LS138 四、实验内容及步骤 1.74LS138译码器逻辑功能测试 将译码器使能端STA、STB、STC与地址端A2、A1、A0分别接到逻辑电平开关输入口,八个输出端Y7…Y0依次连接在十六位逻辑电平显示上,拨动逻辑电平开关,逐项测试74LS138的逻辑功能。2.实验箱电源连接正确,电路自查确定无误后,电路验证还是不正确的情况下进行下面的排错检查:

1)检查芯片的电源和地的电平是否正确。 2)芯片的使能端连接的电平正确。 3)从逻辑电平开关输入信号是否正确。 4)从输出端按逻辑功能状态往前一步一步排查。 3.两片3线-8线译码器74LS138扩展为4线-16线译码器 用两片74LS138组合成一个四线-十六线译码器进行实验,并分析逻辑功能。

实验五 计数、译码、显示电路

. 实验五计数、译码、显示电路 一、实验目的 掌握中规模集成计数器74LS161及七段译码器CD4511的逻辑功能,掌握共阴极七段显示器的使用方法,熟悉用示波器测试计数器输出波形的方法。 二、实验原理 计数、译码、显示电路是由计数器、译码器和显示器三部分电路组成的逻辑电路。下面分别加以介绍。 1.计数器:计数器是一种中规模集成电路,其种类有很多。如果按照触发器翻转的次序分类,可分为同步计数器和异步计数器两种;如果按照计数数字的增减可分为加法计数器、减法计数器和可逆计数器三种;如果按照计数器进位规律又可分为二进制计数器、十进制计数器、可编程N进制计数器等多种。 常用计数器均有典型产品,不须自 己设计,只要合理选用即可。 本实验选用四位二进制同步计数 器74LS161做计数器,该计数器外加适 当的反馈电路可以构成十六进制以内 的任意进制计数器。图5-1是它的逻辑 图。这个电路除了具有二进制加法计数 功能外,还具有预置数、清零、保持的 功能。图中LD是预置数控制端,D、C、 R是清零 B、A是预置数据输入端, D 端,EP、ET是计数器使能控制端,RCO 是进位信号输出端,它的主要功能有: ①异步清零功能 R=0(输出低电平),则输出QD 若 D

QCQBQA=0000,除EP、ET信号外,与其它输入信号无关,也不需要CP脉冲的配合,所以称为“异步清零”。 ②同步并行置数功能 R=1,且LD=0的条件下,当CP上升沿到来后,触发器QDQCQBQA同时接收D、在 D C、B、A输入端的并行数据。由于数据进入计数器需要CP脉冲的作用,所以称为“同步置数”,由于4个触发器同时置入,又称为“并行”。 ③保持功能 R=1,LD=1的条件下,EP、ET两个使能端只要有一个低电平,计数器将处于数在 D 据保持状态,与CP及D、C、B、A输入无关。 ④计数功能 R=1、LD=1、EP=1、ET=1的条件下,计数器对CP端输入脉冲进行计数,计数方在 D 式为二进制加法,状态变化在QDQCQBQA=0000~1111间循环。74LS161的功能表详见表5-l所示。 表5-1 74LS161的功能表 本实验所需计数器是十进制计数器,必须对74LS161外加适当的反馈电路构成十进制计数器,状态变化在QDQCQBQA=0000~1001间循环。 用反馈的方法构成十进制计数器一般有两种形式,即和反馈置数法。反馈置零法是利用R构成,即:当Q D Q C Q B Q A=1010(十进制数10)时,通过反馈线强制计数器清零,清除端 D 如图5-2(a)所示。由于该电路会出现瞬间1010状态,会引起译码电路的误动作,因此很少被采用。反馈置数法是利用预置数端LD构成,把计数器输入端D1D2D2D3全部接地,当计数

微机原理简单输入输出实验报告

东南大学 《微机实验及课程设计》 实验报告 实验四(1)简单输入输出 一. 实验目的与内容 (一)实验目的 1)进一步掌握TPC实验装置的基本原理和组成结构; 2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况; 3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能

和使用。 (二)实验内容及要求 1、输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验必做) 2、用逻辑电平开关预置某个字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验必做) 3、利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验) 4、利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验) 要求: 1、输入输出端口应该可以响应外设的连续变化。 2、输出按ESC键退出;输入按任意键退出。 3、内容3、4比做一题,选做一题 二. 实验基本原理 (一)基本原理 简单并行输出实验:八D触发器74LS273的八个输入端接数据总线D0~D7,从键盘输入一个字符或数字,通过2A8H~输出接口输出该字符或者数字代表的ASCII码,再通过8个发光二极管发光显示二进制数码,从而验证编程以及电路的正确性。 简单并行输入实验:八缓冲器74LS244的八个输出端接数据总线D0~D7,8个输入端分别接逻辑电平开关K0~K7,在逻辑电平开关上预置任意字符的ASCII码,编程将此ASCII码通过2A0H~输入,ASCII码对应字符显示在屏幕上,从而验证编程及电路的正确性。 (二)实验接线图

数电实验报告实验六计数译码显示综合实验整理版.docx

数电实验报告 实验六 计数、译码、显示综合实验 姓名: 学号: 班级: 院系: 指导老师: 2016年

目录 实验目的: (22) 实验器件与仪器: (22) 实验原理: (33) 用同步清零端或置数端置零或置数构成N进制计数器 (33) 用同步清零端或置数端置零或置数构成N进制计数器 (33) 实验内容: (44) 实验过程: (55) 实验总结: (66) 实验: 实验目的: 1.熟悉中规模集成电路计数器的功能及应用。 2.熟悉中规模集成电路译码器的功能及应用。 3.熟悉LED数码管及显示电路的工作原理。 4.学会综合测试的方法。 实验器件与仪器: 1.实验箱、万用表、示波器。

2.74LS160、74LS48、74LS20 实验原理: 对于计数规模小的计数器,我们使用集成触发器来设计计数器,但是如果计数器的模数达到十六以上(如六十进制)时,如果还是用集成触发器来设计的话,电路就比较复杂了。在这种情况下,我们可以用集成计数器来构成任意进制计数器。利用集成计数器的清零端和置数端实现归零,从而构成按自然态序进行计数的N进制计数器的方法。 用同步清零端或置数端置零或置数构成N进制计数器用这种方法的实现步骤如下: 1)写出状态S N-1的二进制代码。 2)求归零逻辑,即求同步清零端或置数控制端信号的逻辑表达式 3)画连线图 用同步清零端或置数端置零或置数构成N进制计数器用这种方法的实现步骤如下: 1)写出状态S N得二进制代码 2)求归零逻辑,即求异步清零端或置数控制端信号的逻辑表达式

3)画连线图 在集成计数器中,清零、置数均采用同步方法的有74LS163;均采用异步方法的有74LS193、74LS197、74LS192;清零采用异步方法、置数采用同步方法的有74LS161、74LS160;有的只具备异步清零功能,如CC4520、74LS190、74LS191;74LS90则具有异步清零和异步置9功能。 实验内容: 1.用集成计数器74LS160分别组成8421码十进制和六进制计数器, 然后连接成一个60进制计数器(6进制为高位,10进制位低位)。 使用实验箱上的LED译码显示电路显示(注意高低位顺序及最高位的处理)。用函数发生器的低频连续脉冲(调节频率为1-2Hz)作为计数器的计数脉冲。通过数码管观察计数、译码、显示电路的功能是否正确。 2.设计一个时间计数器,具有分钟和秒计时功能的计数器。

实验一 IO地址译码器实验

计算机科学系实验报告 课程名称微型计算机技术及应用实验班级 实验名称实验一 IO地址译码器指导教师 学生姓名学生学号 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验设备 1.PC机一台 2.专用导线若干 3.TPC-H通用微机接口实验系统一台 4.MASM汇编及调试程序 三、实验原理和内容 实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。实验的流程图如下: 四、程序代码 code segment assume cs: code

start: mov dx,2a0h out dx,al call delay ;调延时子程序 mov dx,2a8h out dx,al call delay ;调延时子程序 mov ah,1 int 16h je start ;无键按下转start mov ah,4ch int 21h delay proc near ;延时子程序 mov bx,5 lll: mov cx,0 ll: loop ll dec bx jne lll ret delay endp code ends end start 五、实验现象 试验电路中D触发器CLK端输入脉冲时,上升沿使Q段输出高电平L7发光,CD端加低电平L7灭。本试验用74LS138的Y4端口控制CLK,用Y5端口控制CD。 通过循环改变74LS138的有效输出实现二极管的闪烁。 六、心得体会 虽然实验室里很多机子不能用,但是,先看别的同学做过后,自己再动手实验,效果就比较好一点。通过这次实验,我基本了解了微机接口实验系统和TCP-USB微机接口试验系统开发环境,对I/O地址译码的内容与工作原理有了深一步的理解,切实体会到了编写程序需要的细心耐烦,另外,设计电路时也可以采用多种方法,优化结构,提高效率。

实验三 译码显示电路

专业计算机类实验人 实验题目:译码显示电路2015年 5 月 9日 一、实验目的: 1、掌握中规模集成译码器的逻辑功能和使用方法 2、熟悉数码管的使用 二、实验仪器及器件: 1、数字电路实验箱、数字万用表、示波器。 2、器件:74LS48X1, 74LS194X1, 74LS73X1, 74LS00X2 三、实验预习: 1、复习有关译码显示原理。 2、根据实验任务,画出所需的实验线路及记录表格。 四、实验原理: 1、数码显示译码器: (1)七段发光二极管(LED)数码管 LED数码管是目前最常用的数字显示器,图(一)(a)、(b)为共阴管和共阳管的电路,(C)为两种不同出线形式的引出脚功能图。 一个LED数码管可用来显示一位0--9十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。

专业计算机类实验人 实验题目:译码显示电路2015年 5 月 9日 (2)BCD码七段译码驱动器 此类译码器型号有74LS47(共阳),74LS48(共阴),CC4511(共阴)等,本实验系采用'74LS48 BCD码锁存/七段译码/驱动器。驱动共阴极LED数码管。 图(二)为74LS48引脚排列。其中A、B、C、D - BCD码输入端,a、b、c、 d、e、f、g——译码输出端,输出“1"有效,用来驱动共阴极LED数码管。 错误!未找到引用源。- 灯测试输入端,错误!未找到引用源。=“0”时,译码输出全为“1” 错误!未找到引用源。- 灭零输入端,错误!未找到引用源。=“0”时,不显示多余的零。 错误!未找到引用源。/错误!未找到引用源。-作为输入使用时,灭灯输入控制端; 作为输出端使用时,灭零输出端。 2、扫描式显示 对多位数字显示采用扫描式显示可以节电,这一点在某些场合很重要。对于某些系统输出的的数据,应用扫描式译码显示,可使电路大为简化。有些系统,比如计算机,某些A/D转换器,是以这样的形式输出数据的:由选通信号控制多路开关,先后送出(由高位到低位或由低位到高位)一位十进制的BCD码,如图(三)所示。图中的Ds 称为选通信号,并假定系统按先高位后低位的顺序送出数据,当Ds1高电平送出千位数,Ds2高电平送出百位数,……一般Ds的高电平相邻之间有一定的间隔,选通信号可用节拍发生器产生。 如图(四)所示,为这种系统的译码扫描显示的原理图。图中各片LED(共阴)的发光段并连接至译码器的相应端,把数据输入的相应权端与系统输出端相连,把各位选通端反相后接相应LED的公共端。f(A)使数据输入是伪码(8421BCD中的1010-1111)时使f(A)=0,伪码灭灯。接译码器的灭灯I B端,使不显示伪码。

计算机组成原理实验报告

《计算机组成原理》 实验报告 实验室名称:S402 任课教师:邹洋 小组成员:王娜任芬 学号:2010212121 2010212119

实验一_HAMMING码 (2) 实验二_乘法器 (7) 实验三_时序部件 (16) 实验四_CPU__算术逻辑单元实验 (24) 实验五_CPU__指令译码器实验 (32) 实验六_CPU_微程序控制器实验1 (43) 实验七_八_CPU实验 (59)

1 编码实验:Hamming码 1.1、实验目的 1、对容错技术有初步了解,理解掌握海明码的原理 2、掌握海明码的编码以及校验方法 1.2、实验原理 海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。 Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r≥k+r+1 若要能检测与自动校正一位错,并能发现两位错,此时校验位的位数r和数据位的位数k应满足下述关系:2r-1≥k+r 按上述不等式,可计算出数据位k与校验位r的对应关系,如表1.1所示: 表1.1 数据位k与校验位r的对应关系 k值最小的r值 1~3 4 4~10 5 11~25 6 26~56 7 57~119 8 若海明码的最高位号为m,最低位号为1,即H m H m-1…H2H1,则此海明码的编码规律通常是 1)校验位与数据位之和为m,每个校验位P i在海明码中被分在位号为2i-1的位置上,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 2)海明码的每一位码H i(包括数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号等于校验它的各校验位的位号之和。 3)在增大合法码的码距时,所有码的码距应尽量均匀增大,以保证对所有码的检错能力平衡提高。 下面具体看一下对一个字节进行海明编码的实现过程。 只实现一位纠错两位检错,由前面的表可以看出,8位数据位需要5位校验位,可表示为H13H12…H2H1。 五个校验位P5~P1对应的海明码位号分别为H13、H8、H4、H2和H1。P5只能放在H13位

编码器和译码器实验报告

译码器、编码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器和编码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,74LS20,74LS138。 三、实验内容 (1) 74LS138译码器逻辑功能的测试。将74LS138输出??接数字实验箱LED 管,地址输入接实验箱开关,使能端接固定电平(或GND)。电路图如Figure 1所示: Figure 2 ??????????????时,任意拨动开关,观察LED显示状态,记录观察结果。 ??????????????时,按二进制顺序拨动开关,观察LED显示状态,并与功能表对照,记录观察结果。 用Multisim进行仿真,电路如Figure 3所示。将结果与上面实验结果对照。

Figure 4 (2) 利用3-8译码器74LS138和与非门74LS20实现函数: ?? 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: ?? ?? A ? ??????????? ???? 按Figure 5所示的电路连接。并用Multisim进行仿真,将结果对比。 Figure 6

(3) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 而输入端只有 A、、三个,故要另用使能端进行片选使两片138译码器 进行分时工作。而实验台上的小灯泡不够用,故只用一个灯泡,而用连接灯泡的导线测试?,在各端子上移动即可。在multisim中仿真电路连接如Figure 7所示(实验台上的电路没有接下面的两个8灯LED): Figure 8 四、实验结果 (1) 74LS138译码器逻辑功能的测试。 当输入 A时,应该是输出低电平,故应该第一个小灯亮。实际用实验台测试时,LE0灯显示如Figure 9所示。当输入 A时,应该是输出低电平,故理论上应该第二个小灯亮。实际用实验台测试时,LE0灯显示如Figure 6所示。 Figure 10

计数、译码、显示电路实验

创作编号: BG7531400019813488897SX 创作者:别如克* 实验五计数、译码、显示电路 一、实验目的 掌握中规模集成计数器74LS161及七段译码器CD4511的逻辑功能,掌握共阴极七段显示器的使用方法,熟悉用示波器测试计数器输出波形的方法。 二、实验原理 计数、译码、显示电路是由计数器、译码器和显示器三部分电路组成的逻辑电路。下面分别加以介绍。 1.计数器:计数器是一种中规模 集成电路,其种类有很多。如果按照触 发器翻转的次序分类,可分为同步计数 器和异步计数器两种;如果按照计数数 字的增减可分为加法计数器、减法计数 器和可逆计数器三种;如果按照计数器 进位规律又可分为二进制计数器、十进 制计数器、可编程N进制计数器等多 种。 常用计数器均有典型产品,不须自

己设计,只要合理选用即可。 本实验选用四位二进制同步计数器74LS161做计数器,该计数器外加适当的反馈电路可以构成十六进制以内的任意进制计数器。图5-1是它的逻辑图。这个电路除了具有二进制加法计数功能外,还具 有预置数、清零、保持的功能。图中LD是预置数控制端,D、C、B、 R是清零端,EP、ET是计数器使能控制端,A是预置数据输入端, D RCO是进位信号输出端,它的主要功能有: ①异步清零功能 R=0(输出低电平),则输出QDQCQBQA=0000,除EP、ET 若 D 信号外,与其它输入信号无关,也不需要CP脉冲的配合,所以称为“异步清零”。 ②同步并行置数功能 R=1,且LD=0的条件下,当CP上升沿到来后,触发器QD 在 D QCQBQA同时接收D、C、B、A输入端的并行数据。由于数据进入计数器需要CP脉冲的作用,所以称为“同步置数”,由于4个触发器同时置入,又称为“并行”。 ③保持功能 R=1,LD=1的条件下,EP、ET两个使能端只要有一个低在 D 电平,计数器将处于数据保持状态,与CP及D、C、B、A输入无关。 ④计数功能 R=1、LD=1、EP=1、ET=1的条件下,计数器对CP端输入在 D 脉冲进行计数,计数方式为二进制加法,状态变化在QDQCQBQ =0000~1111间循环。74LS161的功能表详见表5-l所示。 A 表5-1 74LS161的功能表

实验一 IO地址译码 实验报告

信息学院 《汇编语言与接口技术》上机实验报告 学号:104100197 姓名:王飞班级:计科10C 课程名称:汇编语言与接口技术上机内容I/O地址译码 实验性质:□综合性实验□设计性实验■验证实验 实验时间: 2012年 5 月11 日实验地点:睿智4号102室实验设备TPC—2003A微机实验箱 实验报告:(包括目的、方法、原理、结果或实验小节等)。 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理和内容 实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每 个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地 址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 三、实验中使用的程序 stack1 segment stack 'stack' dw 32 dup(0) stack1 ends data segment baseport equ 0ec00h-280h;实际基址 port1 equ baseport+2a0h;基址+偏移地址 port2 equ baseport+2a8h;基址+偏移地址 data ends code segment

assume ss:stack1,ds:data,cs:code start: mov ax,data mov ds,ax again: mov dx, port1 in al, dx call delay ;调用延时程序 mov dx, port2 in al, dx call delay jmp again delay proc push bx push cx mov bx, 5000 wait2: mov cx,0 wait1: loop wait1 dec bx jnz wait2 pop cx pop bx ret delay endp;延时程序 mov ah, 4ch int 21h code ends end start 四、实验小结 通过本次实验,基本掌握I/O地址译码电路的工作原理。会写延时程序。在实验中达到了预期灯泡一亮一灭的效果。自己可以控制灯泡亮灭的速度。 任课教师评语: 教师签字:年月日注:每学期至少有一次设计性实验。每学期结束请任课教师按时按量统一交到教学秘书处。

计算机组成原理实验报告 指令译码器

河北大学计算机组成原理实验报告 实验项目指令译码器成绩 一、实验目的: (1)理解指令译码器的作用和重要性。 (2)学习设计指令译码器。 二、实验原理: 指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指指令译码电路是由组合逻辑实现的。 组合逻辑控制器又称硬连线控制器,是设计计算机的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器等构成。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代及其及VLSI技术的发展,这种控制器又得到了广泛重视,如RISC机广泛使用这种控制器。 图6-42是组合逻辑控制器的方框图。逻辑网络的输入信号来源有3个:①指令操作码译 码器的输出I n ;②来自时序发生器的节拍电位信号T k ;③来自执行部件的反馈信号B j 。逻辑网 络的输出信号就是微操作控制信号,用来对执行部件进行控制。

图6-42 组合逻辑控制器的结构方框图 组合逻辑控制器的基本原理可描述位:某一微操作控制信号C m 是指令操作码译码器的输出I n 、时序信号(节拍电位信号T k )和状态条件信号B j 的逻辑函数。即 C m =f(I n ,T k ,B j ) 用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。 三、实验步骤: (1)将试验台设置成FPGA-CPU 独立调试模式,REGSEL=0、CLKSEL=1、FDSEL=0。使用试验台上的单脉冲,即STEP_CLK 短路子短接,短路子RUN_CLK 断开。 (2)将设计在QuartusII 下输入,变异后下载到TEC-CA 上的FPGA 中。 (3)拨动试验台上的开关SD 5~SD 0,改变IR[15..12]、进位标志C 和结果为0标志Z ,观察指示灯R 10~R 0显示的控制信号,并填写表6-28。 四、实验现象及分析:

哈夫曼编码译码器实验报告免费

哈夫曼编码译码器实验报告(免费)

————————————————————————————————作者:————————————————————————————————日期:

问题解析与解题方法 问题分析: 设计一个哈夫曼编码、译码系统。对一个ASCII编码的文本文件中的字符进行哈夫曼编码,生成编码文件;反过来,可将编码文件译码还原为一个文本文件。 (1)从文件中读入任意一篇英文短文(文件为ASCII编码,扩展名为txt); (2)统计并输出不同字符在文章中出现的频率(空格、换行、标点等也按字符处理);(3)根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码; (4)将文本文件利用哈夫曼树进行编码,存储成压缩文件(编码文件后缀名.huf)(5)用哈夫曼编码来存储文件,并和输入文本文件大小进行比较,计算文件压缩率;(6)进行译码,将huf文件译码为ASCII编码的txt文件,与原txt文件进行比较。 根据上述过程可以知道该编码译码器的关键在于字符统计和哈夫曼树的创建以及解码。 哈夫曼树的理论创建过程如下: 一、构成初始集合 对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合 F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结 点,它的左右子树均为空。 二、选取左右子树 在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二 叉树的根结点的权值为其左右子树的根结点的权值之和。 三、删除左右子树 从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。 四、重复二和三两步, 重复二和三两步,直到集合F中只有一棵二叉树为止。 因此,有如下分析: 1.我们需要一个功能函数对ASCII码的初始化并需要一个数组来保存它们; 2.定义代表森林的数组,在创建哈夫曼树的过程当中保存被选中的字符,即给定报文 中出现的字符,模拟哈夫曼树选取和删除左右子树的过程; 3.自底而上地创建哈夫曼树,保存根的地址和每个叶节点的地址,即字符的地址,然 后自底而上检索,首尾对换调整为哈夫曼树实现哈弗曼编码; 4.从哈弗曼编码文件当中读入字符,根据当前字符为0或者1的状况访问左子树或者 右孩子,实现解码; 5.使用文件读写操作哈夫曼编码和解码结果的写入; 解题方法: 结构体、数组、类的定义: 1.定义结构体类型的signode 作为哈夫曼树的节点,定义结构体类型的hufnode 作为

实验四 译码显示电路

实验四译码显示电路 The Standardization Office was revised on the afternoon of December 13, 2020

实验四译码显示电路 一、实验目的: 1、掌握中规模集成译码器的逻辑功能和使用方法 2、熟悉数码管的使用 二、实验仪器及器件: 三、实验步骤及结果 1、按表(二)测试74LS1940 测试结果略 2、实现四节拍顺序脉冲发生器 (1)实验电路图及74LS194功能表 图(一)表(二)74LS194功能表

(2)实验结果 (3)实验波形(Q3 Q2 Q1 Q0分别代表Q D Q C Q B Q A) Q3 Q3与Q2 Q3与Q1 Q3与Q0

3、按图(四)实现四位扫描译码显示电路。采用内容(2)顺序脉冲作为D s 信号。8421BCD 码用逻辑模拟开关输入。自行设计伪码灭灯电路,使正常输入BCD 码时输出为“1",伪码输入时灭灯。 (1) 设计伪码灭灯电路及其电路图 f(A)=(A3(A2’A1’)’)’ (2) 四位扫描译码显示电路原理图 A1A0 A3A2 00 01 11 10 00 1 1 1 1 01 1 1 1 1 11 0 0 0 0 10 1 1

(3)实验预期结果(LED显示)(由于实验箱损坏,实验时无法得到正确的LED数码管的显示数字,这里仅用预期结果表示) 4、自行设计电路在4联装LED数码管同时显示出4个不同的0-7的数字。 使用74LS48上的L1S(Gi)’(i=1,2,3,4)端口。要使第i个显示器显示i,接逻辑电路Yi,使得Yi只有在Ai表示i时为0,其他时候均为1,将之接为L1S(Gj)’=0(j=i,0表示有效),L1S(Gj)’=1(j≠i) 电路图如下:

74LS181实验报告

学生实验报告 实验名称用Verilog HDL语句实现74LS181的功能 实验日期2013 年10月19号 学号 姓名 班级计算机科学与技术一班 一、实验目的与要求 1、了解运算器的组成结构; 2、掌握算术逻辑运算器的工作原理; 3、掌握简单运算器的数据传送通道 4、掌握用Verilog HDL实现简单运算器的设计 二、实验原理 74LS181的逻辑功能表 图中,S0到S3是四个控制端,用于选择进行何种运算。M用于控制ALU进行算术

运算还是逻辑运算。 当M=0时,M 对进位信号没有任何影响,Fi 值与操作数Ai ,Bi 以及地位向本位进位Cn+1有关,所以M=0时进行算术运算。操作数用补码表示,“加”只算术加,运算时考虑进位;“+”指逻辑加,不考虑进位;减法运算时,减法取反码运算后用加法器实现,结果输出为A 减B 减1在最末位产生一个强迫进位(加1),以得到A 减B 的结果。 当M=1时,封锁了各位的进位输出Cn+i=0,因此各位的运算结果Fi 仅与操作数Ai ,Bi 有关,此时进行逻辑运算。 三、实验内容与步骤 1.根据书85面的逻辑功能表编写Verilog HDL 语句,编译,仿真等步骤。 2.按照模式一电路图结构图设置对应的引脚参数。确认无误后,配置文件下载。 CLOCK9CLOCK5CLOCK2 CLOCK0 SPEAKER 扬声器 NO.1 PIO11-PIO8PIO15-PIO12PIO48 PIO49D15 D16HEX HEX PIO32 PIO33 PIO34 PIO35 PIO36 PIO37 PIO38 PIO39 D1D2D3D4D5D6D7D8实验电路结构图 译码器 译码器 译码器 译码器 FPGA/CPLD 目标芯片1 2 3 4 5 6 7 8 PIO3-PIO0 PIO7-PIO4HEX HEX 键1 键2 键3 键4 键5 键6 键7 键8 PIO39-PIO32PIO31-PIO28 PIO27-PIO24PIO23-PIO20PIO19-PIO16 3.连接试验箱,开通电源,进行验证。 五、实验环境与设备 实验软件:Quartus ii 软件 实验设备:实验室试验箱 六、实验代码设计(含符号说明) module NS74181(A,B,F,S,CN,CO,M); //端口名 input[3:0] A,B; input[3:0] S; input M,CN; output CO; output[3:0] F; reg[3:0] F; reg[3:0] ta,tb; //用ta,tb 代替~A 和~B reg CO; //进位 always @(S) begin ta=~A; tb=~B; case(S) 'b0000: begin

计数器实验报告

实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5-9-1 CC40192引脚排列及逻辑符号 图中LD—置数端 CP U—加计数端 CP D—减计数端 CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3—计数器输入端 Q0、Q1、Q2、Q3—数据输出端 CR—清除端

CC40192的功能如表5-9-1,说明如下: 表5-9-1 输 入 输 出 CR LD CP U CP D D 3 D 2 D 1 D 0 Q 3 Q 2 Q 1 Q 0 1 × × × × × × × 0 0 0 0 0 0 × × d c b a d c b a 0 1 ↑ 1 × × × × 加 计 数 0 1 1 ↑ × × × × 减 计 数 当清除端CR 为高电平“1”时,计数器直接清零;CR 置低电平则执行其它功能。 当CR 为低电平,置数端LD 也为低电平时,数据直接从置数端D 0、D 1、D 2、D 3 置入计数器。 当CR 为低电平,LD 为高电平时,执行计数功能。执行加计数时,减计数端CP D 接高电平,计数脉冲由CP U 输入;在计数脉冲上升沿进行 8421 码十进制加法计数。执行减计数时,加计数端CP U 接高电平,计数脉冲由减计数端CP D 输入,表5-9-2为8421码十进制加、减计数器的状态转换表。 表5-9-2 加法计数 输入脉冲数 0 1 2 3 4 5 6 7 8 9 输出 Q 3 0 0 0 0 0 0 0 0 1 1 Q 2 1 1 1 1 Q 1 0 0 1 1 0 0 1 1 0 0 Q 0 1 0 1 1 1 1 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位输出CO 控制高一位的CP U 端构成的加数级联图。

数电实验--译码显示电路

译码显示电路 二、实验仪器及器件: 1、数字电路实验箱、数字万用表、示波器。 2、器件:74LS48X1, 74LS194X1, 74LS73X1, 74LS00X2 三、实验预习: 1、复习有关译码显示原理。 2、根据实验任务,画出所需的实验线路及记录表格。 四、实验原理: 1、数码显示译码器: (1)七段发光二极管(LED)数码管 LED数码管是目前最常用的数字显示器,图(一)(a)、(b)为共阴管和共阳管的电路,(C)为两种不同出线形式的引出脚功能图。 一个LED数码管可用来显示一位0--9十进制数和一个小数点。小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。

(2)BCD码七段译码驱动器 此类译码器型号有74LS47(共阳),74LS48(共阴), 段译码/驱动器。驱动共阴极LED数码管。 图(二)为74LS48引脚排列。其中A、B、C、D - BCD 码输入端,a、b、c、d、e、f、g——译码输出端,输出 “1"有效,用来驱动共阴极LED数码管。 - 灯测试输入端,=“0”时,译码输出全为“1” - 灭零输入端,=“0”时,不显示多余的零。 作为输出端使用时,灭零输出端。 2、扫描式显示 对多位数字显示采用扫描式显示可以节电,这一点在某些场合很重要。对于某些系统输出

的的数据,应用扫描式译码显示,可使电路大为简化。有些系统,比如计算机,某些A/D 转换器,是以这样的形式输出数据的:由选通信号控制多路开关,先后送出(由高位到低位或由低位到高位)一位十进制的BCD码,如图(三)所示。图中的Ds称为选通信号,并假定系统按先高位后低位的顺序送出数据,当Ds1高电平送出千位数,Ds2高电平送出百位数,……一般Ds的高电平相邻之间有一定的间隔,选通信号可用节拍发生器产生。 如图(四)所示,为这种系统的译码扫描显示的原理图。图中各片LED(共阴)的发光段并连接至译码器的相应端,把数据输入的相应权端与系统输出端相连,把各位选通端反相后接相应LED的公共端。f(A)使数据输入是伪码(8421BCD中的1010-1111)时使f(A)=0,伪码灭灯。接译码器的灭灯I B端,使不显示伪码。 3、四节拍发生器 扫描显示要求数码管按先后顺序显示。这就要求如图(三)所示的选通信号。通常该类型的信号称为节拍信号。如果使用的数码管是共阴极型,则选通信号是图(三)的反相。如图(五)所示就是这种节拍信号发生器。

PL 0 语言编译器分析实验报告

PL/0 语言编译器分析实验 一、实验目的 通过阅读与解析一个实际编译器(PL/0语言编译器)的源代码,加深对编译阶段(包括词法分析、语法分析、语义分析、中间代码生成等)和编译系统软件结构的理解,并达到提高学生学习兴趣的目的。 二、实验要求 (1)要求掌握基本的程序设计技巧(C语言)和阅读较大规模程序源代码的能力; (2)理解并掌握编译过程的逻辑阶段及各逻辑阶段的功能; (3)要求能把握整个系统(PL/0语言编译器)的体系结构,各功能模块的功能,各模块之间的接口; (4)要求能总结出实现编译过程各逻辑阶段功能采用的具体算法与技 三、实验报告 pl/0语言是pascal语言的一个子集,我们这里分析的pl/0的编译程序包括了对pl/0语言源程序进行分析处理、编译生成类pcode代码,并在虚拟机上解释运行生成的类pcode代码的功能。 pl/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告和出错恢复的功能。在源程序没有错误编译通过的情况下,调用类pcode 解释程序解释执行生成的类pcode代码。 词法分析子程序分析: 词法分析子程序名为getsym,功能是从源程序中读出一个单词符号(token),把它的信息放入全局变量sym、id和num中,语法分析器需要单词时,直接从这三个变量中获得。(注意!语法分析器每次用完这三个变量的值就立即调用getsym 子程序获取新的单词供下一次使用。而不是在需要新单词时才调用getsym过程。)getsym过程通过反复调用getch子过程从源程序过获取字符,并把它们拼成单词。getch过程中使用了行缓冲区技术以提高程序运行效率。 词法分析器的分析过程: 调用getsym时,它通过getch过程从源程序中获得一个字符。如果这个字符是字母,则继续获取字符或数字,最终可以拼成一个单词,查保留字表,如果查到为保留字,则把sym变量赋成相应的保留字类型值;如果没有查到,则这个单词应是一个用户自定义的标识符(可能是变量名、常量名或是过程的名字),把sym 置为ident,把这个单词存入id变量。查保留字表时使用了二分法查找以提高效率。如果getch获得的字符是数字,则继续用getch获取数字,并把它们拼成一个整数,然后把sym置为number,并把拼成的数值放入num变量。如果识别出其它合

相关主题
文本预览
相关文档 最新文档