|
#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;
}
}
///////////////////////////////////////////這是一個(gè)單片機(jī)響應(yīng)手機(jī)藍(lán)牙發(fā)出命令的程序(手機(jī)可以發(fā)出0,1,2,3供單片機(jī)接收)。目的是為了完成高電平分別持續(xù)2.28ms,1.37ms,0.47ms。可是結(jié)果卻不是。能否找出程序BUG.
|
|