zhipin1501.c

来自「MB1501频率合成器的分频比设置源程序」· C语言 代码 · 共 70 行

C
70
字号
/********************************
   晶振12MHz,载波35MHZ,基准频率5K
   M值取7000,N值取54,A值取88
*********************************/

#include<reg51.h>
#include<intrins.h>

sbit LE=P1^2;
sbit DA=P1^1;
sbit CK=P1^0;

unsigned char FenPinBi;

//===================数据发送8次子程序
void Up8Data(unsigned char k)
{
	unsigned char i;
	for(i=8;i>0;i--)
	{
		DA=(bit)(k&0x01);
		CK=1;
		_nop_();_nop_();
		_nop_();_nop_();
		CK=0;
		k>>=1;
	}
}

//===================数据发送3次子程序
void Up3Data(unsigned char k)
{
	unsigned char i;
	for(i=3;i>0;i--)
	{
		DA=(bit)(k&0x01);
		CK=1;
		_nop_();_nop_();
		_nop_();_nop_();
		CK=0;
		k>>=1;
	}
}

//===================置分频比子程序
void ZhiPin1501()
{
	LE=0;DA=0;CK=0;
	
	FenPinBi=0x48;     //分2次送,先送高8位,再送低8位
	Up8Data(FenPinBi); //1000 1110 0100 1000
	FenPinBi=0x8e;//c192
	Up8Data(FenPinBi);
    LE=1;
    _nop_();
    LE=0;
    
	
	FenPinBi=0x60;     //分3次送,先送高8位,再送中间8位,再送低3位
	Up8Data(FenPinBi); //000 0110 1011 0110 0000
	FenPinBi=0x6b;//0788
	Up8Data(FenPinBi);
	FenPinBi=0x00;
	Up3Data(FenPinBi);
    LE=1;
    _nop_();
    LE=0;
    for(;;);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?