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

来源:互联网 发布:js获取单选框选中值 编辑:程序博客网 时间:2024/05/21 09:55

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

#include<pic.h>__CONFIG(0x3B31);//4M#define uchar unsigned char#define uint unsigned int#define DELAY 500uint 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;    } }}