标题: 这个单片机程序错哪了?编译连接也没出错啊 [打印本页]

作者: hejianliuchan    时间: 2020-8-20 14:24
标题: 这个单片机程序错哪了?编译连接也没出错啊
#include<reg52.h>
sbit beep=P1^5;
unsigned int count0=0;

void T0_Init()
{
TMOD=0x01;        
TL0=0x50;
  TH0=0xc3;             //50ms,12MHz
ET0=1;            
EA=1;
TR0=1;
}


void beep_Hz()
{
while(1);
}


void main()
{
beep=0;
T0_Init();
while(1)
{
     ;
}
}


void T_0() interrupt 1
{
TF0 = 0;
TL0 = 0x50;
TH0 = 0xc3;
count0++;
if(count0==40)
{
  count0=0;
  TR0 =0;
  TL0 = 0x50;
  TH0 = 0xc3;
  beep=~beep;
}
}

作者: 心有浮生    时间: 2020-8-20 15:22
看程序是没问题,但是出现的现象是啥?不响吗?还是一直响?
作者: xianfajushi    时间: 2020-8-20 15:29
裹脚布代码

  1. void T_0() interrupt 1
  2. {
  3. TL0 = 0x50;
  4. TH0 = 0xc3;
  5. count0++;
  6. if(count0==4)
  7. {
  8.   count0=0;
  9.   beep=~beep;
  10. }
  11. }
复制代码

作者: yoxi    时间: 2020-8-21 10:27
本帖最后由 yoxi 于 2020-8-21 15:13 编辑

拿去不谢
#include<reg52.h>
sbit beep=P1^5;
unsigned int count0=0;

void T0_Init()
{
        P1 = 0;
        TMOD=0x01;        
        TL0=0x50;
        TH0=0xc3;             //50ms,12MHz
        ET0=1;            
        EA=1;
        TR0=1;
}


// void beep_Hz() //两括号都不一样,你还说能过?
//{
//while(1);
//}


void main()
{
        beep=0;
        T0_Init();
        while(1)
        {
                ;
        }
}


void T_0() interrupt 1
{
        TF0 = 0;
        TL0 = 0x50;
        TH0 = 0xc3;
        
        count0++;
        if(count0==40)
        {
                count0=0;
                TR0 =0;
                TL0 = 0x50;
                TH0 = 0xc3;
                beep=~beep;
        }
    TF0 = 1;
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1