一、
MC145151-2 是锁相式频率组成器集成芯片,它有 N13~N0 14 个引脚,用于操控输出频率。
其间N13、N11现已接地,N12悬空。
从 MC145151-2 的 PDF 文件中,找到关于操控频率的部分,截图如下:
依照插图,能够看出,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 来测验。