EDA课程设计数字钟

上传人:仙*** 文档编号:29389860 上传时间:2021-10-07 格式:DOC 页数:10 大小:485.54KB
返回 下载 相关 举报
EDA课程设计数字钟_第1页
第1页 / 共10页
EDA课程设计数字钟_第2页
第2页 / 共10页
EDA课程设计数字钟_第3页
第3页 / 共10页
点击查看更多>>
资源描述
EDA 数字钟2008070709 1 EDA 期期 末末 设设 计计设计名称设计名称: 数 字 钟 学学 院院:物理与电子工程学院 年年 级级:2008 级 7 班 姓姓 名:名:* 学学 号:号:2008070709 2010 年 5 月 25 日EDA 数字钟2008070709 2一一 实验目的实验目的练习综合设计能力,设计一个含有时、分、秒的时钟,并练习综合设计能力,设计一个含有时、分、秒的时钟,并且可以设置、清除、且可以设置、清除、12/24 小时工作模式的切换、仿电台小时工作模式的切换、仿电台整点报时。整点报时。二二 实验内容实验内容基本要求基本要求(1)具有具有“秒秒” 、 “分分” 、 “时时”计时功能计时功能(2)能进行能进行 24/12 小时制计时模式切换小时制计时模式切换拓展要求拓展要求(1)具有校时设置和清除功能,能够对具有校时设置和清除功能,能够对“分分”和和“时时”进行调进行调整整(2)具有整点报时功能具有整点报时功能三三 实验原理实验原理第一个模块为计时、校时、响铃模块,第二个为第一个模块为计时、校时、响铃模块,第二个为 12 与与 24 进制进制相互转换。相互转换。EDA 数字钟2008070709 3四四 本实验介绍(本实验介绍(各按钮所对应实验箱按钮键引脚图各按钮所对应实验箱按钮键引脚图)(1)功能:功能:a 具有具有“秒秒” 、 “分分” 、 “时时”计时功能计时功能b 能进行能进行 24/12 小时制计时模式切换小时制计时模式切换, 具有校时设置和清具有校时设置和清除功能,能够对除功能,能够对“分分”和和“时时”进行调整进行调整c.在在 59 分分 56 秒、秒、57 秒、秒、58 秒、秒、59 秒报时秒报时(2)按钮功能:)按钮功能:CLK:计数计数 1HZ 脉冲,脉冲,CLK1024 和和 CLK512 报报时脉冲;时脉冲; EN=0 为校时模式,为校时模式,en=1 为计数模式;为计数模式; swich=1 则则 12进制到进制到 24 进制进制,swich=0 则则 24 到到 12 进制;进制; 第三和第八数码管为标志第三和第八数码管为标志:A:上午标志上午标志d:下午标志下午标志 , E:24 进制计数模式标志进制计数模式标志SHI,FEN:对时、分的校正对时、分的校正;都按都按 FEN 下时,对分低位校正,按下下时,对分低位校正,按下 SHI对时校正,按对时校正,按 SHI 和和 FEN 下分,对高位分校正(均自动校正)下分,对高位分校正(均自动校正) 。(2)系统对应按钮系统对应按钮:键:键 1:计数:计数/校时模式控制;键校时模式控制;键 2:分低位校时;:分低位校时;键键 3:复位:复位; 键键 4:时位校时;键:时位校时;键 5:进制转换:进制转换五五 实验结果实验结果视屏:视屏:学习实验视频学习实验视频 - 专辑专辑 - 优酷视频优酷视频六六 设计程序:设计程序:(1)-*计数计数/校时校时/响铃响铃*LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SHIFENMIAO ISPORT(CLK,RST, CLK0,CLK1,EN,SHI1,FEN1 : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);- 计数输出EDA 数字钟2008070709 4SIGN:OUT STD_LOGIC;DXWSIGN:OUT STD_LOGIC );END ENTITY SHIFENMIAO;ARCHITECTURE BHAVE1 OF SHIFENMIAO ISSIGNAL X : STD_LOGIC; SIGNAL AB : STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL CQI : STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINAB=SHI1&FEN1;Q1:PROCESS (CLK,RST, EN)VARIABLE SXSIGN:STD_LOGIC;BEGINIF RST = 1 THENCQI 0);SXSIGN:=0;- 计数器清零复位ELSEIF CLKEVENT AND CLK = 1 THEN- 上升沿判断IF EN = 1 THENIF CQI(3 DOWNTO 0) 1001 THEN- 比较低 4 位CQI = CQI + 16#1#;- 计数加 1ELSIF CQI(7 DOWNTO 4) 0101 THEN- 比较高 4 位CQI = CQI + 16#10#;CQI(3 DOWNTO 0) =0000; - 低 4 位清零-MIAO 计时ELSIF CQI(15 DOWNTO 12) 1001 THENCQI = CQI + 16#1000#;CQI(7 DOWNTO 4) = 0000;CQI(3 DOWNTO 0) =0000;ELSIF CQI(19 DOWNTO 16) 0101 THENCQI = CQI + 16#10000#;CQI(15 DOWNTO 12) = 0000;CQI(7 DOWNTO 4) = 0000;CQI(3 DOWNTO 0) =0000;-FEN 计时ELSIF CQI(27 DOWNTO 24) 9 THENCQI = CQI + 16#1000000#;CQI(19 DOWNTO 16) = 0000;CQI(15 DOWNTO 12) = 0000;CQI(7 DOWNTO 4) = 0000;CQI(3 DOWNTO 0) =0000;ELSIF CQI(31 DOWNTO 28)1 THENCQI = CQI+16#10000000#;CQI(27 DOWNTO 24)=0000;EDA 数字钟2008070709 5CQI(19 DOWNTO 16) = 0000;CQI(15 DOWNTO 12) = 0000;CQI(7 DOWNTO 4) = 0000;CQI(3 DOWNTO 0) IF CQI(15 DOWNTO 12) 1001 THEN CQI(15 DOWNTO 12) = CQI(15 DOWNTO 12)+1;ELSE CQI(15 DOWNTO 12) IF CQI(27 DOWNTO 24) 1001 THEN CQI(27 DOWNTO 24) = CQI(27 DOWNTO 24)+1;ELSE CQI(31 DOWNTO 28) =0001;CQI(27 DOWNTO 24) IF CQI(19 DOWNTO 16)0101 THEN CQI(19 DOWNTO 16)=CQI(19 DOWNTO 16)+0001;ELSE CQI(19 DOWNTO 16)NULL;END CASE;END IF;END IF;END IF;IF CQI(31 DOWNTO 28)=0001AND CQI(27 DOWNTO 24)=0010 THEN-清零CQI(19 DOWNTO 16) = 0000;CQI(31 DOWNTO 24)=00000000;CQI(15 DOWNTO 12) = 0000;SXSIGN:= NOT SXSIGN; -上下午标志CQI(7 DOWNTO 4) = 0000;CQI(3 DOWNTO 0) =0000;END IF;IF SXSIGN=0 THEN CQI(11 DOWNTO 8)=1010; CQI(23 DOWNTO 20)=1010;ELSE CQI(11 DOWNTO 8)=1101; CQI(23 DOWNTO 20)=1101;END IF;CQ=CQI;DXWSIGN=SXSIGN;END PROCESS Q1; -*响铃响铃*Q2:PROCESS(CQI)BEGINIF CQI(19 DOWNTO 16) = 0101AND CQI(15 DOWNTO 12) = 1001AND CQI(7 DOWNTO 4) =0101 THENIF CQI(3 DOWNTO 0) = 0110 THENEDA 数字钟2008070709 6X=CLK0;ELSIF CQI(3 DOWNTO 0) = 0111 THENX=CLK0;ELSIF CQI(3 DOWNTO 0) = 1000 THENX=CLK0;ELSIF CQI(3 DOWNTO 0) = 1001 THENX=CLK1;END IF;END IF;END PROCESS Q2; SIGN=X; END ARCHITECTURE BHAVE1;(2)-*12 进制与进制与 24 进制的相互转换进制的相互转换*LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY EH12SWICH24 ISPORT(CQI24:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);SIGN12:IN STD_LOGIC; SWSIGN12:IN STD_LOGIC; CQI12:IN STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY;ARCHITECTURE BHAVE10 OF EH12SWICH24 IS SIGNAL CQI12TO24: STD_LOGIC_VECTOR(31 DOWNTO 0);BEGINSW1:PROCESS(SIGN12,SWSIGN12)BEGINIF SWSIGN12=1 THENIF SIGN12=0 THEN -上午不变CQI12TO24=CQI12; -12 到 24 进制ELSE CQI12TO24(31 DOWNTO 24)=CQI12(31 DOWNTO 24)+00010010;-下午加 12CQI12TO24(11 DOWNTO 8 )=1110;CQI12TO24(23 DOWNTO 20 )=1110; -24 进制标志CQI12TO24(19 DOWNTO 12)=CQI12(19 DOWNTO 12);CQI12TO24(7 DOWNTO 0)=CQI12(7 DOWNTO 0);END IF;ELSE-*24 到 12 进制CQI12TO24=CQI12;EDA 数字钟2008070709 7END IF;CQI24CLK,EN=EN,RST=RST,SIGN=SIGN,CLK0=CLK512,CLK1=CLK1048, CQ=D2,DXWSIGN=D1,SHI1=SHI,FEN1=FEN);U2: EH12SWICH24 PORT MAP(CQI24=COUT,CQI12=D2,SIGN12=D1,SWSIGN12=SWICH);END STRUC;七七 程序编译、仿真程序编译、仿真(1) 编译结果编译结果EDA 数字钟2008070709 8(2)仿真波形)仿真波形EDA 数字钟2008070709 9八八 引脚配置引脚配置EDA 数字钟2008070709 10九实验总结九实验总结1.实验中遇到许多难题,比如信号不能多次赋值(解决:做实验中遇到许多难题,比如信号不能多次赋值(解决:做多个元件)多个元件) ,分频比较难实现(解决:外部输入脉冲,替,分频比较难实现(解决:外部输入脉冲,替代分频脉冲功能)代分频脉冲功能)2.学习心得:做实验室要仔细写程序,特别是不要换小错误学习心得:做实验室要仔细写程序,特别是不要换小错误比如:前后结构体名不一致,少写比如:前后结构体名不一致,少写“;”子类的小错误。子类的小错误。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!