|

楼主 |
发表于 2009-8-31 19:21:18
|
显示全部楼层
多功能数字钟设计+ H: C* I" R/ A. g' o( Z" i
一、设计任务:2 B4 S0 c1 a) @4 B
(一)主体功能* {' @/ F2 L g4 k: B; d4 E- r
用HDL设计一个多功能数字钟,包含以下主要功能:/ A" M% U+ Z3 V
1.计时及校时,时间可以24小时制或12小时制显示4 C {# \" V- V0 s6 C
2.日历:显示年月日星期,及设定设定功能$ {' D: u+ M% n" N. f
3.跑表:启动/停止/保持显示/清除
8 [' t) T- O3 O* ]8 X6 h) }) z4.闹钟:设定闹钟时间,整点提示
1 {! p: ], N3 }(二)输入输出界面
( @+ A" A: l% h- e' J8 h* N输入:时钟输入,三个按键& p" D% a& w9 E6 m
输出:8位7段码,2个LED,一个蜂鸣器5 t3 w/ b# [; Z- {
三个按键从左到右为:Key3、key2、Key1,功能在不同模式下定义不同: c+ A4 U1 H' F, O2 `/ p
Key3:模式键ModeKey,
Z$ c( m' P; [Key2:日历显示/设置选择键SetSelKey/启动与停止键StartPause,; ^: a$ O: a @
Key1:闹钟时间显示/设置键SetKey/显示保持键HoldReset
4 @! R; o- R& o! A: r4 O. C8位7段码从左到右编号为8-1
) s- x. H0 p* {; ~; j: B2 E/ F━& i7 ^1 @3 L. p5 k( {
┃ ┃" N+ s i5 B, ?- m; a
━
, \+ W9 Q2 i5 [4 o( j7 r┃ ┃9 ^9 g0 o Y- B! [2 p
━$ [0 g r! Q" }( c
━- X0 v( b0 z9 W) f6 C6 n) o6 ~9 H+ f
┃ ┃& ?- |9 m0 P" Z7 `
━ N# G5 X8 h9 F6 P. k( P
┃ ┃5 {; D- @( ^4 h. D/ \1 N6 l
━$ s4 d4 I! @0 q) R- S' }
━3 X6 w s* U$ X w0 N
┃ ┃6 `; x; Q$ J/ \1 |. w: Q. P$ I
━
( o9 @$ r" k1 I┃ ┃, b4 V/ }6 j/ u; Z, y
━0 {. }/ N$ S" ~- p
━
7 z7 T' @# C# j, F┃ ┃+ v! Q( _# d, o' Y; @
━! i3 M+ y1 W( ^8 G1 g6 ~
┃ ┃! _0 k. f- W% v6 l; V6 _0 W: a/ S
━- q" u9 \$ _/ R& s
━
$ \( `% P$ D% f# _┃ ┃* }6 M# q% ?# k5 m0 P
━( `& M- g$ J& m/ _- `
┃ ┃& x+ l, _4 C6 o0 s) `/ H' y4 M: q
━
, K8 z- w& X& g: d1 e6 f# H━
* e1 { e( `7 t+ M: `, q8 k& Q┃ ┃
3 ?) u8 A @, Q0 p I) O' y━
1 w8 h+ X) l4 t: |$ J┃ ┃
" e* t: w8 w) X' w: L━
- \8 p2 f6 e* A: ]6 N: h" b━# v; G2 s1 c2 X2 M5 o' z8 E9 V: N
┃ ┃$ ]/ d" D4 S8 N0 q
━3 Y% s& o2 P; A+ d' r/ @
┃ ┃
3 K4 T2 P9 V4 ]# J& \━3 c$ A( N |- p" k V% D+ X
━1 e. s" k# F: j& C
┃ ┃8 _& G2 j* _- u; @- B1 k
━
# N O6 J9 I) k. k' I& y┃ ┃
+ x m, h4 X1 P9 A━
4 j7 W2 q& z1 B9 S" h6 h( Q87 E+ ]4 m! C) T" M' r) M
7
4 {1 ^" Y; g9 B5 O/ c+ g6 E6, _) f8 ?) g! v
5
4 r8 {4 J; [ n+ Z% d41 z& P% m6 t5 b; [* b
31 Y% V j2 R" T- Q+ g5 K u5 v
2
) |' R( |) `/ E) e1
' q* h: n+ S! _两个LED分别指示闹钟与整点提示的开关状态。7 n. s2 ~- g5 | C# Z' r6 K) D
时钟输入后文再详细描述。
7 C0 M% z* D& k V(三)仿真实验条件要求! `$ v, g! J+ J
试验板为EDA Pro2K实验开发系统,仿真芯片用Altera FLEX10K系列的EPF10K10LC84-4。
/ S: U9 t% l, {9 a, O- t3 K由于实验板有限,大部分仿真在计算机上用maxplus或其它软件完成。当认为运行比较理想时,要按照后文的管脚定义,分配好管脚,编译成可下载的文件,到实验室申请做下载试验。要求能够实现主体功能,实验结果存在的问题,要在报告中分板其原因。" J. o& Z" i' t- @ \' F6 i
二、详细功能及状态描述:
# [3 k! `9 \9 [" \0 f) t8 G+ a( L总体分四种模式,由Key3(ModeKey)切换- K6 v$ I( ]8 ^4 y
(一)时间显示模式:+ ~- c7 z8 @: D" ^' n2 k
初始状态为24小时制显示当前时间:小时(8-7)/分(6-5)/秒(4-3),2-1位不显。设置为12小时制时,第1位数码管显示上午/下午,上午显示A(AM),下午显示b(如果自己控制七段码也可以令其显示P)6 g5 ?) @4 s# ^
按Key2显示当前日历:年(8-7)/月(6-5) /日(4-3) /星期(1),第2位不显。释放Key2还原显示;
$ s9 w$ O' |- b4 W: G按Key1显示闹钟所定时间:24小时制下显示:小时(8-7)/分(6-5),4-1位不显。12小时制下第1位数码管显示A/B。
- A: _4 I3 b" a) W& m% _$ R按Key3(ModeKey)进入下一模式:跑表模式
. {* ]- P* o1 a6 y(二)跑表模式' n0 C; g# A! K7 X7 n
状态机如下图所示:
7 I1 O7 f' Q2 t9 O" N显示:小时(9-7)分钟(6-5)/秒(4-3)/百分秒(2-1)# l( C+ @, [7 J# x% m0 K! s
按Key3(ModeKey)进入下一模式:校时/校日历
u( t! F3 r1 _- ~, U7 K( [(三)校时模式
( C& Q8 n9 d; ^, M& O按Key2进行调节对像选择
# T$ }8 Y! S% ~3 e: Y小时/ ?2 C( P- z$ x1 a
Key2. C! v& z j4 m5 a; C$ C8 e
--->) T7 w$ S& v2 q) k$ o
分
# |$ U9 k4 B2 F$ eKey2
' D% o+ j Y7 C1 R5 L$ Z--->
8 O& k- L4 M5 i7 c7 ^, t秒
% B; o7 @' D7 G* E! a7 K% `, `清0
+ P* \/ s4 K7 n. y7 VKey2, o/ u1 y# }1 M3 e0 v4 U
--->
( }% w# y% s5 z5 c* m+ u& H0 h24/12小时切换
" @% E1 p. z zKey2! Y& K' M3 N( _% v& @$ }" I
--->
0 |, q. D8 z& u H0 R# t+ z年/ u7 @- s. K# |- S
Key2
4 k" \- t8 K2 U--->, Z- K+ p; S* p1 Q$ T5 t& R7 |( T1 x
月
v4 `) S: U, E; |0 `8 K# d* jKey2
- @2 L! t4 b0 n2 M0 K1 {. s--->; O P0 v9 J" K1 P4 L6 L' r }
日
0 t! G' ?* E% W5 b* {( [$ [2 xKey2 B @ R0 J; N6 a! b- L
--->
: g+ ?7 y# A% o2 _8 p; M, X星期4 m. {; t7 p1 k9 g$ p! O& d
Key2
4 f3 f! N5 e7 D* N--┐
! n9 p7 _ D# W; O┘! Z- s7 y: {! {/ Y
按Key1一下,所调对像加1(或秒清0),长按Key1一秒钟以上,进入快调模式,所调对像每秒跳变8-10次。设置某一部分时,要断开相关的进位链,如:正在调分时,应忽略秒的进位脉冲,并且满60的进位也不能影响到后面的小时。; T! [* U$ o1 w$ C
按Key3(ModeKey)进入下一模式:闹钟设定 |
|