?? sc7313s.c
字號(hào):
/**********************************************************************************************
*
* SC7313S控制程序 V1.0
*
* 這是SC7313S控制程序功能模塊
*
* 文件名 : SC7313S.C
* 設(shè)計(jì)者 : 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
************************************************************************************************
* 功 能 描 述
*
* 1.
* 2.
************************************************************************************************/
/***********************************************************************************************
函數(shù)聲明區(qū)
************************************************************************************************/
/***********************************************************************************************
函數(shù)名稱: SC7313S靜音控制子程序
函數(shù)原型: bit SC_MUTE(bit SW,bit RW)
函數(shù)功能: SC7313S靜音控制
輸入?yún)?shù): SW :0=靜音關(guān);1=靜音開(kāi)
RW :0=讀出;1=寫(xiě)入
返回參數(shù): SW :0=靜音關(guān);1=靜音開(kāi)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
************************************************************************************************/
bit SC_MUTE(bit SW,bit RW);
/***********************************************************************************************
函數(shù)名稱: SC7313S音量子程序
函數(shù)原型: bit SC_MUTE(bit SW,bit RW)
函數(shù)功能: SC7313S音量控制
輸入?yún)?shù): Vol :音量或增益的大小(MIN0-63MAX)
RW :0=讀出;1=寫(xiě)入
返回參數(shù): Vol :返回音量的值
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
unsigned char SC_Vol(unsigned char Vol,bit RW);
/***********************************************************************************************
函數(shù)名稱: SC7313S輸入增益設(shè)置子程序
函數(shù)原型: bit SC_MUTE(bit SW,bit RW)
函數(shù)功能: 設(shè)置SC7313S每一路輸入增益
輸入?yún)?shù): SW :0=第一路輸入增益;1=第二路輸入增益;2=第三路輸入增益;3=第四路輸入增益
Vol :音量或增益的大小
RW :0=讀出;1=寫(xiě)入(MIN0-4MAX)
返回參數(shù): Vol :返回SW選中的音量值
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
unsigned char SC_InVol(unsigned char SW,unsigned char Vol,bit RW);
/***********************************************************************************************
函數(shù)名稱: SC7313S聲道平衡控制程序
函數(shù)原型: bit SC_MUTE(bit SW,bit RW)
函數(shù)功能: 設(shè)置SC7313S每一個(gè)聲道的音量
輸入?yún)?shù): SW :0=前左聲道(RR);1=前右聲道(RL);2=后左聲道(LR);3=后右聲道(LL);
Vol :輸入的音量大小(MIN0-63MAX)
RW :0=讀出;1=寫(xiě)入
返回參數(shù): Vol :返回SW選中的音量值
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
unsigned char SC_RLVol(unsigned char SW,unsigned char Vol,bit RW);
/***********************************************************************************************
函數(shù)名稱: SC7313S音效子程序
函數(shù)原型: bit SC_MUTE(bit SW,bit RW)
函數(shù)功能: 控制SC7313S的高低音平衡
輸入?yún)?shù): SW :0=低音,1=高音
Vol :輸入音量(MIN0-15MAX)
RW :0=讀出;1=寫(xiě)入
返回參數(shù): Vol :SW選擇的項(xiàng)目音量大小
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
unsigned char SC_TBVol(bit SW,unsigned char Vol,bit RW);
/***********************************************************************************************
函數(shù)名稱: SC7313S開(kāi)關(guān)子程序
函數(shù)原型: unsigned char SC_SW_Set(unsigned char SW,bit RW)
函數(shù)功能: 轉(zhuǎn)換SC7313S輸入端口,并自動(dòng)加載使用通道的輸入增益
輸入?yún)?shù): SW :0=第一路輸入;1=第二路輸入;2=每三路輸入;3=第三路輸入
RW :0=讀出;1=寫(xiě)入
返回參數(shù): SW :返回當(dāng)前輸入端口
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
unsigned char SC_SW_Set(unsigned char SW,bit RW);
/***********************************************************************************************
相關(guān)配置程序
************************************************************************************************/
sbit SC_SDA = 0xA1; //SC7313S的SDA引腳地址
sbit SC_SCL = 0xA3; //SC7313S的SCL引腳地址
sbit SC_EA = 0xAF; //MCU的中斷允許寄存器地址
#define SC_Loudness 0x00 //0x00=響度開(kāi),0x04=響度關(guān)
/***********************************************************************************************
公開(kāi)變量聲明
************************************************************************************************/
bit SC_Mute_Bit;
bit SC_Mute_Vol;
unsigned char SC_Vol_Num;
unsigned char SC_TVol_Num;
unsigned char SC_BVol_Num;
unsigned char SC_SW;
unsigned char SC_InVol_Num[4];
unsigned char SC_RLVol_Num[4];
/***********************************************************************************************
函數(shù)名稱: 延時(shí)子程序
函數(shù)原型: void SC_Nop(unsigned char Num)
函數(shù)功能: 延時(shí)
輸入?yún)?shù): 無(wú)
返回參數(shù): 無(wú)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
void SC_Nop(unsigned char Num)
{
while(Num--);
}
/***********************************************************************************************
函數(shù)名稱: I2C總線起始信號(hào)
函數(shù)原型: void SC_Start(void)
函數(shù)功能: 發(fā)出I2C總線起始信號(hào)
輸入?yún)?shù): 無(wú)
返回參數(shù): 無(wú)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
void SC_Start(void)
{
SC_Nop(1);
SC_SCL =1;
SC_Nop(1);
SC_SDA =0;
SC_Nop(1);
SC_SCL =0;
SC_Nop(1);
}
/***********************************************************************************************
函數(shù)名稱: I2C總線結(jié)束信號(hào)
函數(shù)原型: void SC_Stop(void)
函數(shù)功能: 發(fā)出I2C總線結(jié)束信號(hào)
輸入?yún)?shù): 無(wú)
返回參數(shù): 無(wú)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
void SC_Stop(void)
{
SC_SDA =0;
SC_Nop(1);
SC_SCL =1;
SC_Nop(1);
SC_SDA =1;
SC_Nop(1);
SC_SCL =0;
}
/***********************************************************************************************
函數(shù)名稱: I2C總線初始化信號(hào)
函數(shù)原型: void SC_Init(void)
函數(shù)功能: 發(fā)出I2C總線初始化程序
輸入?yún)?shù): 無(wú)
返回參數(shù): 無(wú)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
void SC_Init(void)
{
SC_SCL =0;
SC_Nop(1);
SC_Stop();
}
/***********************************************************************************************
函數(shù)名稱: I2C總線時(shí)鐘發(fā)出子程序
函數(shù)原型: bit SC_Clock(void)
函數(shù)功能: 發(fā)出I2C總線時(shí)鐘信號(hào),并返回時(shí)鐘電平為高期間SDA上的狀態(tài)
輸入?yún)?shù): 無(wú)
返回參數(shù): sample :總線時(shí)鐘為高電平期間SDA的狀態(tài)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
bit SC_Clock(void)
{
bit sample;
SC_Nop(1);
SC_SCL =1;
SC_Nop(1);
sample=SC_SDA ;
SC_Nop(1);
SC_SCL =0;
SC_Nop(1);
return(sample);
}
/***********************************************************************************************
函數(shù)名稱: SC7313S靜音開(kāi)子程序
函數(shù)原型: bit SC_SendByte(char I2CData)
函數(shù)功能: 發(fā)出I2C總線總線發(fā)送1個(gè)字節(jié),并請(qǐng)求應(yīng)答,若收到應(yīng)答,則返回1,否則返回0
輸入?yún)?shù): SC_Clock :返回應(yīng)答
返回參數(shù): 無(wú)
創(chuàng)建日期: 2008年3月30日
修改日期:
有關(guān)說(shuō)明:
編寫(xiě)作者: 李東榮(EMAIL:JDLDR@21CN.COM,QQ:20475125)
**********************************************************************************************/
bit SC_SendByte(char I2CData)
{
register unsigned char i;
for(i=0;i<8;i++) {
SC_SDA =(bit)(I2CData&0x80);
I2CData<<=1;
SC_Clock();
}
SC_SDA =1;
return(~SC_Clock());
}
/***********************************************************************************************
函數(shù)名稱: SC7313S靜音開(kāi)子程序
函數(shù)原型: void SC_MUTE_OPEN(void)
函數(shù)功能: SC7313S靜音開(kāi)啟
輸入?yún)?shù): 無(wú)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -