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

📄 6b595spi.c

📁 工业以太网测控板资料FX04核心编程模块
💻 C
字号:
//------------------------------------------------------------------------------------
// hw6b595.c
//------------------------------------------------------------------------------------
// Copyright 2003 NCD.Ltd.
//
// AUTH: Jhonsun
// DATE: 8 Apr 03
//
// This program flashes the green LED and the red LED on the C8051F020 test board .
// Target: C8051F02x
//
// Tool chain: KEIL Eval 'c'
//

//------------------------------------------------------------------------------------
// Includes
//------------------------------------------------------------------------------------

#include <c8051f040.h>
#include <intrins.h>
sbit MOSI = P0^4;      //define the data pin                
sbit SCK = P0^2;       //define the clock pin

#define SETSPICS1       P5 |= 0x10		//P5.7 connect to the RCK
#define CLRSPICS1   	P5 &= ~(0x10)

void delay(unsigned int t)
{
  unsigned int i,j;   //delay counter
  for(i=0;i<t;i++)
    for(j=0;j<10;j++)
	  {
	    _nop_();
       }
}

void SYSCLK_Init (void)
{
    int i ;
	SFRPAGE   = CONFIG_PAGE;
	OSCXCN    = 0x67;
    for (i = 0; i < 3000; i++);  // 等待晶振稳定加的延时
    while ((OSCXCN & 0x80) == 0);
    CLKSEL    = 0x01;
}


main()
{
  /* unsigned int  LED[]={0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800,0x1000,0x2000,0x4000,0x8000};
 	unsigned int i;  */
	unsigned int i;
    SFRPAGE   = CONFIG_PAGE;
	WDTCN     = 0xde;
	WDTCN     = 0xad;           //关看门狗
	SYSCLK_Init ();         //初始化时钟
    SFRPAGE   = CONFIG_PAGE;
	XBR0      = 0x06;                     // Enable SMBus, SPI0, and UART0
    XBR1      = 0x00;
    XBR2      =0x40;
	P0MDOUT   = 0x15;
	P5MDOUT   = 0xF0;
      SFRPAGE   =SPI0_PAGE;
	 SPI0CFG   = 0x40;
      SPI0CN    = 0x01;
      SPI0CKR   = 0x6D;
	  while(1)
	    {
		  delay(50000);
		  SFRPAGE   =SPI0_PAGE;
		  SPI0DAT=0X01;
		  while(!SPIF)
		      {  ; }
		  SFRPAGE   =SPI0_PAGE;
		  SPIF=0;
		  SFRPAGE   = CONFIG_PAGE;
		  CLRSPICS1;
		  SETSPICS1;
		  delay(50000);
		  SFRPAGE   =SPI0_PAGE;
		  SPI0DAT=0x02;
		  while(!SPIF)
		    {  ;  }
		  SPIF=0;
		  SFRPAGE   =CONFIG_PAGE;
		  CLRSPICS1;
		  SETSPICS1;
		 }

}
   
 

⌨️ 快捷键说明

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