文档库 最新最全的文档下载
当前位置:文档库 › 89C205160进制计数器实验报告

89C205160进制计数器实验报告

89C205160进制计数器实验报告
89C205160进制计数器实验报告

开放式电路实验报告实验二基于89C2051的60进制计数器的实现

班级:软1215班

成员:王俊福、宋渊、徐耀阳 2014 年 10 月 15 日

实验二基于89C2051的60进制计数器的实现

一、实验目的

通过搭建电路并且编程实现60进制计数器,我们学习到89C2051的简单运用以及部分的电路原理,并且学会了对单片机的IO口的简单操作,同时也明白了计数器LED的发光原理。

二.实验原理

计数器通过LED显示,分为十位和各位单独显示。每一个LED计数器显示电路(如图所示)是由8个发光二极管(七个二极管拼接成数字0—9,一个二极管显示为小数点)和8个电阻构成的电路。发光二极管与电阻对应串联,然后接在与之相对应的IO口的特定位上。通过软件编程对IO口输出高低电平来实现LED的亮灭。由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA,电阻选择范围100欧姆~3千欧姆在此我们这里选用560欧姆的电阻。

三.实验电路图

四.实验设备及元器件汇综

同实验一的器件都一样,只不过这一次实验是把原件都集成到了电路板上,然后编程对芯片进行烧写,实现计数器程序。

五.实验过程简述

1、研究电路图,看懂60进制计数器的实现的电路原理。

2、然后把89C2051控制电路和LED显示电路按照编码要求连接。

3、测试电路,观察是否得到正确的60进制计数器显示,若出现错误则按照各部分的功

能原理查找错误并纠正。

六.实验总结

1)比较C,ASM汇编语言编程的不同?

答:汇编语言是一种用文字助记符来表示机器指令的符号化语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,但是在不同的CPU上不易移植。

2)比较一下定时器中断和软件延时实现定时的优劣异同?

答:中断的优点在于响应的及时性,而且在中断程序执行的时候,还可以有处理其他程序,进行精确的计时,比如秒表,时钟,微波炉等的定时系统。

而软件延时是通过空指令或者无用循环来消耗一定的机器周期达到延时的效果,在此期间程序不可以再做别的事情。

七.实验代码

//六十位加法计数器代码

/************************************************************/

/* include files */

/************************************************************/

#include "define.h"

#include "cpu.h"

static Word T40msTimer=25; //Delay Time is ??;

static Byte byLampeFlag=0;

/************************************************************/ /* Status of P0 * Value of byLampeFlag */

/* 0xff * 0 */ /* 0x00 * 1 */ /* 0xaa * 2 */ /* 0x55 * 3 */ /* 0xf0 * 4 */ /* 0x0f * 5 */ /************************************************************/ // Description: 40ms interrupt

void Timer1ISR_40ms(void) interrupt 3 using 2

{

TL1 = CLOCK_40MS & 0xff; // timer1:40ms

TH1 = CLOCK_40MS >> 8; // CLOCK_40MS = (65536-40000) TF1 = 0;

if (T40msTimer != 0)T40msTimer--;

}

void InitialCPUIO(void)

{ P1 = 0xff; }

void InitTimer1(void)

{

IE = 0; //disable all interrupt

IP = 0x08; // hi priority:timer1

TMOD = 0x10; //set timer1:mode1 16 bit

TR1 = 1; // start timer1

TL1 = CLOCK_40MS & 0xff; //timer1:40ms

TH1 = CLOCK_40MS >> 8;

ET1 = 1; // ebable timer1 interrupt

EA = 1; //ebable all interrupt

}

void main()

{

int p1[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

//P1口数字0—9的模

int p3[10]={0xc0,0xf9,0x64,0x70,0x59,0x52,0x42,0xf8,0x40,0x50};

//P3口数字0—9的模

InitialCPUIO();

InitTimer1();

while(1)

{

if (!T40msTimer)

{

T40msTimer = 25;

//P1=p1[byLampeFlag%10];

P1=p1[byLampeFlag-10*(byLampeFlag/10)];

P3=p3[byLampeFlag/10];

byLampeFlag++;

byLampeFlag=byLampeFlag%60;

}

}

}

74ls160构成n进制计数器应用

实验74ls160组成n进制计数器 一、实验内容 1.掌握集成计数器的功能测试及应用 2.用异步清零端设计6进制计数器,显示选用数码管完成。 二、演示电路 74LS160十进制计数器连线图如图1所示。 图1 74LS160十进制计数器连线图 74161的功能表如表1所示。由表1可知,74161具有以下功能: ①异步清零 当CR(CLR’)=0时,不管其他输入端的状态如何(包括时钟信号CP),计数器输出将被直接置零,称为异步清零。 ②同步并行预置数 在CR=1的条件下,当LD(LOAD’)=0、且有时钟脉冲CP 的上升沿作用时,D0、D1、D2、D3输入端的数据将分别被Q0~Q3所接收。由于这个置数操作要与CP 上升沿同步,且D0、D1、D2、D3的数据同时置入计数器,所以称为同步并行置数。 ③保持 在CR=LD=1的条件下,当EN T=EN P=0,即两个计数使能端中有0时,不管有无CP脉冲作用,计数器都将保持原有状态不变(停止计数)。需要说明的是,当EN P=0, EN T=1时,进位输出C也保持不变;而当ENT=0时,不管EN P状态如

何,进位输出RCO=0。 ④ 计数 当CR =LD =EN P =EN T =1时,74161处于计数状态,电路从0000状态开始,连续输入16个计数脉冲后,电路将从1111状态返回到0000状态,R CO 端从高电平跳变至低电平。可以利用R CO 端输出的高电平或下降沿作为进位输出信号。 连上十进制加法计数器160,电路如图1所示,给2管脚加矩形波,看数码管显示结果,并记录显示结果。 三、用160和与非门组成6进制加法计数器-用异步清零端设计 74160从0000状态开始计数,当输入第6个CP 脉冲(上升沿)时,输出Q 3 Q 2 Q 1 Q 0=0110,此时03Q Q CR ==0,反馈给CR 端一个清零信号,立即使Q 3 Q 2 Q 1 Q 0返回0000状态,接着,CR 端的清零信号也随之消失,74160重新从0000状态开始新的计数周期。 反馈归零逻辑为代码中为1的Q 相与非。n n Q Q CR 12= 电路如图2所示,给2管脚加矩形波,看数码管显示结果,并记录显示结果。

60进制计数器课程设计报告

电子技术基础实验 课程设计 60进制计数器

一、实验目的 (一)掌握中规模集成计数器74LS161的引脚图和逻辑功能。 (二)熟悉555集成定数器芯片的引脚图。 (三)利用74LS161和555定时器构成60进制计数器。 (四)在Multisim软件中仿真60进制计数器。 二、实验容 (一)集成计数器74LS161逻辑功能验证。 (二)用555定时器构成多谐振荡器。 (三)用两片74LS161和555定时器构成60进制计数器。 三、集成计数器介绍 (一)集成计数器74LS161管脚介绍 74LS161是4位二进制同步加法计时器。图1为它的管脚排列图,集成芯片74LS161的CLR是异步清零端(低电平有效),LOAD是异步预置数控制端(低电平有效)。CLK是时钟脉冲输入端,RCO是进位输出端,ENP、ENT是计数器使能端,高电平有效。A、B、C、D是数据输入端; QA、QB、QC、QD是数据输出端。

图1 74LS161管脚排列图 (二)集成计数器74LS161功能介绍 由表1可知,74LS161具有以下功能: 1.异步清零。当CLR=0时,无论其他各输入端的状态如何,计数器均被直接置“0”。 2.同步预置数。当CLR=1、LOAD=0且在CP上升沿作用时,计数器将ABCD同时置入QA、QB、QC、QD,使QA、QB、QC、QD=ABCD。 3.保持(禁止)。CLR=LOAD=1且ENP、ENT=0时,无论有无CP脉冲作用,计数器都将保持原有的状态不变(停止计数)。 4.计数。CLR=LOAD=ENP=ENT=1时,74LS161处于计数状态。 表1 74LS161功能表

60进制计数器设计

《数字电子技术基础》课程设计任务书 专业:16电气工程及其自动化 班级:专升本二班 学号:160732060 姓名:王冬 指导教师:耿素军 二零一六年十二月二十七日

目录 1、计数器的概述 (3) 2、六十进制计数器 (4) 2.1设计要求 (4) 2.2设计方案框架图 (4) 3、六十进制计数器设计描述 (5) 3.1设计的思路 (5) 3.2设计的实现 (7) 4、六十进制计数器的仿真设计与仿真的结果 (10) 4.1基本电路分析仿真设计 (11) 4.2 计数器电路的仿真的结果 (12) 5、心得体会 (13) 6、参考文献 (13)

1、计数器概述 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。 在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。 计数器的种类 1.按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。 2.按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器。

计数进制可变的计数器设计

数字电子技术基础自主实验 班级:1201106 学号:1120110618 姓名: 陈振鑫

姓名班级学号 实验日期节次教师签字成绩 实验名称:计数进制可变的计数器设计 一、实验目的 利用74LS138(3线-8线译码器),74LS253(4选1数据选择器),74LS161(同步十进制加法计数器)三个芯片组合,利用清零法组成模数可以改变的加法计数器。 二、实验设备名称,型号 1.实验电路箱 2.直流稳压电源 3.74LS138、74LS253 、74LS161等芯片 4.导线若干 5.数字万用表 74ls138 74ls161

74ls253 三、实验电路图 四、设计思路及方案 设计思路:将计数器的输出作为译码器的输入端,译码数通过数据选择器,输出低点平,利用同步十进制加法计数器74LS161的清零端将计数器清零。 设计方案:电路图如图上图所示,74LS161计数器输出端QdQcQbQa分别与74LS138的输入端B0B1B2和输入使能端E2(高电平有效)相连,译码器的输出端Y0Y1Y6Y7与四选一数据

选择器输入端相连,输出端与计数器清零端相连。当E3=1,B2B1B0从000到111变化时Y1~Y7分别被选中,当MN分别取00~11时,便可实现改变计数器当进制。 五、实验步骤 1.检查导线通断后按电路图连好电路,QdQcQbQa端接数码显示管,CP端接手动计数脉冲,MN端设为00,检查无误后接通电源; 2.接通电源连续发动计数脉冲至CP端,观察数码显示,使计数器进入主计数循环; 3.按表测量并记录数据; 4.分别设MN=01,10,11,重复上述步骤; 5.分析实验结果。 六、仿真结果

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是

CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5- 9-1 CC40192引脚排列及逻辑符号 图中LD—置数端CPU—加计数端CPD —减计数端CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3 —计数器输入端 Q0、Q1、Q2、Q3 —数据输出端CR—清除端 CC40192的功能如表5-9-1,说明如下:表5-9-1 当清除端CR为高电平“1”时,计数

器直接清零;CR置低电平则执行其它功能。当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3 置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CPD 接高电平,计数脉冲由CPU 输入;在计数脉冲上升沿进行8421 码十进制加法计数。执行减计数时,加计数端CPU接高电平,计数脉冲由减计数端CPD 输入,表5-9-2为8421 码十进制加、减计数器的状态转换表。加法计数表5-9- 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位

设计任意进制计数器

设计任意进制计数器 一、实验目的 掌握中规模集成计数器的使用方法及功能测试方法。 二、实验内容及要求 采用(74LS192)复位法或预置数法设计一个三位十进制计数器。要求各位同学设计的计数器的计数容量是自己学号的最后三位数字。 三、设计过程 74LS192是中规模同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列如图所示。74LS192(CC40192)的功能如下表所示。 1234A B C D 4 3 2 1 D C B A 161514131211109 Vcc D CR BO CO LD D D D Q Q CP CP Q Q GND 12345678 D 1 1 023 3 u2 74LS192 CR:清除端CP u:加计 数端 LD :置数端CP D:减计 数端 CO :非同步进位输出端 BO :非同步借位输出端 D3、D2、D1、D0:数据输入端 Q3、Q2、Q1、Q0:输出端 74LS192引脚排列图 表74LS192(CC40192)的功能 输入端输出端功能 CR LD CP u CP D D3 D2 D1 D0 Q3 Q2 Q1 Q0 1 ×××××××00 0 0 清零 0 0 ×× d c b a d c b a 置数 0 1 ↑ 1 ××××0000~1001加计数1001时CO=0 0 1 1 ↑××××1001~0000减计数0000时BO=0 用M进制集成计数器可以构成N(任意)进制的计数器。通常用反馈清零 法和反馈置数法。当计数器的计数N>M时,则要用多片M进制计数器构成。 其计数规律为:当低位计数器没有达到计数的最大值时,如74LS192的1001时, 其高位芯片应处于保持状态,只有当低位芯片计数达到最大值时,给相邻的高位 芯片计数器发一个信号,使其脱离保持状态,进入计数状态。现以233为例为计 数容量进行设计。由于233为三位数,因此需用三块74LS192。 1、清零法: CR(R D)=(Q1Q0)百(Q1Q0)拾(Q1)个 初态:0000 终态:233-1=232即:0010 0011 0010 状态转换图:(略)

七进制加法计数器电路设计

信 息 工 程 分 院 课题名称:集成计数器及其应用 班级:14电子信息工程技术1班 学生姓名:邱荣荣 学 号: 18 指导教师:王连英 完成时间:2015年5月19日 设 计 报 告

七进制计数器电路设计 1.设计要求 a.分别采用反馈清零和反馈置数的方法 b.用同步十进制加法计数器74LS160(或同步4位二进制加法计数器74LS161)、三3输入与非门74LS10、4511、共阴七段数码LED 显示器设计七进制计数器。 2.设计原理 a.使用4位同步二进制计时器74LS161设计反馈清零加法计数器 由74LS160是模16加法计数器、M=16,要设计制作的是七进制加法计数器、N=7,M>N ,需一块74LS161,且74LS161具有异步清零(低电平有效)功能。 从初始状态开始,七进制加法计数器的有效循环状态:0000、0001、0010、0011、0100、0101、0110等七个。其最后一个,在下一个状态所对应的数码是:0111。所以,异步清零的反馈数210)0110()7(===N S N 。利用74LS161的异步清零(低电平有效)功能有,反馈数012Q Q Q CR =。据此有反馈清零法,由74LS161七进制加法计数器循环转换状态换图2.1.1所示,仿真电路如图2.1.2所示。 2.1.1 反馈清零七进制加法计数器循环转状态换图

b.使用4位同步二进制计时器74LS161设计反馈置数加法计数器 对于74LS161而言,取七进制加法计数器的有效循环状态,是使用74LS161十个有效状态中任意连续的七个,例如是:0010、0011、0100、0101、0110、0111、1000。设预置数输入端0123D D D D 则对应的预置数码0123d d d d 为0010,则从0010开始,其最后一个循环状态所对应的数码是:1000,所以此时,同步置数的反馈数2)1000(=S 。有,3Q LD =。 据此有,74LS160反馈置数法设计七进制加法计数器循环转换状态换图2.2.1所示,仿真电路如图2.2.2所示。———实验证据如图00所示 图2.1.2 反馈清零法七进制加法计数器仿真电路 2.2.1 反馈置数七进制加法计数器循环转状态换图

verilog程序-60进制计数器

module count60_dongtai_LED ( input clk, input rest_n, output reg [2:0] sel, //位选 output reg [6:0] display ); reg [15:0] count_clk; // 分频计数器,最大2^16=64K分频 reg [5:0] sum_num; //计数缓存器,2^6=64 reg [3:0] g_bit; //个位 reg [3:0] s_bit; //十位 reg [3:0] disp_temp; //分频 always @ (posedge clk or negedge rest_n) begin if(rest_n ==0) begin count_clk=16'b0; end else begin if(count_clk==16'hffff) begin count_clk=16'b0; end else begin count_clk=count_clk+1'b1; end end end // 60进制计数 always @ (negedge count_clk[3] or negedge rest_n) begin // clk_clk[3] 对"clk" 16分频if(rest_n ==0) begin g_bit=4'b0; s_bit=4'b0; sum_num=6'b0; end else begin if (sum_num==6'd59) begin sum_num=6'b0; end else begin sum_num=sum_num+1'b1; end end s_bit=(sum_num/10)%10;

《设计任意进制计数器》的实验报告

实验八设计任意进制计数器 一、实验目的 掌握中规模集成计数器的使用方法及功能测试方法。 二、实验内容及要求 采用(74LS192)复位法或预置数法设计一个三位十进制计数器。要求各位同学设计的计数器的计数容量是自己学号的最后三位数字。 三、设计过程 用M进制集成计数器可以构成N(任意)进制的计数器。通常用反馈清零法和反馈置数法。当计数器的计数N>M时,则要用多片M进制计数器构成。其计数规律为:当低位计数器没有达到计数的最大值时,如74LS192的1001时,其高位芯片应处于保持状态,只有当低位芯片计数达到最大值时,给相邻的高位芯片计数器发一个信号,使其脱离保持状态,进入计数状态。现以233为例为计数容量进行设计。由于233为三位数,因此需用三块74LS192。 1、清零法: CR(R D)=(Q1Q0)百(Q1Q0)拾(Q1)个 初态:0000 终态:233-1=232即:0010 0011 0010 状态转换图:(略)

2、置数法:由于74LS192是具有异步清零、置数功能的十进制计数器,因此保留哪233种状态,方法有多种。下图是其中两种置数法。犹以最后一种使用器件最少,接线最为简单。 方案一: 方案三: LD=(Q1Q0)百(Q1Q0 )拾(Q2Q0)个(或LD=CO) 初态:0000(或1000-332=668) 终态:332-1=331即:0011 0011 0001(或999)

四、实验用仪器、仪表 数字电路实验箱、万用表、74LS192、74LS00、74LS20、74LS08等 五、实验步骤 ①清零法: 1.检查导线及器件好坏(即加上电源后,按74LS192的功能表进行检测)。 2.按上图连接电路。LD、CP D分别接逻辑开关并置为高电平,百位(74LS192(3))、拾位、个位的Q 、Q2、Q1、Q0分别接发光二极管或数码管,计数脉冲接手动或1Hz 3 时钟脉冲。检查无误后接通电源。 3.加入CP进行测试并检查结果是否正确,如有故障设法排除。 4.结果无误后记录数据后拆线并整理实验设备。 实验证明,实验数据与设计值完全一致。设计正确。 ②置数法: 1.检查导线及器件好坏(即加上电源后,按74LS192的功能表进行检测)。 分别接逻辑开关并置为高电平,百位(74LS192(3))、 2.按上图连接电路。CR、CP D 拾位、个位的Q 、Q2、Q1、Q0分别接发光二极管或数码管,计数脉冲接手动或1Hz 3 时钟脉冲。检查无误后接通电源。

同步七进制加法计数器数字电子技能

目 录 1 课程设计的目的............................................................12 计数器设计的总体框图......................................................13 计数器设计过程 (1) 3.1根据题意可画出该计数器状态图:.......................................13.2选择触发器,求时钟方程,画出卡诺图:.................................13.3根据卡诺图写出状态方程:.............................................33.4求驱动方程:.........................................................33.5检查电路能否自启动:.................................................44 173进制加法计数器 (4) 4.1写出和的二进制代码.............................................41 N S N S 5 设计的逻辑电路图. (4) 5.1同步七进制加法计数器.................................................45.2 173进制加法计数器...................................................56 设计的芯片原理图..........................................................66 实验仪器..................................................................77 总结与体会. (7) 参考文献 (8)

verilog实验60进制计数器

module counter60(clk_in,clkout,rst,out); input clk_in,rst; output [6:0] out; output clkout; reg [6:0] out1; reg [6:0] out2; reg [3:0] cnth; reg [3:0] cntl; reg [7:0] cnt; always @(posedge clk_in) begin if(!rst) cnt<=8'd0; else cnt<=cnt+8'd1; end assign clkout=cnt[4]; always @(posedge clkout or negedge rst) begin if(!rst) {cnth,cntl}<=8'd0; else if(cnth==5&&cntl==9) {cnth,cntl}<=8'd0; else if(cntl==4'd9) begin cntl<=4'd0; cnth<=cnth+4'd1; end else cntl<=cntl+4'd1; end always @(cnth) begin case(cnth) 4'd0:out1=7'b011_1111;//0 4'd1:out1=7'b000_0110;//1 4'd2:out1=7'b101_1011;//2 4'd3:out1=7'b100_1111;//3 4'd4:out1=7'b110_0110;//4 4'd5:out1=7'b110_1101;//5 default:out1=7'b011_1111;//0 endcase end

60进制计数器1

《可编程器件原理与应用》 实训报告书 二〇〇九年十二月 目录 前言 第一章VHDL语言介绍 1.1VHDL的发展史

1.2VHDL的特点 第二章六十进制计数器的设计与仿真 2.1六十进制计数器源程序 2.2运用软件设计过程 2.3时序仿真 体会 致谢 参考文献 前言 本项实验通过六十进制计数器的设计与仿真,学习VHDL语言及VHDL文本输入设计方法,编写六十进制计数器源程序,应用MAX+PlusII软件进VHDL 文本输入设计与波形仿真。写出源程序,并写出设计与仿真过程。

第一章VHDL语言介绍 1.1VHDL发展史 硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述,结构描述,数据流描述的语言.目前,利用硬件描述语言可以进行数字电子系统的设计.随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在探索中.国外硬件描述语言种类很多,有的从Pascal发展而来,也有一些从C语言发展而来.有些HDL成为IEEE标准,但大部分是企业标准.VHDL来源于美国军方,其他的硬件描述语言则多来源于民间公司.可谓百家 争鸣,百花齐放.这些不同的语言传播到国内,同样也引起了不同的影响.在我国比较有影响的有两种硬件描述语言:VHDL语言和Verilog HDL语言.这两种语言已成为IEEE标准语言. 电子设计自动化(electronic design automation,EDA)技术的理论基础,设计工具,设计器件应是这样的关系:设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为,再用设计工具将这些描述综合映射成与半导体工艺有关的硬件配置文件,半导体器件FPGA则是这些硬件配置文件的载体.当这些FPGA器件加载,配置上不同的文件时,这个器件便具有了相应的功能.在这一系列的设计,综合,仿真,验证,配置的过程中,现代电子设计理论和现代电子设计方法贯穿于其中. 以HDL语言表达设计意图,以FPGA作为硬件实现载体,以计算机为设计开发工具,以EDA软件为开发环境的现代电子设计方法日趋成熟.在这里,笔者认为,要振兴我国电子产业,需要各相关专业的人士共同努力.HDL语言的语法语义学 研究与半导体工艺相关联的编译映射关系的研究,深亚微米半导体工艺与EDA设计工具的仿真,验证及方法的研究,这需要半导体专家和操作系统专家共同努力,以便能开发出更加先进的EDA工具软件.软件,硬件协同开发缩短了电子设计周期,加速了电子产品更新换代的步伐.毫不夸张地说,EDA工程是电子产业的心脏起搏器,是电子产业飞速发展的原动力.本书从应用的角度向国内广大读者介绍

实验7 74ls160组成n进制计数器

实验7 74ls160组成n进制计数器 一、实验内容 1.掌握集成计数器的功能测试及应用 2.用异步清零端设计6进制计数器,显示选用数码管完成。 3.用同步置0设计7进制计数器,显示选用数码管完成。 二、演示电路 74LS160十进制计数器连线图如图1所示。 图1 74LS160十进制计数器连线图 74161的功能表 如表1所示。由表1可知,74161具有以 下功能: ①异步清 零 当CR(C L R’)=0时,不管其他输入端的状态如何(包括时钟信号C P),计数器输出将被直接置 零,称为异步清零。

②同步并 行预置数 在CR=1的条件下,当 LD(L O A D’)=0、且有时 钟脉冲C P的上升沿 作用时,D0、D1、D2、D3输入端的数据将 分别被Q0~Q3所接 收。由于这个置数操 作要与C P上升沿同步,且D0、D1、D2、 D3的数据同时置入计 数器,所以称为同步 并行置数。 ③保持 在CR=LD=1的条件 下,当E N T=E N P=0,即 两个计数使能端中有 0时,不管有无C P脉 冲作用,计数器都将 保持原有状态不变 (停止计数)。需要说 明的是,当E N P=0, E N T=1时,进位输出C 也保持不变;而当 E N T=0时,不管E N P 状态如何,进位输出 R C O=0。

④计数 当 CR=LD=E N P=E N T=1时, 74161处于计数状态, 电路从0000状态开 始,连续输入16个计 数脉冲后,电路将从 1111状态返回到0000 状态,R C O端从高电 平跳变至低电平。可 以利用R C O端输出的 高电平或下降沿作为 进位输出信号。 连上十进制加法计数器160,电路如图1所示,给2管脚加矩形波,看数码管显示结果,并记录显示结果。 三、用160和与非门组成6进制加法计数器-用异步清零端设计 74160从0000状 态开始计数,当输入 第6个C P脉冲(上

VHDL语音60进制计数器

《EDA技术》课程实验报告 学生姓名:郑月庭 所在班级:电信1001 指导教师:高金定老师 记分及评价: 项目满分5分 得分 一、实验名称 60进制计数器设计 二、任务及要求 【基本部分】4分 1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。 2、设计完成后生成一个元件,以供更高层次的设计调用。 3、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。 【发挥部分】1分 在60进制基础上设计6进制计数器,完成时序仿真。 三、实验程序 Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; Entity j602 Is port (clk:in std_logic; ent:in std_logic; rst:in std_logic; y0: out std_logic_vector(3 downto 0); y1: out std_logic_vector(3 downto 0); cout: out std_logic); End j602; Architecture j602 of j602 is signal cnt0 :std_logic_vector(3 downto 0); signal cnt1 :std_logic_vector(3 downto 0); Begin

cout<='1' when (cnt1="0101" and cnt0="1001" and ent = '1') else '0'; process(clk,rst) Begin If rst ='0' Then cnt0<="0000"; cnt1<="0000"; elsif clk'event and clk='1' Then if ent = '1' Then if cnt0="1001" Then cnt0<="0000"; if cnt1="0101" Then cnt1<="0000"; else cnt1<=cnt1+1; end if; else cnt0<=cnt0+1; end if; end if; end if; end process; y0<=cnt0; y1<=cnt1; end j602; 四、仿真及结果分析 五、硬件验证 1、选择模式:模式5 六、小结 通过这次实验,使我明白了用VHDL语言编程和用设计原理图实现同样功能器件的区别,从而加深的对EDA的理解。

10进制和60进制计数器

十进制计数器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10IS PORT(CLK,RST,EN:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3DOWNTO 0); COUT:OUT STD_LOGIC); END CNT10; ARCHITECTURE behav OF CNT10IS BEGIN PROCESS(CLK,RST,EN) VARIABLE CQI: STD_LOGIC_VECTOR(3DOWNTO0); BEGIN IF RST='1'THEN CQI:=(OTHERS =>'0');--计数 ELSIF CLK'EVENT AND CLK='1'THEN IF EN='1'THEN IF CQI<9THEN CQI:=CQI+1; --允许计数, ELSE CQI:=(OTHERS=>'0'); --大于9, END IF; END IF; END IF; IF CQI=9THEN COUT<='1';--计数大于9,输出进位信号 ELSE COUT<='0'; END IF; CQ<=CQI;--将计数值向端口输出 END PROCESS; END behav;六十进制计数器源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt60is port(clk,rst,en:in std_logic; cq:out std_logic_vector(7downto0); cout:out std_logic); end cnt60; architecture behav of cnt60is begin process(clk,rst,en) variable cqi:std_logic_vector(7downto0); begin if rst='1'then cqi:=(others=>'0'); elsif clk'event and clk='1'then if en='1'then if cqi<59then cqi:=cqi+1; else cqi:=(others=>'0'); end if; end if; end if; if cqi=59then cout<='1'; else cout<='0'; end if; cq<=cqi; end process; end behav;

同步七进制加法计数器——数字电子技术,

成绩评定表

课程设计任务书

目录 1.课程设计的目的 (2) 2.计数器设计的总体框图 (2) 3.计数器设计过程 (2) 4.序列脉冲设计的总体框图 (5) 5.脉冲序列设计过程 (5) 6.设计的仿真电路图 (10) 7.设计的芯片原理图 (11) 8.实验仪器 (12) 9.总结与体会 (12) 10.参考文献 (13)

1课程设计的目的 1.加深对教材的理解和思考,并通过实验设计、验证正是理论的正确性。 2.学习自行设计一定难度并有用途的计数器、加法器、寄存器等。 3.检测自己的数字电子技术掌握能力。 2.计数器设计的总体框图 下图为同步七进制加法计数器示意框图 图 1 3.计数器设计过程 七进制同步加法计数器,无效态为:111 ①根据题意可画出该计数器状态图: 000 001 010 011 110 101 100 图 2 ②选择触发器,求时钟方程,画出卡诺图。 a.触发器:JK 边沿触发器三个 b.时钟方程:由于是同步计数器,故CP 0=CP 1=CP 2= CP c.卡诺图如下:

七进制同步加法计数器次态卡诺图: Q 图 3 次态Q n 12 +的卡诺图 n n 图 4 次态Q n 1 1+的卡诺图 n n 图 5

次态 Q n 10 +的卡诺图 Q 图 6 ③根据卡诺图写出状态方程: 状态方程: Q n+1 2= Q n 2Q n 1+Q n 2Q n 1Q n 0 Q n+1 1 = Q n 1Q n 0+ Q n 2Q n 1Q n Q n+1 0 = Q n 1Q n 0+ Q n 2Q n 0 ④求驱动方程: JK 触发器特性方程为:1n n n Q JQ KQ +=+ 由此可以得出驱动方程: J 2=Q n 1Q n 0 K 2=Q n 1 J 1=Q n 0 K 1= Q n 2Q n J 0=Q n 1 Q n 2 K 0=1 ⑤检查电路能否自启动: 将无效态(111)代入状态方程、输出方程进行计算,

数字电子实验——60进制计数器

综合性、设计性实验报告电子技术实验(数字电子部分) 报告分数: 学期: 班级: 姓名: 日期:

1. 实验目的 1)学习仿真软件Multisim的使用方法; 2)学习、掌握时序电路的设计方法; 3)掌握常用电子元器件的使用方法; 4)熟练运用用已有集成计数器(M进制)构成任意进制计数器(N进制),M < N 时,多片级联实现的方法; 5)熟悉由555定时器构成的多谐振荡器产生时钟脉冲; 6)了解反馈置数法和反馈清零法的特点及区别,并能熟练运用这两种方法。 2. 预习要求 1)阅读《数字电子技术基础》相关内容,了解集成计数器的原理及功能; 2)熟悉集成计数器74LS161及七段数码显示管的各引脚功能; 3)了解555定时器构成的多谐振荡器产生脉冲的基本原理; 4)对于反馈清零法和反馈置数法有基本的了解。 3. 实验内容 1)在Multisim集成环境中用74LS161和555定时器设计60进制计数器,要求能够实现暂停和置数的功能,并完成其仿真; 2)在模块化电子技术综合实验箱上完成电路搭接与调试; 4. 实验原理 4.1 个位模块 (1)利用反馈置数法,U2(74LS161D)为低位片即个位模块,用A、B、C、D四个输入端的高低电平实现个位预置数; (2)用开关控制U2的EP使能端高低电平实现暂停功能; (3)U2的CP脉冲端连接555定时器构成的多谐振荡器的矩形脉冲输出端;

(4)U2的使能端ET始终接有效的高电平,清零端CR始终接无效的高电平; 因为用的是反馈置数法,U2实现0(0000)~9(1001)的十进制循环,U2的QD和QA段用作二输入与非门U5A(74LS00D)的输入端,其输出端连接到U2的LD上。 (5)U2的四个输出端QD、QC、QB、QA连接U4数码管的D、C、B、A输入端,从而显示0~9这十个状态。 图1 个位模块原理图 4.2 十位模块 (1)利用反馈置数法,U1(74LS161D)为高位片即十位模块,用A、B、C 三个输入端的高低电平实现十位预置数; (2)U1的CP脉冲端连接555定时器构成的多谐振荡器的矩形脉冲输出端; (3)U1的使能端ET、EP始终接有效的高电平,清零端CR始终接无效的高电平; (4)因为用的是反馈置数法,U1实现0(0000)~5(0101)的六进制循环,U1的QC和QA端与个位数的QD和QA端用作四输入与非门U6A(74LS20D)的输入端,其输出端连接到U1的LD上。 (5)U1的四个输出端QD、QC、QB、QA连接U3数码管的D、C、B、A输入端,从而显示0~5这六个状态。

60进制计数器设计(VHDL)

《EDA技术》课程实验报告 学生姓名:黄红玉 所在班级:电信100227 指导教师:高金定老师 记分及评价: 一、实验名称 实验6:60进制计数器设计 二、任务及要求 【基本部分】4分 1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。 2、设计完成后生成一个元件,以供更高层次的设计调用。 3、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。 【发挥部分】1分 在60进制基础上设计6进制计数器,完成时序仿真。 三、实验程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jinzhi60 is port(clk:in std_logic; co:out std_logic; qh:buffer std_logic_vector(3 downto 0); ql:buffer std_logic_vector(3 downto 0)); end entity jinzhi60; architecture art of jinzhi60 is begin co<='1'when(qh="0101"and ql="1001")else'0'; process(clk) begin if(clk='1')then if(ql=9)then ql<="0000";

if(qh=5)then qh<="0000"; else qh<=qh+1; end if; else ql<=ql+1; end if; end if; end process; end architecture art; 四、仿真及结果分析 由以上代码编译,仿真,得到一下时序仿真波形图。 用VHDL语言实现一个六十进制计数器,该计数器有计数使能端en,清零端clr和进位输出端co。档en=1时,计数器正常计数;当clr=1时,计数器清零。最后在试验箱上仿真,数码管显示了0到59,则60进制计数器完成。 五、硬件验证 1、选择模式:模7 2、引脚锁定情况表:

设计60进制计数器数电课程设计资料

电子技术基础实验 课程设计 用74LS161设计六十进制计数器 学院:班级:姓名:学号: 电气工程学院 电自1418 刘科2014303010328

用74LS161设计六十进制计数器 摘要 计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时、分频和执行数字运算以及其它特定的逻辑功能。目前,无论是TTL还是CMOS 集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能和工作波形图以及引出端的排列,就能正确运用这些器件。计数器在现代社会中用途中十分广泛,在工业生产、各种和记数有关电子产品。如定时器,报警器、时钟电路中都有广泛用途。在配合各种显示器件的情况下实现实时监控,扩展更多功能。 利用两片74LS161分别作为六十进制计数器的高位和低位,分别与数码管连接。把其中的一个通过一个与门器件构成一个十进制计数器,另一个芯片构成六进制计数器。十进制计数器(个位)和六进制计数器(十位)均采用反馈清零法利用两个74LS161构成。当个位计数器从1001计数到0000时,十位计数器要计数一次,可通过两芯片之间级联实现。使用200HZ时钟信号作为计数器的时钟脉冲。根据设计基理可知,计数器初值为00,按递增方式计数,增到59时,再自动返回到00。 关键字:60进制,计数器,74LS161,级联

目录 第1章概述 (1) 1.1 计数器设计目的 (1) 1.2 计数器设计组成 (1) 第2章六十进制计数器设计描述 (2) 2.1 74LS161的功能 (2) 2.2 方案框架 (3) 第3章六十进制计数器的设计与仿真 (4) 3.1 基本电路分析设计 (4) 3.2 计数器电路的仿真 (6) 第4章总结 (8)

EDA60进制计数器设计

《EDA技术》课程实验报告 学生姓名: 所在班级: 指导教师: 记分及评价: 报告满分3分 得分 一、实验名称 实验6:60进制计数器设计 二、任务及要求 【基本部分】 1、在QuartusII平台上,采用文本输入设计方法,通过编写VHDL语言程序,完成60进制计数器的设计并进行时序仿真。 2、设计完成后生成一个元件,以供更高层次的设计调用。 3、实验箱上进行验证。 【发挥部分】 在60进制基础上设计6进制计数器,完成时序仿真。 三、实验程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity sixth is port(clk:in std_logic; co:out std_logic;--jin wei qh:buffer std_logic_vector(3 downto 0);--shi wei ql:buffer std_logic_vector(3 downto 0));--ge wei end entity sixth; architecture art of sixth is begin co<='1'when(qh="0101"and ql="1001")else'0'; process(clk) begin if(clk='1')then if(ql=9)then ql<="0000"; if(qh=5)then

qh<="0000"; else qh<=qh+1; end if; else ql<=ql+1; end if; end if; end process; end architecture art; 四、仿真及结果分析 图6-1 60进制计数器仿真图 用VHDL语言实现一个六十进制计数器,该计数器有计数使能端en,清零端clr和进位输出端co。档en=1时,计数器正常计数;当clr=1时,计数器清零。最后在试验箱上仿真,数码管显示了0到59,则60进制计数器完成。 五、硬件验证 1、选择模式: 2、引脚锁定情况表: 六、小结 1、六进制程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity six is port(clk,en,clr:in std_logic; co:out std_logic;--jin wei qh:buffer std_logic_vector(3 downto 0));--shi wei end entity six; architecture art of six is begin co<='1'when(qh="0101" and en='1')else'0';

相关文档