level 7
Chihson
楼主
原本设定了通过串口助手发送信息之后才会响蜂鸣器,但是一旦下载完它就响了,而且按了复位键之后就没有响,功能恢复正常,请问为什么会这样子呢?我看到郭天祥视频里面也会遇到这个情况,但是视频没有说明清楚是为什么.
代码如下:
#include<reg52.h>
unsigned char flag=0,num=0,a,beep;
sbit FM=P2^3;
main()
{
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
TH0=0x4c;
TL0=0x00;
TR1=1;
SM0=0;
SM1=1;
REN=1;
ET0=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
flag=0;
EA=0;
TR0=1;
if(a==*1*)
beep=8;
if(a==*2*)
beep=4;
if(a==*3*)
beep=2;
if(a==*4*)
{
TR0=0;
FM=1;
}
EA=1;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
void fm() interrupt 1
{
TH0=0x4c;
TL0=0x00;
num++;
if(num>=beep)
{
num=0;
FM=~FM;
}
}
2014年08月14日 16点08分
1
代码如下:
#include<reg52.h>
unsigned char flag=0,num=0,a,beep;
sbit FM=P2^3;
main()
{
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
TH0=0x4c;
TL0=0x00;
TR1=1;
SM0=0;
SM1=1;
REN=1;
ET0=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
flag=0;
EA=0;
TR0=1;
if(a==*1*)
beep=8;
if(a==*2*)
beep=4;
if(a==*3*)
beep=2;
if(a==*4*)
{
TR0=0;
FM=1;
}
EA=1;
}
}
}
void ser() interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
void fm() interrupt 1
{
TH0=0x4c;
TL0=0x00;
num++;
if(num>=beep)
{
num=0;
FM=~FM;
}
}