標題: 串口 求助 調(diào)試時不行 求高手指點 [打印本頁]

作者: mishu    時間: 2012-8-16 23:34
標題: 串口 求助 調(diào)試時不行 求高手指點

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^3;
uchar aa,num1;num;

void init();
void delayms(uchar);
 
void main()
{
init();
while(1)
 {
 
 if(RI==1)
   {
     RI=0;
  aa=SBUF;
   }
 
   if(aa==4)
   {
     TR0=0;
   }
  if(aa!=4)
    {
  TR0=1;
   switch(aa)
     {
      case 0x01:
    num1=8;
    break;
   case 0x02:
   num1=4;
   break;

   case 0x03:
   num1=2;
   break;
  
    }
    num=num1;
 }
 }
}
void init()
{
TMOD=0x21;
  TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;
 
  TH1=0xfd;
  TL1=0xfd;
  EA=1;
  ET0=1;
 
  REN=1;
  SM0=0;
  SM1=1;
  ES=1; 
}

void timer0()interrupt 1
{
 TH0=(65536-45872)/256;
  TL0=(65536-45872)%256;
  num--;
  if(num==0)
  {
    num=num1;
 beep=1;
 delayms(10);
 beep=0;
  }
}
void delayms(uchar xms)
{
 uchar i,j;
 for(i=xms;i>0;i--)
 for(j=110;j>0;j--);
}


作者: zuoluo    時間: 2012-8-17 09:03

你也沒說明具體問題是什么?不過我看了你的程序,如果你sbuf傳送的值如果不是4的話,那你的beep永遠執(zhí)行不了啊

 






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1