两位数码管显示电路.docx

上传人:b****6 文档编号:16777502 上传时间:2023-07-17 格式:DOCX 页数:13 大小:168.26KB
下载 相关 举报
两位数码管显示电路.docx_第1页
第1页 / 共13页
两位数码管显示电路.docx_第2页
第2页 / 共13页
两位数码管显示电路.docx_第3页
第3页 / 共13页
两位数码管显示电路.docx_第4页
第4页 / 共13页
两位数码管显示电路.docx_第5页
第5页 / 共13页
两位数码管显示电路.docx_第6页
第6页 / 共13页
两位数码管显示电路.docx_第7页
第7页 / 共13页
两位数码管显示电路.docx_第8页
第8页 / 共13页
两位数码管显示电路.docx_第9页
第9页 / 共13页
两位数码管显示电路.docx_第10页
第10页 / 共13页
两位数码管显示电路.docx_第11页
第11页 / 共13页
两位数码管显示电路.docx_第12页
第12页 / 共13页
两位数码管显示电路.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

两位数码管显示电路.docx

《两位数码管显示电路.docx》由会员分享,可在线阅读,更多相关《两位数码管显示电路.docx(13页珍藏版)》请在冰点文库上搜索。

两位数码管显示电路.docx

两位数码管显示电路

 

EDA设计论文

 

题目

学院

专业班级

学生姓名

指导教师

 

2016年1月10日

2.1.1EDA技术的概念2

2.1.2EDA技术的特点2

2.1.3EDA设计流程2

2.2.1VerilogHDL简介3

2.2.2VerilogHDL语言的特点3

3.1系统需求分析4

3.2设计原理4

3.3MAXII晶体管说明5

3.4编写代码6

3.5管脚分配8

第4章系统仿真9

\

摘要

在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,也渗透到人们的日常生活之中,如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。

为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。

在实际应用中,单片机的数码管显示,正确、高效应用数码管显示技术设计成功与否的一个关键问题之一。

本文介绍了通过学习版开设计两位数码管的显示十六进制数。

采用汇编进行编程,可以实现从00到FF的十六进制数的循环显示。

在QuartusⅡ软件平台上,完成了两位数码管的显示电路的设计。

采用VerilogHDL硬件描述语言描述两位数码管的显示电路,完成对电路的功能仿真。

关键词:

两位数码管的显示QuartusⅡ状态机循环

 

Abstract

Intheinformationagetoday,SCMtechnologyisappliedmoreandmorewidely,involvedinallwalksoflife,butalsopenetrateintopeople'sdailylife,suchaswashingmachines,airconditioners,refrigeratorsandothercontrolsystem,youcanwithMCU.Inordertoletpeopleveryintuitiveunderstandingoftherelevantequipmentcurrentstate,mostofthetimetothecurrenttime,temperature,andworkproceduresstatethroughthedigitaltubedisplay,whichinvolvestheMCUdigitaltubedisplaytechnology.Inpracticalapplication,thedigitaltubedisplayofsinglechipmicrocomputerisgenerallyusedindynamicdisplaymode,anditisoneofthekeyproblemsinthedesignofdynamicdisplaytechnologywithcorrectandhighefficiency.Thispaperintroducesthedynamicdisplayofthetwobitdigitaltubethroughthelearningversionofthesixteendigitnumber.Assemblyforprogramming,canbeachievedfrom1toFsixteendecimalnumberofautomaticdisplay.OnQuartusIIsoftwareplatform,thedesignofdynamicdisplaycircuitoftwobitdigitaltubeiscompleted.TheHDLVeriloghardwaredescriptionlanguageisusedtodescribethedynamicdisplaycircuitoftwobitdigitaltube,andthefunctionsimulationofthecircuitis

completed.Keywords:

DynamicdisplayofmultibitdigitaltubeQuartusⅡStatemachineCirculat

第1章绪论

1.1概述

数码管是一类显示屏通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。

由于它的价格便宜,使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。

绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。

然而在信息时代的今天,单片机技术应用越来越广泛,涉及各行各业,也渗透到人们的日常生活之中,如洗衣机、空调、冰箱等的控制系统,就可以用单片机实现。

为了让人们很直观的了解相关设备当前的工作状态,很多时候需要将当前的时间、温度、工作程序等状态通过数码管显示出来,这就涉及到单片机的数码管显示技术。

数码管显示是一种最常见的多位显示方法,应用非常广泛。

1.2设计的目的

EDA技术作为现代电子设计技术的核心,它依赖功能强大的计算机,所以本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术并掌握VerilogHDL硬件描述语言的设计方法和思想。

以计算机组成原理为指导,通过学习的VerilogHDL语言结合电子电路的设计知识理论联系本次的实习内容—数码管显示电路的设计,掌握所学的课程知识和基本单元电路的综合设计应用,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。

1.3设计的基本内容

两位数码显示是将所有数码管的8段按同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,显示数码同时传到每个数码管,但每个瞬时由位选通信号选通一个数码管,即在某一瞬时只有一个数码管显示数据,且显示时间不能太长,一般为1-10MS,依次循环扫描,轮流显示。

第2章EDA、VerilogHDL简介

2.1EDA技术

2.1.1EDA技术的概念

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

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

2.1.2EDA技术的特点

利用EDA技术进行电子系统的设计,具有以下几个特点:

①用软件的方式设计硬件;②用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③设计过程中可用有关软件进行各种仿真;④系统可现场编程,在线升级;⑤整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。

因此,EDA技术是现代电子设计的发展趋势。

2.1.3EDA设计流程

1、文本/原理图编辑与修改。

首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。

2、编译。

完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。

3、综合。

将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。

4、行为仿真和功能仿真。

利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。

5、适配。

利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。

适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。

6、功能仿真和时序仿真。

7、下载。

如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。

8、硬件仿真与测试。

2.2硬件描述语言

2.2.1VerilogHDL简介

VerilogHDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。

被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。

数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。

VerilogHDL语言具有下述描述能力:

设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。

所有这些都使用同一种建模语言。

此外,VerilogHDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。

2.2.2VerilogHDL语言的特点

1.既能用于电路设计的综合,又可以用于模拟仿真。

2.能够在多个层次上对所设计的系统加以描述,从开关级、门级、寄存器传输级到行为级等,语言不对设计的规模施加任何限制。

3.灵活多样的电路描述风格,可进行行为描述,也可进行结构描述或数据流描述;支持混合建模在一个设计中各个模块可以在不同的设计层次上建模和描述。

 

第3章两位数码管的显示电路

3.1系统需求分析

1) 计数电路采用十六进制,从00开始到FF后再回到00。

 

2) 各用2位数码管显示。

 

3) 具有自动开始和手动暂停功能。

 

4) 为了保证计数的稳定及准确,须由晶体振荡器提供数字基准信号

3.2设计原理

如图4.9-1所示,LED数码管由7个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。

通过七段发光二极管亮

暗的不同组合,可以显示多种数字、字母以及其它符号。

LED数码管中的发光二极管共有两种连接方法:

 

1) 共阴极接法:

把发光二极管的阴极连在一起构成公共阴极。

使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。

实验中使用的LED显示器为共阴极接法 

2) 共阳极接法:

把发光二极管的阳极连在一起构成公共阳极。

使用时公共阳极接+5V。

这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。

 

为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。

七段发光二极管,再加上一个小数点位,共计八段。

因此提供给LED显示器的字形代码正好一个字节。

若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阴极LED数码管显示十六进制数时所需的字形代码如表3.2-1所示。

 

表3.2-1 共阴极LED数码管字形代码

3.3MAXII晶体管说明

7段数码管(不算小数点)的原理也很简单,它无非是由7个发光二极管组

成。

这7个发光二极管有一个公共端,必须接GND(共阴极数码管)或者接VCC

(共阳极数码管)。

对7个二极管的另一端进行控制,相应的就能控制他们的亮

暗。

不同的亮暗组合就产生了数字0-9的显示效果。

若希望数码管显示某个数字,

只要给数码管的7个段选接口送相应的译码信号即可。

如图3.3-1所示,两个共阴数码管SM4205的段选和位选与CPLD的I/O连接。

带小数点的共阴极数码管对应的段选如图3.3-2所示

图3.3-1图3.3-2

 

3.4编写代码

信号名称

方向

描述

clk

input

时钟信号,50MHz

rst_n

input

复位信号,低电平有效

sm_cs1_n

output

数码管1片选信号(即共阴端),低电平有效

sm_cs2_n

output

数码管2片选信号(即共阴端),低电平有效

sm_db[6:

0]

output

数码管段选信号

moduleled_seg7(clk,rst_n,sm_cs1_n,sm_cs2_n,sm_db);

inputclk;//50MHz

inputrst_n;//复位信号,低有效

outputsm_cs1_n,sm_cs2_n;//数码管片选信号,低有效

output[6:

0]sm_db;//7段数码管(不包括小数点)

reg[24:

0]cnt;//计数器,最大可以计数到2的25次方*20ns=640ms

always@(posedgeclkornegedgerst_n)

if(!

rst_n)cnt<=25'd0;

elsecnt<=cnt+1'b1;//循环计数

reg[3:

0]num;//显示数值

always@(posedgeclkornegedgerst_n)

if(!

rst_n)num<=4'd0;

elseif(cnt==24'hffffff)num<=num+1'b1;//每(大约)640ms增一

//-----------------------------------------------------------------------------

--

/*共阴极:

不带小数点

;0,1,2,3,4,5,6,7,

db3fh,06h,5bh,4fh,66h,6dh,7dh,07h

;8,9,a,b,c,d,e,f,灭

db7fh,6fh,77h,7ch,39h,5eh,79h,71h,00h*/

parameterseg0=7'h3f,

seg1=7'h06,

seg2=7'h5b,

seg3=7'h4f,

seg4=7'h66,

seg5=7'h6d,

seg6=7'h7d,

seg7=7'h07,

seg8=7'h7f,

seg9=7'h6f,

sega=7'h77,

segb=7'h7c,

segc=7'h39,

segd=7'h5e,

sege=7'h79,

segf=7'h71;

reg[6:

0]sm_dbr;//7段数码管(不包括小数点)

always@(num)

case(num)//NUM值显示在两个数码管上

4'h0:

sm_dbr<=seg0;

4'h1:

sm_dbr<=seg1;

4'h2:

sm_dbr<=seg2;

4'h3:

sm_dbr<=seg3;

4'h4:

sm_dbr<=seg4;

4'h5:

sm_dbr<=seg5;

4'h6:

sm_dbr<=seg6;

4'h7:

sm_dbr<=seg7;

4'h8:

sm_dbr<=seg8;

4'h9:

sm_dbr<=seg9;

4'ha:

sm_dbr<=sega;

4'hb:

sm_dbr<=segb;

4'hc:

sm_dbr<=segc;

4'hd:

sm_dbr<=segd;

4'he:

sm_dbr<=sege;

4'hf:

sm_dbr<=segf;

default:

;

endcase

assignsm_db=sm_dbr;

assignsm_cs1_n=1'b0;//数码管1常开

assignsm_cs2_n=1'b0;//数码管2常开

endmodule

设计中用了一个计数器进行定时,每个定时周期显示的数据递增,而相应的

译码逻辑触发后,译码输出数据就发生变化,从而改变数码管显示的数值。

 

3.5管脚分配

图3.5-1管脚分配图

 

第4章系统仿真

当程序汇编的过程结束,我们就可以松一口气了,这算是设计完成了一大步。

接下来的任务就是系统的仿真。

quartus自带仿真验证功能,整过过程中可能出现的疏忽,错误在这里都可以找出来。

我们再根据软件的提示惊醒进一步的改正,因为本次课程设计代码比较简单,在几次仿真后只有一点点的小错误加以改正就可以进行程序的录入过程了。

下图为最终的图形结构:

图4.1-1代码的图形语言

 

结论

经过对不同方案的分析、比较、取舍,然后进行原理图的设计与仿真,再经过电路板的焊接,软件的调试等环节的操作,最终实现了让数码管在单片机的控制下循环显示两位数00-FF。

并且在正常的计数过程中,若按下复位键后,技术又重新从00开始计数。

最终现实的结果与预想的结果一致。

通过这次两位数码管显示设计的实习,我受益匪浅,这次实习加深了我对单片机的认识,让我更加清楚了单片机的工作过程,我较系统地、全面地掌握单片机应用系统的基本设计方法,设计步骤。

此外,我学会了在遇到一些不懂的课外知识主动查找一些课外书来了解更多的知识。

这次实习增强了我的动手能力,也让我对以前所学的知识进行了复习,更加熟练掌握了原理图的设计与仿真方法,了解仿真电路的调试过程及应注意的问题,能用硬件描述语言进行软件的编写与调试。

  

参考文献

[1]夏宇闻.《Verilog数字系统设计教程》北京:

北京航空航天大学出版社,2013.7

[2]王金明.《数字系统设计与VerilogHDL》北京:

电子工业出版社,2009.1

[3]刘福奇,刘波.《VerilogHDL应用程序设计实例精讲》北京:

电子工业出版社,2009.10

[4]贺敬凯.《VerilogHDL数字设计教程》西安:

西安电子科技大学出版社,2010.4

 

附录1

所用器件

BJ-EPM240套件×1

QuartusⅡ软件

致谢

首先感谢老师对我们此次课程设计的指导,也感谢小组各个成员之间相互配合才能使这次课程设计顺利完成。

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

当前位置:首页 > 法律文书 > 调解书

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

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