|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
实验的功能很简单,就是让4个数码管每隔1s递增显示,使用动态扫描的方式来实现。
0 g2 [# F) v* ]3 q9 `0 }0 T. s$ K$ O$ u7 n
( ~" N& S6 D+ p9 h: ~( b' Z从这个功能的描述可以看出,我们首先要写一个计数器模块,来让计数值每隔1s增加1,暂时实现的是16进制的东西,从0到f,之后10到1f等等。9 A6 d; z, P/ q t" L1 I
3 U9 e- @; _/ m( L
' @* F& G: T( p/ Y1 r0 ?$ Z2 s我们的实验平台的系统时钟是25MHz,不是25MHz的实验平台,可以通过PLL来分频或倍频得到25MHz的时钟。
0 ^0 O3 c5 c/ s$ T# w) \
. d5 A3 x, z5 y4 K* H1 B! G0 w+ e4 b% M) K% G, P
其次,写一个模块来控制数码管的位选和段选。
) w1 T+ V- W" i$ Y( o" h4 {. i
3 j$ \. y0 v( y' W7 n5 }, l- T3 D7 z( w
实验平台的数码管是共阴极的,也就是片选端低电平有效。
) Z5 {$ p0 I: D. j8 \7 ^9 w& g9 c1 Z' i5 }% v/ F
. O+ G* m1 S+ Z/ l
还需要注意的一个问题是:
2 Y3 N, r: ^4 L3 _' u0 K" S0 H2 s; l1 Q" ]6 {0 L
! f# W, R2 h" t8 U( P) r6 z. S( ~8 B2 X) x' K$ E
l7 h: d" _$ D1 P W6 G- X/ E) ^9 f% s+ \
) r* O1 V, G& I1 H% s( Y
' l* s5 q- e7 d: l1 c3 a! T/ }' Z, H4 i: v; `0 k
3 {' `; O0 w* z% W1 C# F0 l- B: x# P4 s7 [& n& ]6 y
5 V8 V( |4 u2 n8 S
: q" ~. w6 U5 n, e9 P" x- ^" X( \7 V* g8 x2 C9 S
6 E; f- r8 P, ^8 t9 b6 |
4 j' I6 H( P ?$ }" B. E ]5 g+ P, N& G$ q! e$ g$ f) O: F
7 |# S( w, |1 n8 ]2 c" C) Y
: i/ Q5 c. s2 |% k* T! R. P. ^4 D
" L' y$ D7 t( c' f# G9 Y/ H
* R# D# g, w, _3 l2 p8 k! Q5 N
1 }+ Q8 ?/ ?/ G& j- t
! f6 ^6 K5 @: ?' C. A- O6 x6 Q g
7 A. c3 y5 m( `1 u; o
9 W% P8 r2 i8 e2 `) G$ r$ q) G
, d: j* w2 ?$ f7 `1 `+ ]! m# c A& n: k" \ y2 {
$ g5 j5 s* M, k3 x+ K! W1 A3 y9 @' \: y
$ \" R& {5 q* S5 `/ t+ T
, p0 N1 b6 e0 Q! W8 N) c9 A1 O, U9 m* m: _
& h$ f* q! ]( v
! \% P; |8 j+ p% x
6 ~- ^, t$ ^/ {/ u- E
: p0 P8 h( y. P$ W* c6 Z' ] n0 c6 X9 t4 K: K; K5 a9 R3 {. O
& o3 X+ A3 w9 \4 S2 ]# A5 ^1 O
; p* g; m2 e/ W" F0 h
0 A& r5 l# @0 z7 u( N+ j/ y2 z% P* R
1 `+ N( s! l& P' S8 O9 L8 g
' g8 D2 c, V' Z, [% ?& U, z/ U( I* H% w9 y
8 `% d" ]0 f$ D: w
# D9 T. n0 y/ ^8 @+ E, I" A$ A i$ s( j+ R( Y( Q# d
4 D; K0 C4 D+ ^6 s8 {: j1 _" m! v9 y' K
+ c7 N- D2 N1 ^, Q0 h4 ~. V
# |5 A5 Y1 q+ T* O
# i* C# w2 Q/ [6 f) _' \7 X* ^! K O& N, D; c
! `0 i/ r% G3 L5 H2 d
- _+ ^5 s; V8 P8 U* p
|
|