CPLD数字钟

合集下载

CPLD制作数字钟的评测报告

CPLD制作数字钟的评测报告

CPLD制作数字钟的报告论文2008-06-18 11:45:01阅读429评论0字号:大中小通过这8周的学习,我知道了CPLD及电子电路CAD主要是学习里利用可编程器件使其实现某种指定功能。

将通过编程做出的器件进行设计组装,调试使其成为一个简易的电子产品。

同时我也了解如何设计一个电子产品。

首先必须明确系统的设计任务,根据任务设计方案,然后对方案中的各部分进行单元电路的设计,参数计算和器件选择,最后将各部分连接在一起,画出符合设计要求的完整的电路图。

然后进行编译,使其功能在可编程器件上能够实现。

在这8周的时间里,我们主要完成了以下六个实验:实验一: 组合逻辑设计、实验装置的使用方法一实验目的:1通过一个简单的3-8译码器的设计,掌握组合逻辑电路的设计方法。

2.初步了解EPLD设计的全过程, 初步掌握Altera软件的使用。

3.掌握组合逻辑电路的静态测试方法.二实验步骤:1 进入Windows操作系统,打开Max+PLUSII的设计软件. 启动File口Project Name菜单,将出现Project Name 对话框,在对话框内键入设计项目名YUSHI,选Ok即可2.点击Assign 口Device菜单,选择器件EPF10K144-13 设计的输入. 画出的实验原理图如下:点击保存按钮保存原理图. 将起保存在YUSHI文件下,起扩展名为.gdf4. 设计项目的编译. 点击MAX+PLUSII 口compiler项,出现编译窗口,点击start即可开始编译5.设计项目的模拟仿真. 通过模拟一个项目来证明它的功能是否是正确的. 上述电路的仿真波形如下:6.在底层图编辑器中观察适配结果以及管脚的重新分配定位.对照结构管脚分配表,根据自己的设计进行分配.7, 器件的编译.三. 实验效果产生的现象:通过按键输入,发光二极管显示3-8译码器的功能。

四实验小结:通过这个实验,我们初步了解了Max+PLUSII软件设计环境以及软件的使用。

#基于CPLD的数字时钟设计

#基于CPLD的数字时钟设计

学号0803021116分数电子设计自动化课程设计报告[基于CPLD的数字时钟设计]系部:信息工程系班级: 08电信(1)班姓名:指导教师:湖北轻工职业技术学院完成日期:2010 年 6 月 18日目录引言 (2)一VHDL的概述 (2)二设计方案和分析 (3)第一章模块设计 (4)一设计要求及目的 (4)1.1 要求 (4)1.2 目的 (5)二程序设计及模块说明和仿真 (5)2.1 二十四进制 (5)2.2 六十进制 (7)2.3 扫描电路 (9)2.4 整点报时 (12)第二章总体设计效果 (13)一电路仿真 (13) (13)二、实验结果 (13)总结 (14)一心得体会 (14)引言一VHDL的概述硬件描述语言(hardware description language,HDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。

目前,利用硬件描述语言可以进行数字电子系统的设计。

随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在探索中。

国外硬件描述语言种类很多,有的从Pascal发展而来,也有一些从C语言发展而来。

有些HDL成为IEEE标准,但大部分是企业标准。

VHDL来源于美国军方,其他的硬件描述语言则多来源于民间公司。

可谓百家争鸣,百花齐放。

这些不同的语言传播到国内,同样也引起了不同的影响。

在我国比较有影响的有两种硬件描述语言:VHDL语言和Verilog HDL语言。

这两种语言已成为IEEE标准语言。

电子设计自动化(electronic design automation,EDA)技术的理论基础、设计工具、设计器件应是这样的关系:设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为,再用设计工具将这些描述综合映射成和半导体工艺有关的硬件配置文件,半导体器件FPGA则是这些硬件配置文件的载体。

当这些FPGA器件加载、配置上不同的文件时,这个器件便具有了相应的功能。

CPLD数字时钟设计

CPLD数字时钟设计

Cpld课程学习报告第1页一、课题简介:此次CPLD设计是借助MAX+PLUSII软件完成十进制计数器的制作,其中需要编译、生成GDF文件、接引脚、传输数据等过程;并以十进制计数器为引导,完成基本时钟、闹钟、整点报时、跑表的制作,并最终完成整个数字钟的综合设计另外。

在此基础上可添加更多额外功能的扩展。

二、课题要求:时、分、秒六位数码管显示(标准时间23点59分59秒);具有小时、分钟校准功能;整点报时:55,56,57,58,59低音响,正点高音,间断振铃(嘟--嘟--嘟--嘟--嘟--嘀);跑表:最大计时99分59秒999毫秒。

独立的跑表功能,不影响数字钟正常工作;定时花样闹钟:可在00:00到23:59之间由用户设定任一时间,到时报警;插入一段音乐,在跑表工作时开始播放。

Cpld课程学习报告第2页三、数字钟设计的逻辑结构:四:数字钟设计的基本步骤:(1)具有调时、调分功能的基本时钟:运用24进制及60进制计数器组装,并接入相应输入输出器件。

通过频率为1Hz的脉冲作为输入端接到60进制的计数器,以进位标志carry作为下一级的频率脉冲,从而实现了一个可以表示实际时间的时钟。

此处用或门将外部的手动脉冲信号送进驱动实现了调时功能。

Cpld课程学习报告第3页60进制计数器的程序:(24、1000进制等计数器原理类似)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mp62_cnt60_5 isport(clk,clr,en: in std_logic;carry : out std_logic;ge,shi : out std_logic_vector( 3 downto 0));end ;architecture one of mp62_cnt60_5 issignal g,s :std_logic_vector(3 downto 0);beginprocess(clk,clr,en,g,s )beginCpld课程学习报告第4页if clr='1' theng<="0000";s<="0000";elsif clk'event and clk='1' thenif en='0' thenif g="1001"and s="0101" theng<="0000";s<="0000";carry<='1';elsif g="1001" theng<="0000" ; s<=s+1;else g<=g+1;carry<='0';end if;end if;end if;end process;ge<=g;shi<=s;end;(2)定时部分:Cpld课程学习报告第5页定时部分有两个方面的说明:1、二选一模块:当S为0时,显示正常时间;当S为1时,显示定时时间。

CPLD大作业—电子时钟设计

CPLD大作业—电子时钟设计

CPLD大作业报告——电子时钟设计姓名:班级:控制(学号:2015实验日期:2015年12月15日一、实验内容:1.使用CPLD设计电子钟电路框图,并对主要功能进行解释;2.设计小时、分、秒处理功能模块的VHDL程序;二、实验要求:1.编写小时、分、秒处理功能模块编程。

2.对仿真图形进行分析,对关键处的时序进行解释。

3.每个人的小时、分、秒数都不同。

根据任务布置,本设计的小时、分、秒数分别为24、32、32。

三、模块设计1. 一个模块实现的数字钟设计方案(1)时钟VHDL源程序LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY clk32 ISPORT(CLRN,LDN,EN,CLK : IN STD_LOGIC;Sa, Ma, Ha : IN INTEGER RANGE 0 TO 9;Sb, Mb : IN INTEGER RANGE 0 TO 3;Hb : IN INTEGER RANGE 0 TO 2;QSa,QMa,QHa : OUT INTEGER RANGE 0 TO 9;QSb,QMb : OUT INTEGER RANGE 0 TO 3;QHb : OUT INTEGER RANGE 0 TO 2);END clk32;ARCHITECTURE clock OF clk32 ISBEGINPROCESS (CLK)VARIABLE tmpsa,tmpma,tmpha : INTEGER RANGE 0 TO 9; VARIABLE tmpsb, tmpmb : INTEGER RANGE 0 TO 4; VARIABLE tmphb : INTEGER RANGE 0 TO 2; BEGINIF CLRN='0' THENtmpsb := 0; tmpsa := 0;tmpmb := 0; tmpma := 0;tmphb := 0; tmpha := 0;ELSEIF (CLK'event AND CLK='1') THENIF LDN='0' THENtmpsa:=Sa; tmpsb:=Sb; tmpma:=Ma; tmpmb:=Mb;tmpha:=Ha; tmphb:=Hb;ELSIF EN='1' THENIF (tmpsb=3 AND tmpsa=1 AND tmpmb=3 AND tmpma=1) THEN IF (tmphb=2 AND tmpha=3) THENtmpha:=0; tmphb:=0 ;ELSIF tmpha=9 THENtmpha:=0; tmphb:=tmphb+1;ELSE tmpha:=tmpha+1;END IF;END IF;IF (tmpsb=3 AND tmpsa=1) THENIF tmpma=9 THENtmpma:=0; tmpmb:=tmpmb+1;ELSIF (tmpmb=3 AND tmpma=1) THENtmpmb:=0; tmpma:=0 ;ELSE tmpma:=tmpma+1;END IF;END IF;END IF;IF tmpsa=9 THENtmpsa:=0;tmpsb:=tmpsb+1;ELSIF (tmpsb=3 AND tmpsa=1) THENtmpsb:=0; tmpsa:=0 ;ELSE tmpsa := tmpsa+1;END IF;END IF;END IF;QSa<=tmpsa; QSb<=tmpsb;QMa<=tmpma; QMb<=tmpmb;Qha<=tmpha; Qhb<=tmphb;END PROCESS ;END clock;以上程序实现了,用统一化整体模块完成了对时钟的时、分、秒的相应的进制设计。

基于CPLD的数字时钟设计

基于CPLD的数字时钟设计

CPLD课程学习报告学生姓名:熊军同组者姓名:黄辉CPLD的全称是Complex Programmable Logic Device (即复杂可编程器件),但本次试验所使用的器件并不是CPLD而是FPGA,FPGA的全称是Field Programmable Gate Array (即现场可编程门阵列)。

FPGA与CPLD有很多相似点,它们都是可编程数字逻辑器件,都在时序逻辑电路和组合逻辑电路中有很强的优势。

它们的区别在于,FPGA的容量大、速度慢且不可预测、掉电信息丢失,二CPLD容量小、速度快且有很好的可预测性、掉电信息不丢失。

CAD 的全称是Computer Aided Design(即计算机辅助设计)。

本实验所用到的软件是MAX+PLUS II,本次试验目的是做一个数字时钟。

该数字时钟包含五个主模块,它们分别是数字时钟模块、闹钟模块、跑表模块、模式选择模块和音乐模块。

完成的功能如下:1、数字时钟,时、分、秒六位数码管显示(标准时间23点59分59秒),具有小时、分钟加减调时调分的校准功能,整点报时:55,56,57,58,59低音响,正点高音,间断振铃(嘟--嘟--嘟--嘟--嘟--嘀);2,、定时闹钟,可在00:00到23:59之间由用户设定任一时间,到时报警,定时闹钟花样,前10s一般振铃,其后13秒较急促,再其后17秒急促,最后20秒特急促振铃。

并可随时关断;3、跑表,最大计时99分59秒999毫秒。

独立的跑表功能,不影响数字钟正常工作。

另外附加一段音乐,可随时控制播放和停止,不影响其他任何功能,音乐的内容是《两只蝴蝶》。

系统原理图如下:系统共有九个输入管脚,41个输出管脚,输出管脚中包括一个蜂鸣器,八个数码管,八个LED发光二极管。

图中的D触发器的作用是为了使跑表具有后台功能。

下面依次介绍这五个模块。

一、数字时钟模块数字时钟模块包含四个部分,它们分别是六十进制计数器、二十四进制计数器、分频器和整点报时控制器。

基于CPLD的多功能数字时钟

基于CPLD的多功能数字时钟

前言我们已经进入了数字化和信息化的时代,其特点是各种数字产品的广泛应用。

现代数字产品在性能提高、复杂度增大的同时,其更新换代的步伐也越来越快,实现这种进步的因素在于生产制造技术和电子设计技术的进步。

CPLD器件和EDA技术的出现,改变了这种传统的设计思路,使人们可以立足于CPLD芯片来实现各种不同的功能,新的设计方法能够由设计者自己定义器件内部逻辑和管脚,将原来由电路板设计完成的工作大部分放在芯片的设计中进行。

这样不仅可以通过芯片设计实现各种逻辑功能,而且由于管脚定义的灵活性,减轻了原理图和印制板设计的工作量和难度,增加了设计的自由度,提高了效率。

同时这种设计减少了所需芯片的种类和数量,缩小了体积,降低了功耗,提高了系统的可靠性。

目录前言 (1)一、设计内容和要求 (3)1. 设计一个数字钟,具有计时,校时,闹钟和整点报时的功能。

(3)二、实验环境 (4)1. 软件环境 (4)2. 硬件环境 (4)三、系统设计方案的确定 (5)1. 结构框图 (5)2. 总体思路 (5)1) 总体电路图 (6)2) 校时模块 (7)3) 时钟模块 (9)4) 闹钟模块 (11)5) 闹钟计数器模块 (14)6) 报时模块 (16)7) MODE按键模块 (16)四、仿真与引脚锁定 (18)1. 仿真 (18)2. 引脚锁定 (18)小结 (24)参考文献 (25)一、设计内容和要求1. 设计一个数字钟,具有计时,校时,闹钟和整点报时的功能。

基本要求:1)计时功能采用24小时方式,显示小时、分钟和秒;2)采用双键调整法,MODE和SET。

3)MODE按键用于模式选择,包括时钟数码管模块显示。

计时模块数码管显示,包括计时、秒校时、分校时和小时校时;闹钟模块数码管显示,包括闹钟校时和校分。

4)SET作为校时脉冲;5)结果用6个数码管显示和一个蜂咛器;6)用VHDL语言编程实现系统功能;7)在Quartus II环境中编译、仿真通过,并得到正确的波形;8)在实验系统上下载成功并有正确的结果;9)完成相应的实训报告。

基于CPLD的数字钟的实现

基于CPLD的数字钟的实现

目录一、设计目的 (2)二、设计任务及要求 (2)三、设计方案 (3)四、数字钟组成框图 (3)五、数字钟的工作原理图 (3)六、数字钟子模块的设计 (4)1、分频器的实现 (4)2、秒计数器的实现 (5)3、分计数器的实现 (7)4、时计数器的实现 (9)5、D触发器的实现 (10)6、分时扫描加译码显示模块的实现 (11)七、引脚锁定图 (13)八、实验结果 .... 错误!未定义书签。

九、总结感想 (14)十、参考文献 (14)数字钟设计摘要:数字钟已成为人们日常生活不可或缺的用品,它广泛应用于家庭及车站、码头、剧场、办公室等公共场所,给人们的生活,学习,工作,娱乐带来了极大的方便,由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确,性能稳定,携带方便等特点,它还用于计时,自动报时及自动控制等各个领域。

数字钟一般由振荡器,分频器,译码器,显示器等部分组成。

尽管目前市场上有现成的数字钟集成电路芯片,价格便宜,但这些都是数字电路系统中最基本的、应用最广的电路。

数字中是将“时”,“分”,“秒”显示于人的视觉器官的计时装置。

本文介绍的数字钟的周期是12小时,显示满刻度为11小时59分59秒,另外还有校时功能。

关键词:数字钟计时器VHDL语言CPLD一、设计目的1、掌握十进制、六进制、十二进制的设计方法;2、掌握多位计数器相连的方法;3、掌握多位共阳极显示数码管的驱动及编码;4、掌握CPLD层次化设计结构方法;二、设计任务及要求⑴有时、分、秒的功能,分别由6个数码管显示12小时、60分钟、60秒钟的计数器显示,具有时间设定功能。

⑵按下switch1键能够全部清零,显示00-00-00。

⑶按下switch2键能够使计时器数字增加,按11小时循环,计满11小时后回到00,可以进行时钟校正。

⑷按下switch3键能够使计分器数字增加,按59分钟循环,计满59分钟后回到00,可以进行分钟校正。

cpld时钟

cpld时钟

CPLD课程学习报告CPLD 课程是一门实践性非常强的课程,它要求我们运用基本的VHDL硬件描述语言编程得到我们想要的器件以实现我们所预期的功能。

这次CPLD课程学习的主要任务就是灵活地运用CPLD相关知识来设计一个数字电子钟,其基本要求是时、分、秒在数码管上的显示和小时、分钟的校准,扩展要求包括以下几点:1、整点报时:55,56,57,58,59低音响,正点高音,间断振铃(嘟--嘟--嘟--嘟--嘟--嘀)2、跑表:最大计时99分59秒999毫秒。

独立的跑表功能,不影响数字钟正常工作。

3、定时闹钟:可在00:00到23:59之间由用户设定任一时间,到时报警。

4、定时闹钟花样:前10s一般振铃,其后13秒较急促,再其后17秒急促,最后20秒特急促振铃。

并可随时关断。

5、其他(加减调时调分、音乐铃声等,越新奇越好)。

下面我就整个数字电子钟功能的实现过程做一一讲解。

首先,要完成一个最基本的时钟,首要任务就是编写两个计数器(24进制和60进制)。

60进制计数器的VHDL描述如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY dl21_cnt60 isport(clk,reset,en:in bit;q0,q1:out std_logic_vector(3 downto 0); carry:out std_logic);end;architecture one of dl21_cnt60 issignal m0,m1:std_logic_vector(3 downto 0); beginprocess(clk,reset,en)beginif reset='1'then m0<="0000";m1<="0000"; elsif clk'event and clk='1' thenif en='0'thenif m0="1001" and m1="0101" thenm1<="0000";m0<="0000";carry<='1';elsif m0="1001" then m1<=m1+1;m0<="0000"; else m0<=m0+1;carry<='0';end if;end if;end if;end process;q0<=m0;q1<=m1;end;通过对程序的保存、创建项目、编译之后,我们可以得到下图所示的实体器件:60进制计数器到底我们做的这个60进制计数器对不对呢,它能不能达到我们想要的效果呢,下面让我们来用波形仿真试一试就知道了。

基于CPLD的VHDL语言数字钟(含秒表)

基于CPLD的VHDL语言数字钟(含秒表)

基于CPLD的VHDL语言数字钟(含秒表)设计利用一块芯片完成除时钟源、按键、扬声器和显示器(数码管)之外的所有数字电路功能。

所有数字逻辑功能都在CPLD器件上用VHDL语言实现。

这样设计具有体积小、设计周期短(设计过程中即可实现时序仿真)、调试方便、故障率低、修改升级容易等特点。

本设计采用自顶向下、混合输入方式(原理图输入—顶层文件连接和VHDL语言输入—各模块程序设计)实现数字钟的设计、下载和调试。

一、功能说明已完成功能1.完成秒/分/时的依次显示并正确计数;2.秒/分/时各段个位满10正确进位,秒/分能做到满60向前进位;3.定时闹钟:实现整点报时,又扬声器发出报时声音;4.时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进行调整;5.利用多余两位数码管完成秒表显示:A、精度达10ms;B、可以清零;C、完成暂停可以随时记时、暂停后记录数据。

待改进功能:1.闹钟只是整点报时,不能手动设置报时时间,遗憾之一;2.秒表不能向秒进位,也就是最多只能记时100ms;3.秒表暂停记录数据后不能在原有基础上继续计时,而是复位重新开始。

【注意】秒表为后来添加功能,所以有很多功能不成熟!二、设计方案1.数字钟顶层设计外部输入要求:输入信号有1kHz/1Hz时钟信号、低电平有效的秒/微秒清零信号CLR、低电平有效的调分信号SETmin、低电平有效的调时信号SEThour;外部输出要求:整点报时信号SOUND(59分51/3/5/7秒时未500Hz低频声,59分59秒时为1kHz高频声)、时十位显示信号h1(a,b,c,d,e,f,g)、时个位显示信号h0(a ,b,c,d,e,f,g)、分十位显示信号m1及分个位m0、秒十位s1及秒个位s0、微秒十位ms1及微秒个位ms0;数码管显示位选信号SEL0/1/2等三个信号。

2. 内部功能模块主要有:Fenp分频模块:主要是整点报时用的1kH与500Hz的脉冲信号,这里的输入信号是1KHz信号,所以只要一个二分频即可;时间基准采用1Hz输入信号直接提供(当然也可以分频取得,这里先用的是分频取得的信号,后考虑到精度问题而采用硬件频率信号。

CPLD数字钟实验报告

CPLD数字钟实验报告
关键字:CPLD、数字钟、动态扫描、三态门
二、 实验目的
学会使用 Quartus Ⅱ这款 EDA 常用设计软件。 掌握在 Quartus Ⅱ中电路图的作法、仿真方法和作图技巧。 掌握 CPLD 实验箱的使用和电路的加载运行方法。 掌握动态扫描原理
三、 实验内容
(1)74LS160 的原理与功能 74LS160 为异步清零计数器,即 RD 端输入低电平,不受 CP 控制,输出端立
inst5
由于低位片可以自动清零,而高位片在 6 时则需要清零。因为清零时 6 的存 在非常短暂,故高位片的清零信号无法作为进位输出。
因此若需要进位信号则可以利用 QD 在清零前的高电平经过非门产生一个 上升沿输出。
下面是 74ls160 构成六十进制的波形图。
个位到 9 清零。
十位到 5 清零。
十位清零后产 生进位脉冲。
引出端符号:
TC
进位输出端
CEP
计数控制端
Q0-Q3
输出端
CET
计数控制
CP
时钟输入端(上升沿有效)
/MR 异步清除输入端(低电平有效)
/PE
同步并行置入控制端(低电 平有效)
功能表:
说明: H-高电平 L-低电平 X-任意
(2)下面是用 74LSl60 构成的六十进制计数器和模块功能示意图:
VCC
2qb inst7
ins t 6
(4)时、分、秒模块连接。
DigitalClock60
1clk
ins t 6
1qa 1qb 1qc 1qd 2qa 2qb 2qc 2qd 3clk
DigitalClock60
1clk
ins t 2
1qa 1qb 1qc 1qd 2qa 2qb 2qc 2qd 3clk

基于cpld的多功能数字钟的设计

基于cpld的多功能数字钟的设计

第23卷 第3期2016年3月仪器仪表用户INSTRUMENTATIONEIC Vol.232016 No.3基于CPLD的多功能数字钟的设计车玮(西北师范大学 知行学院计算机与电子信息工程系,兰州 730070)摘 要:文中简述了一种基于CPLD的多功能数字钟的设计方案。

所有电路都固化在一片CPLD芯片中,电路结构简单、控制方便,资源利用率高,成本低,调试比较容易。

采用VHDL和原理图相结合的设计输入方式,在MAXPLUS II开发环境下完成设计、编译和仿真。

关键词:VHDL;可编程逻辑器件;MAXPLUS II中图分类号:TH 文献标识码:A 文章编号:1671-1041(2016)03-0016-04 Design of Multifuncton Digital Clock Based on CPLDChe Wei(Zhixing College, Northwest Normal University, Lanzhou, 730070, China)Abstract: This article briefly introuduces a design scheme of multifunctional digital clock based on CPLD. All circuits are cured in a CPLD chip. The circuit is simple in structure, easy to control, and has high resource utilization, low cost, which is easy to debug. The digital clock is designed,compiled as well as simulated under maxplus II development environment, applying the design input method of the scheme combining both VHDL and block diagram together.Key words: VHDL; CPLD; maxplus II0 前言复杂的可编程逻辑器件 (Complex Programmable Logic Divices,CPLD)是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

用CPLD制作的电子闹钟

用CPLD制作的电子闹钟

电子闹钟设计----可编程ASIC设计作业选题电工九班殷平51050918根据要求:请设计具有“对表”功能的、能够显示“时”“分(LED),能够设置闹钟时间并于到达时刻准时闹铃10秒的全功能电子闹钟。

时基由有源晶振产生,频率为1MHZ,外部输入本设计。

设计过程如下:一、单元模块设计如下:(1)可用于分、秒的模60计数器模块TITLE"C60A";SUBDESIGN c60a(clr,clk,en :INPUT;en1,q[6..0],c :OUTPUT;)V ARIABLEc1 :DFF;flip[6..0]:DFF;start[1..0]:DFF;reset:NODE;mlip[6..0]:NODE;nlip[6..0]:NODE;BEGINDEFAULTSen1=GND;END DEFAULTS;mlip[]=flip[]&b"0001111";nlip[]=flip[]&b"1110000";start[].clk=clk;start0.d=clr;start1.d=start0.q;reset=start0.q&!start1.q;flip[].clrn=!reset;c1.clrn=!reset;c1.clk=clk;flip[].clk=clk;q[]=flip[];c=c1.q;IF !reset THENflip[].d=0;END IF;IF !en THENflip[].d=GND;ELSEIF flip[]==H"59" THEN flip[].d=GND;c1.d=VCC; ELSEIF mlip[]==9 THENflip[].d=flip[].q+7;ELSEflip[].d=flip[].q+1;c1.d=GND;END IF;IF nlip[]==b"1010000"THENen1=VCC;END IF;END;(2)可用于计时的模24计数器TITLE "C24"; SUBDESIGN c24(clr,clk,en :INPUT;q[5..0],c :OUTPUT;)V ARIABLEflip[5..0] :DFF;start[1..0] :DFF;reset :NODE;mlip[5..0] :NODE;BEGINmlip[]=flip[]&b"001111";start[].clk=clk;start0.d=clr;start1.d=start0.q;reset=start0.q&!start1.q;flip[].clrn=!reset;flip[].clk=clk;q[]=flip[];IF !reset THENflip[].d=0;END IF;IF !en THENflip[].d=GND;ELSEIF flip[]==H"23"THENflip[].d=GND;ELSEIF mlip[]==9 THENflip[].d=flip[].q+7;ELSEflip[].d=flip[].q+1;END IF;IF flip[]==0 THENc=VCC;ELSEc=GND;END IF;END;(3)用于校时的模块模1000计数器title"c1000";subdesign c1000(clk :input;cao :output;)variableflip[9..0] :dff;beginflip[].clk=clk;if flip[]==h"3e7" thenflip[].d=gnd;elseflip[].d=flip[].q+1;end if;if flip[]==0 thencao=vcc;elsecao=gnd;end if;end;(4)整点报时模块模2计数器在MAX+plusⅡ的文本编辑器中输入如下语句并将文件保存为c2.title"c2";subdesign c2(clk :input;cao :output;)variablecao1 :dff;begincao1.clk=clk;cao=cao1.q;cao1.d=!cao1.q;end;(5)显示模块显示模块程序如下:title"mulx";subdesign mulx(clk :input;h[5..0],m[6..0],s[6..0] :input;a,b,c,d,e,f,g :output;seg[6..1] :output;)variableflip[2..0] :dff;led[6..0] :node;out[3..0] :node;hh[3..0],hl[3..0] :node;mh[3..0],ml[3..0] :node;sh[3..0],sl[3..0] :node;begina=led6;b=led5;c=led4;d=led3;e=led2;f=led1;g=led0; hh[3..2]=gnd;hh[1..0]=h[5..4];hl[]=h[3..0];mh3=gnd;mh[2..0]=m[6..4];ml[]=m[3..0];sh3=gnd;sh[2..0]=s[6..4];sl[]=s[3..0];flip[].clk=clk;if flip[]==5 thenflip[].d=gnd;elseflip[].d=flip[].q+1;end if;case flip[] iswhen h"0"=>out[]=sh[];seg[]=b"111110";when h"1"=>out[]=sl[];seg[]=b"111101";when h"2"=>out[]=mh[];seg[]=b"111011";when h"3"=>out[]=ml[];seg[]=b"110111";when h"4"=>out[]=hh[];seg[]=b"101111";when h"5"=>out[]=hl[];seg[]=b"011111";end case;tableout[3..0] => led[6..0];h"0" => b"1111110";h"1" => b"0110000";h"2" => b"1101101";h"3" => b"1111001";h"4" => b"0110011";h"5" => b"1011011";h"6" => b"1011111";h"7" => b"1110000";h"8" => b"1111111";h"9" => b"1111011";end table;end;三将模块组合成数字电路数字闹钟的原理图如下图所示,其中COUNT为计时模块,CONTROL为校时模块,RING为整点报时模块,MULX为显示模块。

CPLD控制数字时钟

CPLD控制数字时钟

宁波技师学院课程设计设计题目数字时钟专业班级07电气(六)1学生姓名姚珊珊学号35号学生姓名蒋佳娜学号16号指导教师刘军指导教师陈弢起止日期 2011 年9月3日到 2010 年10月9 日宁波技师学院电气技术系二零一一年九月目录1引言 (3)2总体设计方案 (4)2.1设计要求 (4)2.2设计目的 (4)2.3系统框图 (5)3硬件设计 (7)3.1 CPLD 的简介 (7)3.2电源部分 (8)3.3CPLD外部原理图 (9)4 CPLD内部原理图设计 (10)4.1CPLD内部原理总图 (15)4.2 CPLD写入 (16)5元件清单 (18)6 制作和调试 (19)6. 1制作步骤 (19)6. 2 调试步骤 (19)7结论 (20)8致谢 (21)9参考文献 (22)附录1 仿真图 (23)附录2 CPLD内部原理图 (24)附录3 PCB图 (25)附录4 实物图 (26)1引言有关钟表的发展过程,大致可以分为三个演变阶段,那就是:一、从大型钟向小型钟演变。

二、从小型钟向袋表过渡。

三、从袋表向腕表发展。

每一阶段的发展都是和当时的技术发明分不开的。

时钟的功能也是越来越多,从一开始的简单计时,到现在的定时,闹钟等等。

单片机被广泛运用在工业自动化控制、以其仪器仪表、数据采集、通讯及家用电器等领域。

单片机,以其与通用微机完全不同的发展模式,不断满足工业测控、恶劣环境下可靠运行的要求。

单片机已成为现代领域中不可缺少的重要角色。

单片机发展速度十分迅速,速度更快、功能更强的16位、32位单片机已陆续问世,但8位机,特别是新一代高档8位机具有优异的性能,已能满足大部分单片机应用领域的需要,另外,它还具有可靠性、外围芯片配套、系统构成简单、应用软件丰富、技术成熟、开发运用方便等优点,单片机运用中仍有一定的市场。

在这次的课程设计中我们用51单片机设计了一个数字时钟,其包括计时和校正。

我们通过共阴德数码管来显示,时,分,秒。

cpld多功能,数字钟时钟,电赛,电子大赛,电子设计,报告书

cpld多功能,数字钟时钟,电赛,电子大赛,电子设计,报告书

作品名称:多功能数字时钟申报者信息:作品类别:第四类电子测量装置类目录一、引言二、方案设计三、总体设计四、单元电路(或软件模块)设计五、单元电路测试六、整体测试七、结论八、附录九、参考文献一.引言本产品为多功能数字钟,其主要功能为显示时间与温度,通过开关手动切换,数字显示镶嵌在废旧木板上,突出环保与废物利用的特点,与构建节约型社会相符合。

二.方案设计1.方案选择为实现本题目要求可以采用如下几种方案:一、数字钟可选方案:(1)运用单片机进行数字钟设计,采用EMP240T100C5进行编程设计。

(2)运用单片机作为中央处理器,STC89C52RC进行编程控制。

二、温度测量电路可选方案:(1)采用集A/D转换、译码与驱动于一身的多功能芯片7106,利用它来进行A/D转换、译码驱动一个3位半的液晶显示器,用以显示当前温度值。

模拟信号经电阻R12由30、31管脚输入,由芯片内部的双斜积分电路进行A/D转换,0~199.9mV的电压可得到1~1999的数字,再经译码电路输出3位半的7段译码信号,并驱动3位半液晶显示器显示当前温度值。

1(2)利用MSP430来测量电阻,就可以通过斜率技术而不使用A/D转换电路,处理起来简单易行。

对于这种技术,可以使用MSP430系列芯片上的比较器和时钟来完成斜率的A/D转换。

本系统的具体温度测量是应用电容充放电把被测电阻值转换成时间,再利用MSP430内部的捕获比较寄存器准确捕捉时间,从而测量出热敏电阻的阻值,以间接获得温度值。

(3)利用AD590随温度变化产生不同输出电压特性进行测试温度值/℃AD590电流/μA 经10kΩ电压V/V 放大器输出V0/V0 237.2 2.732 010 283.2 2.832 0.49 20 293.2 2.932 0.98 30 303.2 3.032 1.47 40 313.2 3.132 1.96 50 323.2 3.232 2.45 60 333.2 3.332 2.94 70 343.2 3.432 3.43 80 353.2 3.532 3.92 90 363.2 3.632 4.41 100 373.2 3.732 4.902附图:各温度与电流电压参考关系表图8:温度对电压影响曲线(4)利用单片机STC89C52RC为处理器,通过DS18B20处理温度信号为电信号,从而测出温度值。

CPLD技术设计数字时钟 电子报告 精品

CPLD技术设计数字时钟 电子报告 精品

设计题目:数字电路1总体设计方案1.1 设计目的1. 熟悉并且了解集成电路的引脚安排。

2. 掌握每一块芯片的逻辑功能及使用方法。

4. 了解数字钟的组成及工作原理和分析方法。

5. 熟悉分·时·秒数字时钟的设计绘图与线路板的制作1.2设计指标数字时钟的时间以24小时为一个周期;或者以24进制和60进制的方法经过译码驱动部分来显示时、分、秒;用蜂鸣器来整点报时,而达到数字时钟的效果。

1.3设计要求2.1画出数字时钟电路原理图或画出仿真的电路图。

2.2电路元器件和各元件的参数选择。

2.3 用protus7.4仿真软件进行电路仿真以及调试。

2.4 protel的原理图绘画和pcb板的绘制生成。

3 制作要求自行装接和调试,焊点焊的饱满,尽量不要虚焊,遇到问题,不害怕,不紧张将其按老师的要求制作出来。

4制作设计报告写出设计与制作的全过程,附上相关资料,图纸和心得体会。

二电路设计2.1 计数器电路个位和十位计数器及时个位和时间计数电路由秒个位和秒十位计数器、分个时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器。

2.2 译码驱动电路译码驱动电路将计数器输出的BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。

2.3数码管数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,我这次设计所用到的是最常见的7段LED数码管。

这种数码管是利用八个发光二极管,按一定顺序连接制作成的数字、字符显示元器件。

在使用时,只需在数码管的各个引脚上送入合适的高低电平,从而达到显示0~9一系列不同的数字。

LED数码管内部集结了八个条状发光二极管排列成“日”字图案,它有共阳极和共阴极之分,当8个发光二极管的负极接在一起时称之为共阴极数码管,正极接在一起时称之为共阳数码管,对于共阴极数码管,把阴极接低电平,其余8个输入端接高电平,数码管发光;对于共阳极数码管,将阳极接高电平,其余8个输入端接低电平,数码管发光。

CPLD控制数字时钟

CPLD控制数字时钟

宁波技师学院课程设计设计题目数字时钟专业班级07电气(六)1学生姓名姚珊珊学号35号学生姓名蒋佳娜学号16号指导教师刘军指导教师陈弢起止日期 2011 年9月3日到 2010 年10月9 日宁波技师学院电气技术系二零一一年九月目录1引言 (3)2总体设计方案 (4)2.1设计要求 (4)2.2设计目的 (4)2.3系统框图 (5)3硬件设计 (7)3.1 CPLD 的简介 (7)3.2电源部分 (8)3.3CPLD外部原理图 (9)4 CPLD内部原理图设计 (10)4.1CPLD内部原理总图 (15)4.2 CPLD写入 (16)5元件清单 (18)6 制作和调试 (19)6. 1制作步骤 (19)6. 2 调试步骤 (19)7结论 (20)8致谢 (21)9参考文献 (22)附录1 仿真图 (23)附录2 CPLD内部原理图 (24)附录3 PCB图 (25)附录4 实物图 (26)1引言有关钟表的发展过程,大致可以分为三个演变阶段,那就是:一、从大型钟向小型钟演变。

二、从小型钟向袋表过渡。

三、从袋表向腕表发展。

每一阶段的发展都是和当时的技术发明分不开的。

时钟的功能也是越来越多,从一开始的简单计时,到现在的定时,闹钟等等。

单片机被广泛运用在工业自动化控制、以其仪器仪表、数据采集、通讯及家用电器等领域。

单片机,以其与通用微机完全不同的发展模式,不断满足工业测控、恶劣环境下可靠运行的要求。

单片机已成为现代领域中不可缺少的重要角色。

单片机发展速度十分迅速,速度更快、功能更强的16位、32位单片机已陆续问世,但8位机,特别是新一代高档8位机具有优异的性能,已能满足大部分单片机应用领域的需要,另外,它还具有可靠性、外围芯片配套、系统构成简单、应用软件丰富、技术成熟、开发运用方便等优点,单片机运用中仍有一定的市场。

在这次的课程设计中我们用51单片机设计了一个数字时钟,其包括计时和校正。

我们通过共阴德数码管来显示,时,分,秒。

数字电子钟-cpld

数字电子钟-cpld

数字电子钟采用北京理工达盛EDA-IV实验箱的CPLD和动态扫描显示器,通过VHDL语言编程实现数字电子钟。

数字电子组成框图:sel0动态扫描LED数码管显示器sel1sel2a,b,c,d,e,f,g,dp段码输出秒信号扫描码输出1HzCPLD扫描信号2KHz采用CPLD实现数字钟的时、分、秒准确计数,完成数字的动态扫描显示。

一、4位BCD码译成七段码4位BCD码输入,8位段码输出。

框图如下:程序如下:bcd_7seg.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bcd_7seg isport(bcdin:in std_logic_vector(3 downto 0); --bcd码输入led_7seg:out std_logic_vector(7 downto 0));end;architecture zhao1 of bcd_7seg isbeginprocess(bcdin)begincase bcdin iswhen "0000" => led_7seg <=""; --"0"when "0001" => led_7seg <=""; --"1"when "0010" => led_7seg <=""; --"2"when "0011" => led_7seg <=""; --"3"when "0100" => led_7seg <=""; --"4"when "0101" => led_7seg <=""; --"5"when "0110" => led_7seg <=""; --"6"when "0111" => led_7seg <=""; --"7"when "1000" => led_7seg <=""; --"8"when "1001" => led_7seg <=""; --"9"when "1010" => led_7seg <=""; --"-"when others => led_7seg <=""; --" "end case;end process;end;二、8选一(4位)多路数据选择器通过3位二进制输入,从8组数据中选择其中一组输出,其框图如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux4x8 isport(bin_in:in std_logic_vector(2 downto 0); --扫描码输入bcd0_in:in std_logic_vector(3 downto 0); --bcd0码输入bcd1_in:in std_logic_vector(3 downto 0); --bcd1码输入bcd2_in:in std_logic_vector(3 downto 0); --bcd2码输入bcd3_in:in std_logic_vector(3 downto 0); --bcd3码输入bcd4_in:in std_logic_vector(3 downto 0); --bcd4码输入bcd5_in:in std_logic_vector(3 downto 0); --bcd5码输入bcd6_in:in std_logic_vector(3 downto 0); --bcd6码输入bcd7_in:in std_logic_vector(3 downto 0); --bcd7码输入bcd_out:out std_logic_vector(3 downto 0)); --bcd 码输出end;architecture zhao of mux4x8 isbeginprocess(bin_in)begincase bin_in iswhen "000" => bcd_out <= bcd0_in; --"0"when "001" => bcd_out <= bcd1_in; --"1"when "010" => bcd_out <= bcd2_in; --"2"when "011" => bcd_out <= bcd3_in; --"3"when "100" => bcd_out <= bcd4_in; --"4"when "101" => bcd_out <= bcd5_in; --"5"when "110" => bcd_out <= bcd6_in; --"6"when "111" => bcd_out <= bcd7_in; --"7"when others => null;end case;end process;end;三、8进制加法计数器控制显示器动态输出3位二进制扫描编码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

技师核心技术专题研修设计说明书课题名称 CPLD数字钟专业班级 07技师1学生姓名林朝威学号39号指导教师陈建羊毛宏光宁波技师学院电气技术系二零一二年三月摘要CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL 器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。

是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆将代码传送到目标芯片中,实现设计的数字系统. 本设计是基于CPLD的多功能数字钟设计。

硬件界面为两个4位一体的数码管,时间显示方式为动态扫描显示。

由三极管做驱动电路。

关键词:CPLD;多功能数字钟;数字集成电路;目录1 引言 (1)2 总体设计 (2)3 硬件设计 (3)3.1 微处理器系统 (3)3.2 键盘控制 (3)3.3 显示模块 (4)3.4 闹铃功能 (5)4 软件设计 (6)4.1 总体程序流程图 (7)4.2 分频模块 (8)4.2.1 5分频源程序 (8)4.2.3 100分频源程序 (10)4.3分秒时模块 (12)4.3.1 24进制源程序 (12)4.3.2 60进制源程序 (14)4.4显示模块 (16)4.4.1段位显示源程序 (16)4.4.2位选源程序 (17)4.5 报时模块 (19)5 结论 (22)致谢 (23)参考文献 (24)1引言我们已经进入了数字化和信息化的时代,其特点是各种数字产品的广泛应用。

现代数字产品在性能提高、复杂度增大的同时,其更新换代的步伐也越来越快,实现这种进步的因素在于生产制造技术和电子设计技术的进步。

PLD器件和EDA技术的出现,改变了这种传统的设计思路,使人们可以立足于PLD芯片来实现各种不同的功能,新的设计方法能够由设计者自己定义器件内部逻辑和管脚,将原来由电路板设计完成的工作大部分放在芯片的设计中进行。

这样不仅可以通过芯片设计实现各种逻辑功能,而且由于管脚定义的灵活性,减轻了原理图和印制板设计的工作量和难度,增加了设计的自由度,提高了效率。

同时这种设计减少了所需芯片的种类和数量,缩小了体积,降低了功耗,提高了系统的稳定性。

本课题是以PLD芯片为主体,由三极管做驱动电路,两个四位一体数码管做显示的简单数字钟。

1、以数字形式显示时、分、秒的时间;2、要求手动校时、校分3、整点报时,高频响;4、时与分显示之间的横杠常亮;6、各单元模块设计即可采用原理图方式也可以用Quartus II程序进行设计。

本系统硬件主要有三大模块组成:微处理器系统、显示模块、按键控制3.1微处理器系统本系统的微处理器采用CPLD芯片 ,其编写简单,操作方便。

使用性高3.2键盘控制其中S1为调节分,S2为调节时。

3.3显示模块由2个四位一体数码管做为显示,由多个PNP三极管做为驱动电路,防止电流过大损坏芯片。

在显示处管脚加有限流电阻。

3.4闹铃功能三极管做电路驱动,借CPLD芯片电源来使喇叭在规定时间内响起。

4软件设计CPLD软件系统主要包括分频模块,秒分时模块,制数位选模块,显示模块。

内部各功能模块:FREQ分频模块:整点报时用的1kH与500Hz的脉冲信号,这里的输入信号是1KHz信号,所以只要一个二分频即可;时间基准采用1Hz输入信号直接提供(当然也可以分频取得,这里先用的是分频取得的信号,后考虑到精度问题而采用硬件频率信号。

秒计数模块:60进制,带有进位和清零功能的,输入为1Hz脉冲和低电平有效的清零信号CLR,输出秒个位、时位及进位信号CO。

分计数模块:60进制,带有进位和置数功能的,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位及进位信号CO。

时计数模块:24进制,输入为1Hz脉冲和高电平有效的使能信号EN,输出分个位、时位。

扫描模块:输入为秒(含个/十位)、分、时、扫描时钟CLK1K,输出为D和显示控制信号SEL。

整点报时功能模块:输入为分/秒信号,输出为高频声控4.1总体程序流程图4.24.2 分频模块分频模块,给予电路所需要的频率4.2.1 5分频源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fenpin5 isport(clk:in std_logic;rst:in std_logic;co:out std_logic);end fenpin5;architecture behave of fenpin5 issignal tem2:std_logic_vector(3 downto 0);beginprocess(clk,rst)begintem2<="0000";elsif clk'event and clk='1'thenif tem2="0100"thentem2<="0000";co<='1';elsetem2<=tem2+1;co<='0';end if;end if;end process;end behave;4.2.2 10分频源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fenpin10 isport(clk:in std_logic;rst:in std_logic;co: out std_logic);end fenpin10;architecture behave of fenpin10 issignal tem2:std_logic_vector(3 downto 0); beginprocess(clk,rst)begintem2<="0000";elsif clk'event and clk='1' then if tem2="1001"thentem2<="0000";co<='1';elsetem2<=tem2+1;co<='0';end if;end if;end process;end behave;4.2.3 100分频源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fenpin100 isport(clk:in std_logic;rst:in std_logic;co: out std_logic);end fenpin100;architecture behave of fenpin100 issignal tem1:std_logic_vector(3 downto 0); signal tem2:std_logic_vector(3 downto 0);beginprocess(clk,rst)beginif(rst='0')thentem1<="0000";tem2<="0000";elsif clk'event and clk='1' then if tem1="1001"thentem1<="0000";if tem2="1001"thentem2<="0000";co<='1';elsetem2<=tem2+1;co<='0';end if;elsetem1<=tem1+1;end if;end if;end process;end behave;4.3分秒时模块用24进制,60进制来做时钟的显示进位。

4.3.1 24进制源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fen24 isport(clk:in std_logic;rst:in std_logic;qout1: out std_logic_vector(3 downto 0);qout2: out std_logic_vector(3 downto 0);co:out std_logic);end fen24;architecture behave of fen24 issignal tem1:std_logic_vector(3 downto 0); signal tem2:std_logic_vector(3 downto 0); beginprocess(clk,rst)beginif(rst='1')thentem1<="0000";tem2<="0000";elsif clk'event and clk='1' thenif (tem2="0010"and tem1="0011")thentem1<="0000";tem2<="0000";co<='1';elseco<='0';if tem1="1001"thentem1<="0000";if tem2="1001"thentem2<="0000";elsetem2<=tem2+1;end if;elsetem1<=tem1+1;end if;end if;end if;qout1<=tem1;qout2<=tem2;end process;end behave;4.3.2 60进制源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity fen60 isport(clk:in std_logic;rst:in std_logic;qout1: out std_logic_vector(3 downto 0); qout2: out std_logic_vector(3 downto 0); co:out std_logic);end fen60;architecture behave of fen60 issignal tem1:std_logic_vector(3 downto 0); signal tem2:std_logic_vector(3 downto 0); beginprocess(clk,rst)beginif(rst='1')thentem1<="0000";tem2<="0000";elsif clk'event and clk='1' thenif tem1="1001"thentem1<="0000";if tem2="0101"thentem2<="0000";co<='1';elsetem2<=tem2+1;co<='0';end if;elsetem1<=tem1+1;end if;end if;qout1<=tem1;qout2<=tem2;end process;end behave;4.4显示模块由位选模块和段位显示模块组成。

相关文档
最新文档