1、 1 课课 程程 设设 计计 报报 告告 课程:数字逻辑与数字系统课程:数字逻辑与数字系统 课题:课题:多多 功功 能能 数数 字字 电电 子子 钟钟 姓名: 学号: 学院: 班级: 指导老师: 设计日期: 2 一、一、 设计要求设计要求 1. 具有以二十四小时制计时、显示、整点报时、时间设置公 能。 2. 精度要求为 1s。 二、二、 系统功能简介系统功能简介 1. 计时计时:正常工作状态下每天按 24 小时制计时并显示,蜂 鸣器无声,逢整点报时。 2. 整点报时整点报时:蜂鸣器在 59 分钟的 51、53、55、57、59 秒时 发出频率为 512hz 的低音, 在 59 秒时发出 102
2、4hz 的高音, 结束时为整点。 3. 显示显示:要求采用扫描显示方式驱动 8 个 LED 数码管显示 小时、分、秒、横线。 4. 调时和校时调时和校时:当开关处于“k1” 、 “k2”处于“1”时正常 计时,当 k1 处于“0”位置时可以对小时校时,当 k2 处 于“0”位置时可以对分钟进行校时。另外对六十进制计 数器加了一个清零端,可以进行秒的复位。 三、三、 系统简介系统简介 1. 开发系统:windows xp/98 2. 开发软件:MAX+PIUS II 3. 开发芯片:EP1K10TC1003 四、四、 主要模块简介主要模块简介 3 此系统由计时调时模块、闹钟模块、定时模块、动显模
3、块和分 频模块组成。 数字钟系统总体结构框图: 1 1 分频器:分频器: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpin is port (clk :in std_logic; f1024,f512,f4,f1 :out std_logic); end fenpin ; architecture behav of fenpin is signal q:std_logic_vector(9 downto 0); begin process(clk,q) begin
4、if(clkevent and clk=1)then if(q=“1111111111“)then q=“0000000000“; 报 时 控 制 电 路 控 计时校时 控制电路 显示 控制电路 整点报时 电路 扫描显示 电路 4 else q=q+1; end if ; end if ; f1024=clk; f512=q(0); f4=q(7); f1=q(9); end process; end behav; 2 2 二选一数据选择器二选一数据选择器 library ieee; use ieee.std_logic_1164.all; entity mux2_1 is port(d0,d
5、1,sel:in std_logic; q :out std_logic); end mux2_1; architecture amux of mux2_1 is signal temp1,temp2,temp3 :std_logic; begin cale:block begin temp1=d0 and sel;-1 正常计时 temp2=d1 and (not sel);-0 调时 temp3=temp1 or temp2; q=temp3; end block cale; end amux; 3 3 2424 进制计数器:进制计数器: 5 library ieee; use ieee.
6、std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mo24 is port (clk:in std_logic; qh,ql:out std_logic_vector(3 downto 0) ); end mo24; architecture wc of mo24 is signal qhh,qll:std_logic_vector(3 downto 0); begin process(clk) begin if(clkevent and clk=1) then if(qll=“0010“ and qhh=“0011“)then qhh=“0000“; qll=“0000“; elsif(qhh=“1001“)then qll=qll+1; qhh=“0000“; else qhh=qhh+1;end if; end if; qh=qhh; ql=qll; end process; end wc; 4 4 6060 进制计数器进制计数器: 6 library