main
#include "spi.h"
extern void printf(const char *fmt, ...);
void delay_ms(int ms)
{
int i,j;
for(i = 0; i < ms;i++)
for (j = 0; j < 1800; j++);
}
//保存0-9编码的数组
int num[10] = {0xFC,0x60,0xDA,0xF2,0x66,0xB6,0x3E,0xE0,0xFE,0xF6};
int main(void)
{
unsigned char i;
SPI_init();
while(1)
{
SPI_write(0x10); // 发送数码管的位
SPI_write(0x60); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1);
SPI_write(0x20); // 发送数码管的位
SPI_write(0xfe); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1);
SPI_write(0x40); // 发送数码管的位
SPI_write(0x60); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1);
SPI_write(0x80); // 发送数码管的位
SPI_write(0xf6); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1);
/*
for(i = 0; i < 10; i++)
{
SPI_write(0x10); // 发送数码管的位
SPI_write(num[i]); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1000);
SPI_write(0x20); // 发送数码管的位
SPI_write(num[(i+1)%10]); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1000);
SPI_write(0x40); // 发送数码管的位
SPI_write(num[(i+2)%10]); // 发送数码管的段
//delay_ms(1);
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1000);
SPI_write(0x80); // 发送数码管的位
SPI_write(num[(i+3)%10]); // 发送数码管的段
delay_ms(1);
NSS_OUTPUT_L();
delay_ms(1);
NSS_OUTPUT_H(); // 锁存的时钟从低到高的变化
// 将移位寄存器中的数据锁存到锁存寄存器中
delay_ms(1000);
}
*/
}
return 0;
}