文档库 最新最全的文档下载
当前位置:文档库 › 3—8译码器的设计

3—8译码器的设计

3—8译码器的设计
3—8译码器的设计

实验二组合逻辑电路设计(一)

姓名:王举升班级:自动化102班学号:1002100550 一、实验目的

l、学习并掌握MAX+PLUSⅡ10.0 Altera CPLD软件开发平台。

2、通过一个简单的3—8译码器的设计,掌握图形编程的使用方法。

3、掌握组合逻辑电路的静态测试方法。

二.实验步骤

1、进入windows操作系统,打开MAX+PLUSⅡ10.0。

(1)、启动File/Project Name菜单,输入设计项目的名字。点Assign/Device菜单,选择器件(本设计全选用EPM7128) 。

2、用硬件描述语言完成编译器的设计

(1)生成设计项目文件。

(2)启动FILE/NEW菜单命令。如图2.1.9

图2.1.9

(3)选择TEXT EDITOR FILE,点击OK。

(4)键入程序如下:

library ieee;

use ieee.std_logic_1164.all;

entity wjs02 is

port(

a,b,c,d:in std_logic;

l: out std_logic

);

end wjs02;

architecture behave of wjs02 is

signal s:std_logic_vecto(3 downto 0);

begin

s<=a&b&c&d;

process(s,a,b,c,d)

begin

case s is

when "0000"=>l<='0';

when "0001"=>l<='0';

when "0010"=>l<='0';

when "0011"=>l<='0';

when "0100"=>l<='0';

when "0101"=>l<='1';

when "0110"=>l<='1';

when "0111"=>l<='1';

when "1000"=>l<='1';

when others=>l<='0';

end case;

end process;

end behave;;

(5)存成.VHD文件,然后进行编译即可。

3、编译

启动MAX+PLUSII\COMPILER菜单,按START开始编译,生成.SOF和.POF等文件,以便硬件下载和编程时调用,同时生成.RPT文件,如图2.1.5。

图2.1.5

4、管脚的重新分配锁定:

启动MAX+PLUSⅡ\FLOORPLIN EDITOR菜单命令,出现如图2.1.6所示的画面:

FLOORPLAN EDITOR显示该设计项目的管脚分配,这是由软件自动分配的。用户可随意改变管脚分

配。管脚编辑过程如下(见图2.1.7):

(1).按下CURRENT ASSIGNMENTS FLOORPLAN,所有的输出都会出现在UNASSIGNED NODES 栏框内。

(2).用鼠标按住某输入输出门名称,并拖到下面芯片的某一管脚上,松开鼠标左键,使完成一个管脚的分配。

5、实验电路板上的连线

用拨码开关的低四位代表四舍五入判别电路输入(a,b,c,d),将之与ALTERA(EPM712884—15芯片)的11,10,9,8芯片的管脚相连;用LED来表示译码器的输出,将它们与8管脚相连。(我们实验例程的管脚分配结果)

注意:以上实验电路板上的连线可根据自己对管脚的锁定情况而定。

图2.1.7

6、仿真,启动File/New菜单命令,出现如下图的界面,选择Wavefrom Editor file,按OK

7、器件的下载与配置

(1).启动MAX+PLUSⅡ\PROGRAMMER菜单,出现如图2.1.8所示对话框。

(2).选择JTAG\MULTI—DEVICE JIAG CHAIN菜单项。

(3).启动JTAG\MULTI—DEVICE JTAG CHAIN SETUP..菜单项。

(4).点击SELECT PROGRAMMING FILE..按扭,选择要下载的.pof文件(对于MAx7000S系列),然后按ADD加到文件列表中。

(5).如果不能正确下载,可点击DETECT JTAG CHAIN INFO按扭进行测试,查找原因。最后按OK退

出。

(6).这时回到图2.1.8的状态,按CONFIGURE按扭完成下载。

数据结构哈夫曼编码译码器课程设计报告

JAVA语言实验报告 学院计算机工程学院班级计算1013 姓名佐伊伦学号 201081xxxx 成绩指导老师 xxxx 2012年09月03日

目录 目录 (1) 1 课程设计的目的和意义 (2) 2 需求分析 (3) 3 系统(项目)设计 (5) ①设计思路及方案 (5) ②模块的设计及介绍 (5) ③主要模块程序流程图 (8) 4 系统实现 (11) ①主调函数 (12) ②建立HuffmanTree (12) ③生成Huffman编码并写入文件 (15) ④电文译码 (16) 5 系统调试 (17) 参考文献 (21) 附录源程序 (22)

1 课程设计的目的和意义 在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。 哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个对应的字符的编码,这就是哈夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希望总长度尽可能最短,即采用最短码。 作为信息管理专业的学生,我们应该很好的掌握这门技术。在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。 在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。 在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见。同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。 数据结构课程具有比较强的理论性,同时也具有较强的可应用性和实践性。课程设计是一个重要的教学环节。我们在一般情况下都能够重视实验环节,但是容易忽略实验的总结,忽略实验报告的撰写。通过这次实验让我们明白:作为一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。只有这样,我们的综合素质才会有好的提高。

EDA 4-7线译码器 8-3线编码器 电子时钟

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY decoder47 IS PORT(DCBA:IN STD_LOGIC_VECTOR(3 DOWNTO 0); gfedcba:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END ENTITY decoder47; ARCHITECTURE one OF decoder47 IS BEGIN PROCESS(DCBA) BEGIN CASE DCBA IS WHEN "0000"=> gfedcba<="0111111"; WHEN "0001"=> gfedcba<="0000111"; WHEN "0010"=> gfedcba<="1011011"; WHEN "0011"=> gfedcba<="1001111"; WHEN "0100"=> gfedcba<="1100110"; WHEN "0101"=> gfedcba<="1101101"; WHEN "0110"=> gfedcba<="1111100"; WHEN "0111"=> gfedcba<="0000111"; WHEN "1000"=> gfedcba<="1111111"; WHEN "1001"=> gfedcba<="1100111"; WHEN OTHERS=> NULL; END CASE; END PROCESS; END ARCHITECTURE one; 仿真波形:

译码器实验报告

译码器实验报告 实验三译码器及其应用 一、实验目的 1、掌握译码器的测试方法。 2、了解中规模集成译码器的功能,管脚分布,掌握其逻辑功能。 3、掌握用译码器构成 组合电路的方法。4、学习译码器的扩展。 二、实验仪器 1、数字逻辑电路实验板1块 2、74hc138 3-8线译码器2片 3、74hc20 双4输入与非 门1片 三、实验原理 1、中规模集成译码器74hc138 74hc138是集成3线-8线译码器,

在数字系统中应用比较广泛。图3-1是其引脚排列。其中a2 、a1 、a0 为地址输入端,0y~7y为译码输出端,s1、2s 、3s 为使能端。74hc138真值表如下:74hc138引脚图为:74hc138工作原理为:当s1=1,s2+s3=0时,电路完成译码功能,输出低电平有效。其 中: 2、译码器应用 因为74hc138 三-八线译码器的输出包括了三变量数字信号的全部八种组合,每一个输出端表示一个最小项,因此可以利用八条输出线组合构成三变量的任意组合电路。 四、实验内容 1、译码器74hc138 逻辑功能测试(1)控制端功能测试测试电路如图:按上表所示条件输入开关状态。观察并记录译码器输出状态。led指示灯亮为0,灯不 亮为1。

(2)逻辑功能测试 将译码器使能端s1、2s 、3s 及地址端a2、a1、a0 分别接至逻辑电平开关输出口,八个输出端y7 ?????y0依次连接在逻辑电平显示器的八个输入口上,拨动逻辑电平开关,按 下表逐项测试74hc138的逻辑功能。 2、用74hc138实现逻辑函数y=ab+bc+ca 如果设a2=a,a1=b,a0=c,则函数y 的逻辑图如上所示。用74hc138和74hc20各一块 在实验箱上连接下图线路。并将测试结果下面的记录表中。 3、用两个3线-8线译码器构成4线-16线译码器。利用使能端能方便地将两个3/8译码器组合成一个4/16译码器,如下图所示。 五、实验结果记录:2、74hc138实现逻辑函数y=ab+bc+ca,实验结果记录: 六、实验注意事项

EDA设计38译码器

E D A设计38译码器-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

班级:通信13-3班 姓名:王亚飞 学号: 18 指导教师: 成绩: 电子与信息工程学院 信息与通信工程系

摘要 EDA技术是以微电子技术为物理层面,现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路ASIC为目的的一门新兴技术。而VHDL语言是硬件描述语言之一,其广泛应用性和结构的完整性使其成为硬件描述语言的代表。随着社会经济和科技的发展,越来越多的电子产品涌如我们的日常生活当中,在日常生活中译码器起着不可忽视的作用。本设计就是运用VHDL语言设计的3-8译码器。3-8译码器电路的输入变量有三个即D0,D1,D2,输出变量有八个Y0-Y7,对输入变量D0,D1,D2译码,就能确定输出端Y0-Y7的输出端变为有效(低电平),从而达到译码目的。 关键词:EDA;3-8译码器

1实验目的 1、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。 2、初步掌握VHDL语言的常用语句。 3、掌握VHDL语言的基本语句及文本输入的EDA设计方法。 2实验背景 VHDL的简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为A I/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为A I/IEEE的A I/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。VHDL 的英文全写是:VHSIC(Very High eed Integrated Circuit) Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。 VHDL语言的特点 VHDL是一种用普通文本形式设计数字系统的硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口,可以在任何文字处理软件环境中编辑。除了含有许多具有硬件特征的语句外,其形式、描述风格及语法十分类似于计算机高级语言。VHDL程序将一项工程设计项目(或称设计实体)分成描述外部端口信号的可视部分和描述端口信号之间逻辑关系的内部不可视部分,这种将设计项目分成内、外两个部分的概念是硬件描述语言(VHDL)的基本特征。

用七段数码管显示简单字符

用七段数码管显示简单字符——译码器及其应 用 一、实验目的 1、了解显示译码器的结构和理解其工作原理。 2、学习7段数码显示译码器设计。 3、学习用基逻辑门、3-8译码器、4-1选择器控制显示器的显示。 二、实验内容 1、了解逻辑门、3-8译码器、4-1选择器的工作原理,设计基本电路,实现以下功能: C2C1C0是译码器的3个输入,用C2C1C0的不同取值来选择在七段数码管上输出不同字符。七段数码管是共阳极的。 图1 七段译码器 C2C1C0的不同取值对应显示的字母如下: 图2 字符编码

三、实验仪器及设备: 一、PC 机 二、 Quartus Ⅱ 9.0 三、 DE2-70 四、显示器 四、实验步骤 1、列出真值表,计算要实现以上功能时数码管的0-7段对应的逻辑函数式。 真值表如下: 函数表达式如下: “0”=' 02C C + “1”=“2”=0'1'012C C C C C ++ “3”=(2C +1C +'0C )(2C +0C +'1C )(2C +' 1C +'0C ) “4”=“5”=2C “6”=2C +1C +02C C 2、新建一个 quartusII 工程,用以在DE2_70平台上实现所要求的电路。 建立一个BDF 文件,基于SSI ,实现七段译码器电路,用SW3_SW1作为输入C2C1C0, DE2_70平台上的的数码管分别为HEX0~HEX7,输出接HEX1。 参照de2_70_pin_assignments.csv 中的引脚分配表配置引脚。 新建仿真文件,给出输入信号,观察输出信号是否符合要求。 编译工程,完成后下载到FPGA 中。 拨动波段开关并观察七段数码管HEX0的显示,以验证设计的功能是否正确。 基于3-8译码器和4-1选择器重复上述2.、中的步骤完成设计。

3-8译码器课程设计报告

EDA技术实验报告 —3-8译码器的设计 一.实验目的 1.通过一个简单的3-8译码器的设计,掌握组合逻辑电路的设 计方法。 2.掌握组合逻辑电路的静态测试方法。 3.初步了解QUARTUSⅡ软件的基本操作和应用。 4.初步了解可编程逻辑器件的设计全过程。 二.实验原理 3-8译码器的三输入,八输出。输入信号N用二进制表示,对应的输出信号N输出高电平时表示有信号产生,而其它则为 低电平表示无信号产生。其真值表如下图所示:

当使能端指示输入信号无效或不用对当前的信号进行译码时,输出端全为高电平,表示任何信号无效。 三.实验内容 用三个拨动开关来表示三八译码器的三个输入(A,B,C),用八个LED来表示三八译码器的八个输出(D0-D7)。通过与实验箱的FPGA接口相连,来验证真值表中的内容。 表1-2拨动开关与FPGA管脚连接表 表1-3LED 灯与FPGA管脚连接表 (当FPGA与其对应的接口为高电平时,LED会发亮)

LED1 LED3 G14 从FPGA的G14至 LED1 LED4 H12 从FPGA的H12至 LED1 LED5 H11 从FPGA的H11至 LED1 LED6 J10 从FPGA的J10至LED1 LED7 L9 从FPGA的L9至LED1 LED8 H1O 从FPGA的H10至 LED1 四.实验歩骤 1.建立工程文件

2.建立图形设计软件 (1)将要选择的器件符号放置在图形编辑器的工作区域,用正

交节点工具将原件安装起来,然后定义端口的名称。结果如下图: 3.编 译 前 设 置 (1)选 择 目标芯片 (2)选择目标芯片的引脚状态 4.对设计文件进行编译

七段数码显示译码器电路的设计

WHEN "1001" => LED7s <="1101111"; WHEN "1010" => LED7s <="1110111"; WHEN "1011" => LED7s <="1111100"; WHEN "1100" => LED7s <="0111001"; WHEN "1101" => LED7s <="1011110"; WHEN "1110" => LED7s <="1111001"; WHEN "1111" => LED7s <="1110001"; WHEN OTHERS => NULL; END CASE; END PROCESS; END; 在完成源程序的编辑后,执行”Processing”菜单下的“Start Compilation”命令,对DECL7s.vhd进行编译。在完成对源文件的编译后,执行“File”菜单的“New”命令,或者直接按主窗口上的“创建新的文本文件”按钮,在弹出的新文件类型选择对话框中,选择“Vector Waveform File”生成仿真文件。 对引脚进行锁定。执行”Assignments”菜单下的“Pins”命令,根据下图进行引脚设置。 用电缆连接电脑与设备箱,执行”Tools”菜单下的“Programmer”命令,在弹出的对话框中,单击“Hardware Setup”并在新弹出的对话框中选择驱动,然后退出至上一层对话框,单击“Start”进行下载烧录。 【实验数据整理与归纳】

DECL7s11.vhd 实际效果图 DECL7s11.vwf 【实验结果与分析】 计数译码系统电路的仿真波形如图DECL7s.vwf所示,键值为"0000"时,数码管显示数值应为"0";键值为"0001"时,数码管显示数值应为"1",依此类推。仿真结果验证了设计的正确性。而实际情况与仿真结果相吻合。 【实验中遇到的问题及解决方案】 1.驱动安装失败。 解决方案:根据老师发的教程,更换别的方法进行安装。 2.虽然数码管显示数值正确,但对应按键与想象的有出入。 解决方案:经排查发现是管脚分配时颠倒了顺序导致的,按键时亦随之颠倒顺序即可。

EDA课程设计报告8线-3线优先编码器

Xxxxx学院 《EDA技术》课程报告 设计题目:8线-3线优先编码器班级:应用电子1101班姓名: 学号: 指导老师: 日期:

目录 一、8-3优先编码器设计原理分析 (3) 二、8-3优先编码器模块的源程序 (3) 三、8-3优先编码器仿真结果 (4) 四、设计总结和心得体会 (5) 五、参考资料 (5)

一、8-3优先编码器设计原理分析 8-3优先编码器输入信号为din0,d in1,din2,din3,din4,din5,din6和din7,输出信号为out2、out1、out0。输入信号中din7的优先级别最低,依次类推,din0的优先级别最高。也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平)则看优先级仅次于din0的din1状态决定,依次类推。因为din0到din7共8中状态,可以用3位二进制编码来表示。8-3优先编码器真值表如下表所示。 表1 8-3优先编码器真值表 二、8-3优先编码器模块的源程序 8-3优先编码器由VHDL程序来实现,VHDL语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2);EANABLE: in std_logic ); END coder; ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (EANABLE='0') THEN IF (din(0)='1') THEN output <= "000" ; ELSIF (din(1)='1') THEN output <= "100" ;

哈夫曼编译码器课程设计报告完整版

XXX学院本科 数据结构课程设计总结报告 设计题目:实验一、哈夫曼编/译码器 学生姓名:XXX 系别:XXX 专业:XXX 班级:XXX 学号:XXX 指导教师:XXX XXX 2012年6 月21日 xxx学院 课程设计任务书 题目一、赫夫曼编译码器 专业、班级xxx 学号xxx 姓名xxx 主要内容、基本要求、主要参考资料等: 1. 主要内容 利用哈夫曼编码进行信息通信可大大提高信道利用率,缩短信息传输时间,降低传输成本。要求在发送端通过一个编码系统对待传数据预先编码;在接收端将传来的数据进行译码(复原)。对于双工信道(既可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼的编/译码系统。 2. 基本要求 系统应具有以下功能: (1)C:编码(Coding)。对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中,将以此建好的哈夫曼树存入文件HuffmanTree中

(2)D:解码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入textfile中。 (3)P:打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件codeprint中。 (4)T:打印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件treeprint中。 3. 参考资料:数据结构(C语言版)严蔚敏、吴伟民编着; 数据结构标准教程胡超、闫宝玉编着 完成期限:2012年6月21 日 指导教师签名: 课程负责人签名: 2012年 6月 21 日 一、设计题目(任选其一) 实验一、哈夫曼编/译码器 二、实验目的 1巩固和加深对数据结构的理解,提高综合运用本课程所学知识的能力; 2 深化对算法课程中基本概念、理论和方法的理解; 3 巩固构造赫夫曼树的算法; 4 设计试验用程序实验赫夫曼树的构造。 三、运行环境(软、硬件环境) Windows xp sp3,Visual C++ 英文版 四、算法设计的思想 (1)初始化赫夫曼树,输入文件中各字符及其权值,并保存于文件中 (2)编码(Coding)。对文件tobetrans中的正文进行编码,然后将结果存入文件codefile 中 (3)D:解码(Decoding)。利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入textfile中。 (4)P:打印代码文件(Print)。将文件codefile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件codeprint中。

7段数码管显示电路

4.4 显示模块 4.4.1 7段数码管的结构与工作原理 7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成 数字显示,另外一个圆形的发光二极管显示小数点。 当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图4.9所示。 4.4.2 7段数码管驱动方法 发光二极管(LED 是一种由磷化镓(GaP )等半导体材料制成的,能直接将电能转变成光能的发光显示器件。当其内部有一一电流通过时,它就会发光。 7段数码管每段的驱动电流和其他单个LED 发光二极管一样,一般为5~10mA ;正向电压随发光材料不同表现为1.8~2.5V 不等。 7段数码管的显示方法可分为静态显示与动态显示,下面分别介绍。 (1) 静太显示 所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒定地寻能可截止。这种显示方法为每一们都需要有一个8位输出口控制。对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态显示器接口。 静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU 才执行一次显示更新子程序,这样大大节省了CPU 的时间,提高了CPU 的工作效率;缺点是位数较多时,所需I/O 口太多,硬件开销太大,因此常采用另外一种显示方式——动态显示。

(2)动态显示 所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄 灭时的余辉效应,看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参烽,可实现亮度较高较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O 口(称为扫描口或字位口),控制各位LED 显示器所显示的字形也需要一个8位口(称为数据口或字形口)。 动态显示器的优点是节省硬件资源,成本较低,但在控制系统运行过程中,要保证显示器正常显示,CPU 必须每隔一段时间执行一次显示子程序,这占用了CPU 的大量时间,降低了CPU 工作效率,同时显示亮度较静态显示器低。 综合以上考虑,由于温度显示为精确到小数点后两位,故只需4个数码管,又考虑到CPU 工作效率与电源效率,本毕业设计采用静态显示。为共阳极显示。 4.4.3 硬件编码 动74LS47是一款BCD 码转揣为7段输出的集成电路芯片,利用它可以直接驱动共阳 极的7段数码管。它的引脚分部和真值表分别下图。

哈夫曼编码译码器---课程设计报告

目录 目录 (2) 1课程设计的目的和意义 (3) 2需求分析 (4) 3概要设计 (4) 4详细设计 (8) ¥ 5调试分析和测试结果 (11) 6总结 (12) 7致谢 (13) 8附录 (13) 参考文献 (20) .

| ; 1 课程设计目的与意义 在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。 哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个对应的字符的编码,这就是哈夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希望总长度尽可能最短,即采用最短码。 作为计算机专业的学生,我们应该很好的掌握这门技术。在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。 ( 在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们

可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。 在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见。同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。 数据结构课程具有比较强的理论性,同时也具有较强的可应用性和实践性。课程设计是一个重要的教学环节。我们在一般情况下都能够重视实验环节,但是容易忽略实验的总结,忽略实验报告的撰写。通过这次实验让我们明白:作为一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。只有这样,我们的综合素质才会有好的提高。 2 需求分析 课题:哈夫曼编码译码器 ) 问题描述:打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,对每一个字符进行编码,编码完成后再对其编码进行译码。问题补充:1. 从硬盘的一个文件里读出一段英语文章; 2. 统计这篇文章中的每个字符出现的次数; 3. 以字符出现字数作为权值,构建哈夫曼树,并将哈夫曼树的存储 结构的初态和终态进行输出; 4. 对每个字符进行编码并将所编码写入文件然后对所编码进行破 译。 具体介绍:在本课题中,我们在硬盘中预先建立一个文档,在里面编辑一篇文章。然后运行程序,调用函数读出该文章,显示在界面;再调用函数对该文章的字符种类进行统计,并对每个字符的出现次数进行统计,并且在界面上显示;然后以每个字符出现次数作为权值,调用函数构建哈夫曼树;并调用函数将哈夫曼的存储结构的初态和终态进行输出。然后调用函数对哈夫曼树进行编码,调用函数将编码写入文件;再调用对编码进行译码,再输出至界面。至此,整个工作就完成了 3 概要设计。

七段译码器显示电路

数字显示译码器 在数字系统中,常需要将数字、文字或符号等直观地显示出来。能够显示数字、文字或符号的器件称为显示器。数字电路中的数字量都是以一定的代码形式出现的,所以这些数字量要先经过译码,才能送到显示器去显示。这种能把数字量翻译成数字显示器所能识别的信号的译码器为数字显示译码器。 数字显示器有多种类型。按显示方式分,有字型重叠式、点阵式、分段式等。按发光物质分,有半导体显示器,又称发光二极管(LED)显示器、荧光显示器、液晶显示器、气体放电管显示器等。目前应用较广泛的是由发光二极管构成的七段数字显示器。 ①七段数字显示器 图6-53为发光二极管构成的七段数字显示器。它是将七个发光二极管(小数点也是一个发光二极管,共八个)按一定的方式排列起来,七段a、b、c、d、e、f、g(小数点DP)各对应一个发光二极管,利用不同发光段的组合,显示不同的阿拉伯数字。 (a)(b) 图6-53 七段数字显示器 (a)数字显示器(b)显示的数字 根据七个发光二极管的连接形式不同,七段数字显示器分为共阴极和共阳极接法两种。 (a)(b) 图6-54 七段数字显示器的内部接法 (a)共阳极(b)共阴极 图6-54(a)是共阳极接法,它是将七个发光二极管的阳极连在一起作公共端,使用时要接高电平。发光二极管的阴极经过限流电阻接到输出低电平有效的七段译码器相应的输出端。 图6-54(b)所示是共阴极接法,它是将七个发光二极管的阴极连在一起作公共端,使用时要接低电平。发光二极管的阳极经过限流电阻接到输出高电平有效的七段译码器相应的输出端。 改变限流电阻的阻值,可改变发光二极管电流的大小,从而控制显示器的发

实验三-8线3线优先编码器

姓名学号实验日期成绩 XXX XXXXXXX年月日 实验三基本组合逻辑电路的PLD实现(2) ●实验名称:利用原理图输入法与VerilogHDL输入法设计一个8线-3线优先编码器 ●实验目的: 1.熟悉用可编程器件实现基本组合逻辑电路的方法。 2.进一步熟悉MAX+plus II软件的使用方法,熟悉原理图输入法和VerilogHDL输入 法,进一步熟悉如何编译,器件选择,管脚分配和仿真。 ●预习要求: 1.回顾数字电路中关于优先编码器的相关知识。 ●实验说明: 1.用MAX+plus II软件开发PLD器件有两种设计输入方式:原理图输入和HDL语言输 入方式,或者将两者结合起来,一部分电路采用原理图,另一部分采用HDL语言。 2.优先编码器的功能是允许同时在几个输入端有输入信号,编码器按照输入信号的优 先等级对同时输入的多路信号中优先级最高的一路进行编码。 3.8线-3线优先编码器的真值表如下图所示: ●实验内容与步骤: 1.新建一个属于自己的工程目录。 2.新建一张电路图文档,调用8线-3线优先编码器芯片74148(注意其均是低电平有 效),完成设计。 3.对电路图进行编译,仿真。 4.用VerilogHDL语言方式编写一个8线-3线优先编码器。 5.完成编译,管脚分配,并对模块进行仿真。 ●实验报告要求: 1.将自己绘制的电路图或者编写的VerilogHDL代码,截图或者复制到实验报告中。 2.将代码关键位置写上相应注释(可用中文)。 3.对仿真波形截图,贴到实验报告中。 ●实验图表与数据:

1. 8线-3线优先编码器电路图: 2. 8线-3线优先编码器电路仿真波形: 3 .8线-3线优先编码器Verilog代码:

译码器设计组合逻辑电路案例分析

译码器设计组合逻辑电路案例分析 【信息单】 一、编码器 在数字系统中,把二进制码按一定的规律编排,使每组代码具有特定的含义,称为编码。具有编码功能的逻辑电路称为编码器。编码器是一个多输入多输出的组合逻辑电路。 按照编码方式不同,编码器可分为普通编码器和优先编码器;按照输出代码种类的不同,可分为二进制编码器和非二进制编码器。 1.普通编码器 普通编码器分二进制编码器和非二进制编码器。若输入信号的个数N 与输出变量的位数n 满足N =2n ,此电路称为二进制编码器;若输入信号的个数N 与输出变量的位数n 不满足N =2n ,此电路称为非二进制编码器。普通编码器任何时刻只能对其中一个输入信息进行 编码,即输入的N 个信号是互相排斥的。若编码器输入为4个信号,输出为两位代码,则称为4线-2线编码器(或4/2线编码器)。 2.优先编码器 优先编码器是当多个输入端同时有信号时,电路只对其中优先级别最高的信号进行编码的编码器。 3.集成编码器 10线-4线集成优先编码器常见型号为54/74147、54/74LS147,8线-3线常见型号为54/74148、54/74LS148。 4.编码器举例 (1)键控8421BCD 码编码器 10个按键S 0~S 9代表输入的10个十进制数0~9,输入为低电平有效,即某一按键按下,对应的输入信号为0,输出对应的8421码,输出为4位码,所以有4个输出端A 、B 、C 、D 。 真值表见表7.1,由真值表写出各输出的逻辑表达式为 9898S S S S =+=A 76547654S S S S S S S S =+++=B 76327632S S S S S S S S =+++=C 9753197531S S S S S S S S S S =++++=D

七段显示译码器7448

七段显示译码器7448功能,引脚图及应用电路 数字显示译码器是驱动显示器的核心部件,它可以将输入代码转换成相应的数字显示代码,并在数码管上显示出来。图8-51所示为七段显示译码器7448的引脚图,输入A3 、A2 、A1和A0接收四位二进制码,输出a~g为高电平有效,可直接驱动共阴极显示器,三个辅助控制端、、,以增强器件的功能,扩大器件应用。7448的真 值表如表8-20所示。 从功能表可以看出,对输入代码0000,译码条件是:灯测试输入和动态灭零输入同时等于1,而对其他输入代码则仅要求=1,这时候,译码器各段a~g输出的电平是由输入代码决定的,并且满 足显示字形的要求。 图8-51 7448引脚图

表8-20 7448功能表 灯测试输入低电平有效。当= 0时,无论其他输入端是什么状态,所有输出a~g均为1,显示字形8。该输入端常用于检查7448 本身及显示器的好坏。 动态灭零输入低电平有效。当=1,,且输入代码时,输出a ~g均为低电平,即与0000码相应的字形0不显示,故称“灭零”。 利用=1与= 0,可以实现某一位数码的“消隐”。 灭灯输入/动态灭零输出是特殊控制端,既可作输入,又可作输出。当作输入使用,且= 0时,无论其他输入端是什么电平,所有输出a~g均为0,字形熄灭。作为输出使用时,受和控制,只

有当,,且输入代码时,,其他情况下。该端主要用于显示多 位数字时多个译码器之间的连接。 【例8-13】七段显示器构成两位数字译码显示电路如图8-52所示。当输入8421BCD码时,试分析两个显示器分别显示的数码范围。 图8-52 两位数字译码显示电路解:图8-52所示的电路中,两片7448的均接高电平。由于7448(1)的,所以,当它的输入代码为0000时,满足灭零条件,显示器(1)无字形显示。7448(2)的,所以,当它的输入代码为0000时,仍能正常显示,显示器(2)显示0。而对其他输入代码,由于,译码器都可 以输出相应的电平驱动显示器。 根据上述分析可知,当输入8421BCD码时,显示器(1)显示的数码范围为1~9,显示器(2)显示的数码范围为0~9。 工作电压:5V

利用simulink实现8线3线编码器的设计仿真

利用simulink实现8线3线编码器的设计仿真 1 问题描述(8线3线编码的设计的数学建模) 在数字电路中,编码器、译码器的应用极为广泛。所谓编码,就是在选定的一系列二值代码中赋予每个代码以固定的含义,执行编码功能的电路统称为编码器。 实现8线3线编码器,它的功能是对输入端的8个信号进行编码,输出三位二进制数。要求输入信号每次只有一个事0,其余7个是1。其中0值是待编码信号。我们将用MATLAB 的simulink软件包实现这种常用的数字组合逻辑电路,并进行仿真。 2. 系统模型及建模分析 根据前面介绍的8线3线编码器的功能,可列出下面得真值表: 有了真值表之后,就可以写出输入输出间的逻辑函数式如下: 在写出逻辑表达式之后,我们就可以用与非门来实现这个表达式。 3. 仿真实现; 在进行仿真时,将在8个输入端依次加一个低电平,然后用3个示波器观察3个输出波形。用simulink实现这个数学电路系统一共分三个步骤: 第一步:添加模块,在MATLAB中运行simulink,打开模块浏览器,然后新建一个模型。接下来把本次仿真需要的模块添加到模型中。这里共需要三种模块:与非门4个,离散信号脉冲源8个,示波器3个。与非门位于simulink模块库中的logocal operater,离散信号源脉冲 精选

位于simulink—sources—pulse generator,示波器位于simulink—sinks—scope。将这三种模块到拖到一个模型中。 点击与非门模块的名称,即写着Logical Operator 的区域,将名称改为Y0,接着点击选中与非门模块不要松开鼠标,按住Ctrl 键拖动这个模块到另一个位置,就会复制一个新的Y1模块。用同样的方法得到Y2,类似地将离散信号脉冲源模块名字改为J0,同样得到J0,J1…J7。最后将示波器复制三个。这样一来就将所有模块添加到模型中了。 第二步:修改模块参数 首先双击Y0,打开属性对话框,将操作(Operator)修改为“NAND”,输入节点数改为4,然后点击OK确定。Y1,Y2也做同样修改。 然后,通过双击示波器模块Scope,得到一个图形界面,在其工具栏上单击打印图标右边的Parameters图标,打开示波器属性设置对话框,将坐标轴改为3,同样地,将示波器Scope1,Scope2的坐标轴数改为4。 最后修改脉冲源的属性。双击离散脉冲源J0,将看到关于它的属性对话框,可以从对话框中看到5个参数设置,分别为: Amolititude:方波信号的幅度; Period:方波信号的周期; Pulse width: 脉冲宽度; Sample Time:采样时间长度,以秒为单位。 针对这个例子中的要求,我们需要J0到J7依次为低电平,所以将J0到J7的周期调整为8,脉冲宽度设为7,相位延迟为-7到0,幅度和采样时间用默认值。这样在零时刻,J0为低电平,其余输入为高电平;过一个采样时间,J1变为低电平。这样下去,到第七个采样时间,J7变为低电平。从而实现了设计要求。 第三步:联系及仿真 现在将各模块之间的连线上。根据输入输出的逻辑表达式,将J1、J3、J5、J7接到Y0的输入,将J2、J3、J6、J7接到Y1的输入,将J4、J5、J6、J7接到Y2 的输入。然后用示波器Scope监测Y2、Y1、Y0的输出,Scope1 用来监视J0到J3这4个波形,Scope2 用来监视J4到J7这4个波形。这样我们就完成了连线、 在最后进行仿真之前,先保存结果到自己的工作目录里。 仿真结束后,可以从示波器Scope1,Scope2 上看到编码器的8个输入端的波形,在示波器Scope中看到编码器输出波形。

数字电路——2-4译码器设计

目录 1 绪论 (1) 1.1设计背景 (1) 2 电路分析 (2) 2.1 2-4功能分析 (2) 2.2 2-4译码器逻辑图 (3) 3 系统建模与仿真 (4) 3.1 建模 (4) 3.2 仿真波形 (5) 4 仿真结果分析 (7) 5 小结与体会 (8) 参考文献 (9)

1 绪论 1.1设计背景 在数字系统中,经常需要将一中代码转换为另一种代码,以满足特定的需求,完成这 种功能的电路称为码转化电路。译码器就属于其中一种。而译码就是编码的逆过程,它的功能是将具有特定含义的二进制码转换成对应的有效输出信号,具有译码功能的的逻辑电路称为译码器。而2-4译码器是唯一地址译码器,是将一系列的代码转换成与之一一对应有效的信号。常用于计算机中对存储单元地址的译码,因此,设计2-4译码器具有很强的现实意义。 1.2 matlab简介 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学 计算软件的先进水平。它主要由 MATLAB和Simulin k两大部分组成。本设计主要采用simulink进行设计与仿真。Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。掌握这个软件的应用具有十分重要的意义。

哈夫曼编码译码器课程设计

目录 目录 0 1 课程设计的目的和意义 (1) 2 需求分析 (2) 3 系统(项目)设计 (4) ①设计思路及方案 (5) ②模块的设计及介绍 (5) ③主要模块程序流程图 (8) 4 系统实现 (10) ①主调函数 (12) ②建立HuffmanTree (12) ③生成Huffman编码并写入文件 (15) ④电文译码 (16) 5 系统调试 (16) 参考文献 (19) 附录源程序 (20)

1 课程设计的目的和意义 在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视。哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。 哈夫曼编码的应用很广泛,利用哈夫曼树求得的用于通信的二进制编码称为哈夫曼编码。树中从根到每个叶子都有一条路径,对路径上的各分支约定:指向左子树的分支表示“0”码,指向右子树的分支表示“1”码,取每条路径上的“0”或“1”的序列作为和各个对应的字符的编码,这就是哈夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。电报通信是传递文字的二进制码形式的字符串。但在信息传递时,总希望总长度尽可能最短,即采用最短码。 作为信息管理专业的学生,我们应该很好的掌握这门技术。在课堂上,我们能过学到许多的理论知识,但我们很少有过自己动手实践的机会!课程设计就是为解决这个问题提供了一个平台。 在课程设计过程中,我们每个人选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。 在课程设计过程中,我们不但有自己的独立思考,还借助各种参考文献来帮助我们完成系统。更为重要的是,我们同学之间加强了交流,在对问题的认识方面可以交换不同的意见。同时,师生之间的互动也随之改善,我们可以通过具体的实例来从老师那学到更多的实用的知识。 数据结构课程具有比较强的理论性,同时也具有较强的可应用性和实践性。课程设计是一个重要的教学环节。我们在一般情况下都能够重视实验环节,但是容易忽略实验的总结,忽略实验报告的撰写。通过这次实验让我们明白:作为一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。只有这样,我们的综合素质才会有好的提高。

编码器、译码器及应用电路设计

实验六编码器、译码器及应用电路设计 一、实验目的: 1、掌握中规模集成编码器、译码器的逻辑功能测试和使用方法; 1、学会编码器、译码器应用电路设计的方法; 3、熟悉译码显示电路的工作原理。 二、实验原理: 编码是用文字、符号或者数字表示特定对象的过程,在数字电路中是用二进制数进行编码的,相应的二进制数叫二进制代码。编码器就是实现编码操作的电路。本实验使用的是优先编码器74LS147,当输入端有两个或两个以上为低电平时,将对输入信号级别相对高的优先编码,其引脚排列如图6—1所示。 图6—1 74LS147引脚排列图图6—2 74LS138引脚排列图译码是编码的逆过程,是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。译码器在数字系统有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配和组合控制信号等。不同的功能可选用不同种类的译码器。 译码器按照功能的不同,一般分为三类: 1、变量译码器(二进制译码器):用以表示输入变量的状态,如2—4线、3—8线、4—16线译码器。以3—8线译码器74LS138为例介绍: 图6—2为74LS138的引脚图,其中,A2A1A0为地址输入端,为译码器输出端,为使能端(只有当时,才能进行译码)。 图6—3 74LS42引脚排列图图6—5为CC4511引脚排列图 2、码制变换译码器:用于同一个数据的不同代码之间的相互变换。这种译码器的代表是4—10线译码器,它的功能是将8421BCD码译为十个对象,如74LS42等。它的原理与 74LS138译码器类同,只不过它有四个输入端,十个输出端。4位输入代码共有0000—1111

相关文档
相关文档 最新文档