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

📄 hardware.c

📁 ch451键盘LED管理芯片的驱动程序,很好用的,设计很标准的代码
💻 C
字号:
/*
*****************************
**filename:hardare.C
*****************************
*/
#include "hardware.h"

/*
************************************************
**fun:watch dog
************************************************
*/

unsigned char xdata DebugBufer[100];
unsigned char xdata DebugFlag;

void WatchDog(void)
{
   	//WDI=0;

        NOP;NOP;NOP;
        NOP;NOP;NOP;
   	//WDI=1;

}

/*
/////////////////////////////////
//SPI WRITE
void WriteSpi(unsigned char ch)
{
	unsigned char i;

        NOP;NOP;NOP;
	for(i=0;i<8;i++)
	{
		if(ch&0x80)SPI_SI=1;
		else	   SPI_SI=0;
		NOP;NOP;NOP;
		SPI_SCK=1;
                NOP;NOP;NOP;
		SPI_SCK=0;
                ch = (ch<<1);
	}
        NOP;NOP;NOP;

}

/////////////////////////////////
//SPI READ
unsigned char ReadSpi()
{
	unsigned char i,ch;

        NOP;NOP;NOP;
	SPI_SO=1;
	NOP;NOP;

	for(i=0;i<8;i++)
	{
		  SPI_SCK=1;
                  NOP;NOP;
		  ch = ( ch<<1 );
		  if(SPI_SO)  ch=ch|0x01;
		  SPI_SCK=0;
                  NOP;NOP;
	}
        NOP;NOP;NOP;
	return ch;
}

*/

void Delay1ms(unsigned char ch)
{
        unsigned int i;

        for(i=0;i<300;i++);

        ch=0;
}


/////////////////////////////////
//SPI WRITE
void WriteSpi(unsigned char ch)
{
	unsigned char i;

        WatchDog();

        NOP;NOP;NOP;
	for(i=0;i<8;i++)
	{
		if(ch&0x80)SPI_SI=1;
		else	   SPI_SI=0;
		NOP;NOP;NOP;
		SPI_SCK=0;
                NOP;NOP;NOP;
		SPI_SCK=1;
                ch = (ch<<1);
	}
        NOP;NOP;NOP;

}

/////////////////////////////////
//SPI READ
unsigned char ReadSpi()
{
	unsigned char i,ch;

        WatchDog();

        NOP;NOP;NOP;
	SPI_SO=1;
	NOP;NOP;

	for(i=0;i<8;i++)
	{
		  SPI_SCK=1;
                  NOP;NOP;
                  SPI_SCK=0;
                  NOP;NOP;
		  ch = ( ch<<1 );
		  if(SPI_SO)  ch=ch|0x01;
	}
        NOP;NOP;NOP;
	return ch;
}

static unsigned char Value_573=0xff;
void Set573Bit(unsigned char BitMask)
{

        WatchDog();

        Value_573|=BitMask;
        HC573_CS=Value_573;
        NOP;NOP;

}
void Clear573Bit(unsigned char BitMask)
{

        WatchDog();

        Value_573&=(~BitMask);
        HC573_CS=Value_573;
        NOP;NOP;
}

unsigned char Asc2Hex(unsigned char ch)
{
        WatchDog();

        if(ch>='0' && ch<='9' )return (ch-0x30);
        else                   return  (ch-0x37);
}

unsigned char Hex2Asc(unsigned char ch)
{
        WatchDog();
        if(ch>=0 && ch<=9)return (ch+0x30);
        else              return (ch+0x37);

}


⌨️ 快捷键说明

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