| 
 
| /*SPI数据发送验返回读取165值*/ uchar SPI_MasterTransmit(unsigned char i)
 {
 
 SPDR = i;        /* 启动数据传输 */
 while (!(SPSR & (1<<SPIF))); /* 等待传输结束 */
 return SPDR;
 }
 /*595数据输出,165数据存入*/
 uint SPI_595_Out(unsigned int i)
 {
 uint j;
 //PORTB &= ~(1 << 4);      /*准备锁存*/
 j=SPI_MasterTransmit(i>>8);
 j=(j<<8);
 j|=SPI_MasterTransmit(i);
 PORTB &= ~(1 << 4);
 PORTB |= (1 << 4);      /*锁存数据*/
 return j;
 
 }
 | 
 |