📄 ctrlpll2326.c
字号:
/*********************************************************************
* 版权所有 (C)2005, 深圳市中兴通讯股份有限公司。
*
* 文件名称: // CtrlPLL2326.c
* 文件标识: // 见配置管理计划书
* 内容摘要: // 锁相环的控制(lm2326) 简要描述本文件的内容,包括主要模块、函数及其功能的说明
* 其它说明: // 其它内容的说明
* 当前版本: // 输入当前版本
* 作 者: // 输入作者名字及单位
* 完成日期: // 输入完成日期,例:2000年2月25日
*
* 修改记录1:// 修改历史记录,包括修改日期、修改者及修改内容
* 修改日期:
* 版 本 号:
* 修 改 人:
* 修改内容:
* 修改记录2:…
**********************************************************************/
#include<aduc841.h>
//#include "MacroDef.h"
/**************************************************************************
* 函数名称: OutputPLL2326()
* 功能描述: UART初始化
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
* 07/05/2005 V1.0 XXXX XXXX
**************************************************************************/
/*void OutputPLL2326(unsigned int uiFvco)
{
unsigned long xdata R_reg,F_reg,N_reg;
R_reg = 0;
F_reg = 0;
N_reg = 0;
//计算R寄存器
R_reg = 192 >> 1;//(19.2/0.2); // N_reg=Fosc/Fcom
R_reg = R_reg << 2; //R_reg
R_reg = 0x000180;
//计算N寄存器
N_reg = uiFvco >> 1; // N_reg=Fvco/Fcom
N_reg = N_reg << 2;
N_reg = N_reg | 0x00100001;
//计算F寄存器
F_reg = 0x001092; // set the function latch
SETPORT(0x21,0x00,0x10); //开启PLL锁相环使能
SPITOPLLLEN(R_reg);
SPITOPLLLEN(N_reg);
SPITOPLLLEN(F_reg);
SETPORT(0x21,0x00,0x00); //关闭PLL锁相环使能
}
/**************************************************************************
* 函数名称: ResetPLL2326()
* 功能描述: 复位PLL2326
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
* 07/05/2005 V1.0 XXXX XXXX
**************************************************************************/
/*void ResetPLL2326(unsigned int uiFvco)
{
unsigned char ucloopi;
unsigned long xdata ulPLLData[3];
unsigned long xdata B,A,N;
A = 0;
B = 0;
N = 0;
for (ucloopi = 0;ucloopi < 3;ucloopi++)
{
ulPLLData[ucloopi]=0;
}
//add code here 04.12.3
ulPLLData[0] = 96;//19.2*5; /* R=Fosc/Fcom */
// N = uiFvco / 2; /* N=Fvco/Fcom */
/* A = N % 32;
B = (N - A) / 32;
A = A << 5;
B = B << 10;
//B=B || A;
ulPLLData[0] = ulPLLData[0] << 5; //R_reg
ulPLLData[2] = ulPLLData[2] | A;//N_reg
ulPLLData[2] = ulPLLData[2] | B;
ulPLLData[2] = ulPLLData[2] | 0x800008;
ulPLLData[1]= 0x008490; /* F_reg:set the function latch */
/*| 0 1|0|0| 1 0 1 | 1|0|0 0 1 |0 0 0 0 |0 0 0 | 0 |0 |---0x0008d2
|1 2 |1|2| 3 4 5 | 6|7|8 9 10 |11 12 13 14|15 16 17 | 18|19|
|Ctrl|||||-Fo/LD| ||||-FastLock|-Timeout--|TestModes| | | ||
| | | | Modes Counter | Test Mode
|powerDown | CP Power Down Mode
Counter reset Phase Detector Polarity */
/* for(ucloopi = 0;ucloopi < 3;ucloopi++)
{
SETPORT(0x21,0x00,0x10); //开启PLL锁相环使能
SPITOPLL(ulPLLData[ucloopi]);
SETPORT(0x21,0x00,0x00); //关闭PLL锁相环使能
//SetPll2326(ulPLLData[ucloopi],ucChipEN);
}
return;
} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -