⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icl7135.txt

📁 本代码介绍了使用VHDL开发FPGA的一般流程
💻 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 + -