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

[复制链接]
2628|3
 楼主| wuwei1029 发表于 2010-2-3 15:31 | 显示全部楼层 |阅读模式
本帖最后由 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);
        }
     }
    }


}

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zds0901 发表于 2010-2-3 15:52 | 显示全部楼层
你P=0这个地方有问题,是小写而不是大写
 楼主| wuwei1029 发表于 2010-2-3 16:11 | 显示全部楼层
2# zds0901

我晕菜!!   感谢这位大哥看的这么仔细!我太粗心了
反质子 发表于 2010-2-3 16:49 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部