谢谢bg9aba.之前我已经比较过fq1216及fm1256两者的datasheet,步进频率是设定为50khz的。我按照你说的,将步进频率设定为62.5khz,依然不行。 iic高频头是可以调谐的,iic总线不加上拉电阻问题应该不大,该部分程序我从自己的24c02程序上移植过来的,此前程序也没加过上拉电阻。我的程序是两个按键,一个按键增加频率一个按键减少频率的。以下是发送pll数据部分程序:
send_pll:
mov a,disbuff_shi ;以下将6位bcb码合成3字节
swap a
orl a,disbuff_ge
mov btofl,a
mov a,disbuff_qian
swap a
orl a,disbuff_bai
mov btofm,a
mov a,disbuff_shiwan
swap a
orl a,disbuff_wan
mov btofh,a
lcall _btof ;调用bcd码转二进制程序,
;输出输入均为btofh,btofm,btofl
mov tempram2,#00h
mov tempram3,#00h
mov tempram4,btofh
mov tempram5,btofm
mov tempram6,btofl
addif: clr c ;加上38mhz,38000khz=9470h
mov a,tempram6
add a,#70h
mov tempram6,a
mov a,tempram5
addc a,#94h
mov tempram5,a
mov a,tempram4
addc a,#0
mov tempram4,a
;low band "48.25~158.00 mhz"
clr c
mov a,btofl ;158500khz=26b24
subb a,#24h
mov a,btofm
subb a,#6bh
mov a,btofh
subb a,#02h
jc set_lowband
;mid band "160.00~442.00 mhz"
clr c
mov a,btofl ;442000khz=6be90
subb a,#90h
mov a,btofm
subb a,#0beh
mov a,btofh
subb a,#06h
jc set_midband
;high band "442.00~863.25 mhz"
set_highband: mov pb,#24h
ajmp band_deal
set_midband: mov pb,#42h
ajmp band_deal
set_lowband: mov pb,#81h
ajmp band_deal
band_deal:
mov tempram12,#0 ;;;此行62.5khz时用
mov tempram13,#10 ;;;此行62.5khz时用
call _mul3_2 ;;;此行62.5khz时用
;62.5khz时先将 频率*10 再 除 625= 频率/62.5
mov tempram11,#00h
;此行50khz时用 ;mov tempram12,#00h
;此行50khz时用 ;mov tempram13,#32h
mov tempram12,#02h ;;;此行62.5khz时用
mov tempram13,#71h ;;;此行62.5khz时用
lcall _div6_3
mov db1,tempram5
mov db2,tempram6
;此行50khz时用 ;mov cb,#10001000b
mov cb,#10001110b ;;;此行62.5khz时用
lcall tuner_write
lcall beep_spk
ret