×
单片机 > 单片机程序设计 > 详情

PIC单片机(PIC16F877A)外部中断程序

发布时间:2020-06-01 发布时间:
|

正常运行为流水灯,发生中断则灯全亮。

#include  

__CONFIG(0x3B31);   //4M  

#define uchar unsigned char  

#define uint unsigned int  

#define DELAY 500  

uint j=50000;  

void delay(uint x)  //1ms  

{  

    uint y,z;  

    for(y=x;y>0;y--)  

        for(z=25;z>0;z--);  

}  

void init(void)  

{  

    TRISB0=0;  

    RB0=1;      //为下降沿创造高电平的初始条件  

    TRISB0=1;   //输入模式  

    INTEDG=0;   //0下降沿触发,1为上升沿触发  

    INTF=0;     //清零标志位  

    INTE=1;     //开中断允许  

    GIE=1;      //开全局中断  

}  

void interrupt INT()    //查询式中断  

{  

    if(INTE&&INTF)  

    {  

        INTF=0;  

        PORTD=0xff;  

        while(j--);  

        j=50000;  

        TRISB0=0;   //RB0设为输出  

        RB0=1;      //输出高电平,以便检测中断条件(下降沿)  

        TRISB0=1;   //设为输入,等待中断  

    }  

}  

void main(void)  

{  

    uchar i,temp;  

    TRISD=0x00;  

    PORTD=0xff;  

    init();  

        while(1)  

        {  

        temp=0x01;  

            for(i=0;i<8;i++)  

        {  

            PORTD=temp;  

            delay(DELAY);   

            temp<<=1;    

        }  

    }  

}  

关键字:PIC单片机  PIC16F877A  外部中断 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何为单片机选择合适的负载电容