|
include <reg51.h>
F' O( {' m% _+ z$ f1 M, `$ b. S& L* q#define uchar unsigned char
5 }$ w7 R* U. H7 { _#define uint unsigned int" r/ Q2 s0 D( ~. W! L
7 J3 x5 Y8 q3 U1 G: K/ V+ o8 Csbit INT1=P3^1;中断0
. M5 F& t; F, `: G: Wsbit FEN=P3^6; 蜂鸣器
2 h4 l5 O# i5 Y7 h* `. c& `) E& |& ~1 ?6 C
void delay(uint x)
" @+ q4 A( f% P( L% B6 B4 D{
9 |" D$ h. W/ o( q% B5 {0 I uint a,b;
8 l/ S7 U) W3 m0 c- g5 u0 }$ v! N for(a=x;a>0;a--)
& M1 y7 F" x4 M. u7 b for(b=10;b>0;b--); ( S" o2 V$ L6 k! o- d g
}. P1 e$ q# \+ Z
0 ^6 V6 B" D% F8 @+ g9 \
main()
( y+ Q; g- |+ D5 l; L- G% w{
5 k8 ~7 [" }1 B& }) T EA=1;//开总中断, `3 x+ P. l: w9 }( @
EX0=1;//开外部中断07 n' ?/ J( C! D* z) W! k8 c4 j
) H {* t" I$ ]% y( b3 o8 e# Z+ x while(1);8 M% u$ g9 v' J1 t' N
}" A3 }0 ?1 Y- M5 R! h; T. z" T2 ?; v4 }! q
void exter0() interrupt 0" p" f7 h& X' E, M0 G8 l0 \% l
{& i: s) ?, I) t/ D, o& F
FEN =0;: j! B9 `) ]' k! t0 L+ |2 t5 |
delay(1000);/ J- |8 _% b5 s$ ^) T
FEN=0;
* x+ R/ s* \# ]$ R}
2 z" p% m6 `$ O# _9 \7 K6 i, s' O n! P. ]5 h8 H- i
# i& I! u+ Y" b+ R |7 x
8 h# p0 v1 |) V
我忘了外部中断0的引脚了,记得好像是3.1,你回去查查,如果是就不用改了,不是就把这个引脚改过来,这个引脚接红外传感器的输出。 |
|