📄 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 + -