📄 4154.c
字号:
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
sbit SCL=P1^1; //时钟
sbit DATA=P1^2; //数据
sbit LE=P1^3; //数据
uchar data0;
//延时程序
void ADf4154_delay(int time)
{
int i;
for(i = 0; i < time; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
//写N寄存器
void ADf4154_SendN(uchar Ndata1)
{
uint i;
for(i=0;i<22;i++)
{
if((Ndata1&0x400000)==1)
DATA=1;
else
DATA=0;
Ndata1=(Ndata1<<1);
SCL=1;
ADf4154_delay(2);
SCL=0;
}
DATA=0;
SCL=1;
ADf4154_delay(2);
SCL=0;
DATA=0;
SCL=1;
ADf4154_delay(2);
SCL=0;
LE=1;
ADf4154_delay(5);
LE=0;
}
//写R寄存器
void ADf4154_SendR(uchar Rdata1)
{
uint i;
for(i=0;i<22;i++)
{
if((Rdata1&0x400000)==1)
DATA=1;
else
DATA=0;
Rdata1=(Rdata1<<1);
SCL=1;
ADf4154_delay(2);
SCL=0;
}
DATA=0;
SCL=1;
ADf4154_delay(2);
SCL=0;
DATA=1;
SCL=1;
ADf4154_delay(2);
SCL=0;
LE=1;
ADf4154_delay(5);
LE=0;
}
//写控制寄存器
void ADf4154_SendC(uchar Cdata1)
{
uint i;
for(i=0;i>14;i++)
{
if((Cdata1&0x4000)==1)
DATA=1;
else
DATA=0;
Cdata1=(Cdata1<<1);
SCL=1;
ADf4154_delay(2);
SCL=0;
}
DATA=1;
SCL=1;
ADf4154_delay(2);
SCL=0;
DATA=0;
SCL=1;
ADf4154_delay(2);
SCL=0;
LE=1;
ADf4154_delay(5);
LE=0;
}
//写噪声寄存器
void ADf4154_SendSN(uchar SNdata1)
{
uint i;
for(i=0;i<9;i++)
{
if((SNdata1&0x0100)==1)
DATA=1;
else
DATA=0;
SNdata1=(SNdata1<<1);
SCL=1;
ADf4154_delay(2);
SCL=0;
}
DATA=1;
SCL=1;
ADf4154_delay(2);
SCL=0;
DATA=1;
SCL=1;
ADf4154_delay(2);
SCL=0;
LE=1;
ADf4154_delay(5);
LE=0;
}
//初始化
void ADf4154_init()
{
SCL=0;
ADf4154_delay(2);
DATA=0;
ADf4154_delay(2);
LE=0;
ADf4154_delay(2);
}
void main()
{
ADf4154_init();
ADf4154_SendN(2093056);
ADf4154_SendR(1175567);
ADf4154_SendC(251);
ADf4154_SendSN(224);//LOW NOISE AND SPUR MODE
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -