打印

定时器0做的门铃程序有点问题! 只能响一下

[复制链接]
1703|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 wuwei1029 于 2010-2-3 15:33 编辑

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit Key = P3^3;
sbit DoorBell = P2^0;
uint p = 0;

void delay(uint x)
{
     uchar i;
    while(x--)
    {
         for(i=120;i>0;i--);
    }
}


void Timer0() interrupt 1
{        
     DoorBell = ~DoorBell;
    p++;
    if(p<400)
    {
         TH0 = (8192-700)/32;
        TL0 = (8192-700)%32;
    }
    else if(p<800)
    {
         TH0 = (8192-1000)/32;
        TL0 = (8192-1000)%32;
    }
    else
    {
         TR0 = 0;
        P = 0;
        DoorBell=1;
    }
}

void main()
{     
     IE = 0x82;
    TMOD = 0x00;
    TH0 = (8192-700)/32;
    TL0 = (8192-700)%32;
    while(1)
    {
         if(Key == 0)
     {
        delay(5);
         if(Key == 0)
        {
             TR0 = 1;
            while(Key==0);
        }
     }
    }


}

我的门铃程序有点问题!按键 响一下“叮咚”。再按就没声音了
好像不能进入中断了,大虾们看看哪里有问题

未命名.jpg (75.13 KB )

未命名.jpg

相关帖子

沙发
zds0901| | 2010-2-3 15:52 | 只看该作者
你P=0这个地方有问题,是小写而不是大写

使用特权

评论回复
板凳
wuwei1029|  楼主 | 2010-2-3 16:11 | 只看该作者
2# zds0901

我晕菜!!   感谢这位大哥看的这么仔细!我太粗心了

使用特权

评论回复
地板
反质子| | 2010-2-3 16:49 | 只看该作者
:lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

0

粉丝