#include<reg51.h>
sbit P1_1=P1^1;
unsigned char q;
void delay(unsigned int ms)
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<20;j++);
for(j=0;j<5;j++);
}
}
main()
{
EA=1;
ES=1;
SCON=0x50;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
do
{
P1_1=0;
delay(60-q);
P1_1=1;
delay(q);
}
while(1);
}
void lanya(void) interrupt 4
{
unsigned char h;
RI=0;
h=SBUF;
if(h==0)
{
q=50;
}
else if(h==1)
{
q=10;
delay(600);
}
else if(h==2)
{
q=30;
}
else
{
q=0;
}
}
///////////////////////////////////////////這是一個單片機響應手機藍牙發出命令的程序(手機可以發出0,1,2,3供單片機接收)。目的是為了完成高電平分別持續2.28ms,1.37ms,0.47ms。可是結果卻不是。能否找出程序BUG.
|