⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 本源码是基于SPI的八段数码管
💻 C
字号:
#include "config.h"

#define HC595_CS (1<<24)  //P1.24作为74HC595的片选

void DelayNS(uint32 dly)
{
	uint32 i;
	for(;dly>0;dly--)
		for(i=0;i<50000;i++);
}

void MSPI_Init(void)
{
	PINSEL0=(PINSEL0&0xFFFF00FF)|0x00005500;
	SPCCR=0x52;
	SPCR=(0<<3)|(1<<4)|(1<<5)|(0<<6)|(0<<7);
	IO1DIR=HC595_CS;
}

uint8 MSPI_SendData(uint8 data)
{
	IO1CLR=HC595_CS;
	SPI_SPDR=data;
	while(0==(SPI_SPSR&0x80));
	IO1SET=HC595_CS;
	return(SPI_SPDR);
}

uint8 const DISP_TAB[]={
0xC0,0xF9,0xA4,0XB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xC6,0xA1,0x86,0x8E,
0xC7,0x8C,0xC6};

uint8 rcv_data;
int main(void)
{
	uint8 i;
	
	MSPI_Init();
	while(1)
	{
		for(i=0;i<7;i++)
		{
			rcv_data=MSPI_SendData(DISP_TAB[i]);
			DelayNS(50);
			
		}
		
		
	}

return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -