|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
/*****************************************************************************************
' G6 c1 L7 M1 i% o1 g* *
# ^1 ]# d; f7 a* LED点阵实验(流动显示1 2 3 4 5 6 7 8 9) *
. J r6 L+ [& V- O# K0 ]* 说明 通过P0 和 P2 作为点阵接口 *. `* j8 R- o! |3 _) l' O
*要求学员掌握 LED点阵的工作原理和 各点阵脚的定义及接法,具体接线请参考接线说明 *# W' T2 u. G8 [* Q; j1 B
*我们采用的LED点阵式是低功耗,在做实验时可以用单片机脚直接驱动 *
9 f9 k- s* o7 J. G8 w2 E V$ q3 \6 |7 H, D0 p
74HC573资料 http://wenku.baidu.com/view/7447a923482fb4daa58d4b18.html
& _2 I% ]: V, Z: e$ \) X' L: D" Z- g 当LE使能为VCC高时 为透明 输入多少输出就多少 8 ~9 U& t5 R/ C! @. w
当LE使能为低时 建立时间 保持时间的数据被锁存 C; {+ A' {6 |% W9 r+ Q: ]
J20--J8 P1控制红色 J19--JP11 P2控制绿色 J12--J10 P0控制阳极 2 C& p( J" l/ a& F! H
1 u. c8 S4 L5 {7 L# N6 g4 w3 }' F******************************************************************************************/2 {! e4 E6 B" I1 ^! T
`" e' o' H" F4 [9 z4 S# U
! w' R" ^- V9 g9 l2 S: y$ M, M#include5 P& s8 c2 ~- t. }
! M& g; v& j$ _
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
: I* A2 o T, [* v0 ?2 i1 @; \. S$ \% g0 l5 h
5 |. W$ b8 |* r2 @. n
unsigned char code digittab[7][8]={
' F: H! y4 ~% S+ t6 U" d
6 w0 n: v) E$ ~: l4 ~ a1 {{0x00,0x7e,0x40,0x40,0x40,0x40,0x00,0x00}, //l& }3 b2 L" F- T8 o
; D. m. O: s( [1 k, R- P
{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //o
. @# C# V8 k; d9 `9 ]: Y' z/ l3 T0 T$ Q6 _
{0x00,0x02,0x08,0x20,0x80,0x20,0x08,0x02}, //v h- t4 U0 ]$ R& d! B( o$ A
7 U* C+ j# g" R8 V{0x00,0x7e,0x49,0x49,0x49,0x49,0x49,0x00}, //e
) k0 B! @7 C9 F. d
; s! I( a$ y' X# H{0x00,0x7f,0x02,0x04,0x08,0x04,0x02,0x7f}, //m: Q* U6 R6 |. f5 C% @
5 q: x% ]2 I* n+ u& A. R: H1 P: c
{0x00,0x00,0x3E,0x41,0x41,0x62,0x00,0x00}, //c9 q4 c C1 C3 i$ D8 ` G
6 [' ~/ B* P7 p6 Y3 o
{0x00,0x2f,0x40,0x40,0x40,0x40,0x2f,0x00}, //u
* m1 J8 U$ _2 v- E- @3 A
' C: f- Z7 f$ |, O+ m# r( U. h- J};
4 l% C! H9 p; u( J8 S* V) K' o% D/ U2 k) m
unsigned int timecount;
' j8 \! q9 D. a" a0 |9 e8 f9 b$ g7 U1 Y
unsigned char cnta;7 J/ I9 V( z4 H9 n& k. T; @
- X, ^' I" g, H& R2 Zunsigned char cntb;
- {7 F$ _: C7 S% @& W& l: s7 u( L: y% H. ^4 P. R( ~# U; U
void main(void)
% B- L Z0 j8 q! M: x
+ [* y& T8 @) `{
/ P" L$ e4 k/ W; E5 t/ X7 O1 E; E, i9 P N" X; x/ z; w
TMOD=0x01;* ^: U" N( D0 F& k3 ~: I* V6 Y( c
! \5 U; z2 M2 k$ v& X% j
TH0=(65536-3000)/256;
0 q1 Y. z& U9 O! q8 D
. u; u" M3 c8 |8 ~' Q2 R- I& \TL0=(65536-3000)%256;
) V, W: ]# |! b7 w
u1 f; K! t4 a6 h& G. yTR0=1; //开启定时0, A. X4 X F0 c5 ?* N! q- H
ET0=1;
. U3 p; A3 \0 Q9 g1 L! p" h8 m# S4 n
EA=1; //开启中断
" v) e5 e4 Z$ U2 e3 d8 q7 t2 n5 v. R
cntb=0;
2 L2 I; A2 U& \" f- c$ I6 |9 M& B! N # p% k! a3 ~+ b9 _7 b, z2 O$ F
while(1)9 V1 F4 z8 ~3 j Y( h* H& Z$ w
: l( w, \0 A- C( N" E
{ ;, I& V g' I, K6 l( h1 \
' ]; L K: I! ^; N) I/ v}
* s- s' j- n9 k% Y3 d( X) X4 ~* H* j: Z
}
- g# o0 T/ ~& [- c( X- n3 k( f1 `' x) v! H0 Z6 ^9 b
6 [" y5 L r- E% k5 S7 |2 ?/*************************************************# j1 m5 b6 g! }6 u* x9 l9 ]
*( u. x. d+ x4 ?
* 定时中断
5 q" h! t. h; |4 b" @********************************************************/
( f6 O; F+ K- B( j* |1 e- \9 v* Rvoid t0(void) interrupt 1 using 0- E0 Z' B& y# ^4 m0 M
{: _ L3 c6 M0 H6 A
1 P N/ T$ T6 K1 c9 ^& O- n
TH0=(65536-3000)/256; //定时器高位装载数据) b0 ]- y2 v* l, \
TL0=(65536-3000)%256; //定时器低位装载数据
# ~0 g8 i$ q. J4 [' w; a) p
$ v9 t5 X$ X) f2 q4 ]( a P$ f if(cntb |
 手机扫码浏览
|