单片机c语言,改错后发代码谢谢
题目:由上位机发送1给单片机时,蜂鸣器以400ms频率发声,发2时以200ms频率发声,发3时以100ms频率发声,发4时关闲蜂鸣器。#include<reg52.h>s...
题目:由上位机发送1给单片机时,蜂鸣器以400ms频率发声,发2时以200ms频率发声,发3时以100ms频率发声,发4时关闲蜂鸣器。
#include<reg52.h>
sbit beep=P2^3;
uint temp,t0=0,flag=0;
void main()
{
TMOD=0x21;
TL1=TH1=0xfd;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
SM0=0;
SM1=1;
REN=1;
TR1=1;
beep=1;
EA=1;
ET0=1;
ES=1;
while(1)
{
if(RI==1)
{
RI=0;
//temp=SBUF;
P1=SBUF;
flag=1;
TR0=1;
}
if(flag)
{
TR0=0;
switch(SBUF)
{
case 1:
if(t0==8)
{
t0=0;
beep=~beep;
}
break;
case 4:
flag=0;
TR0=0;
break;
}
TR0=1;
}
}
}
void time0 () interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
} 展开
#include<reg52.h>
sbit beep=P2^3;
uint temp,t0=0,flag=0;
void main()
{
TMOD=0x21;
TL1=TH1=0xfd;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
SM0=0;
SM1=1;
REN=1;
TR1=1;
beep=1;
EA=1;
ET0=1;
ES=1;
while(1)
{
if(RI==1)
{
RI=0;
//temp=SBUF;
P1=SBUF;
flag=1;
TR0=1;
}
if(flag)
{
TR0=0;
switch(SBUF)
{
case 1:
if(t0==8)
{
t0=0;
beep=~beep;
}
break;
case 4:
flag=0;
TR0=0;
break;
}
TR0=1;
}
}
}
void time0 () interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询