?? icl7135.txt
字號:
void SPI_Init(void)
{
SPCR=_BV(SPE)|_BV(DORD)|_BV(MSTR)|_BV(CPHA);//|_BV(SPR1)|_BV(SPR0);
SPSR=0;
}
void send_data(unsigned char data)
{
SPDR=data; //發送數據
while(!(SPSR &(_BV(SPIF)))); //等待數據發送完畢
}
void ShowSel(void)
{
unsigned int i;
for(i=0;i<6;i++)
{
send_data(DisTab[DisBuf[5-i]]);
}
for(i=0;i<10000;i++);
}
void INT0_Init(void)
{
MCUCR=_BV(SE)|_BV(ISC01);//采取下降沿進入中斷
GICR=_BV(INT0); //開外部中斷0
sei(); //開總中斷
}
ISR(INT0_vect)
{
count++;
BCD_Tab[count-1]=Data_Port&0x0f;
if(count==4) Pol_vog=POL;
if(count==5)
{
count=0;
flag=1;
Stop_run;
}
}
int main(void)
{
//unsigned char j;
PORTB=0xff;
DDRB=0xff;
DDRB&=~_BV(PB1);//POL口定義為輸入
DDRC=0x00;
PORTC=0xff;
count=0;
flag=0;
SPI_Init();
INT0_Init();
Start_run;
while(1)
{
if(flag)
{
flag=0;
Stop_run;
if(Pol_vog)
DisBuf[0]=20;
else
DisBuf[0]=21;
//for(j=0;j<5;j++)
//{
// DisBuf[i+1]=BCD_Tab[i];
//if(j==0)
// DisBuf[i+1]+=0x80;
//}
DisBuf[1]=BCD_Tab[0]+10;
DisBuf[2]=BCD_Tab[1];
DisBuf[3]=BCD_Tab[2];
DisBuf[4]=BCD_Tab[3];
DisBuf[5]=BCD_Tab[4];
ShowSel();
Start_run;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -