|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
/*****************************************************************************************
7 A/ n* `! v7 }. m# G$ `* *
- n ^4 K6 C' z1 p' C! j0 ~* LED点阵实验(流动显示1 2 3 4 5 6 7 8 9) *
: y3 C4 Q- l, p. w* 说明 通过P0 和 P2 作为点阵接口 *; j+ \; R- m. ]4 Y- W( d1 L
*要求学员掌握 LED点阵的工作原理和 各点阵脚的定义及接法,具体接线请参考接线说明 *3 }6 A6 s3 C! C/ ?" A+ N. a
*我们采用的LED点阵式是低功耗,在做实验时可以用单片机脚直接驱动 *3 S3 O1 |, C) t$ \7 N& E! F
/ \- S/ R& @- I4 _8 |0 h0 z
74HC573资料 http://wenku.baidu.com/view/7447a923482fb4daa58d4b18.html5 P! F# {! W2 L: O
当LE使能为VCC高时 为透明 输入多少输出就多少
( {" G F$ m4 d0 p) v+ C* v 当LE使能为低时 建立时间 保持时间的数据被锁存
- P2 J( {9 J# L' x! ?/ P2 O8 X J20--J8 P1控制红色 J19--JP11 P2控制绿色 J12--J10 P0控制阳极 * h' q. s3 X9 e5 g8 B3 a5 C7 g: W
$ F. R: L) r4 f( O7 w******************************************************************************************/+ r; M$ P. w, I( q5 i
" T) D9 W9 E; P6 @) G4 `0 K0 s+ c' B! b: a- b: U! h+ V
#include
& g) @! s% b' ]: f% q9 l2 Y9 M9 n& k
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};9 F) V' d g( F6 R+ }
1 h \, J' O( [! C* d) b
& \. p8 d1 } r' c n% r6 T# F
unsigned char code digittab[7][8]={
4 @( t! g" m* I. W; U m6 k
, H v! B+ _: C{0x00,0x7e,0x40,0x40,0x40,0x40,0x00,0x00}, //l9 [, L' _% l7 e- y
1 }8 Z2 n5 H+ N* ]
{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //o7 l3 c. d0 I0 T/ ]. t
; _$ X2 d6 J) X& B4 U5 F5 T{0x00,0x02,0x08,0x20,0x80,0x20,0x08,0x02}, //v; \ N2 y9 j( i! v" c* ?! L5 p
. d0 \, a; |, `{0x00,0x7e,0x49,0x49,0x49,0x49,0x49,0x00}, //e3 _3 I8 M+ ^' g2 D" k/ |6 g" Q5 Y! M
/ c" ~+ Q# f" Q: g4 J; \9 h. G
{0x00,0x7f,0x02,0x04,0x08,0x04,0x02,0x7f}, //m' E: q C& _6 P) a9 }; B- m3 Y% t
6 r! u/ w6 T7 m: W' e8 [6 s4 c
{0x00,0x00,0x3E,0x41,0x41,0x62,0x00,0x00}, //c/ M6 z% n5 z4 g
! \" I4 Y- G4 l' |) G( W- k8 @{0x00,0x2f,0x40,0x40,0x40,0x40,0x2f,0x00}, //u2 Z" r8 \& ?! C4 l# k5 k. C
. P4 A2 i$ ~+ T$ ]- j/ r) T8 [! _
};7 ^4 |2 }, B3 ~- K& I
+ y |1 S1 s5 V }
unsigned int timecount;
9 V8 V- W3 u9 h1 y1 s( T5 I
0 @8 K6 I8 m) u' Tunsigned char cnta;* W5 ]7 D9 G; T* {
( A+ b- a# E- n3 K9 Q+ _' kunsigned char cntb;" i" s; ~; v8 G
0 C, Q- \' d" B6 A* Svoid main(void)$ C" A; |! |$ ]% a
* T, d$ Z! D- _5 N |- f4 A{4 t8 g A) a6 p' l
* x$ _% j4 x* U% h/ FTMOD=0x01;+ J+ ?( k9 v& p$ ^
5 j6 H6 K7 ^1 f- V4 w# P9 cTH0=(65536-3000)/256;% r6 a/ a: [# d' U! k7 S) E- n
+ U! P+ @+ ?- TTL0=(65536-3000)%256;% u& \# t/ g( l/ I9 }
' h4 S4 i7 X/ P4 _# W: u7 |
TR0=1; //开启定时0
6 W( n9 h' g+ o7 M$ lET0=1; $ Y; Q; l# V7 t3 s
: F- Y( i: r4 I5 e6 B, ?
EA=1; //开启中断+ L. b2 i7 b- {, G
2 }; X" w( A+ w. D# p
cntb=0;! t/ G6 \" |, y5 i, ]' R* q
, o* o1 f/ x" a: \8 B- h
while(1)# l4 c8 L4 D* M$ Y
- L4 {: X3 X1 Q! c' o6 G{ ;) M; ]5 C+ n. v1 ` e7 _, p
; N" j* X2 W/ Q- O0 i
}' J: X4 S0 n3 y' }( j2 J
1 i7 X8 N, _3 a o- R6 Z}7 N" x" [# X% v7 P0 t* D3 @
( U9 q; Y; r N2 p
( A: E1 X4 `7 |/ |$ T7 r/************************************************** \* D" B: ]2 _) J5 s) e
*1 o- s8 a5 I2 M/ n7 @9 B
* 定时中断( X5 c, B0 W5 r2 H
********************************************************/ ! V7 ^* `9 a# S3 M. L
void t0(void) interrupt 1 using 0
' k3 W! J. o6 z! S# c{
: k! b% w9 B ~2 C8 y; J8 ]$ q
" A% f& h1 }4 f# c- f, L TH0=(65536-3000)/256; //定时器高位装载数据. q9 |7 m1 [: }$ p
TL0=(65536-3000)%256; //定时器低位装载数据9 A0 Z* @1 D2 z/ n: g7 n" n6 L
; E `1 z' U) R; T
if(cntb |
手机扫码浏览
|