论坛风格切换切换到宽版
  • 2452阅读
  • 6回复

频率合成器的编程 [复制链接]

上一主题 下一主题
离线Mit
 
发帖
806
只看楼主 倒序阅读 0楼 发表于: 2003-07-18
请问用89c51和mc145155或类似的频率合成集成块构成频率合成器,这之间的数据传输,时钟,使能,编程应该怎样编写?请大家赐教!
谢谢!!!:o
离线bg4jj
发帖
5094
只看该作者 1楼 发表于: 2003-07-18
会的不说
说的不会
呵呵
离线Mit
发帖
806
只看该作者 2楼 发表于: 2003-07-19
上帝呀!!!
离线BD6CR
发帖
5944
只看该作者 3楼 发表于: 2003-07-19
这样的问题只要查mc145155的资料就行了
离线Iraqi
发帖
393
只看该作者 4楼 发表于: 2003-07-20
我曾用89c2051编程控制过mc145157(串行输入的芯片),瞎说两句,不知有无帮助:

mc145157内部有两个14位的移位寄存器-14-bit shift register,其分别作为片内两个锁存器(reference counter latch 和 n counter latch)的输入,另外还有一个长度为1位的移位积存器做为控制寄存器,其位于data引脚与14位移位积存器之间。与这些寄存器和锁存器相关的引脚为:data(数据输入pin10)、clk(时钟pin10)和enb(使能pin10)。用单片机控制向片内写数据时,它们有以下时序和逻辑关系:

当从data向片内写分频比时,先将enb置0(置0时,锁存器内容不随移位寄存器改变而改变),然后
clk每出现1个上升沿,1比特数据(1或0)即从data引脚被打入控制寄存器,然后随着后续时钟上升沿依次前移到14位寄存器的各位。当15个时钟上升沿过后,共打入15比特数据,其中14位为分频比,存储在移位积存器内,1位为控制位,存储在控制寄存器。
此时如enb置1,片内逻辑电路将根据控制位为1还是为0,决定写入那个锁存器(1-reference counter latch ,0- n counter latch),分频比生效。然后将enb置0。

编程时,数据写入部分的算法就是以上述关系为依据的。比如:可用89c2051的p1.7、p1.6、p1.5分别控制data、clk和enb引脚。首先,复位p1.5=0,将分频比分2次,共16位(第一位没有意义,最后一位是控制位)写入rn寄存器,然后通过循环位移指令从布尔累加器向p1.7输出数据,再令,p1.6复位和置位产生时钟信号上升沿,如此循环
16次后,令p1.5置位(置位后加一定的延时程序)使分频比生效,最后复位p1.5,写入成功。

我就是按上述思路试验的,用89c2051和mc145157在面包板上测试的,电路很简单。mc145157自带参考频率振荡器,写入分频比后,在片子的分fr引脚用频率计观察输出频率即可,验证程序是否工作正常。

如没有mc145157,也可用74s194等通用移位寄存器和发光二级管模拟也可,我试过,可以。


仅供参考
离线bg4jj
发帖
5094
只看该作者 5楼 发表于: 2003-07-20
佩服
我要好好研究一下
装到自己的脑子里
呵呵
共享就很难了
离线Mit
发帖
806
只看该作者 6楼 发表于: 2003-07-20
非常感谢大家的支持!另外,那里有mc145155的资料?