您的位置 首页 解答

浅谈单片机操控频率合成器 MC145151-2 的输出频率及源代码

浅谈单片机控制频率合成器 MC145151-2 的输出频率及源代码-C145151-2 是锁相式频率合成器集成芯片,它有 N13~N0 14 个引脚,用于控制输出频率。

一、

MC145151-2 是锁相式频率组成器集成芯片,它有 N13~N0 14 个引脚,用于操控输出频率。

其间N13、N11现已接地,N12悬空。

从 MC145151-2 的 PDF 文件中,找到关于操控频率的部分,截图如下:

浅谈单片机操控频率组成器 MC145151-2 的输出频率及源代码

依照插图,能够看出,N10~N0 对输出频率的操控联系如下:

011 1000 1000 : 输出 5000 KHz

011 1000 1001 : 输出 5001 KHz

011 1000 1010 : 输出 5002 KHz

…………………………

…………………………

…………………………

101 0111 1100 : 输出 5500 KHz

剖析可知,最小:0x0388,最大:0x057C。

二、

现在要求运用单片机按键计数的办法操控 N10~N0 引脚,使其输出频率为 5000~5500KHz。

单片机是 STC89C52。

规划加、减、清0三个键;

把 P2.2~P2.0、P0.7~P0.0 接到 N10~N0;

在此处输出11位二进制数,最小:0x0388,最大:0x057C。

依照以上要求,规划程序如下。

//=================================

#include

sbit K_ADD = P3^3; //+

sbit K_SUB = P3^4; //-

sbit K_000 = P3^5; //清零

//—————————-

void delay_ms(unsigned int n)

{

unsigned char j;

while(n–) for(j = 0; j 《 230; j++);

}

//—————————-

void main()

{

unsigned int m;

m = 0x0388;

while(1) {

P2 = (m / 256);

P0 = (m % 256);

if (K_000 == 0) {

delay_ms(10);

if (K_000 == 0) {

m = 0x0388;

while(K_000 == 0);

} }

if (K_ADD == 0) {

delay_ms(10);

if (K_ADD == 0) {

m++;

if (m 》 0x057C) m = 0x057C;

while(K_ADD == 0);

} }

if (K_SUB == 0) {

delay_ms(10);

if (K_SUB == 0) {

m–;

if (m 《 0x0388) m = 0x0388;

while(K_SUB == 0);

} } }

}

上述程序是否正确,能够在 P2.2~P2.0、P0.7~P0.0 外接 11 个 LED 来测验。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/347843.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部