打印

请教89S52掉电问题

[复制链接]
1764|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ljolove|  楼主 | 2008-3-6 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己写了一段程序,大家给看一眼
#include<reg52.h>
#include <intrins.h>
#define LED_ON 0xfe
#define LED_OFF 0xff

void delayms(unsigned char ms)    
// 延时子程序
{                        
    unsigned char i;
    while(ms--)
    {
        for(i = 0; i < 120; i++);
    }
}

main()
{
    unsigned char i;
    EA=1;
    EX1=1;
    EX0=1;
    IT0=0;
    IT1=0;
    for(i=0;i<10;i++)
    {
        P0 = LED_ON;
        delayms(250);
        P0=LED_OFF;
        delayms(250);
    }                    

    PCON=0<<1;//程序到这里都运行正常,也可以被外部中断唤醒
    for(i=0;i<10;i++)
    {
        P0 = LED_ON;
        delayms(250);
        P0=LED_OFF;
        delayms(250);
    }
                
    PCON=1<<1;//运行到这里的时候然后再按按键就没反映了
    for(i=0;i<10;i++)
    {
        P0 = LED_ON;
        delayms(250);
        P0=LED_OFF;
        delayms(250);
    }                    
    PCON=1<<1;

    while(1)
    {
        P0=LED_ON;
        delayms(250);                    
        P0 = LED_OFF;
        delayms(250);
    }
}
这个程序就是想看单片机掉电后是不是能被外部中断唤醒,我在INT0上接了一个开关,可第一次能唤醒,等再次掉电的时候程序就不动了,应该是死机了,请问大家出现这种情况是什么原因啊,谢谢大家了!!!!

相关帖子

沙发
ayb_ice| | 2008-3-6 19:01 | 只看该作者

S52进入STOP模式应该只能通过RESET唤醒

使用特权

评论回复
板凳
ljolove|  楼主 | 2008-3-6 19:15 | 只看该作者

RE

不会,还可以通过外部中断唤醒,希望高手指点啊

使用特权

评论回复
地板
xhtxzxw| | 2008-3-6 21:22 | 只看该作者

嘿嘿

你的外部中断0服务函数在那里呢?INT0来了,你让52做啥呢?

使用特权

评论回复
5
ljolove|  楼主 | 2008-3-6 21:45 | 只看该作者

嘿嘿

还是楼上厉害,刚才我也刚试完,原来是跑飞了,加了一个空函数就可以了,非常感谢!!!

使用特权

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

本版积分规则

26

主题

133

帖子

0

粉丝