标题:
NJW1194量产单片机源程序
[打印本页]
作者:
chjyxy
时间:
2018-4-9 15:24
标题:
NJW1194量产单片机源程序
大批量产的程序,可以直接使用。
0.jpg
(24.55 KB, 下载次数: 43)
下载附件
2018-4-9 17:33 上传
单片机源程序如下:
#include "TypeDefine.H"
#include "ConstantDefine.h"
#include "NJW1194.H"
#include "PublicVariable.H"
/*******************************************************************************************************************
程序名称: void NJW1194Driver(u8 type, u8 Value1, BYTE Value2)
程序功能: 驱动音调输入等控制
入口参数: type,Value
出口参数: 无
调用子程序:WriteNjw1194(DataTemp)
********************************************************************************************************************/
void NJW1194Driver(u8 type, u8 Value1, u8 Value2)
{
u16 DataTemp;
switch(type)
{
case NJW1194_VOLUME:
if((Value1 <= VOLUME_MIN) || (Value2 <= VOLUME_MIN))
{
Value1 = Value2 = VOLUME_MIN;
}
else
{
if((Value1 + MUSIC_BALANC_0DB) >= MusicBalanc)
{
Value1 = Value1 + MUSIC_BALANC_0DB - MusicBalanc;
}
else
{
Value1 = VOLUME_MIN;
}
if((Value2 + MusicBalanc) >= MUSIC_BALANC_0DB)
{
Value2 = Value2 + MusicBalanc - MUSIC_BALANC_0DB;
}
else
{
Value2 = VOLUME_MIN;
}
}
if(Value1 > VOLUME_MAX)
{
Value1 = VOLUME_MAX;
}
if(Value2 > VOLUME_MAX)
{
Value2 = VOLUME_MAX;
}
if(Value1 <= 0)
{
DataTemp = 255;
}
else
{
DataTemp = 255 - Value1 - 55;
}
DataTemp = (((DataTemp << 8) & 0xFF00)) | NJW1194_ADD;
WriteNjw1194(DataTemp);
if(Value2 <= 0)
{
DataTemp = 255;
}
else
{
DataTemp = 255 - Value2 - 55;
}
DataTemp = (((DataTemp << 8) & 0xFF00)) | NJW1194_ADD;
WriteNjw1194(DataTemp | 0x10);
break;
case INPUT1194_SEL:
DataTemp = Value1;
DataTemp = (((DataTemp << 10) & 0xFF00) | 0x20 | NJW1194_ADD);
WriteNjw1194(DataTemp);
break;
case TREB1194:
DataTemp = NJW1194TONE_TAB[Value1];
if(Value1 > 10)
{
DataTemp |= 0x80;
}
//if(BypassMode)
{
DataTemp |= 0x04;
}
/*else
{
DataTemp &= 0xFB; //音调控制OFF
}*/
DataTemp = (((DataTemp << 8) & 0xFF00) | 0x30 | NJW1194_ADD);
WriteNjw1194(DataTemp);
break;
case BASS1194:
DataTemp = NJW1194TONE_TAB[Value1];
if(Value1 > 10)
{
DataTemp |= 0x80;
}
DataTemp = (((DataTemp << 8) & 0xFF00) | 0x40 | NJW1194_ADD);
WriteNjw1194(DataTemp);
break;
default:
break;
}
}
/***************************************************************************************************************
程序名称: void WriteNjw1194(u16 InData)
程序功能: 送数据
入口参数: In_Data
出口参数: 无
调用子程序:Delay_1us(BYTE Count)
****************************************************************************************************************/
void WriteNjw1194(u16 InData)
{
u8 Couner;
NJW1194EnPort(0);
Delay_us(2);
//_asm("sim");
for(Couner = 0; Couner < 16; Couner ++)
{
NJW1194DataPort(InData & 0x8000);
Delay_us(2);
NJW1194ClkPort(0);
Delay_us(2);
NJW1194ClkPort(1);
InData = InData << 1;
}
//_asm("rim");
Delay_us(2);
NJW1194EnPort(1);
Delay_us(2);
NJW1194ClkPort(1);
}
/*******************************************************************************************************************
程序名称: void NJW1194Driver(u8 type, u8 Value1, BYTE Value2)
程序功能: 驱动音调输入等控制
入口参数: type,Value
出口参数: 无
调用子程序:void NJW1194Init(void)
********************************************************************************************************************/
void NJW1194Init(void)
{
NJW1194Driver(NJW1194_VOLUME, 0, 0);
NJW1194Driver(INPUT1194_SEL, 0, 0);
NJW1194Driver(TREB1194, MUSIC_TREBLE_0DB, MUSIC_TREBLE_0DB);
NJW1194Driver(BASS1194, MUSIC_BASS_0DB, MUSIC_BASS_0DB);
}
复制代码
所有资料51hei提供下载:
NJW1194 code .rar
(1.42 KB, 下载次数: 70)
2018-4-9 15:21 上传
点击文件名下载附件
NJW1194 code
作者:
mchen999
时间:
2018-8-16 18:34
还有3个H头文件没上传呢。请上传一下,谢谢。
作者:
qjy822
时间:
2021-10-15 15:26
程序不完整呢!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1