《数显秒表的设计》word版.doc_第1页
《数显秒表的设计》word版.doc_第2页
《数显秒表的设计》word版.doc_第3页
《数显秒表的设计》word版.doc_第4页
《数显秒表的设计》word版.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计课程设计名称: EDA课程设计 专 业 班 级 电科1303 学 生 姓 名 : 张渊博 学 号 : 201316030301 指 导 教 师 : 王彩红 课程设计时间: 2016-6-202016-7-2 电子信息科学与技术 专业课程设计任务书学生姓名张渊博专业班级电科1303学号201316030301题 目数显秒表的设计课题性质工程设计课题来源自拟课题指导教师王彩红同组姓名主要内容(1)设计一个带数字显示的秒表,可随时清零、暂停和计时。(2)要求能准确的计时并显示,开机显示00.00.00。(3)要求计时范围为59分59.99秒。(4)要求技术精度为0.01s。任务要求根据设计题目要求编写相应程序代码对编写的VHDL程序代码进行编译和仿真总结设计内容,完成课程设计说明书参考文献1EDA课程设计指导书.郑州:河南工业大学,20082潘松,黄继业.EDA技术实用教程.北京:科学出版社,20023焦素敏.EDA技术基础.北京:清华大学出版社,20144 / 中国电子制作网 网站审查意见指导教师签字: 王彩红教研室主任签字: 王彩红 2016年 6月 20日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 设计任务及要求(1)设计一个带数字显示的秒表,可随时清零、暂停和计时。(2)要求能准确的计时并显示,开机显示00.00.00。(3)要求计时范围为59分59.99秒。(4)要求技术精度为0.01s。功能分析:数显秒表要实现上述要求的功能,首先要具有计时控制器模块、计时模块、分频模块、数据选择器、显示模块。首先输入1KHZ脉冲首先经分频器10分频,变为计数最小单位0.01s然后经过十进制的毫秒计数器,计满进位给秒计数器然后是分计数器左后送给数码管进行显示。直到全部计满然位59.59.99后变为00.00.00,重新开始计数。在计数过程中可以通过计数控制模块可以控制计数暂停、计数、清零的操作。2设计原理及总体框图1KHZ输入分频模块 毫秒计数 秒计数 计数控制模块 分计数 BCD显示 数据选择 图一图二实现原理: 各模块功能原理如下:a、计时控制器模块: 计时控制器模块的作用是将按键信号转变为计时器的控制信号。本设计中设置了两个按键,即启动/暂停和清零贱键,由他们产生计数允许保持和清零信号。启动/暂停键是多用途键,在“按下松开再按下在松开”的过程中,所起的作用分别是“启动暂停继续”。这类电路适合用状态机描述。b、计时模块 计数器通过对10ms的脉冲计数,达到计时的目的。由于计数器的范围是0到59分59.99秒,所以计时模块共需要4个十进制计数器和2个六进制计数器。c、分频模块 时基分频器对1KHZ的脉冲分频产生100HZ的时基,它同十进制计数器的方法一样,因此可直接调用。d、数据选择器 数据选择器的作用是对10ms、100ms、s和min的6个BCD数进行扫描。它实际上由6进制计数器、36译码器和24选4多路开关3个部分组成。e、BCD/七段译码器模块 主要用于整体设计秒表的最后显示,由7位组成。3 程序设计VHDL简介:VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。本次设计主要就是采用VHDL语言进行编程。a、计时控制器模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jishi_kongzhi ISPORT(CLK,K:IN STD_LOGIC; EN:OUT STD_LOGIC);END jishi_kongzhi;ARCHITECTURE ONE OF jishi_kongzhi ISTYPE MY_STATE IS (S0,S1,S2,S3);SIGNAL STATE:MY_STATE;BEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENCASE STATE ISWHEN S0=IF K=1 THEN STATE=S0;ELSE STATEIF K=0 THEN STATE=S1;ELSE STATEIF K=1 THEN STATE=S2;ELSE STATEIF K=0 THEN STATE=S3;ELSE STATENULL;END CASE;END IF;END PROCESS;PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THENCASE STATE ISWHEN S0=ENENENENEN=0;END CASE;END IF;END PROCESS;END ONE;b、计时模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6 ISPORT(CLK,CLR,EN:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); C6:OUT STD_LOGIC);END CNT6;ARCHITECTURE ONE OF CNT6 ISBEGINPROCESS(CLR,CLK)BEGINIF CLR=1 THEN Q=0000;ELSIF CLKEVENT AND CLK=1 THENIF EN=1 THENIF Q0101 THEN Q=Q+1;ELSE Q=0000;END IF;END IF;END IF;END PROCESS;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF Q=0101 THEN C6=1;ELSE C6=0;END IF;END IF;END PROCESS;END ONE; c、分频模块程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fen_pin ISPORT(CLK,CLR,EN:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); C10:OUT STD_LOGIC);END fen_pin;ARCHITECTURE ONE OF fen_pin ISBEGIN PROCESS(CLR,CLK)BEGINIF CLR=1 THENQ=0000;C10=0;ELSIF CLK EVENT AND CLK=1 THENIF EN=1 THENIF Q=1001 THENQ=0000;C10=1;ELSEQ=Q+1;C10=0;END IF;END IF;END IF;END PROCESS;END ONE;d、数据选择器程序: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shu_xuan ISPORT(CLK:IN STD_LOGIC; MSL,MSH,SL,SH,ML,MH:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); OUT1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SEG:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END shu_xuan;ARCHITECTURE ONE OF shu_xuan ISBEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENIF Q101 THEN Q=Q+1;ELSE QOUT1=MSL;SEGOUT1=MSH;SEGOUT1=SL;SEGOUT1=SH;SEGOUT1=ML;SEGOUT1=MH;SEGNULL;END CASE; END PROCESS;END ONE;e、BCD/七段译码器模块程序: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DISPLAY ISPORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0); X:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END DISPLAY;ARCHITECTURE ONE OF DISPLAY ISBEGINPROCESS(D)BEGINCASE D ISWHEN 0000=XXXXXXXXXXX=0000000;END CASE;END PROCESS;END ONE;4 编译及仿真 软件编译:本次编译所需软件环境有Windows系统平台及其Quartus II软件环境。仿真波形图如下:A、Clk第一次按下的仿真波形如图三所示:1号位置图三分析:此图加上脉冲之后开始计数当到大一号位置后增加了一个KEY脉冲,此后计数暂停。说明当运行程序后按下第一次按键计数停止。B、Clk第二次按下的仿真波形如图四所示:2号位置图四分析: 当时间到达2号位置之后又加的一个KEY脉冲,此后计数开始继续。说明当程序运行后第二次按下按键能够继续计数。C、进位仿真波形如图五所示:3号位置图五分析:当程序运行到达3号位置,也就是最小单位到达9之后,可以从波形图中看出最小单位产生进位十位变为1,个位重新开始计数。此图说明程序进位正确。4号位置D、CLR清零仿真波形如图六所示:图六分析:当程序运行到四号位置之后,外加了一个CLR的清零信号,可从波形图上看出添加清零信号之后所有的结果都被清零然后重新开始计时。说明程序的清零功能正确。5 硬件调试与结果分析 调试步骤:(1) 按照锁定的引脚位置及功能作用连接线路。(2) 下载程序(3) 打开电源观察程序运行结果调试结果及分析:本次硬件验证过程还算顺利,在此过程中出现了一个小的问题,上电后最小计时位跟各位工作能够正常的计时进位,可是秒位计满之后往分钟位进的时候出现问题,每次进位分钟位也会跳变,但是结果不正确显示的时乱码。然后就检查了程序,做了一遍软件波形仿真发现波形正确。后来就按照锁定引脚顺序的检查线路,发现也没连接错误。最后没办法把分钟部分单独拿出来进行调试,才发现是引脚锁定时高位跟低位弄反了。经过改正之后又重新上电运行,结果非常完美。按钮按一次计时暂停,再按一次继续计时,当清零按钮按下全部计时结果都变为零。6 参考文献 1EDA课程设计指导书.郑州:河南工业大学,20082潘松,黄继业.EDA技术实用教程.北京:科学出版社,20023焦素敏.EDA技术基础.北京:清华大学出版社,20144 / 中国电子制作网 网站 心得体会经过本次课程设计,让我进一步的复习和深入的对EDA技术有了进一步的了解。虽然EDA课程结束到做EDA课程设计之间隔了整整一个学期的间隔,但是并没有影响我学习EDA技术的热情。重新拿起课本尽管好多地方及细节都及得不太清楚,但总体大的框架还是记得的。在重新学习这门课程的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论