dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx

上传人:b****1 文档编号:2801196 上传时间:2023-05-04 格式:DOCX 页数:23 大小:101.54KB
下载 相关 举报
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第1页
第1页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第2页
第2页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第3页
第3页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第4页
第4页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第5页
第5页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第6页
第6页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第7页
第7页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第8页
第8页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第9页
第9页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第10页
第10页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第11页
第11页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第12页
第12页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第13页
第13页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第14页
第14页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第15页
第15页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第16页
第16页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第17页
第17页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第18页
第18页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第19页
第19页 / 共23页
dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx

《dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx》由会员分享,可在线阅读,更多相关《dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx(23页珍藏版)》请在冰点文库上搜索。

dk型led智能显示系统 线条方式设计天安门图案闪光并以各种不同方式显示大学论文.docx

dk型led智能显示系统线条方式设计天安门图案闪光并以各种不同方式显示大学论文

唐山学院

《EDA技术》课程设计

 

题目简易数字频率计设计

系(部)智能与信息工程学院

班级

姓名

学号

指导教师郭耀华王墨琪戴彦

 

2016年6月29日至7月1日共1周

2016年7月1日

《EDA技术》课程设计任务书

一、设计题目、内容及要求

设计题目:

《简易数字频率计设计》

设计内容:

(1)设计四位十进制的简易数字频率计,对1HZ-10MHZ的方波信号进行测量;

(2)测量的方波频率值要在4位数码管上进行显示;

(3)根据不同的待测方波信号,频率计分为4个量程进行测量,四个量程分别为乘1,乘10,乘100,乘1000量程。

(4)此频率计要设有一个整体复位控制;

设计要求:

(1)根据任务要求确定状态关系,画出状态转换图;

(2)写出设计程序;

(3)给出时序仿真结果;

(4)最后要有设计总结;

二、设计原始资料

QuartusⅡ软件;EDA实验箱;计算机一台;

三、要求的设计成果(课程设计说明书、设计实物、图纸等)

课程设计说明书1份,不少于2000字,应包含设计原理分析、相关软件介绍、仿真波形分析,实验箱下载验证等。

四、进程安排

周1-周4:

查阅资料,上机编写并调试程序

周5:

课程设计答辩并交设计说明书

五、主要参考资料

[1].VokneiA.Pedroni.《VHDL数字电路设计教程》.电子工业出版社,2008.5

[2].潘松,黄继业.《EDA技术实用教程》(第二版).科学出版社,2005.2

[3].焦素敏.《EDA应用技术》.清华大学出版社,2002.4

指导教师(签名):

教研室主任(签名):

课程设计成绩评定表

出勤

情况

出勤天数

缺勤天数

出勤情况及设计过程表现(20分)

课设答辩(20分)

设计成果(60分)

总成绩(100分)

提问

(答辩)

问题

情况

 

 

指导教师签名:

年月日

 

目录

1引言1

2应用工具简介2

2.1EDA技术介绍2

2.2VHDL语言介绍2

3总体设计3

3.1设计内容3

3.2设计要求3

3.3设计原理3

3.4设计思路3

3.5模块的设计3

3.5.1分频模块设计3

3.5.2频率测量模块设计5

3.5.3锁存与倍率分辨模块设计6

3.5.4译码模块设计7

3.6模块连接8

4系统仿真及下载9

4.1系统仿真9

4.2系统下载9

4.3结果分析9

5总结及体会10

参考文献11

附录12

1引言

所谓频率,就是周期性信号在单位时间(1s)里变化的次数。

本频率计设计测量频率的基本原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。

 

根据数字频率计的基本原理,本文设计方案的基本思想是分为五个模块来实现其功能,即整个数字频率计系统分为分频模块、控制模块、计数模块、译码模块和量程自动切换模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。

      

本频率计设计还可以测量周期性信号,其基本原理与测量频率的基本原理基本一样,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把被测信号一个周期内标准基准信号的脉冲计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来,显示管的读数就是被测信号以标准信号的周期为单位乘积的周期。

 

2应用工具简介

2.1EDA技术介绍

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

2.2VHDL语言介绍

电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬件电路。

VHDL硬件描述语言在电子设计自动化中扮演着重要的角色,他是EDA技术研究的重点之一。

  VHDL的英文全写是:

VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptiongLanguage.翻译成中文就是超高速集成电路硬件描述语言。

因此它的应用主要是应用在数字电路的设计中。

目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。

当然在一些实力较为雄厚的单位,它也被用来设计ASIC。

硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件描述语言。

因此,VHDL成为硬件描述语言的业界标准之一。

一个完整的VHDL程序包括以下几个基本组成部分:

实体(Entity),结构体(Architecture),程序包(Package),库(Library)。

其中,实体是一个VHDL程序的基本单元,由实体说明和结构体两部分组成,实体说明用于描述设计系统的外部接口信号;结构体用于描述系统的行为,系统数据的流程或系统组织结构形式。

程序包存放各设计模块能共享的数据类型,常数,子程序等。

库用于存放已编译的实体,机构体,程序包及配置。

VHDL语言的编译环境有不同的版本,我们应用的是Altera公司的Maxplus软件,它的操作顺序如下:

使用TEXTEDITOR编写VHDL程序使用COMPILER编译VHDL程序;使用WAVE2FORMEDITOR,SIMULAROT仿真实验;使用TIMINGANALTZER进行芯片的时序分析;用FLOORPLANEDITOR锁定芯片管脚位置;使用PROGRAMMER将编译好的VHDL程序下载到芯片中。

3总体设计

3.1设计内容

(1)设计四位十进制的简易数字频率计,对1HZ-10MHZ的方波信号进行测量;

(2)测量的方波频率值要在4位数码管上进行显示;

(3)根据不同的待测方波信号,频率计分为4个量程进行测量,四个量程分别为乘1,乘10,乘100,乘1000量程。

(4)此频率计要设有一个整体复位控制;

3.2设计要求

(1)根据任务要求确定状态关系,画出状态转换图;

(2)写出设计程序;

(3)给出时序仿真结果;

(4)最后要有设计总结;

3.3设计原理

根据设计要求,系统的输入信号:

基准时钟脉冲clk,待测信号clkin,复位信号rst,输出信号:

显示倍率bei,显示频率y0—y3。

在复位信号ret=0时显示该时刻输入频率,rst=1时显示0。

3.4设计思路

整个设计由分频模块、频率测量模块、锁存与倍率分辨模块、译码模块四个部分组成。

其中分频模块是把clk分成100个周期的脉冲的mile_clk与8个或9个周期的cost_clk;计程模块是用来计算行驶里程;计费是用来显示行驶费用。

系统结构框图如图3-1所示:

3.5模块的设计

模块列化是EDA设计常用手段,将一个复杂系统分块设计使其变得简单,具体方法是将一个小系统用VHDL语言或者硬件连接的方式表示出来然后生成一个新的具有特殊功能的元件。

本设计中采用了4个经列化的元件,具体如下所示。

3.5.1分频模块设计

clk为基准脉冲5MHZ通过分频模块分成4个不同频率与占空比的脉冲,clk1用来作为1秒脉宽的测频基准信号其高电平保持1秒低电平保持10个基准脉宽,

 

图3-1系统结构框图

clkf用来在下一次测频前将前一秒的数据清零其保持1秒加9个基准脉冲的低电平与1个基准脉冲的高电平,clk1与clkf频率为5000010HZ。

clk5为2.5MHZ的锁存器扫描频率,clk100位1000HZ的数码管扫描频率。

分频模块如图3-2所示:

图3-2分频模块图

分频模块仿真图如图3-3所示

图3-3分频模块仿真图

3.5.2频率测量模块设计

当复位信号rst为低电平时,在clk高电平期间clkin每来一个上升沿,测频器低位i1就自增1,当i1满9时,i1清零,i2自增1,i2满9时,i2清零,直至i7计满9全部清零。

因此测频器的测频范围是0~9999999Hz,满量程后自动归零。

在下一个clk高电平到来之前clk配合clkf将前一个高电平所计值清零。

测频模块图3-4如下:

图3-4测频模块图

 

测频模块仿真图如图3-5所示

图3-5测频模块图

3.5.3锁存与倍率分辨模块设计

本模块共有11个输入端口其中包括7位测频器输入,一个扫描端口,一个复位端口,clk与clkf两个端口同时控制其读取与锁存测频器输入信号;5个输出端口分别是最高非零4位测频器输入值与一位倍率值,其4位测频器输入值送入译码器再送至数码管译码显示;倍率值直接输出至二极管。

计费模块如图3-4所示:

图3-6锁存与倍率模块图

计费模块仿真图如图3-7所示

图3-7锁存与倍率模块仿真图

3.5.4译码模块设计

本系统最终由8段数码管显示但系统运算皆使用bcd码,所以要对将要显示的数进行译码处理,由于实验室提供4位共阴极动态显示模块,对频率值四位译码。

译码器模块如图3-8所示:

图3-8译码模块图

三位译码模块仿真图如图3-9所示

图3-9译码模块仿真图

3.6模块连接

由于该系统使用元件列化制作最后使用原理图连接的方式将其连接在一起。

系统整体元件连接图如图3-10所示

图3-10整体元件连接图

4系统仿真及下载

4.1系统仿真

系统仿真是在实际系统上进行实验研究比较困难时适用的必不可少的工具,它是指通过系统模型实验去研究一个已经存在或正在设计的系统的过程。

程序输入完成后进行编译,编译完成后,可以对所进行的设计进行仿真,本课程设计的仿真平台是QuartusII软件,通过对VHDL源程序进行编译检错,然后创建波形文件(后缀名为.scf),加入输入输出变量,选择适用的芯片以及设定仿真结束时间,设置好输入初值进行仿真。

系统仿真图如图4-1所示:

图4-1系统仿真图

4.2系统下载

b、wx、y为输出,分别表示倍率、位码和段码,用实验箱上的动态数码管显示,clk为5MHz的脉冲信号,in为待测脉冲信号,rst表示复位,用实验箱上的拨码开关L1代替实现其功能。

硬件引脚锁定如图4-4所示:

图4-2引脚锁定图

4.3结果分析

下载完成后,rst初始置为0。

在一秒后显示输入频率,改变输入频率显示值也相应延时改变符合要求。

5总结及体会

通过这学期学的《EDA技术》,再加上这几天边查资料边请教老师,终于理清了头绪,完成了此次课程设计。

刚开始拿到本次程序设计题的时候确实有点儿兴奋,心想着尽量要独立快速而又高质量的完成这次课程设计。

但是大概思路有了,觉得特别复杂,我害怕了,一阵慌乱后,终于定下心来了终于找到了一个比较类似的VHDL程序的简易数字频率计设计。

这也使得我今天的程序颇有类同的感觉。

看了几遍课题设计要求和书上给的源程序后对如何写这一方面的程序有了一定的了解,于是就尝试着自己开始作起了这个系统的总体框图。

平时觉得老师讲课时都特别简单清楚,但是现在自己拿到一个设计要求时,乱阵脚了,但是经过努力,先把封装图画了出来,最终把原理框图画出来了。

时间过得真快,马上到周三了,要进实验室做仿真和下载的时候了,刚开始在实验室有点着急,但是老师的新要求提出时,我冷静了,修改程序,做调试,在最后终于成功的完成了符合设计要求的程序,下载后仍有点小问题需要修改。

但是毕竟得到了老师的肯定,我的信心更足了。

下午又重新整理了自己的思路,功夫不负有心人,终于把问题都解决了。

通过这次EDA课程设计,我对课堂上所学到的理论知识的理解加深了许多,自己动脑、动手设计的能力也得到了较大提高。

在这次课程设计的过程中,我对VHDL语言有了更深的认识。

通过查阅相关资料和动手设计我发现我以前对VHDL语言的认识太过肤浅,认为VHDL语言只能用于设计小型的电路系统。

但有了更深刻的认识之后我发现学好VHDL语言可以设计出大规模的、功能复杂的电路系统。

我发现了动手实践的重要性。

动手实践是理论知识得以灵活运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。

只有遇到实际问题并根据自己对课堂上获得的专业知识的理解来解决才能真正的提高自己的能力。

这也提醒我在平时的学习生活中不能一味埋头于课本知识,当今社会竞争越来越激烈,社会对人才的要求越来越全面,只有理论知识是远远不够的,必须靠实践作支撑,想要有更大的发展,更深入的研究,还需要更多的努力与实践。

 

参考文献

[1]VokneiA.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.5

[2]潘松,黄继业.EDA技术实用教程(第二版).科学出版社,2005.2

[3]焦素敏.EDA应用技术.清华大学出版社,2002.4

[4]张昌凡等.可编程逻辑器件及VHDL设计技术[M].广州:

华南理工大学出版社,2001

[5]曾繁泰,陈美金.VHDL程序设计[M].北京:

清华大学出版社,2001

 

附录

分频模块源程序

libraryieee;

useieee.std_logic_1164.all;

entityfpis

port(clk:

instd_logic;

clkout1:

outstd_logic;

clkout5:

outstd_logic;

clkout100:

outstd_logic;

clkoutf:

outstd_logic);

end;

architecturebhvoffpis

begin

process(clk)

variabletemp,temp1,temp2,temp3:

integerrange0to10000000;

variablec1,c2,c3,c4:

std_logic;

begin

ifclk'eventandclk='1'then

temp:

=temp+1;temp1:

=temp1+1;temp2:

=temp2+1;temp3:

=temp3+1;

if(temp<50000)then

c1:

='1';

endif;

if(temp=50000)then

c1:

='0';

endif;

if(temp=50010)then

temp:

=0;

endif;

if(temp1<50009)then

c2:

='0';

endif;

if(temp1=50010)then

c2:

='1';

temp1:

=0;

endif;

if(temp2=1)then

c3:

=notc3;

temp2:

=0;

endif;

if(temp3=50)then

c4:

=notc4;

temp3:

=0;

endif;

endif;

clkout1<=c1;

clkout5<=c3;

clkout100<=c4;

clkoutf<=c2;

endprocess;

endbhv;

测频模块源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entitybeiceis

port(clk,ql,clkin,rst:

instd_logic;

i1,i2,i3,i4,i5,i6,i7:

outstd_logic_vector(3downto0));

endbeice;

architecturebhvofbeiceis

signalclk1:

std_logic;

begin

process(clk,clkin)

begin

clk1<=clkinandclk;

endprocess;

process(rst,clk1,clk)

variablea1,a2,a3,a4,a5,a6,a7:

std_logic_vector(3downto0);

begin

ifrst='1'orql='1'then

a1:

="0000";a2:

="0000";a3:

="0000";a4:

="0000";a5:

="0000";a6:

="0000";a7:

="0000";

elsifclk1'eventandclk1='1'then

ifa1="1001"thena1:

="0000";

ifa2="1001"thena2:

="0000";

ifa3="1001"thena3:

="0000";

ifa4="1001"thena4:

="0000";

ifa5="1001"thena5:

="0000";

ifa6="1001"thena6:

="0000";

ifa7="1001"thena7:

="0000";

elsea7:

=a7+1;

endif;

elsea6:

=a6+1;

endif;

elsea5:

=a5+1;

endif;

elsea4:

=a4+1;

endif;

elsea3:

=a3+1;

endif;

elsea2:

=a2+1;

endif;

elsea1:

=a1+1;

endif;

endif;

i1<=a1;

i2<=a2;

i3<=a3;

i4<=a4;

i5<=a5;

i6<=a6;

i7<=a7;

endprocess;

endbhv;

锁存与倍率分辨模块源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entitysuocunis

port(clk,clk1,clkf,rst:

instd_logic;

a1,a2,a3,a4,a5,a6,a7:

instd_logic_vector(3downto0);

bei:

outstd_logic_vector(3downto0);

bcd1,bcd2,bcd3,bcd4:

outstd_logic_vector(3downto0));

endsuocun;

architecturebhvofsuocunis

begin

process(clk1)

variablesel,b1,b2,b3,b4:

std_logic_vector(3downto0);

begin

ifrst='1'then

bcd4<="0000";bcd3<="0000";bcd2<="0000";bcd1<="0000";

elsifclk1'eventandclk1='1'then

ifclk='0'andclkf='0'then

ifa7>"0000"thenb4:

=a7;b3:

=a6;b2:

=a5;b1:

=a4;sel:

="1000";

elsifa6>"0000"thenb4:

=a6;b3:

=a5;b2:

=a4;b1:

=a3;sel:

="0100";

elsifa5>"0000"thenb4:

=a5;b3:

=a4;b2:

=a3;b1:

=a2;sel:

="0010";

elseb4:

=a4;b3:

=a3;b2:

=a2;b1:

=a1;sel:

="0001";

endif;

endif;

endif;

bei<=sel;

bcd1<=b1;

bcd2<=b2;

bcd3<=b3;

bcd4<=b4;

endprocess;

endbhv;

译码模块源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entityyimais

port(clk:

instd_logic;

bcd1,bcd2,bcd3,bcd4:

instd_logic_vector(3downto0);

wx:

outstd_logic_vector(3downto0);

y:

outstd_logic_vector(7downto0));

endyima;

architecturebhvofyimais

signalbcd:

std_logic_vector(3downto0);

begin

process(clk)

variableys:

integerrange0to5;

begin

ifclk'eventandclk='1'then

ys:

=ys+1;

ifys=1thenbcd<=bcd4;wx<="1000";

elsifys=2thenbcd<=bcd3;wx<="0100";

elsifys=3thenbcd<=bcd2;wx<="0010";

elsifys=4thenbcd<=bcd1;wx<="0001";ys:

=0;

endif;

endif;

endprocess;

process(bcd)

begin

casebcdis

when"0000"=>y(7downto0)<="11111100";

when"0001"=>y(7downto0)<="01100000";

when"0010"=>y(7downto0)<="11011010";

when"0011"=>y(7downto0)<="11110010";

when"0100"=>y(7downto0)<="01100110";

when"0101"=>y(7downto0)<="10110110";

when"0110"=>y(7downto0)<="10111110";

when"0111"=>

y(7downto0)<="11100000";

when"1000"=>y(7downto0)<="11111110";

when"1001"=>y(7downto0)<="11110110";

whe

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2