×
单片机 > 单片机程序设计 > 详情

ADS_LPC2103开发板SPI 4位数码管测试试验

发布时间:2020-09-03 发布时间:
|
#include "config.h" 

#define HC595_CS (1 < #define NixieTube_CS (1 <

void DelayMS(uint32 dly)
{
    uint32 i;
    for(; dly > 0; dly--)
    {
        for(i = 0; i      }
}

void MSPI_Init(void)

    PINSEL0 = (PINSEL0 & 0xFFFF00FF) | 0x00001500;

    SPCCR = 0x52;         // 设置SPI时钟分频

     SPCR = (0 <
             (1 <
             (1 <
             (0 <
             (0 <
}

void MSPI_SendData(uint8 data)

    IOCLR = HC595_CS;             // 片选74HC595

   
    SPI_SPDR = data;
    while( 0 == (SPI_SPSR & 0x80));        // 等待SPIF置位,即等待数据发送完毕

   
    IOSET = HC595_CS;

}


/* 此表为LED0~F以及L、P、C的字模 */
uint8 const DISP_TAB[19] = {
//     0     1 2 3 4 5 6 7 8 9 

    0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,
//     A b C d E F

    0x88, 0x83, 0xC6, 0xA1,0x86, 0x8E,
//      L P C

     0xC7, 0x8C,0xC6 };


int main (void)

    uint8 i; 
    
    PINSEL0 = 0x00001500; // 设置SPI管脚连接

                 
    IODIR = HC595_CS|NixieTube_CS; 
    IOSET = IOSET|NixieTube_CS; 
    MSPI_Init();// 初始化SPI接口                     

    while(1)    
    { 
            for(i = 0; i              {
            MSPI_SendData(DISP_TAB[i]);    // 发送显示数据

            DelayMS(80);
            }
    }
 
    return 0;
}


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM基础知识八