?? interrupt.h~
字號:
//interrupt [TIMER1_OVF1_vect] void Timer1_OVF_interrupt(void)
//{
// TCNT1=45536;
//}
interrupt [TIM0_OVF] void Timer0_OVF_interrupt(void)
{
unsigned char InByte,i,k;
TCNT0=232; //232;
PORTD|=0x04;
TickCount++;
if (TickCount>3) {
TickCount=0;
for (i=0;i<TmrNum;i++) {
if (Tmr[i].Con!=0x0) {
Tmr[i].Cv++;
if (Tmr[i].Cv>=Tmr[i].Pv) {
Tmr[i].Con&=0x7f;
Tmr[i].Cv=0;
if (Tmr[i].Con==0x01) {
Tmr[i].Con=0;
Tmr[i].ActPro();
}
}
}
}
}
CurPcOut<<=1;
CurPcDig++;
if ( CurPcDig >= 4 ) {
CurPcDig=0;
CurPcOut=0x01;
}
//XBYTE[ PA ]=0xff; //Blanking
PORTC=0xff; //Blanking
//i=CurPcIn;
//i&=0xf0;
//i<<=1;
//if ( CurPcDig++ >= 4 ) {
// CurPcDig=0;
// i=0x01;
//}
//CurPc&=0xf0;
//CurPc|=i;
//XBYTE[ PC ]=CurPc;
//k=CurPcDig<<3;
k=0;
CurPcHi=PINC; //XBYTE[ PD ];
CurPcHi=~CurPcHi;
CurPcHi>>=4;
for ( i=0;i<4;i++ ) {
if ( (CurPcHi>>i) & 0x01 ) {
if ( SnrBuf[k+i]==0xff ) BncCnt[k+i]=0;
else {
if ( BncCnt[k+i]++ > Bounce ) {
SnrBuf[k+i]=0xff;
KeyFlag=0xff;
PressKeyCode=k+i;
}
}
}
else {
if ( SnrBuf[k+i]==0 ) BncCnt[k+i]=0;
else {
if ( BncCnt[k+i]++ > Bounce ) {
SnrBuf[k+i]=0;
}
}
}
}
//XBYTE[ PB ]=LedCode[CurLedDspBuf[CurPaDig]];
//XBYTE[ PA ]=~CurPa;
PORTB=LedCode[CurLedDspBuf[CurPcDig]];
PORTC=CurPcOut;
PORTD&=0xfb;
//InByte=PIND;
/*
PreSnrBuf[0]=SnrBuf[0];
PreSnrBuf[1]=SnrBuf[1];
if ((InByte&0x01)==0x00) {
if (SnrBuf[0]==0xff) BncCnt[0]=0;
else if ((BncCnt[0]++)>BOUNCE) SnrBuf[0]=0xff;
}
else {
if (SnrBuf[0]==0) BncCnt[0]=0;
else if ((BncCnt[0]++)>BOUNCE) SnrBuf[0]=0;
}
if ((InByte&0x02)==0x00) {
if (SnrBuf[1]==0xff) BncCnt[1]=0;
else if ((BncCnt[1]++)>BOUNCE) SnrBuf[1]=0xff;
}
else {
if (SnrBuf[1]==0) BncCnt[1]=0;
else if ((BncCnt[1]++)>BOUNCE) SnrBuf[1]=0;
}
if (SnrMode==0) {
if (TimerOff<200) TimerOff++;
}
if (SnrMode==1) {
if (TimerNear<200) TimerNear++;
}
if (SnrMode==2) {
if (TimerFar<200) TimerFar++;
}
LastBulbMode=BulbMode;
if (TimerOff>100) BulbMode=0;
if (TimerNear>100) BulbMode=1;
if (TimerFar>100) BulbMode=2;
if ((LastBulbMode==0) && (BulbMode==1)) {
EnableRamp=1;RampCnt=0;
}
if (EnableRamp==1) {
TickCount++;
if (TickCount>=50) {
TickCount=0;
RampCnt++;
if (RampCnt>32768) EnableRamp=0;
}
}
*/
/*
TickCount++;
if (TickCount>=5000) {
TickCount=0;
PORTD=~PORTD;
//RampCnt++;
//if (RampCnt>32768) EnableRamp=0;
}
*/
}
interrupt [TIMER1_COMPA_vect] void TIMER1_COMPA_interrupt(void)
{
//PORTD|=0x08;
OCR1A=1024-(PWM>>2);
PwmFlag=1;
//200;
//PORTD&=0xf7;
}
/*
interrupt [UART_RX_vect] void UART_RX_interrupt(void)
{
unsigned char ch;
PORTB&=0xfe;
ch=UDR;
RxdBuf[RxdIndex]=ch&0x7f;
if (RxdBuf[RxdIndex]==ETX) {
ReceivedEnd=1;
ReceivedByte=RxdIndex;
RxdIndex=0;
}
else {
RxdIndex++;
if (RxdIndex>99) RxdIndex=0;
}
PORTB|=0x01;
}
interrupt [UART_TX_vect] void UART_TX_interrupt(void)
{
TxdIndex++;
if (TxdIndex<TxdByte) {
UDR=TxdBuf[TxdIndex];
}
PORTB|=0x01;
}
*/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -