




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字钟设计报告绪论:20世纪90年代,国际上电子和计算机技术较为先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。概要:本设计主要利用VHDL语言在EDA平台上设计一个24进制和12进制可以相互转换的电子数字钟,另外还具有设置时间和闹钟功能。总的程序由几个各具不同功能的单元模块程序拼接而成,其中包括分频程序模块、时分秒计数和设置程序模块、比较器程序模块、译码显示程序模块。并且使用QUARTUSII软件进行电路波形仿真,下载到实验箱进行验证。一、设计目的1、熟练地运用数字系统的设计方法进行数字系统设计;2、能进行较复杂的数字系统设计;3、按要求设计一个数字钟。二、设计思路数字钟的设计模块包括:分频器、“时、分、秒”计数器、闪烁电路、整点报时和译码显示电路。每一个功能模块作为一个实体单独进行设计,最后再用VHDL的例化语句将各个模块进行整合。该数字钟可以实现的几个功能:计时功能、设置时间功能、设置闹钟和报时功能。3、 系统设计闪烁模块分频模块 显示模块时间和闹钟显示选择以及闹钟模块计时与设置时间模块时间控制模块 闹钟控制模块设置闹钟模块1、分频模块:提供1hz的时钟信号与100hz的测试时钟信号。可通过实验板上的k2键来调节。2、时间控制模块:控制设置时间和计时的使能信号。3、闹钟控制模块:控制设置闹钟和计时的使能信号。4、计时与设置时间模块和设置闹钟模块:通过时间控制模块和闹钟控制模块传来的使能信号来转换计时、设置时间和设置闹钟。可以通过Key0键设置时间,Key1键设置闹钟。Key3键选择需要设置的位数,Key4键来调整时间。5、 时间和闹钟显示选择以及闹钟模块:接收计时与设置时间模块和设置闹钟模块传来的数据选择时间或者闹钟传至显示模块。并且可以根据sw2键来改变传至显示模块的是12进制和24进制。可以整点报时和闹钟。6、 显示模块:将从时间和闹钟显示选择模块传来的数据显示在数码管上。并且可以在设置时间和设置闹钟时闪烁显示。五、模块设计1分频模块引入50Mhz的时钟信号,根据(50M/2n)-1,实现1hz和100hz的分频ARCHITECTURE BAHAV OF FD ISSIGNAL Q,Q1:STD_LOGIC;BEGINPROCESS(CLK,EN,SW2)VARIABLE TEMP : INTEGER RANGE 24999999 DOWNTO 0;BEGINIF SW2=1 THEN IF EN=1 THEN IF CLKEVENT AND CLK=1THEN IF TEMP=24999999 THEN TEMP:=0;Q=NOT Q;ELSE TEMP:=TEMP+1;END IF;END IF;ELSE TEMP:=0;Q=0;END IF;END IF;END PROCESS;PROCESS(CLK,EN,SW2)VARIABLE TEMP1 : INTEGER RANGE 249999 DOWNTO 0;BEGINIF SW2=0 THEN IF EN=1 THEN IF CLKEVENT AND CLK=1THEN IF TEMP1=249999 THEN TEMP1:=0;Q1=NOT Q1;ELSE TEMP1:=TEMP1+1;END IF;END IF;ELSE TEMP1:=0;Q1=0;END IF;END IF;END PROCESS;PROCESS(SW2)BEGINIF SW2=1 THEN CLK_OUT=Q;ELSE CLK_OUTs1-s2-s3-s4-s1来改变使能信号。S0状态为计时模式,S1,S2,S3,S4状态为设置时间模式。S1状态为分钟低位可设置,S2状态为分钟高位可设置,S3状态为小时低位可设置,S4状态为小时高位可设置。(2)信号分析SEC_EN0,MIN_EN1,MIN_EN0,HOUR_EN1,HOUR_EN0为0时为不可改变状态(不能计时和设置),为1时为可改变状态(能计时和设置)。SEL为0时,传入计时与设置时间模块的是1hz的时钟信号,SEL为1时,进入设置模式,传入计时与设置时间模块的是ADD信号(KEY2),ARCHITECTURE BAHAV OF SETMODE ISTYPE FSM_ST IS (S0,S1,S2,S3,S4);SIGNAL CST,NST: FSM_ST:=S0;SIGNAL FLAG: STD_LOGIC:=0;BEGINPROCESS(TIMESET)BEGINIF TIMESETEVENT AND TIMESET=1 THEN FLAG=NOT FLAG;小时时间设置标记FLAG_H=FLAG;输出小时时间设置标记END IF ;END PROCESS;PROCESS(SHIFT)BEGINIF FLAG=1 THEN IF SHIFTEVENT AND SHIFT=1 THEN CST=NST;END IF;LED=1;ELSE CST=S0;LED NST NST NST NST NST NST SEC_EN=1;MIN_EN1=1;MIN_EN0=1;HOUR_EN1=1;HOUR_EN0=1;SEL SEC_EN=0;MIN_EN1=0;MIN_EN0=1;HOUR_EN1=0;HOUR_EN0=0;SEL SEC_EN=0;MIN_EN1=1;MIN_EN0=0;HOUR_EN1=0;HOUR_EN0=0;SEL SEC_EN=0;MIN_EN1=0;MIN_EN0=0;HOUR_EN1=0;HOUR_EN0=1;SEL SEC_EN=0;MIN_EN1=0;MIN_EN0=0;HOUR_EN1=1;HOUR_EN0=0;SEL SEC_EN=0;MIN_EN1=0;MIN_EN0=0;HOUR_EN1=0;HOUR_EN0=0;SEL=0;END CASE;END PROCESS;END ARCHITECTURE;3、 小时模块(秒钟,分钟模块类似)本模块分为3个进程第一个进程的功能为转换时钟信号与设置信号(KEY2),由时间控制模块传来的HOUR_SEL控制。第二个进程的功能为小时低位的计数和设置。第二个进程的功能为小时高位的计数和设置。并且考虑到了低位和高位的钳制。ARCHITECTURE BAHAV OF HOUR ISSIGNAL HOURVALUE: STD_LOGIC_VECTOR(7 DOWNTO 0):=00100011;SIGNAL CLK_IN: STD_LOGIC;BEGINPROCESS(HOUR_SEL)转换时钟信号与设置信号BEGINIF HOUR_SEL=0 THEN CLK_IN=HCLK;ELSE CLK_IN=HOUR_SET;END IF;END PROCESS;PROCESS(CLK_IN,EN0)小时低位的计数和设置BEGINIF EN0=1 THEN IF CLK_INEVENT AND CLK_IN=1 THEN IF HOURVALUE(7 DOWNTO 4)=0010 THENIF HOURVALUE(3 DOWNTO 0)=0011 THEN HOURVALUE(3 DOWNTO 0)=0000;ELSE HOURVALUE(3 DOWNTO 0)=HOURVALUE(3 DOWNTO 0)+1;END IF;ELSIF HOURVALUE(3 DOWNTO 0)1001 THEN HOURVALUE(3 DOWNTO 0)=HOURVALUE(3 DOWNTO 0)+1;ELSE HOURVALUE(3 DOWNTO 0)=0000;END IF;END IF;END IF;END PROCESS;PROCESS(CLK_IN,EN1)小时高位的计数和设置。并且考虑到了低位和高位的钳制BEGINIF EN1=1 THEN IF CLK_INEVENT AND CLK_IN=1 THENIF EN0=1 THEN IF HOURVALUE(3 DOWNTO 0)=0011 OR HOURVALUE(3 DOWNTO 0)=1001 THEN IF HOURVALUE(7 DOWNTO 4)=0010 THEN HOURVALUE(7 DOWNTO 4)=0000; ELSIF HOURVALUE(3 DOWNTO 0)=1001 THENIF HOURVALUE(7 DOWNTO 4)0011 THEN HOURVALUE(7 DOWNTO 4)=HOURVALUE(7 DOWNTO 4)+1; END IF; END IF;END IF;设置小时低位对高位钳制ELSIF HOURVALUE(3 DOWNTO 0)0100 THEN IF HOURVALUE(7 DOWNTO 4)0010 THEN HOURVALUE(7 DOWNTO 4)=HOURVALUE(7 DOWNTO 4)+1; ELSE HOURVALUE(7 DOWNTO 4)=0100 THEN IF HOURVALUE(7 DOWNTO 4)0001 THEN HOURVALUE(7 DOWNTO 4)=HOURVALUE(7 DOWNTO 4)+1; ELSE HOURVALUE(7 DOWNTO 4)=0000; END IF;END IF;END IF;END IF;END PROCESS;HOUR0=HOURVALUE(3 DOWNTO 0);HOUR1=HOURVALUE(7 DOWNTO 4);END ARCHITECTURE;4、选择模块和闹钟报时模块第一个进程为24进制和12进制转换,当SW信号为1时,选择24进制时间输出,当SW信号为0时,将24进制时间转换为12进制时间输出。第二个进程为判断12进制是AM还是PM第三个进程为12进制是AM或PM数码管灯提示。第四个进程为闹钟报时与整点报时模块:当计时模块传来的时间和闹钟设置的时间相等时,闹钟提示灯闪烁,或者分钟模块传来是30或00时,闹钟提示灯闪烁。ARCHITECTURE BAHAV OF CHOOSE ISSIGNAL FLAG_AP: STD_LOGIC;BEGINPROCESS(FLAG)BEGINIF FLAG=1 THEN 闹钟时间输出MIN0=AMININ0;MIN1=AMININ1;HOUR0=AHOURIN0;HOUR1=AHOURIN1;HF0=AH_FLASH0;HF1=AH_FLASH1;MF0=AM_FLASH0;MF1=AM_FLASH1;ELSE时钟时间输出MIN0=MININ0;MIN1=MININ1;HF0=H_FLASH0;HF1=H_FLASH1;MF0=M_FLASH0;MF1=M_FLASH1;IF SW=1 THEN HOUR0=HOURIN0;HOUR1=HOURIN1;ELSEIF FLAG_H=0 THEN 24进制输出HOUR0=HOURIN0;HOUR1=00010010 THENIF HOURIN0=0010 THEN HOUR1=HOURIN1-0001;HOUR0=HOURIN0-0010;ELSIF HOURIN0=0001 THEN HOUR1=HOURIN1-0001;HOUR0=1001;ELSIF HOURIN0=0000 THEN HOUR1=HOURIN1-0001;HOUR0=1000;END IF;ELSEHOUR1=HOURIN1;HOUR0=0001AND HOURIN0=0010 THEN FLAG_AP=1;ELSE FLAG_AP=0;END IF;END PROCESS;12进制是AM或PM数码管灯提示PROCESS(FLAG_AP,SW)BEGINIF SW=1 THEN HEX=1111111;ELSEIF FLAG_AP=1 THENHEX=0001100;ELSEHEX=0001000;END IF;END IF;END PROCESS;整点报时,半点报时,闹钟PROCESS(AMININ0,AMININ1,AHOURIN0,AHOURIN1,MININ0,MININ1,HOURIN0,HOURIN1)BEGINIF (AMININ0=MININ0 AND AMININ1=MININ1 AND AHOURIN0=HOURIN0 AND AHOURIN1=HOURIN1) OR MININ1&MININ0=00000000 OR MININ1&MININ0=00110000 THEN FLASH_FLAG=1 ;ELSE FLASH_FLAG=0;END IF;END PROCESS;END ARCHITECTURE;5、显示模块HOURFLASH1,HOURFLASH0,MINFLASH1,MINFLASH0信号控制数码管的闪烁,当这些信号为1时,数码管暗,为0时,数码管显示数值。SECIN0,SECIN1,MININ0,MININ1,HOURIN0,HOURIN1为时间和闹钟显示选择以及闹钟模块传来的四进制数,每一个进程的作用就是将传来的四进制数译码为7进制数,传入实验板中,使数码管显示相应的数值。ARCHITECTURE BEHAV OF DISP ISSIGNAL REG7_0: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_1: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_2: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_3: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_4: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_5: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_6: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_7: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_8: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_9: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL REG7_NULL: STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL LEDX:STD_LOGIC;BEGINREG7_0=1000000;数码管0REG7_1=1111001;数码管1REG7_2=0100100;数码管2REG7_3=0110000;数码管3REG7_4=0011001;数码管4REG7_5=0010010;数码管5REG7_6=0000010;数码管6REG7_7=1111000;数码管7REG7_8=0000000;数码管8REG7_9=0010000;数码管9REG7_NULL=1111111;不显示译码器PROCESS(HOURFLASH1,HOURIN1,EN)BEGINIF EN=1 THENIF HOURFLASH1=1 THEN HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1HOUR1=REG7_NULL;END CASE;END IF;ELSE HOUR1=REG7_1;END IF;END PROCESS;PROCESS(HOURFLASH0,HOURIN0)BEGINIF EN=1 THENIF HOURFLASH0=1 THEN HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0HOUR0=REG7_NULL;END CASE;END IF;ELSE HOUR0=REG7_4;END IF;END PROCESS;PROCESS(MINFLASH1,MININ1,EN)BEGINIF EN=1 THEN IF MINFLASH1=1 THEN MIN1MIN1MIN1MIN1MIN1MIN1MIN1MIN1MIN1MIN1MIN1MIN1=REG7_NULL;END CASE;END IF;ELSEMIN1=REG7_4;END IF;END PROCESS;PROCESS(MINFLASH0,MININ0,EN)BEGINIF EN=1 THEN IF MINFLASH0=1 THEN MIN0MIN0MIN0MIN0MIN0MIN0MIN0MIN0MIN0MIN0MIN0MIN0=REG7_NULL;END CASE;END IF;ELSEMIN0SEC1SEC1SEC1SEC1SEC1SEC1SEC1SEC1SEC1SEC1 SEC1=REG7_NULL;END CASE;ELSE SEC1SEC0SEC0SEC0SEC0SEC0SEC0SEC0SEC0SEC0SEC0 SEC0=REG7_NULL;END CASE;ELSESEC0=REG7_4;END IF;END PROCESS;PROCESS(CLK,FLAG)BEGINIF FLAG=1 THEN IF CLKEVENT AND CLK=1 THEN LEDX=NOT LEDX;END IF;ELSELEDX=0;END IF;END PROCESS;LED=LEDX;END A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家乐福采购管理制度
- 家庭高血压管理制度
- 应急备品库管理制度
- 形象岗岗位管理制度
- 影视部策划管理制度
- 微电影拍摄管理制度
- 快递员车辆管理制度
- 急诊抢救室管理制度
- 总监办生活管理制度
- 患者输液室管理制度
- 年产60万台(套)新能源汽车充电桩项目可行性研究报告写作模板-拿地申报
- 医务人员依法执业测试试题
- 浙江省温州十校联合体2023-2024学年第二学期高二下学期6月期末联考+技术答案
- 【A市网球运动发展现状及对策探究开题报告2000字】
- 广东省潮州市潮安区2023-2024学年八年级下学期期末数学试题(解析版)
- 风电场叶片无人机巡检作业技术导则
- AQ/T 6110-2012 工业空气呼吸器安全使用维护管理规范(正式版)
- 课题研究学术报告职称答辩
- PEP小学英语五年级下册《Unit5-Read-and-write-Robin-at-the-zoo》教学设计
- 行政复议法-形考作业3-国开(ZJ)-参考资料
- 高三化学二轮复习限定条件下同分异构体的统计与书写课件
评论
0/150
提交评论