|

楼主 |
发表于 2009-8-31 19:21:18
|
显示全部楼层
多功能数字钟设计
6 D- Y. c- Z) J一、设计任务:, d O0 D. z) u( v5 r; ]: u
(一)主体功能
) U E# [+ X( h( l用HDL设计一个多功能数字钟,包含以下主要功能:9 s" K7 G- [, _0 d* f
1.计时及校时,时间可以24小时制或12小时制显示+ [$ N/ o ~$ X4 b# K
2.日历:显示年月日星期,及设定设定功能
4 t" m+ [: J R/ F( S1 j$ Q3.跑表:启动/停止/保持显示/清除 a7 @6 p! O% g; u; W q
4.闹钟:设定闹钟时间,整点提示$ h. y* Q2 S7 m: b9 |) |+ S: P
(二)输入输出界面3 V5 N; L C: [& ^/ R2 e, C" g2 N, [
输入:时钟输入,三个按键 [2 S1 M c/ p) e; u8 Y& _# O9 O
输出:8位7段码,2个LED,一个蜂鸣器& [. e: H* w2 o( e* a' B0 n
三个按键从左到右为:Key3、key2、Key1,功能在不同模式下定义不同: 3 ?: K E; F8 _; t
Key3:模式键ModeKey,
% f R( V% L5 C) s% L3 g, |Key2:日历显示/设置选择键SetSelKey/启动与停止键StartPause,, k$ B* O! X$ k' F2 `, x
Key1:闹钟时间显示/设置键SetKey/显示保持键HoldReset
# a L+ v0 }; b/ h8位7段码从左到右编号为8-1
/ @' ]6 G& {2 W━
) X/ L. l- \9 o; a. ]5 G& Q9 j┃ ┃
% }, i4 V8 q d: v3 y━
- F& M) f7 L. a8 m: _: d$ s- B3 d* n: `┃ ┃2 d/ v) C' y% F
━
2 N' g" Y3 e* K( M+ F) ]1 h* r━" `' h. P e D1 f8 Q1 a; v
┃ ┃
! m7 e% v) Y# K, n) L+ v━
7 y; I! Q7 V/ R( \( b& ?; y" T" ~┃ ┃) w1 H# ^+ x5 l; C, ^
━, o* D5 `/ @1 h, T' v
━6 A$ p+ I+ s. R$ C) Z& r
┃ ┃7 L ] w8 k3 w! u& N
━# ^1 c& V3 D7 _, i0 N* O, O% i+ G
┃ ┃
; X- C: {. T0 M9 G% u━) M4 o, n0 e6 N7 n$ O) B# ]2 S
━ A7 N# N( q' C* J* v' d3 @
┃ ┃
1 [- Q# B8 y, q& R9 r! P━
% b8 u7 a) g5 c2 m┃ ┃
8 P* Z2 ?; S, a9 g. b━
1 h8 l0 T( R) K4 d━
! m6 I& D v* D┃ ┃* {" u) \/ w7 t/ F" Z1 k T, Y5 v
━4 W8 p0 H$ G4 a& w4 j! v5 k8 M5 W9 Q W
┃ ┃4 I$ e/ c9 c& z' Z3 N/ A! _) p6 B
━
, c N$ Y x1 K! r) Z! j━
4 }) z! S7 C2 z0 l┃ ┃6 J# ~& l6 t( E, T
━
2 x+ n5 v8 q1 M$ e# v) ]. u┃ ┃; |# d, O, l+ O/ @. b
━
1 c" m o" y0 x) {4 I. R5 v━( ?4 m: s w5 X+ a
┃ ┃' L3 o m) |- `0 a2 Z( q* s1 v
━; M$ e% @: Y `, o7 h x' @
┃ ┃
8 }0 f2 ]% U4 S: {! ?━# @& A3 L7 W+ F
━
) ^- R' u: `, a0 U┃ ┃
6 p. L# [' \6 j) T2 C━
4 E k c7 ]8 A) r. _# z& r┃ ┃3 Y r( l& X& r5 A
━
- _ p9 Z- ?1 B9 G5 \8
+ o4 o! g, d2 t/ w- s6 d2 t7
. w- ^) Z0 x8 {8 J" c6$ |0 a- y9 ^+ l+ x& Y
5
$ Y* u! q! r+ K4
* [, T+ f7 b E& |. x3 v/ A* b& r+ S
2
8 y; C" H0 @' r' ~4 `# a1
% a2 {8 W3 y% q! U两个LED分别指示闹钟与整点提示的开关状态。6 E" x& ] v- f* e! e4 ]! [7 u0 q
时钟输入后文再详细描述。
5 x7 M; u! H* R(三)仿真实验条件要求* y2 R4 I" b7 I) W
试验板为EDA Pro2K实验开发系统,仿真芯片用Altera FLEX10K系列的EPF10K10LC84-4。+ S8 u' C6 K( O0 Q ?3 g7 z
由于实验板有限,大部分仿真在计算机上用maxplus或其它软件完成。当认为运行比较理想时,要按照后文的管脚定义,分配好管脚,编译成可下载的文件,到实验室申请做下载试验。要求能够实现主体功能,实验结果存在的问题,要在报告中分板其原因。 |' v$ a) x! L+ r
二、详细功能及状态描述:- Z5 f* N, S# E, X
总体分四种模式,由Key3(ModeKey)切换8 z+ e5 e- d$ H) F
(一)时间显示模式:
& \" b& l E& W+ d/ w. N初始状态为24小时制显示当前时间:小时(8-7)/分(6-5)/秒(4-3),2-1位不显。设置为12小时制时,第1位数码管显示上午/下午,上午显示A(AM),下午显示b(如果自己控制七段码也可以令其显示P)2 c/ s4 Q& c! W8 ]: g; A
按Key2显示当前日历:年(8-7)/月(6-5) /日(4-3) /星期(1),第2位不显。释放Key2还原显示;* m! c% C) d" O6 f+ K+ o8 A
按Key1显示闹钟所定时间:24小时制下显示:小时(8-7)/分(6-5),4-1位不显。12小时制下第1位数码管显示A/B。' B3 K/ ?" G; ^7 t$ _, }
按Key3(ModeKey)进入下一模式:跑表模式+ F+ D* m! M1 m7 `. x
(二)跑表模式, p' u0 k* f/ e
状态机如下图所示:
9 ~& [# k- }+ f: l( n显示:小时(9-7)分钟(6-5)/秒(4-3)/百分秒(2-1)$ H7 o+ u9 | g1 B, O* Z2 h0 u$ `
按Key3(ModeKey)进入下一模式:校时/校日历
9 n# `# w% y, b! L0 z0 ~, ?8 m0 D$ d) r(三)校时模式3 g8 G a$ w- b4 {; U
按Key2进行调节对像选择; t s( A! F' k4 V
小时
! R9 u/ {2 s, T( o& x) _Key2
/ B4 U4 ?6 I) a# S3 { p--->
. y3 R5 e {; G% g: ~/ @# k分6 L! {5 X! B6 f. ^) Q/ P; S
Key20 a s1 T' F; w! {+ l
--->0 ^% T! {8 R& a4 d* q+ U/ J; @
秒6 N7 m/ f$ V P& \: z
清0
6 W) n5 L) {4 N9 O' A. @- NKey2
" n' n) |* B, I, s* U. B--->9 {" g' [ v; Y9 ~* }, X
24/12小时切换+ w. m) G! f# b7 ?' Y8 R i# j* A
Key2
8 r1 b$ i. \0 E( Q4 b) S--->0 k' b& G# X3 ]! t# i
年
( v3 h. a5 V3 @) @% T* PKey2/ X- g* O+ v: S, I( K
--->, z1 l. \! K8 P) D9 n
月
% L; `4 v2 j% g* A8 t7 A, b1 BKey2
0 W+ K! o$ a3 x0 t' A--->
& P! d" Z5 p i9 k7 R4 m9 j0 g) B日& M+ B2 _+ T& N1 @$ F5 k) F3 n6 S
Key2
# ~: g% _3 n S: j) l' Z- f/ ~--->' G! X& P) Q; [1 P% g" c
星期+ |1 ^5 N: w- k6 F1 {
Key2( `+ J1 g# n' y8 X9 P- H( g( K
--┐( c8 }+ D7 u7 N& ]' s3 _ n$ E
┘
# \+ m/ }9 O6 o6 J按Key1一下,所调对像加1(或秒清0),长按Key1一秒钟以上,进入快调模式,所调对像每秒跳变8-10次。设置某一部分时,要断开相关的进位链,如:正在调分时,应忽略秒的进位脉冲,并且满60的进位也不能影响到后面的小时。
2 o" |1 d, i+ ?+ \) Q; `, \: |按Key3(ModeKey)进入下一模式:闹钟设定 |
|