60计数器实验报告Word文档格式.docx

上传人:b****4 文档编号:16348383 上传时间:2022-11-23 格式:DOCX 页数:8 大小:21.80KB
下载 相关 举报
60计数器实验报告Word文档格式.docx_第1页
第1页 / 共8页
60计数器实验报告Word文档格式.docx_第2页
第2页 / 共8页
60计数器实验报告Word文档格式.docx_第3页
第3页 / 共8页
60计数器实验报告Word文档格式.docx_第4页
第4页 / 共8页
60计数器实验报告Word文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

60计数器实验报告Word文档格式.docx

《60计数器实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《60计数器实验报告Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

60计数器实验报告Word文档格式.docx

本项实验通过六十进制计数器的设计与仿真,学习VHDL语言及VHDL文本输入设计方法,编写六十进制计数器源程序,应用MAX+Plusll软件进VHDL文本输入设计与波形仿真。

写出源程序,并写出设计与仿真过程。

第一章VHDL语言介绍

1.1VHDL发展史

硬件描述语言(hardwaredescriptionlanguage,HDL)是电子系统硬件行为描述,结构描述,数据流描述的语言.目前,利用硬件描述语言可以进行数字电子系统的设计.随着

研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在探索中.国外硬件描述语言种类很多,有的从Pascal发展而来,也有一些从C语言发展而来.有些HDL成为IEEE标准,但大部分是企业标准.VHDL来源于美国军方,其他的硬件描述语言则多来源于民间公司.可谓百家争鸣,百花齐放.这些不同的语言传播到国内,同样也引起了不同的影响.在我国比较有影响的有两种硬件描述语言:

VHDL语言和VerilogHDL语言.这两种语言已成为IEEE标准语言.

电子设计自动化(electronicdesignautomation,EDA)技术的理论基础,设计工具,设计器件应是这样的关系:

设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为,再用设计工具将这些描述综合映射成与半导体工艺有关的硬件配置文件,半导体器件FPGA则是这些硬件配置文件的载体当这些FPGA器件加载,配置上不同的文件时,这个器件便具有了相应的功能.在这一系列的设计,综合,仿真,验证,配置的过程中,现代电子设计理论和现代电子设计方法贯穿于其中.

以HDL语言表达设计意图,以FPGA作为硬件实现载体,以计算机为设计开发工具,以EDA软件为开发环境的现代电子设计方法日趋成熟.在这里,笔者认为,要振兴我国电子产业,需要各相关专业的人士共同努力.HDL语言的语法语义学研究与半导体工艺相关联的编译映射关系的研究,深亚微米半导体工艺与EDA设计工具的仿真,验证及方法的研究,这需要半导体专家和操作系统专家共同努力,以便能开发出更加先进的EDA工具软件.软件,硬件协同开发缩短了电子设计周期,加速了电子产品更新换代的步伐.毫不夸张地说,EDA工程是电子产业的心脏起搏器,是电子产业飞速发展的原动力本书从应用的角度向国内广大读者介绍VHDL编程技术,让大

家掌握HDL编程,了解FPGA结构,学会使用EDA工具,为集成电路前端设计打下基础.

VHDL语言的英文全名是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,即超高速集成电路硬件描述语言.HDL发展的技术源头是:

在HDL形成发展之前,已有了许多程序设计语言,如汇

编,C,Pascal,Fortran,Prolog等.这些语言运行在不同

硬件平台和不同的操作环境中,它们适合于描述过程和算法不适合作硬件描述.CAD的出现,使人们可以利用计算机进行建筑,服装等行业的辅助设计,电子辅助设计也同步发展起来.在从CAD工具到EDA工具的进化过程中,电子设计工具的人机界面能力越来越高.在利用EDA工具进行电子设计时,逻辑图,分立电子原件作为整个越来越复杂的电子系统的设计已不适应.任何一种EDA工具,都需要一种硬件描述语言来作为EDA工具的工作语言.这些众多的EDA工具软件开发者,各自推出了自己的HDL语言.

HDL发展的社会根源是:

美国国防部电子系统项目有众多的承包公司,由于各公司技术路线不一致,许多产品不兼容,他们使用各自的设计语言,使得甲公司的设计不能被乙公司重复利用,造成了信息交换困难和维护困难.美国政府为了降低开发费用,避免重复设计,国防部为他们的超高速集成电路提供了一种硬件描述语言,以期望VHDL功能强大,严格,可读性好.政府要求各公司的合同都用它来描述,以避免产生歧义.

由政府牵头,VHDL工作小组于1981年6月成立,提出了一个满足电子设计各种要求的能够作为工业标准的HDL.1983年第3季度,由IBM公司,TI公

司,Intermetrics公司签约,组成开发小组,工作任务是提出语言版本和开发软件环境.1986年IEEE标准化组织开始工作,讨论VHDL语言标准,历时一年有余,于1987年12月通过标准审查,并宣布实施,即IEEESTD

1076—1987[LRM87].1993年VHDLS新修订,形成了新的标准,即IEEESTD1076—1993[LRM93].

从此以后,美国国防部实施新的技术标准,要求电子系统开发商的合同文件一律采用VHDL文档.即第一个官方VHDL

标准得到推广,实施和普及.

VHDL语言能够成为标准化的硬件描述语言并获得广泛

应用,它自身必然具有很多其他硬件描述语言所不具备的优点。

归纳起来,VHDL语言主要具有以下优点:

(1)VHDL语言功能强大,设计方式多样

VHDL语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。

同时,它还

具有多层次的电路设计描述功能。

此外,VHDL语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。

VHDL语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;

既支持模块化设计方法,也支持层次化设计方法。

(2)VHDL语言具有强大的硬件描述能力

VHDL语言具有多层次的电路设计描述功能,既可描述

系统级电路,也可以描述门级电路;

描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。

同时,VHDL语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。

VHDL语言的强大描述能力还体现在它具有丰富的数据类型。

VHDL语言

既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。

(3)VHDL语言具有很强的移植能力

VHDL语言很强的移植能力主要体现在:

对于同一个硬件电路的VHDL语言描述,它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。

(4)VHDL语言的设计描述与器件无关

采用VHDL语言描述硬件电路时,设计人员并不需要首先考虑选择进行设计的器件。

这样做的好处是可以使设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。

当硬件电路的设计描述完成以后,VHDL语言允许采用多种不同的器件结构来实现。

篇二:

模60计数器VHDL设计实验

实验报告

专业班级

姓名

学号

成绩评定

电气与信息学院

和谐勤奋求是创新

1.

2.

3.

4.

实验教学考核和成绩评定办法课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。

实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。

单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。

实验考核内容包括:

1)实验预习;

2)实验过程(包括实验操作、实验记录和实验态度、表现);

3)实验报告;

权重分别为0.2、0.4、0.4;

原则上根据上述三个方面进行综合评定。

学生未取得1)和2)项成绩

时,第3)项成绩无效。

实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。

实验成绩在教师手册中有记载。

实验报告主要内容

一.实验目的

二.实验仪器及设备

•-•

实验原理

四.

实验步骤

五.

实验记录及原始记录

六.

数据处理及结论

七.

思考题

八.

实验体会(可选项)

注:

1.为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或

手写,右侧装订。

2.实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。

3.验证(本文来自:

小草范文网:

60计数器实验报告)性实验:

是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。

4.综合性实验:

是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。

5.设计性实验:

是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

1

篇三:

89C205160进制计数器实验报告

开放式电路实验报告

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

王俊福、宋渊、徐耀阳班级:

软1215班

年10月15日XX

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

一、实验目的

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

光原理。

二.实验原理

计数器通过LED显示,分为十位和各位单独显示。

每一个LED计数器显示电路(如图所示)是由8个发光二极管(七个二极管拼接成数字0—9,一个二极管显示为小数点)和8

个电阻构成的电路。

发光二极管与电阻对应串联,然后接在与之相对应的I0口的特定位上。

通过软件编程对I0口输出高低电平来实现LED的亮灭。

由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA电阻选择范围100欧姆〜3千欧姆在此我们这里选用560欧姆的电阻。

三.实验电路图四.实验设备及元器件汇综

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

五.实验过程简述

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

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

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

六.实验总结

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

答:

汇编语言是一种用文字助记符来表示机器指令的符号化语言,是最接近机器码的一种语言。

其主要优点是占用资源少,程序执行效率高,但是在不同的CPU上不易移植。

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

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

而软件延时是通过空指令或者无用循环来消耗一定的机器周期达到延时的效果,

在此期间程序不可以再做别的事情。

七.实验代码

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

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

**********//*includefiles*//**************************************************

**********/#include"

define.h"

#include"

cpu.h"

staticWordT40msTimer=25;

//DelayTimeis?

?

;

staticBytebyLampeFlag=0;

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

**********//*StatusofP0*ValueofbyLampeFlag*/

/*0xff*0*//*0x00*1*//*0xaa*2*/

/*0x55*3*//*0xf0*4*//*0x0f*5*//************************************************************///Description:

40msinterrupt

voidTimer1ISR_40ms(void)interrupt3using2

{

TL1=CLOCK_40MS&

0xff;

//timer1:

40ms

TH1=CLOCK_40MS>

>

8;

//CLOCK_40MS=

11文档来源为:

从网络收集整理.word版本可编辑.

(65536-40000)TF1=0;

if(T40msTimer!

=0)T40msTimer--;

}

voidInitialCPUIO(void)

{P1=0xff;

}

voidInitTimer1(void)

IE=0;

//disableallinterrupt

IP=0x08;

//hipriority:

timer1

TMOD=0x10;

//settimer1:

mode116bit

TR1=1;

//starttimer1

//timer1:

TH1=CLOCK_40MS>

ET1=1;

//ebabletimer1interrupt

EA=1;

//ebableallinterrupt

voidmain()

int

p1[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x8

0,0x90};

//P1口数字0—9的模

p3[10]={0xc0,0xf9,0x64,0x70,0x59,0x52,0x42,0xf8,0x4

0,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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1