|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
为什么无源蜂鸣器一直响个不停。因为定时器都被占用,只能用延时实现响的时间
, `, m% O8 |3 J3 Q/ }( f) K$ X. l, t: O* R0 H; a" ]% m
#include <reg52.h> //器件配置文件( C7 e1 |5 R s6 K5 d
' B) _. |8 u: j5 H$ u. w6 X, J' H
9 M S5 I' Z4 w: E7 {3 [% a sbit SPK=P1^0; //蜂鸣器引脚
! x% n$ E& L# ]* i4 |
) P$ a* c c9 G1 r* a/*********************************************************/: O. Y$ z2 H: X) o r
void delayus() //延时函数,
0 \% a& P9 G0 A3 o{
. A1 q5 R F0 Cunsigned char i;" K" }+ K' J9 c' H
{$ Z7 q" L7 Y; \! ?' X v
for(i=0; i<7; i++)
* L3 I& M% F! z6 k {;}7 M0 @- Z& E/ F( X7 b; F7 q* ^0 F
}% r3 b) ?' F+ m% C
}
$ A) `. e, R4 e! a+ W( w# V8 J0 N
- W7 e+ }) Z0 P1 k+ T+ r, n8 C/ F/*********************************************************/
) B* s4 K$ ^# f$ T0 _- ^, Y
: K5 O$ q+ L b+ Tvoid main( void )
9 e( B7 n S! S* T' H: B1 f{ & P+ {( I3 j: X3 a( D/ {; S1 w
unsigned int j;1 W- h3 S0 a9 w& w! C8 |
7 ^) r" B: J% U7 V( k SPK=0;
/ }" Z7 ]7 d1 n4 X2 h j = 60;
+ l& W J+ n7 {4 ^2 M$ F; J8 c while(j>0)
. q# ?; H: j Q+ E8 v" {! E. B6 z1 U8 Z2 ^ { }* y. q+ I, ~
SPK = 1;3 S! e% Y+ _6 V' _9 K. z3 L
delayus(); //高电平; J2 g2 p, u. U; ^) z
delayus(); & G9 `* U ^' `& A5 k3 P4 S
/ E: s/ t" I# @4 n+ _
SPK = 0;
. q/ m4 l$ Z: t- L, e delayus(); //低电平
! B6 W* ^; q* V4 u5 q2 i delayus(); ) e7 Z5 h+ Y2 ]" @; B
% e- K- X r7 j6 T { j--;
7 d( k; `6 Z& T/ I+ p! w, N8 ^ }
& O9 v# D! O M) j7 t1 N
5 r! f7 a: W3 m}
; M- S" M; F+ Z$ @, X- |$ R |
|