|
#include<reg52.h>4 N: K% P- k- W
#define uchar unsigned char
, I. r, }# A2 w! F5 z' muchar count;
8 M1 J/ d+ Z% K8 l* Q" K) x( {0 [/*定时器中断初始化*/+ z: i9 n, A# t& T5 r4 J0 Z
void inint()
' j! d0 W1 _: u8 S8 x{9 [, y! h5 N5 Y: k q( k3 n
TMOD = 0x10;//选择定时器1# s* d( v3 d, I9 y; L) v# d
TH1 = 0x4b;2 u5 n. `' s1 |4 ^
TL1 = 0xfd;//定时50MS
6 |, }: Y6 ]7 E% n) F7 B3 v0 f TR1 = 1;/ }2 ]: Q5 z4 b9 h3 W2 @1 e1 _2 J
ET1 = 1;
- m9 y2 y7 f y Q0 i' ~ EA = 1;
* o7 }0 s2 A4 L- O2 Z}
$ u8 Z; E' j& Nvoid main(void)
( G+ Z" z1 k% p5 z- ]1 f+ C0 C t{+ w3 U( A5 x8 [" p: j3 h
inint();* C7 X, [1 v3 ~
while(1);7 \3 _3 q" I. K, r; [# k0 @) y
}
5 X# ^: L' f7 D2 t/*定时器1中断服务程序*/$ ?! W( X6 b: f$ {
void timer1() interrupt 3' y% ]' |8 a. M, t
{ , U7 E' [5 e! g
TH1 = 0x4b;1 D* F+ _) u; N, y K1 S) D
TL1 = 0xfd;8 A2 q1 F( h) U: H' `/ G
count++;/ `$ F' y+ b5 l- O7 |! Y
if (count == 20) P- B( w. y0 q2 l* u% t: `
{
0 e5 f8 q# [0 n* a$ { B# m P1 =~P1;
$ |: v/ N9 ~) W count = 0;0 S: G' d; b4 [5 u
}
& H$ ]5 f; X2 K" a( ^! Z. D} |
|