📄 intr2to10last.c
字号:
#include <pic.h>
/*
* Interrupt test for PIC
*
* Copyright (C)1997 HI-TECH Software.
* Freely distributable.
*/
//#define PRELOAD 125
__CONFIG(MCLRDIS & WDTEN & INTRC & PROTECT);
//static unsigned long seconds; // second count
static unsigned char flash;
void delayy(unsigned char ss)
{
unsigned short i;
unsigned char j;
for(j=0;j<ss;j++)
{
for(i=0;i<10000;i++)
{
asm("clrwdt");
asm("nop");
asm("nop");
}
flash=~flash;
asm("clrwdt");
if(flash)GP1=0;
else GP1=1;
}
return;
}
void usdelay(unsigned char us)
{
unsigned char i;
for(i=0;i<us;i++)
{
asm("nop");
asm("clrwdt");
asm("nop");
}
flash=~flash;
if(flash){GP1=1;}
else {GP1=0;}
asm("clrwdt");
return;
}
void
init1(void)
{
GP0=0;
TRIS=0x3c;
GPIO=0xfc;
asm("clrwdt");
TRIS=0x3c;//00xxx100
TMR0=0;
OPTION=0x2f;//0f
GPIO=0xfc;
flash=0;
asm("clrwdt");
return;
}
/*void interrupt
timer0_isr(void) @ 0x10
{
seconds++;
TMR0 += -PRELOAD; // re-load timer
// no need to clear T0IF - the hardware did it
}*/
void
main(void)
{
// unsigned char port=0;
init1();
for(;;)
{
if(!(GP2))
{
if(!(GP2))
{
asm("clrwdt");
if(GP2){asm("nop");GP0=0;}//no input
else
{
GP0=1;
delayy(72);
}
}
asm("clrwdt");
}
else GP0=0;
asm("clrwdt");
usdelay(100);
asm("nop");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -