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

📄 mc145162_driver.c

📁 MC145162双锁相环芯片的51单片机驱动程序,能同时配置两个通道的NA值.
💻 C
字号:
#include "reg52.h"
#include "user.h"
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long

sbit en =P3^2;
sbit dat=P3^3;
sbit clk=P3^4;
sbit beep=P2^2;

void init_control_reg()
{
	uchar temp;
	uchar i;
	temp=0x88;
	en=1;
	clk=0;
	for(i=0;i<8;i++)
	{
		if(temp & 0x80)
		dat=1;
		else
		dat=0;
		clk=1;
		temp<<=1;
		clk=0;
	}
	en=0;	 		
}

void init_reference_reg()
{
	ulong temp=0x35004000;
	uchar i;
	en=1;
	clk=0;
	for(i=0;i<32;i++)
	{
		if(temp & 0x80000000)
		dat=1;
		else
		dat=0;
		clk=1;
		temp<<=1;
		clk=0;
	}
	en=0; 	
}

void write_counter_reg(ulong TX,ulong RX)
{
	ulong temp;
	uchar i;
	temp=(TX<<16)|RX;
	
	en=0;
	clk=0;
	for(i=0;i<31;i++)
	{
		if(temp & 0x80000000)
			dat=1;
		else
			dat=0;
		clk=1;
		temp<<=1;
		clk=0;
	}
	if(temp & 0x80000000)
		dat=1;
	else
		dat=0;
	clk=1;
	en=1;
	clk=0;
	en=0; 
}

void write_pll(uint TX,uint RX)
{
	uint TX_temp,RX_temp;
	TX_temp=TX/5;
	RX_temp=RX/5;
	write_counter_reg(TX_temp,RX_temp);
}

void main()
{
	delay(20);

	init_control_reg();
	init_reference_reg();
	write_pll(29600,40300);
	while(1);
}

⌨️ 快捷键说明

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