#include unsigned char SPI(unsigned char); void TRANS(unsigned char); void BCDtoASCIIandSEND(unsigned char); void SDELAY(int ms); unsigned char data[7]; unsigned char tmp; int i; void main() { SPI1BR = 0x20; SPI1CR1 = 0x54; SPI1CR2 = 0x00; WOMS = 0x00; DDRB = 0x80; SCI0BDH=0x0; SCI0BDL=0x0D; SCI0CR1=0x0; SCI0CR2=0X0C; PORTB = 0x80; SDELAY(1); tmp = SPI(0x8F); tmp = SPI(0x00); PORTB = 0; TRANS(0x0A); TRANS(0x0D); PORTB = 0x80; tmp = SPI(0x80); tmp = SPI(0x55); tmp = SPI(0x58); tmp = SPI(0x16); tmp = SPI(0x3); tmp = SPI(0x19); tmp = SPI(0x10); tmp = SPI(0x07); PORTB = 0; for (;;) { PORTB = 0x80; SDELAY(1); tmp = SPI(0x00); data[6] = SPI(tmp); data[5] = SPI(tmp); data[4] = SPI(tmp); data[0] = SPI(tmp); data[2] = SPI(tmp); data[1] = SPI(tmp); data[3] = SPI(tmp); PORTB = 0; for(i=0;i<7;i++) { tmp = data[i]; tmp = tmp & 0xF0; tmp = tmp >> 4; tmp = tmp | 0x30; TRANS(tmp); tmp = data[i]; tmp = tmp & 0x0F; tmp = tmp | 0x30; TRANS(tmp); TRANS(':'); } TRANS(0x0D); } } unsigned char SPI(unsigned char myByte) { while(!(SPI1SR & SPI1SR_SPTEF_MASK)); SPI1DR = myByte; while(!(SPI1SR & SPI1SR_SPIF_MASK)); return SPI1DR; } void TRANS(unsigned char c) { while(!(SCI0SR1 & SCI0SR1_TDRE_MASK)); SCI0DRL=c; } void SDELAY(int ms) { unsigned int i, j; for(i=0;i