找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3346|回复: 1
收起左侧

串口 求助 调试时不行 求高手指点

[复制链接]
ID:43084 发表于 2012-8-16 23:34 | 显示全部楼层 |阅读模式

#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--);
}

回复

使用道具 举报

ID:34608 发表于 2012-8-17 09:03 | 显示全部楼层

你也没说明具体问题是什么?不过我看了你的程序,如果你sbuf传送的值如果不是4的话,那你的beep永远执行不了啊

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表