📄 demo10.c
字号:
#include<pic.h>
volatile unsigned long Counter=1;
volatile unsigned char Sign=5;
volatile unsigned char tmp;
void initial()
{
INTCON=0X00;
OPTION=0X01;
ADCON1=0X06;
TRISE=0X00;
PORTE=0X04;
TRISB=0XFF;
TRISD=0X00;
PORTD=0X00;
}
void DELAY(unsigned int n)
{
unsigned int i,j;
for(i=n;i--;)
for(j=0;j<1000;j++)
continue;
}
void INT()
{
GIE=1;
INTE=1;
PORTB=PORTB;
RBIE=1;
T0IE=1;
}
void main()
{
initial();
INT();
while(1)
{
SLEEP();
asm("nop");
if(Sign==0)
{
Sign=5;
RE2=1;
PORTD=0;
TMR0=0X06;
for(;;)
{
DELAY(20);
RE0=!RE0;
if(Counter>=60000)
{
RE0=0;
Counter=1;
RBIF=0;
break;
}
}
}
if(Sign==1)
{
Sign=5;
PORTD=tmp;
RE2=0;
TMR0=0X06;
for(;;)
{
DELAY(10);
RE0=!RE0;
if(Counter>=30000)
{
RE0=0;
Counter=1;
break;
}
}
}
}
}
void interrupt tt(void)
{
if(T0IF==1)
{
TMR0=0X06;
Counter++;
T0IF=0;
}
if(INTF==1)
{
Sign=0;
INTF=0;
}
if(RBIF==1)
{
Sign=1;
if(RB4==0)tmp=0x80;
if(RB5==0)tmp=0x40;
if(RB6==0)tmp=0x20;
if(RB7==0)tmp=0x10;
RBIF=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -