赞助论坛
  • 2645阅读
  • 0回复

有公式,请高手计算 [复制链接]

楼层直达
kinxiu  
发帖
6
精华
0
金币
21
威望
0
贡献
0
好评
0
注册
2010-01-13
楼主    kinxiu 发表于: 2012-10-14 18:20:28 
本人搞硬件,现在遇到关于寄存器设置的问题请教大家:

针对不同频率的晶体,Reg16,Reg17,Reg25寄存器必需做不同的配置,配置值可以用公式算出来,如下,:

(晶体频率/512)+0.5然后取整,再转换为16进制数,得到一个18bit的数。

取这个数的高16bit,写入REG16,bit1写入REG17的最高位,bit0写入REG25的最高位。

举例:

频率为12Mhz:
12000000/512+0.5=23438,转换为16进制为0x5b8e,高16位为0x16e3,bit1=1,bit0=0。
所以REG16=0x16e3,reg17由0x0000改为0x8000,reg25为0x28bc。

频率为24Mhz:

24000000/512+0.5=23438,转换为16进制为0Xb71b,高16位为0x2dc6,bit1=1,bit0=1。

所以REG16=0x2dc6,reg17由0x0000改为0x8000,reg25改为0xa8bc。

[size=5]请问当频率为27Mhz:
REG16=?,
reg17由0x0000改为?,
reg25改为?[/size]