spi_test.c

来自「c8051f020模块.rar」· C语言 代码 · 共 59 行

C
59
字号
#include <c8051f020.h>

#define uint8 unsigned char
#define uint16 unsigned int

sbit CS=P0^7;

void SYSCLK_Init(void)
{ 
  uint8 i;
  OSCXCN = 0X67;//开始外部22.1184M晶振
  for(i = 0;i < 128;i++); //等待外部起振
  while(!(OSCXCN & 0X80));	//查询标志位
  OSCICN = 0X88;//用外部晶振,并使能始终丢
}

void Init_Spi(void)
{
  SPI0CN=0X03;
  SPI0CFG=0X07;
  SPI0CKR=9;
}

void Write_Spi(uint8 DATA)
{
  while(TXBSY);
  //CS=0;
  SPI0DAT=DATA;
  //CS=1;
}

void Init_PORT(void)
{
  XBR0=0X02;
  XBR1=0X00;
  XBR2=0X40;
  P0MDOUT=0X8D;
  
}


void main(void)
{
  WDTCN = 0xde;
  WDTCN = 0xad;//关闭看门狗
  SYSCLK_Init();
  Init_PORT();
  Init_Spi();
  CS=1;

  while(1)
  {
    CS=0;
  	Write_Spi(100);
	Write_Spi(100);
  	CS=1;
  }

}

⌨️ 快捷键说明

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