⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 senddatapll.c

📁 锁相环TB31202的c驱动程序
💻 C
字号:
#include	<pic.h>
#include	"radio.h"
#include	"delay.h"

#define	CSynClk 0
#define CSynStr 1
#define CSynData 2



void funcDataToPLL(unsigned char LVPLLA,unsigned char  loop)
{
	unsigned char i;
	funcBitClr(PORTA, CSynStr);
	for(i=0;i<loop;i++)
	{
		funcBitClr(PORTA,CSynClk);
		//funcBitClr(PORTA,CSynData);
		if(LVPLLA&0x01)
			funcBitSet(PORTA,CSynData);
		else
			funcBitClr(PORTA,CSynData);
		DelayUs(2);
		funcBitSet(PORTA,CSynClk);
		//DelayUs(2);
		LVPLLA>>=1;		
	}
	funcBitClr(PORTA,CSynClk);
	funcBitClr(PORTA,CSynData);
	
}

void funcPllLock(void)
{
	funcBitSet(PORTA, CSynStr);
	DelayUs(2);
	funcBitClr(PORTA, CSynStr);
}







unsigned char  funcWritePLL(void)
{
	
	unsigned char i;
	if(BTxRx)
	{
		VPllN_Rx=VPllN+66;
		VPllA_Rx=VPllA+27;
		if(VPllA_Rx>=32)
		{
			VPllN_Rx+=1;
			VPllA_Rx-=32;
		}
		for(i=0;i<10;i++)
		{
			funcDataToPLL(VPllA_Rx, 5);
			funcDataToPLL(VPllN_Rx, 8);
			
			funcDataToPLL(0x00, 4);	
			funcDataToPLL(CPLLSetFreq,2);	//frequency code
			funcPllLock();
			
			DelayMs(20);
			if(PORTB&(1<<CLD))
				break;
		}
	}
	else
	{
		for(i=0;i<10;i++)
		{
			funcDataToPLL(VPllA, 5);
			funcDataToPLL(VPllN, 8);	
			funcDataToPLL(0x00, 4);
			funcDataToPLL(CPLLSetFreq, 2);	//frequency code
			funcPllLock();
			
			DelayMs(20);
			if(PORTB&(1<<CLD))
				break;
		}
	}

	if(VDispMode !=CDisModeHot)
	{
		if(i==10)
		{
			VDispMode=CDisModeLoc;
		
		}
		else
		{
			VDispMode=lvDispMode;	
		}
	}
	
	
	return(i);
	
}




⌨️ 快捷键说明

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