ADF4106配置
来源:互联网 发布:js定义一个对象 编辑:程序博客网 时间:2024/05/16 10:18
#include<c8051f330.h>
sbit clk = P0^0;
sbit dat = P0^2;
sbit le = P0^3;
unsigned char send1,send2;
void delay(unsigned char yc)
{
while(--yc);
}
void init_mcu(void)
{
OSCICN = 0xc3;
OSCICL = 0x00;
PCA0MD = 0x00;
XBR0 = 0x00;
XBR1 = 0x40;
P0MDIN = 0xff; //P0端口为数字输入
P0MDOUT = 0xff; //P0端口推挽输出
P0SKIP = 0x00; //无引脚被跳过
P1MDIN = 0xff; //P1端口为数字输入
P1MDOUT = 0xff; //端口P1.6为开漏输出,其它推挽开漏输出
P1SKIP = 0x00; //无引脚被跳过
}
void send_data(unsigned char temp)
{
unsigned char i;
clk=0;
for(i=0;i<=7;i++)
{
temp=temp<<1;
dat=CY;
delay(50);
clk=1;
delay(50);
clk=0;
}
clk=0;
}
void send_data16(unsigned int temp)
{
unsigned char i;
clk=1;
temp=~temp;
for(i=0;i<=15;i++)
{
temp=temp<<1;
dat=CY;
delay(50);
clk=0;
delay(50);
clk=1;
}
clk=1;
}
void init_4106(void)
{
le=0;
delay(10);
le=0;
send_data(0x1F);
send_data(0x80);
send_data(0x93);//INIT REG
delay(10);
le=1;
delay(10);
le=0;
send_data(0x1F);
send_data(0x80);
send_data(0x92);//FUNCTION REG
delay(10);
le=1;
delay(10);
le=0;
send_data(0x00);
send_data(0x11);
send_data(0x0D);//N REG
delay(10);
le=1;
delay(10);
le=0;
send_data(0x00);
send_data(0x00);
send_data(0x20);//R REG
delay(10);
le=1;
}
main()
{
unsigned char in;
unsigned char buf;
unsigned char calA;
unsigned int calB;
in=P0;
buf=in;
init_mcu();
init_4106();
while(1)
{
// in=P0;
//if (buf!=in)
//{
//buf=in;
// calB=in+103;
// calA=in+103;//0-1030 31-1340
// calB=calB/8;
// calA=calA-calB*8;
// calA=calA*4+1;//(calA<<2)+1;
// le=0;
//send_data16(calB);// N register former 16bits
//send_data(calA);// back 8 bits
//delay(10);
//le=1;
//}
}
}
sbit clk = P0^0;
sbit dat = P0^2;
sbit le = P0^3;
unsigned char send1,send2;
void delay(unsigned char yc)
{
while(--yc);
}
void init_mcu(void)
{
OSCICN = 0xc3;
OSCICL = 0x00;
PCA0MD = 0x00;
XBR0 = 0x00;
XBR1 = 0x40;
P0MDIN = 0xff; //P0端口为数字输入
P0MDOUT = 0xff; //P0端口推挽输出
P0SKIP = 0x00; //无引脚被跳过
P1MDIN = 0xff; //P1端口为数字输入
P1MDOUT = 0xff; //端口P1.6为开漏输出,其它推挽开漏输出
P1SKIP = 0x00; //无引脚被跳过
}
void send_data(unsigned char temp)
{
unsigned char i;
clk=0;
for(i=0;i<=7;i++)
{
temp=temp<<1;
dat=CY;
delay(50);
clk=1;
delay(50);
clk=0;
}
clk=0;
}
void send_data16(unsigned int temp)
{
unsigned char i;
clk=1;
temp=~temp;
for(i=0;i<=15;i++)
{
temp=temp<<1;
dat=CY;
delay(50);
clk=0;
delay(50);
clk=1;
}
clk=1;
}
void init_4106(void)
{
le=0;
delay(10);
le=0;
send_data(0x1F);
send_data(0x80);
send_data(0x93);//INIT REG
delay(10);
le=1;
delay(10);
le=0;
send_data(0x1F);
send_data(0x80);
send_data(0x92);//FUNCTION REG
delay(10);
le=1;
delay(10);
le=0;
send_data(0x00);
send_data(0x11);
send_data(0x0D);//N REG
delay(10);
le=1;
delay(10);
le=0;
send_data(0x00);
send_data(0x00);
send_data(0x20);//R REG
delay(10);
le=1;
}
main()
{
unsigned char in;
unsigned char buf;
unsigned char calA;
unsigned int calB;
in=P0;
buf=in;
init_mcu();
init_4106();
while(1)
{
// in=P0;
//if (buf!=in)
//{
//buf=in;
// calB=in+103;
// calA=in+103;//0-1030 31-1340
// calB=calB/8;
// calA=calA-calB*8;
// calA=calA*4+1;//(calA<<2)+1;
// le=0;
//send_data16(calB);// N register former 16bits
//send_data(calA);// back 8 bits
//delay(10);
//le=1;
//}
}
}
0 0
- ADF4106配置
- MAX2150,ADF4106 python配置脚本
- C8051F310配置ADF4106和max2150
- 基于ADF4106的锁相环频率器研究与设计
- 配置
- 配置
- 配置
- 配置
- [配置]
- 配置
- 配置
- 配置
- 配置
- 配置
- 配置
- 配置
- 配置
- 配置
- JasperReports
- 使用java编程,实现论坛自动登录、签到、领奖、摇一摇
- linker command failed with exit code 1 (use -v to see invocation) xxx.app/xxx file not found test
- 第11周项目-1存储班长信息的学生类
- 【笔记】JavaScript编码规范- 事件&模块
- ADF4106配置
- 两个linux内核rootkit--之二:adore-ng
- [翻译][Trident] Storm Trident 教程
- 第十一周(类族的设计)
- 第11周项目2 - 职员有薪水了(2)
- oracle的学习路线
- 两个linux内核rootkit--之一:enyelkm
- VS2010网络编程
- Sublime Text 3 (Build 3083) 注册码