1月2日作业

发布时间:2024年01月02日

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;

}

文章来源:https://blog.csdn.net/m0_56986240/article/details/135344465
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。