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

📄 mc145162.c

📁 锁相环mc145162的应用
💻 C
字号:
/*******************************************************

*******************************************************/
#include <AT89X52.H>
#define CLK		P0_0
#define ADin    P0_1
#define Din   	P0_2
#define ENB    	P0_3

/********************************************************************/
void MC145162_Reset(unsigned int,unsigned long int,unsigned int,unsigned int);
void delay(unsigned int);

/*******************************************************************/
void delay(unsigned int time_delay)
{
	unsigned int time_delay_counter; 

	for (time_delay_counter=0; time_delay_counter<time_delay; time_delay_counter++)
	{}
}

void MC145162_Reset(unsigned int Ctrl_Data,unsigned long int Ref_Data,unsigned int Tx_Count,unsigned int Rx_Count)
{
	unsigned int i;
	unsigned long int mask;

	ENB=0;
	CLK=0;
	ADin=0;
	Din=0;
	ENB=1;
    mask=0x80;
    for(i = 0;i < 8;i++)
    {
	 	CLK=0;
     	if(Ctrl_Data & mask)	Din=1;
     	else	Din=0;
    
     	CLK=1;
     	mask = mask >> 1;
     	Din=0;
    }
	CLK=0;
	ENB=0;
    mask=0x80000000;
	ENB=1;
    for(i = 0;i < 32;i++)
    {
		CLK=0;
     	if(Ref_Data & mask)
     	{
     		Din=1;
     	} 
     	else
     	{
     		Din=0;
     	}
     	CLK=1;
     	mask = mask >> 1; 
     	Din=0;
    }
	CLK=0;
	ENB=0;
    mask = 0x8000;
    for(i = 0;i < 16; i++)
    {	 
	    CLK=0;
	    if(Tx_Count & mask)
	    {
	     	ADin=1;
	    } 
	    else
	    {
	    	ADin=0;
	    }
	    if(Rx_Count & mask)
	    {
	     	Din=1;
	    } 
	    else
	    {
	     	Din=0;
	    }
	    CLK=1;
	    mask = mask >> 1;
	    ADin=0;
	    Din=0;
	    CLK=0;
    }
	ENB=1;
	ENB=0;
}

void main (void)
{
	delay(200); 
	MC145162_Reset(0x90,0x31904000,3100,3100);
	while(1);
}

⌨️ 快捷键说明

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