EDA课程设计-万年历电子钟的设计
单片机万年历电子钟设计报告含电路图和源程序

万年历设计报告学院:武夷学院班级:09电信1班组员:林巧文一、设计要求与方案论证21.1 设计要求:21.1.1根本要求21.1.2发挥局部21.2 系统根本方案选择和论证21.2.1单片机芯片的选择方案和论证:21.2.2 显示模块选择方案和论证:21.2.3时钟芯片的选择方案和论证:31.3 电路设计最终方案决定3二、理论分析与计算32.1,秒数的产生由定时器T0产生:3三.系统的硬件设计与实现43.1 电路设计框图:43.2 系统硬件概述:43.3 主要单元电路的设计53.3.1单片机主控制模块的设计53.3.2显示模块的设计53.3.3闹钟模块的设计73.3.4电源稳压模块7四、系统的软件设计74.1程序流程框图74.2闹钟模块流程图:74.3按键调整模块流程图:7五、测试方案与测试结果分析75.1 测试仪器 (7)5.2软件测试平台 Keil C5185.3 模块测试85.3.1显示模块测试85.4测试结果分析与结论85.4.1测试结果分析85.4.2 测试结论 (8)六、作品总结9参考文献9附录一:系统电路图9附录三:系统C程序10一、设计要求与方案论证1.1 设计要求:根本要求〔1〕准确显示:时、分、秒〔24小时制〕〔2〕显示星期〔3〕显示公历〔4〕时间、日期、星期可调节〔5〕断电记忆功能发挥局部〔1〕闹钟功能〔2〕显示阴历〔3〕显示24节气〔4〕其他1.2 系统根本方案选择和论证单片机芯片的选择方案和论证:方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进展调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的屡次拔插会对芯片造成一定的损坏。
方案二:采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进展调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片屡次拔插,所以不会对芯片造成损坏。
《EDA技术及可编程器件应用实训》课程设计报告-基于CPLD技术的数字万年历设计模板

《EDA技术及可编程器件应用实训》课程设计报告院系机械电子工程系姓名专业班级07通信技术一班学号指导老师日期:2009年 6 月10 日《EDA技术及可编程器件应用实训》课程设计报告一、设计内容:课程设计题目:基于CPLD技术的数字万年历设计。
课题设计的万年历具有年、月、日、时、分、秒计数功能,以秒、分、时、日、月、年进制循环计时;具有清零、调时功能、报时功能。
二、设计意义通过理论学习和实践动手操作,可以掌握小型数字系统的设计方法。
理论学习中了解到大规模可编程逻辑器件CPLD/FPGA的内部结构和外部特性;了解到EDA设计的方法;掌握硬件描述语言VHDL程序方法和思路;学会使用Quartus II开发平台。
通过具体的数字百年历的项目设计,可深切地领会到EDA硬件设计软件化的特点;掌握六十进制、二十四进制、十二进制、及通过语言VHDL程序来控制三十、三十一、二十八、二十九进制的选择、五选一、二选一,从而实现计数器的设计方法;同时掌握CPLD技术的层次化结构化设计方法;并能熟练使用Quartus II开发小中型数字系统,解决调试过程中所遇到的一些问题。
三、设计方法常见数字百年历具有计时和显示、报时功能。
电路设计中包括分频模块,用于将外部晶振产生的一定周期的时钟信号计数产生1s时钟信号;60进制的秒、分计数模块;24进制的时计数模块;12进制的月计数模块;通过语言选择的闰年平年天数选择模块;5选一的调时控制模块;2选一模式转换模块;另有显示模块和整点报时信号端口。
1、同步计时六十进制加法器的程序如下。
其中,cout为输出端口信号,clk为分频模块产生的秒计时信号(时钟信号),q1和q2为秒计数中十进制数所对应的高位和低位信号。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport(clk:in std_logic;cout:out std_logic;q1,q2:out std_logic_vector(3 downto 0));architecture behav of cnt60 isbeginvariable cq1,cq2:std_logic_vector(3 downto 0);beginif clk'event and clk='1' thencq1:=cq1+1;if cq1>9 then cq1:="0000";cq2:=cq2+1;end if;if cq2=6 and cq1=0 thencq1:="0000";cq2:="0000";cout<='1';else cout<='0';end if;q1<=cq1;q2<=cq2;end process;end;所写程序经过仿真的如上图所示。
EDA电子钟课程设计报告

电子设计自动化EDA课程设计题目:电子钟设计学院专业班级指导老师学号姓名日期目录一、设计要求 (2)二、设计目的 (2)三、系统功能概述 (2)四、系统组成以及系统各部分的设计 (3)1.分秒计数模块CNT_S (3)2.时计数模块CNT_H (4)3按键消抖动模块 (5)4.分频模块FENPING (6)5.定点报时模块 (7)6.顶层模块 (9)五、下载到实验箱以后工作情况 (13)六、课程设计心得体会 (13)七、参考文献 (14)一、设计要求设计一个电子钟,要求可以显示时、分、秒,用户可以设置时间,可以实现整点报时功能。
系统顶层框图:二、实验目的1. 掌握多位计数器相连的设计方法。
2. 掌握二十四进制,六十进制计数器的设计方法。
3. 掌握CPLD技术的层次化设计方法。
4. 了解软件的元件管理含义以及模块元件之间的连接概念。
5. 掌握电子电路一般的设计方法,并了解电子产品的研制开发过程,基本掌握电子电路安装和调试的方法。
6. 培养独立分析问题,解决问题的能力三、系统功能概述1.已完成功能1.完成时/分/秒的依次显示并正确计数,利用六位数码管显示;2.时/分/秒各段个位满10正确进位,秒/分能做到满60向前进位,有系统时间清零功能;3.定时器:实现整点报时,通过扬声器发出报时声音;4.时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进行调整;2.待改进功能:1. 调整数码管的亮度功能未实现。
2. 应添加秒表功能。
四、系统组成以及系统各部分的设计1.分秒计数模块CNT_SVHDL的RTL描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT_S ISPORT(CLK,CLR:IN STD_LOGIC;OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);C:OUT STD_LOGIC);END CNT_S;ARCHITECTURE ONE OF CNT_S ISSIGNAL S_H:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR)BEGINIF CLK 'EVENT AND CLK='1' THENIF S_L(3 DOWNTO 0)<"1001" THENS_L(3 DOWNTO 0)<=S_L(3 DOWNTO 0)+1;C<='0';ELSIF S_H(3 DOWNTO 0)<"0101" THENS_L(3 DOWNTO 0)<="0000";S_H(3 DOWNTO 0)<=S_H(3 DOWNTO 0)+1;ELSES_L(3 DOWNTO 0)<="0000";S_H(3 DOWNTO 0)<="0000";C<='1';END IF;END IF;IF CLR='1' THENS_L(3 DOWNTO 0)<="0000";S_H(3 DOWNTO 0)<="0000";END IF;OUT_H<=S_H;OUT_L<=S_L;END PROCESS;END ONE;分和秒计数器模块仿真波形如下从仿真波形可知,当计数到59时,下一个时钟上升沿到来时就清零了,并且产生进位信号,符合设计要求。
电子钟eda课程设计

电子钟eda课程设计一、课程目标知识目标:1. 学生理解电子钟的基本工作原理,掌握EDA工具的使用方法;2. 学生掌握数字电路设计的基本流程,能运用Verilog HDL语言进行简单电子时钟的设计;3. 学生了解电子时钟各模块的功能,如分频器、计数器、显示驱动等。
技能目标:1. 学生能运用EDA工具进行电子时钟的原理图绘制、仿真和布局布线;2. 学生通过实际操作,提高动手能力,培养解决问题的能力;3. 学生能够进行小组合作,进行项目分工与协作,培养团队协作能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,形成积极的学习态度;2. 学生通过课程学习,认识到科技对社会发展的作用,培养创新精神和责任感;3. 学生在课程实践中,学会尊重事实,严谨求实,树立正确的价值观。
课程性质:本课程为实践性较强的电子技术课程,结合学生特点和教学要求,注重理论与实践相结合,培养学生实际操作能力和团队协作能力。
学生特点:学生具有一定的电子技术基础和编程能力,对实际操作有较高的兴趣,喜欢探索新知识。
教学要求:课程要求学生在掌握基本理论知识的基础上,注重实践操作,通过项目实践提高综合运用所学知识解决实际问题的能力。
教师需引导学生主动参与,鼓励学生提问和思考,以实现课程目标。
二、教学内容1. 电子钟原理概述:讲解电子钟的基本工作原理,包括晶振振荡器、分频器、计数器、显示驱动等模块的功能和相互关系。
教材章节:第一章 电子时钟概述2. EDA工具使用:介绍EDA工具的基本操作,如原理图绘制、仿真、PCB布局布线等。
教材章节:第二章 EDA工具使用3. Verilog HDL语言基础:讲解Verilog HDL的基本语法和编程方法,为后续电子时钟设计奠定基础。
教材章节:第三章 Verilog HDL语言基础4. 电子时钟设计与实现:引导学生运用所学知识,进行电子时钟的原理图设计、仿真、编程、调试等。
教材章节:第四章 电子时钟设计与实现5. 课程实践:组织学生进行小组项目实践,分工合作完成电子时钟的设计与制作。
EDA课程设计报告电子钟

EDA课程设计报告电子钟EDA课程设计报告——数字钟设计班级:学号:姓名:一、设计任务设计一台能显示时、分、秒的数字钟。
具体要求如下:(1)由实验箱上的时钟信号经分频产生秒脉冲;(2)计时计数器用24进制计时电路;(3)可手动校时, 能分别进行时、分的校正;(4)整点报时;选做: 可设置闹时功能, 当计时计到预定时间时, 扬声器发出闹铃信号, 闹铃时间为4s, 并可提前终止闹铃。
二、试验目的(1)掌握时十进制、六进制和二十四进制计数器的设计方法。
(2)掌握多位计数器相连的设计方法。
(3)掌握多位共阴极扫描显示数码管的驱动及编码。
三、总体设计方案本数字系统实现数字钟的基本的计时功能, 输入8Hz的时钟, 经过分频产生1Hz的时钟信号, 采用24/12小时制计时, 能显示时、分、秒。
本系统还具有校正功能, 能够进行时分的校时, 当计时器运行到59分59秒开始报时, 另外还能够设定闹钟, 当按下闹铃开关时, 可在规定时间闹铃, 当开关复位时, 闹铃停止。
本数字钟实际上是一个对频率(1Hz)进行计数的计数电路。
由于计数的起始时间不可能与标准时间一致, 故需要在电路上加一个校时电路, 同时分频后的1Hz时间信号必须做到准确稳定。
一般使用石英晶体振荡器电路构成数字钟。
数字钟的基本组成本数字钟的实现可分为以下几个模块:(1) 秒计数模块: 秒计数, 在频率为1Hz的时钟下以60次为循环计数, 并产生进位信号影响分计数;(2) 分计数模块: 分计数, 在秒进位信号为高电平时, 计数一次, 同样以60次为一个循环计数, 同时产生分进位信号影响时计数;(3) 时计数模块: 时计数, 在分进位信号为高电平时, 计数一次, 以24/12次为一个循环计数;(4) 频率产生模块: 产生8Hz的计数频率, 经过分频得到1Hz 频率;(5) 时间显示模块: 数码管经过动态显示, 同时进行一定频率的扫描显示时, 分, 秒。
(6) 时间设置模块: 设置调试使能端, 能够调时, 分, 秒。
eda数字电子钟课程设计

eda数字电子钟课程设计一、课程目标知识目标:1. 让学生理解数字电子时钟的基本原理,掌握EDA技术及其在数字电子时钟中的应用。
2. 使学生掌握数字电子时钟的设计流程,包括硬件设计、软件编程及系统调试。
3. 让学生掌握时钟信号的产生、计数、显示等模块的工作原理和电路设计。
技能目标:1. 培养学生运用EDA工具(如Protel、Multisim等)进行电路设计与仿真测试的能力。
2. 培养学生具备编程和调试数字电子时钟程序的基本技能,提高实际动手操作能力。
3. 培养学生团队协作、沟通表达、问题分析和解决的能力。
情感态度价值观目标:1. 培养学生对电子工程学科的兴趣,激发学生学习热情,形成积极的学习态度。
2. 培养学生具有创新意识和实践精神,鼓励学生勇于尝试,不断优化设计方案。
3. 培养学生关注社会发展,了解电子产品在生活中的应用,提高社会责任感和使命感。
分析课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立完成数字电子时钟的电路设计和程序编写。
2. 学生能够运用EDA工具进行电路仿真测试,分析并解决设计中出现的问题。
3. 学生能够以团队形式进行项目汇报,展示设计成果,接受提问并给予解答。
4. 学生通过课程学习,提升对电子工程的兴趣,树立正确的价值观和人生观。
二、教学内容根据课程目标,本章节教学内容主要包括以下三个方面:1. 数字电子时钟原理及EDA技术概述- 时钟信号的产生与计数原理- 数字电子时钟的组成与工作原理- EDA技术简介及其在数字电子时钟设计中的应用2. 数字电子时钟设计与实现- 硬件设计:时钟信号电路、计数器电路、显示电路等- 软件编程:基于单片机的程序编写,实现时钟功能- 系统调试:电路测试、程序调试及优化3. 教学实践与项目汇报- 实践操作:运用EDA工具进行电路设计与仿真测试- 项目实施:分组进行数字电子时钟设计,培养学生的团队协作能力- 项目汇报:展示设计成果,锻炼学生的沟通表达和问题分析解决能力教学内容安排和进度如下:1. 第一周:数字电子时钟原理及EDA技术概述2. 第二周:硬件设计与软件编程基础3. 第三周:系统调试与优化4. 第四周:实践操作与项目实施5. 第五周:项目汇报与评价教学内容与教材章节关联如下:1. 《电子技术基础》第三章:数字电路基础2. 《单片机原理与应用》第四章:单片机程序设计3. 《EDA技术及应用》第二章:EDA工具使用与电路设计实例三、教学方法针对本章节内容,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:用于对基本原理和概念进行系统讲解,如数字电子时钟的工作原理、EDA技术概述等。
EDA课程设计报告电子钟

EDA课程设计报告电子钟1. 需求分析在日常生活中,我们无处不被时间所包围。
精准的时间尤为重要,电子钟因其准确、便携、易于控制等优点成为人们生活和工作必不可少的工具之一。
因此,基于此需求,我们设计了一款电子钟。
2. 系统设计电子钟的核心是时钟的计算,时钟的计算和显示涉及到时、分、秒、时间的设定和计算。
所以,系统的设计需要分为两个方面:硬件系统设计和软件系统设计。
2.1. 硬件系统设计硬件系统设计主要涉及到5V电源模块、单片机模块、RTC模块、时钟显示模块等。
2.1.1. 5V电源模块5V电源模块是提供设备运行所需电能的模块。
整个设备需要5V DC直流电源来工作,电源模块需要接上220V/110V AC电源。
此模块采用LM7805电压稳压芯片作为主要元件,保证设备稳定长时间的工作。
2.1.2. 单片机模块单片机模块是整个电子钟系统的核心,它负责计算时间并通过串口发送指令。
在本次设计中,晶振的时钟频率选用12MHz。
单片机选用STM32F103C8T6型号,这是一款高性能、低功耗、易于扩展的MCU芯片。
该模块可用于控制LED灯的开关、按键扫描等。
2.1.3. RTC模块RTC模块是实时时钟模块,其内部集成电池,即使在断电的情况下,时钟系统也能保持不变。
本设计采用DS3231型号RTC芯片,该模块闹钟功能精准,精度高,抗干扰能力好等特点。
该模块可以通过I2C接口进行通讯。
2.1.4. 时钟显示模块时钟显示模块用于显示时、分、秒的时间信息。
本设计采用Max7219驱动LED点阵进行显示。
该驱动芯片模块具有图形引擎,能够支持八个数字性显示的点阵。
同时,该芯片还具有串行接口,能够方便地和单片机连接通讯。
2.2. 软件系统设计在本次设计中,软件系统主要由驱动程序、串口通讯程序、定时器程序、闹钟程序、检测程序、显示程序等模块组成。
2.2.1. 驱动程序驱动程序主要有RTC模块的驱动程序、LED点阵模块的驱动程序和按键模块的驱动程序。
EDA课程设计-万年历电子钟的设计

EDA课程设计-万年历电子钟的设计————————————————————————————————作者:————————————————————————————————日期:课程设计(论文)任务书信息工程学院学院通信工程专业2009.2 班一、课程设计(论文)题目电子钟设计二、课程设计(论文)工作自2012年1月 3日起至 2012 年 1月 6 日止。
三、课程设计(论文) 地点: 华东交通大学4-410,图书馆四、课程设计(论文)内容要求:1.本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程;(2)掌握自顶向下的设计思想;(3)掌握实用电子钟的设计原理;(4)掌握系统设计的分析方法;(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)用HDL设计一个多功能数字钟,包含以下主要功能:精确计时,时间可以24小时制或12小时制显示;(2)日历:显示年月日星期;(3)能把设计文件进行仿真并下载到实验箱实现功能验证。
2)创新要求:在基本要求达到后,可进行创新设计,如增加报时等、秒表功能模块。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成系统分析:20分;(2)完成设计过程:20分;(3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。
5)参考文献:(1)潘松,黄继业编著 .《EDA技术实用教程》,2005 ,科学出版社(2)徐志军,徐光辉编著.《CPLD/FPGA的开发与应用》,电子工业出版社,2001.1(3)/html/85/t-113885.html6)课程设计进度安排内容天数地点构思及收集资料1图书馆设计与调试3实验室撰写论文1图书馆、实验室学生签名:年月日课程设计(论文)评审意见(1)设计程序(40分):优()、良()、中()、一般()、差();(2)仿真结果(10分):优()、良()、中()、一般()、差();(3)下载结果(10分):优()、良()、中()、一般()、差();(4)回答问题(10分):优()、良()、中()、一般()、差();(5)报告成绩(30分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人:职称:年月日电子钟的设计摘要基于FPGA的电子钟设计,主要完成的任务是使用Verilog语音,在Quartise2上完成电路的设计,程序的开发,基本功能是能够显示、修改年月日时分秒。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(论文)任务书信息工程学院学院通信工程专业2009.2 班一、课程设计(论文)题目电子钟设计二、课程设计(论文)工作自2012年1月 3日起至 2012 年 1月6日止。
三、课程设计(论文)地点: 华东交通大学4-410,图书馆四、课程设计(论文)内容要求:1.本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程;(2)掌握自顶向下的设计思想;(3)掌握实用电子钟的设计原理;(4)掌握系统设计的分析方法;(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)用HDL设计一个多功能数字钟,包含以下主要功能:精确计时,时间可以24小时制或12小时制显示;(2)日历:显示年月日星期;(3)能把设计文件进行仿真并下载到实验箱实现功能验证。
2)创新要求:在基本要求达到后,可进行创新设计,如增加报时等、秒表功能模块。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成系统分析:20分;(2)完成设计过程:20分;(3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。
5)参考文献:(1)潘松,黄继业编著.《EDA技术实用教程》,2005,科学出版社(2)徐志军,徐光辉编著.《CPLD/FPGA的开发与应用》,电子工业出版社,2001.1(3)6)课程设计进度安排内容天数地点构思及收集资料 1 图书馆设计与调试3实验室撰写论文 1 图书馆、实验室学生签名:年月日课程设计(论文)评审意见(1)设计程序(40分):优()、良()、中()、一般()、差( );(2)仿真结果(10分):优( )、良()、中()、一般()、差();(3)下载结果(10分):优()、良()、中( )、一般( )、差( );(4)回答问题(10分):优( )、良()、中()、一般()、差();(5)报告成绩(30分):优()、良()、中( )、一般( )、差( );(6)格式规范性及考勤是否降等级:是()、否()评阅人:职称:年月日电子钟的设计ﻩﻩﻩﻩﻩ摘要基于FPGA的电子钟设计,主要完成的任务是使用Verilog语音,在Quartise2上完成电路的设计,程序的开发,基本功能是能够显示、修改年月日时分秒。
电路的设计模块分为几个模块:分频、控制、时间显示调整、时分、年月日、译码器。
各个模块完成不同的任务,合在一起就构成了电子钟。
至于程序编写,使用Verilog语言,根据各个模块的不同功能和它们之间的控制关系进行编写。
软件模块直接在Quartis2上进行。
进入信息时代,时间观念越来越强,但是老是的钟表以及日历等时间显示工具已经不太合适。
如钟表易坏,需经常维修,日历每天都需要翻页等。
对此,数字钟表的设计就用了用武之地。
基于FPGA的电子钟设计,采用软件开发模块,开发成本底,而且功能设计上有很大的灵活度,需要在软件上进行简单的修该就能实现不同的功能要求,能够满足不同的环境要求。
同时,该设计在精度上远远超过钟表,并且不需要维修,也不用没天的翻页,极其的方便。
且能够添加各种不同的功能要求。
例如:在其上加闹钟,同时显示阴阳历等。
综上所述本设计具有设计方便、功能多样、电路简洁成本低廉等优点,符合社会发展的趋势,前景广阔。
关键字:电子钟;FPGA;仿真;verilog;QuartusIIﻩﻩ目录摘要........................................... (3)第一章绪论ﻩ..............................................5 1.1电子钟的发展ﻩ错误!未定义书签。
1.2 FPGA简介 ........................ 错误!未定义书签。
第二章电子钟设计原理................... 错误!未定义书签。
2.1 组成模块ﻩ错误!未定义书签。
2.2 电子钟的工作原理图ﻩ6第三章电子钟系统部分程序设计与仿真..... 错误!未定义书签。
3.1时分秒模块代码与仿真.............. 错误!未定义书签。
3.2年月日模块代码与仿真 (11)3.3具体的电路图....................... 错误!未定义书签。
谢辞...................................................15参考文献................................. 错误!未定义书签。
附录ﻩ错误!未定义书签。
第一章绪论1.1电子钟的发展钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯等。
所有这些,都是以钟表数字化为基础的。
因此,研究电子万年历及扩大其应用,有非常现实的意义。
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
电子万年历从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
ﻩ因此,我们此次设计与制做电子万年历就是为了了解数字钟的原理,从而学会制作数字钟。
而且通过万年历的制作进一步了解各种在制作中用到的中小规模集成电路的作用及使用方法,且由于电子万年历包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
1.2 FPGA简介FPGA是现场可编程门阵列(Field programmable gates array)的英文简称。
是有可编程逻辑模块组成的数字集成电路(IC)。
这些逻辑模块之间用可配置的互联资源。
设计者可以对这些器件进行编程来完成各种各样的任务PLD/FPGA是近几年集成电路中发展最快的产品。
由于PLD性能的高速发展以及设计人员自身能力的提高,可编程逻辑器件供应商将进一步扩大可编程芯片的领地,将复杂的专用芯片挤向高端和超复杂应用。
据IC Insights 的数据显示,PLD市场从1999年的29亿美元增长到去年的56亿美元,几乎翻了一番。
Matas预计这种高速增长局面以后很难出现,但可编程逻辑器件依然是集成电路中最具活力和前途的产业。
复杂可编程逻辑器件。
可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑(CPLD)。
在这两类可编程逻辑器件中,FPGA 提供了最高的逻辑密度、最丰富的特性和最高的性能。
现在最新的FPGA器件,如Xilinx Virtex"系列中的部分器件,可提供八百万"系统门"(相对逻辑密度)。
这些先进的器件还提供诸如内建的硬连线处理器(如IBM PowerPC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。
FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。
第二章电子钟设计原理2.1 组成模块此电子钟系统主要由一下几个模块组成:1.控制模块 :该模块实现对各个功能模块的整体控制,对时间显示与调整、日期显示与调整,由使用者决定是显示日期还是时间,当使用者不参与控制时,时间和日期每隔一段时间会自动轮流显示。
2.时间及其调整模块 :顾名思义就是对时间进行调整。
3.时间显示动态位选模块4.显示控制模块:显示控制模块的功能是控制显示日期还是时间,在设计的过程中由于没有足够的数码管,把日期和时间分成了两个模块,至于显示那一个这由该模块完成任务。
5.日期显示与设置模块6.译码器模块:在数码管上显示当前时间和日期。
7.分频模块:是为了得到一个周期为秒的脉冲,该脉冲主要用于秒的走到。
2.2电子钟的工作原理图图1 流程图在电脑上通过软件Max+plus2对万年历电路图的引脚进行绑定,编译, 然后与EDA试验箱连接,把文件配置通过JTAG口载入FPGA中,选择实验电路模式进行硬件测试。
通过学习,理论上学习了EDA试验箱的原理,对试验箱内部的组件,以及组件之间的链接有了更深的了解.从开始分析电子钟原理,在定义底层文件名称,编写底层文件程序,生成模块——分频模块,秒模块,分模块,时模块,年月日模块,控制模块,显示模块,然后链接各个模块组成顶层,到最终完成测试,虽然辛苦但是当画出功能图时,还是很高兴的,以下为各模块组成的功能图图2 功能设计图第三章电子钟系统部分程序设计与仿真3.1时分秒模块代码与仿真时间及其设置模块主要完成时间的自动正常运行与显示,以及在相应的功能号下,实现时间的调整与设置。
计数器秒脉冲信号经过6级计数器,分别得到“秒”个位、十位、“分”个位、十位以及“时”个位、十位的计时。
“秒”“分”计数器为六十进制,小时为二十四进制。
六十进制计数由分频器来的秒脉冲信号,首先送到“秒”计数器进行累加计数,秒计数器应完成一分钟之内秒数目的累加,并达到60秒时产生一个进位信号,所以,选用两片cc40192和一片cc4011组成六十进制计数器,来实现六十进制计数。
其中,“秒”十位是六进制,“秒”个位是十进制。
二十四进制计数利用异步清零端实现起从23——00的翻转,其中“24”为过渡状态不显示。
其中,“时”十位是3进制,“时”个位是十进制。
以下为其具体的代码。
//秒module second(clrn,clk,jf,qm,enmin);inputclrn,clk,jf;output[7:0] qm;output enmin;reg[7:0]qm;reg[3:0]qml;reg[7:4] qmh;reg carry1;always@(posedge clk or negedge clrn)ﻩbeginif(~clrn) begin{qmh,qml}=0;endﻩelse if((qmh==5)&&qml==9)ﻩbegin{qmh,qml}=0;carry1=1;endﻩelse if ((qmh==5)&&(qml<9))begin qmh=qmh;qml=qml+1;carry1=0;endﻩelseif((qmh<5)&&(qml==9))--beginqmh=qmh+1;qml=0;carry1=0;endﻩelseif((qmh<5)&&(qml<9))ﻩbegin qmh=qmh;qml=qml+1;carry1=0;endqm={qmh,qml};ﻩendassign enmin=carry1|jf;Endmodule图3 秒仿真图//分module minute(clrn,clk,jh,qf,enhour);input clrn,clk,jh;output[7:0] qf;output enhour;reg[7:0] qf;reg[3:0] qfl;reg[7:4] qfh;regcarry1;always @(posedge clk ornegedgeclrn)beginif(~clrn)begin{qfh,qfl}=8'h00;carry1=0;endelse if((qfh==5)&&(qfl==9))begin{qfh,qfl}=8'h00;carry1=1;endelse if((qfh<5)&&(qfl<9)) begin qfh=qfh;qfl=qfl+1;carry1=0;endelseif((qfh<5)&&(qfl==9))begin qfh=qfh+1;qfl=0;carry1=0;end else begin qfh=qfh;qfl=qfl+1;carry1=0;endqf={qfh,qfl};endassign enhour=carry1|jh;endmodule--图4分仿真图//时module hour(clrn,clk,qs,cout);input clrn,clk;output [7:0]qs;output cout;reg[7:0] qs;reg[3:0] qsl;reg[7:4] qsh;regcarry1;always@(posedge clkor negedgeclrn)//miaobeginﻩif (~clrn) begin{qsh,qsl}=8'h00;carry1=0;endelse if((qsh==1)&&(qsl==7))ﻩbegin{qsh,qsl}=8'h00;carry1=1;endﻩelseif((qsh==2)&&(qsl<3)) begin qsh=qsh;qsl=qsl+1;ca rry1=0;endelse if(qsl==9)begin qsh=qsh+1;qsl=0;carry1=0;endﻩelse begin qsh=qsh;qsl=qsl+1;carry1=0;endqs={qsh,qsl}; ﻩendﻩassigncout=carry1;endmodule图5 时仿真图3.2年月日模块代码与仿真该模块实现的是日期的自动工作功能,//年月日module nyr2009(clrn,clk,jn,jy,jr,qn,qy,qr);inputclrn,clk,jn,jy,jr;output [15:0] qn;output[7:0]qy,qr;reg [15:0] qn;reg[7:0] qy,qr;reg clkn,clky;reg[7:0] date;reg clkn1,clkn2,clkn3;initialbegin clkn1=1;clkn2=1;clkn3=1;endinitialbegin qn='h2000;qy=1;qr=1;endalways@(posedge (clk^jr) ornegedge clrn)//日计数beginif(~clrn) qr=1;elsebegin if(qr==date)begin qr=1;clky=1;endelse if(qr[7:4]==date[7:4]&&qr[3:0]==date[3:0])Beginqr[7:4]<=qr[7:4];qr[3:0]<=qr[3:0];clky<=1;endelse if(qr[3:0]==9)begin qr[7:4]<=qr[7:4]+1;qr[3:0]=0;endﻩelse if(qr[7:4]<date[7:4]&&qr[3:0]<date[3:0])Begin qr[7:4]<=qr[7:4];qr[3:0]<=qr[3:0]+1;clky<=0;endelse begin qr[7:4]=qr[7:4];qr[3:0]=qr[3:0]+1;clky<=0;endendendalways @(posedge (clky^jy)ornegedge clrn)//月计数begin if(~clrn)qy=1;else begin if(qy=='h12)qy=1;elseqy=qy+1;if(qy[3:0]=='ha)Begin qy[3:0]=0;qy[7:4]=qr[7:4]+1;endif(qy=='h12)clkn=1;else clkn=0;Endendalways//每月的天数Begin case(qy)'h01:date='h31;'h02: if(((qn%4==0)&(qn%100!==0))||(qn%400==0)) date='h29; ﻩelse date='h28;'h03:date='h31;'h04:date='h30;'h05:date='h31;'h06:date='h31;'h07:date='h31;'h08:date='h31;'h09:date='h30;'h10:date='h31;'h11:date='h30;'h12:date='h31;default:date='h30;endcaseendalways@(posedge (clkn^jn) or negedgeclrn )//年计数beginif(~clrn)qn[3:0]=0;elsebegin if(qn[3:0]==9)qn[3:0]=0;elseqn[3:0]=qn[3:0]+1;if(qn[3:0]==9)clkn1=0;elseclkn1=1;endendalways@(posedge (clkn1)or negedgeclrn)Beginif(~clrn)qn[7:4]=0;else beginif(qn[7:4]==9) qn[7:4]=0;else qn[7:4]=qn[7:4]+1;if(qn[7:4]==9)clkn2=0;else clkn2=1;endendalways@(posedge(clkn2)or negedge clrn)beginif(~clrn)qn[11:8]=0;else beginif(qn[11:8]==9) qn[11:8]=0;ﻩelse qn[11:8]=qn[11:8]+1;if(qn[11:8]==9)clkn3=0;else clkn3=1;endendalways@(posedge(clkn3) or negedge clrn)Begin if(~clrn) qn[15:12]=2;elsebegin if(qn[15:12]==9)qn[15:12]=0;else qn[15:12]=qn[15:12]+1;endendendmoduleﻩﻩﻩﻩ图5年月日仿真图3.3具体的电路图将时间和日期两个模块连接起来之后,便可得到大体的框架图了。