51程序求大神

qilinjj77   2011-11-22 17:51 楼主

 

由上位机发送1给单片机时,蜂鸣器以400ms频率发声,发2时以200ms频率发声,发3时以100ms频率发声,发4时关闲蜂鸣器。

  不知道为什么蜂鸣器不响

 

 

 

 

 

 

 

 

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar aa,tt,flag,temp;
sbit deep=P3^4;
void init();
void main()
{
 init();
 while(1)
 {
  if(flag==1)
  {
    flag=0;
    ES=0;
    SBUF=temp;
    while(!TI);
    TI=0;
    TR0=1;
      if(temp==1)
      { if(tt==8)
       {tt=0;
    deep=!deep;}
       
      }
      if(temp==4)
      {
        if(tt==20)
       {tt=0;
    deep=!deep;}
       
      
      }
      if(temp==2)
      {
         if(tt==10)
       {tt=0;
    deep=!deep;}
       
   
      }
      if(temp==4)
      {
        TR0=0;
       deep=1;
   
      }
      ES=1;
   }
 }
}
void init()
{
   TMOD=0x21;
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   TH1=0xfd;
   TL1=0xfd;
   TR1=1;
   SM0=0;
   SM1=1;
   REN=1;
   EA=1;
   ET0=1;
   ES=1;
   deep=1;
   flag=0;
   tt=0;
   temp=0;
}
void time1() interrupt 1
{
 TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
 tt++;
if(tt==11)
   tt=0;
}
void ser() interrupt 4
{
 RI=0;
 temp=SBUF;
 flag=1;
}

回复评论 (3)

回复 楼主 qilinjj77 的帖子

第一确定硬件是好的,然后再调试通信
点赞  2011-11-22 18:15

程序有什么问题吗  硬件是好的

点赞  2011-11-22 19:55

回复 板凳 qilinjj77 的帖子

初始化就有问题,你看一下
点赞  2011-11-23 19:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复