📄 lm2035.c
字号:
/*============================
LM2035驱动程序
文件名:LM2035.c
===============================*/
#include"hardwareinterface.h"
#define fclk_in 11059200 //LM2035的基准频率
/*===========正弦波串行数据输入===========
入口参数:SINDATA为要产生相应频率的16位数据
==========================================*/
void SinData(unsigned int SINDATA)
{
unsigned char i;
Sin_LAT=0;
for(i=0;i<16;i++)
{
Sin_SCK=0;
if((SINDATA>>i)&0x0001)Sin_SID=1;
else Sin_SID=0;
if(i==15)
{
Sin_LAT=1;
Sin_LAT=0;
}
Sin_SCK=1;
}
}
/*============正弦波数据输出计算=========
入口参数:F为输入的频率值
出口参数:Sindata为F对应的16位数据
注释:由LM2035的数据书的公式
F=fclk_in*(D15~D0)/2^23
Fmin=fclk_in/2^23
==========================================*/
unsigned int SinDataOut(unsigned int F)
{
unsigned long a;
unsigned int Sindata;
if(F<=500)
{
a=(unsigned long )F*8388608;
Sindata=(unsigned int)(a/fclk_in);
}
else if(F>500&&F<=1000)
{
a=(unsigned long )F/10*8388608;
Sindata=(unsigned int)(a/fclk_in*10);
}
else
{
a=(unsigned long )F/100*8388608;
Sindata=(unsigned int)(a/fclk_in*100);
}
return Sindata;
}
/*===========低功耗模式==========*/
void SinPower(void)
{
SinData(0);
Sin_LAT=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -