}
//Watchdog initialize // prescale: 1024K void watchdog_init(void) {
WDR (); //this prevents a timeout on enabling
     WDTCSR |= (1< //call this routine to initialize all peripherals  void init_devices(void)  {   //stop errant interrupts until set up      CLI(); //disable all interrupts      port_init();     // watchdog_init();        MCUCR = 0x00;       EICRA = 0x00; //extended ext ints      EIMSK = 0x00;        TIMSK0 = 0x00; //timer 0 interrupt sources      TIMSK1 = 0x00; //timer 1 interrupt sources      TIMSK2 = 0x00; //timer 2 interrupt sources        PCMSK0 = 0x00; //pin change mask 0      PCMSK1 = 0x00; //pin change mask 1      PCMSK2 = 0x00; //pin change mask 2      PCICR = 0x00; //pin change enable      PRR = 0x00; //power controller   22       SEI(); //re-enable interrupts  //all peripherals are now initialized  }    //LD3320 接受命令是0x04 读命令是0x05  //SDCK 下降沿有效。  //读数据 上升沿数据不稳定。  void delayms(unsigned int ms)  {        unsigned int i,j;       for(i=0;i               asm(\                  asm(\          }  }     void  delayus(unsigned int uldata)  {           unsigned int j  =  0;          unsigned int g  =  0;          for (j=0;j<10;j++)          {                   for (g=0;g                          asm(\                         asm(\                         asm(\                 }          }  }     23    /*********************LD3320底层驱动******************************************/    void LD3320_mode_set(void)  {       LD3320_MD_ON; //SPI模式  }     void LD3320_rest(void)  {           LD3320_RES_ON;          delayms(5);          LD3320_RES_OFF;          delayms(5);          LD3320_RES_ON;            delayms(5);          LD3320_SCS_OFF;          delayms(5);          LD3320_SCS_ON;          delayms(5);  }     void LD3320_write_byte(unsigned char date)  {       unsigned char i = 0;          for(i=0;i<8;i++)          {                if((date & 0x80)==0x80)                       LD3320_SDI_ON;                   else                        LD3320_SDI_OFF;   24                    delay_nop;                   delay_nop;                    LD3320_SDCK_OFF;                   date = (date<<1);               delay_nop;                   delay_nop;                    LD3320_SDCK_ON;          }  }     void LD3320_write(unsigned char add,unsigned char date)  {        LD3320_SCS_ON;           delay_nop;           LD3320_SCS_OFF;           delay_nop;            LD3320_write_byte(0x04);           LD3320_write_byte(add);           LD3320_write_byte(date);           delay_nop;           LD3320_SCS_ON;  }      unsigned char LD3320_read(unsigned char add)  {       unsigned char date_temp = 0,i = 0;          LD3320_SCS_ON;          delay_nop;          LD3320_SCS_OFF;          delay_nop;       LD3320_write_byte(0x05);   25