mc145162_driver.c

来自「MB1504锁相环芯片的51单片机驱动程序,可以根据需要修改合适的分频值来完成频」· C语言 代码 · 共 96 行

C
96
字号
#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 + =
减小字号Ctrl + -
显示快捷键?