📄 spi0.c
字号:
#include "config.h"
/*********************************************************************************************************/
/********************************************************************************************************
** 函数名称:MSPI_SendData()
** 函数功能:向SPI总线发送数据。
** 入口参数:data 待发送的数据
** 出口参数:返回值为读取的数据
********************************************************************************************************/
uint8 Hc595Dat;
void MSPI_SendData(uint8 data)
{
uint8 i;
//DisTm0;
//DisTm1;
//DisI2C0;
//DisUart1;
// 片选74HC595
for (i=8;i>0;i--)
{
IO1CLR = HC595_CS;IO1CLR = HC595_CS;IO1CLR = HC595_CS;
if ((data&0x80)==0x80)
{
IO0SET = HC595_DAT;IO0SET = HC595_DAT;IO0SET = HC595_DAT;
IO0SET = HC595_DAT;IO0SET = HC595_DAT;IO0SET = HC595_DAT;
}
else
{
IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;
IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;
}
IO0CLR =HC595_CLK;IO0CLR =HC595_CLK;IO0CLR =HC595_CLK;
IO0SET =HC595_CLK;IO0SET =HC595_CLK;IO0SET =HC595_CLK;
data<<=1;
}
// SPI_SPDR = data;
// while( 0 == (SPI_SPSR & 0x80)); // 等待SPIF置位,即等待数据发送完毕
IO1SET = HC595_CS;IO1SET = HC595_CS;IO1SET = HC595_CS;
//EnTm0;
//EnTm1;
//EnI2C0;
//EnUart1;
// return(SPI_SPDR);
}
void SetAmp(uint8 dat)
{
uint8 Amp;
switch (dat) //1 :1m ;2:10m ;3 :1km
{
case 1:
Hc595Dat = (Hc595Dat);
Amp=1;//放大倍数最小
break;
case 2:
Hc595Dat = (Hc595Dat&0xfe);
Amp=1<<1;
break;
case 3:
Hc595Dat = (Hc595Dat&0xfc);
Amp=1<<2;
break;
default :
Hc595Dat = (Hc595Dat&0xf8);
Amp=0;
break;
}
Hc595Dat = (Hc595Dat)|(Amp);
Hc595Dat=Hc595Dat | 0x40; //关AD的CS
MSPI_SendData(Hc595Dat);
}
void Cs7705(uint8 dat)
{
if(dat==1)
{
Hc595Dat=Hc595Dat | 0x40;
//Hc595Dat=Hc595Dat|0x20;
}
else
{
Hc595Dat=Hc595Dat & 0xbf;
//Hc595Dat=Hc595Dat|0x20;
}
MSPI_SendData(Hc595Dat);
}
void Set5628Ld(uint8 LD)
{
if(LD==1)
{
Hc595Dat=Hc595Dat|0x20;
Hc595Dat=Hc595Dat | 0x40;//关AD的CS
//IO1SET=DA_CLK;
}
else
{
Hc595Dat=Hc595Dat&0xdf;
Hc595Dat=Hc595Dat | 0x40;//关AD的CS
}
MSPI_SendData(Hc595Dat);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -