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

📄 main.c

📁 LPC21xx ARM7 SPI 内置ADC使用串口发送
💻 C
字号:
#include <LPC21XX.H>
#include "uart0.h"
#define   HC595_CS     0x00000100            /*P0.8口为第一个74HC595的片选*/
#define   HC595_CS2    0x00000200            /*P0.9口为第二个74HC595的片选*/
#define   HC595_CS3    0x00000400            /*P0.10口为第三个74HC595的片选*/
typedef unsigned int uint32;
typedef unsigned char uint8;
char status[] = "Everytnig is fine.";
uint8 const DISP_TAB[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
uint8 rcv_data;
void delay(void)  {                         
  unsigned volatile long i,j;
  for(i=0;i<10000;i++)
  for(j=0;j<30;j++)
  ;
}
void spiInit(void){
  S0SPCCR=0x52;           /*设置SPI时钟分频*/
  S0SPCR=0x30;            /*设置SPI接口模式*/
}
uint8 spiChar(uint8 data){
  IO0CLR=HC595_CS;                              /*SPI1片选*/
  S0SPDR=data;
  while(0==(S0SPSR&0x80));                      /*等待SPIF置位,即等待数据发送完毕*/
  IO0SET=HC595_CS;
  return(S0SPDR);
}
uint8 spi2Char(uint8 data){
  IO0CLR=HC595_CS2;                             /*SPI2片选*/
  S0SPDR=data;
  while(0==(S0SPSR&0x80));
  IO0SET=HC595_CS2;
  return(S0SPDR);
}
uint8 spi3Char(uint8 data){
  IO0CLR=HC595_CS3;                             /*SPI3片选*/
  S0SPDR=data;
  while(0==(S0SPSR&0x80));
  IO0SET=HC595_CS3;
  return(S0SPDR);
}
int  main(void){
  uint8 i;
  PINSEL0 = 0x00005505;			/*引脚开SPI、UART0*/	 
  IO0DIR=HC595_CS|HC595_CS2|HC595_CS3; 
  spiInit();                    /*初始化SPI接口*/
  uart0Init();
  while(1){
    for (i=0;i<16;i++) {
		if(i<10){putchar(i+'0');}
			else{putchar(i+7+'0');}
		rcv_data=spiChar(DISP_TAB[i]);   /*发送显示数据到数码显示管1*/
		rcv_data=spi2Char(DISP_TAB[15-i]);   /*数码显示管2*/
		rcv_data=spi3Char(DISP_TAB[0]);   /*数码显示管2*/
		delay();
    }
	serialPuts(status);
  }
}

⌨️ 快捷键说明

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