论坛风格切换切换到宽版
  • 2947阅读
  • 11回复

upd2833 [复制链接]

上一主题 下一主题
离线BG7YDO
 
发帖
3654
只看楼主 倒序阅读 0楼 发表于: 2008-07-03
搭了一个电路,控制upd2833,失败了,请指点
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BG7YDO
发帖
3654
只看该作者 1楼 发表于: 2008-07-03
程序如下,开始怀疑是时钟快了用了4mhz的还不行,延时没有改,有点乱


pll_d   bit p2.6
pll_clk bit p2.5    
pll_enb bit p2.7




;===================================
org   0000h
jmp   start
org   0080h
start:
clr   p2.2
clr   pll_enb
clr   pll_d
clr   pll_clk
mov   r2,#0ah

rx:
clr   pll_clk
clr   pll_d
lcall   delay
lcall   delay
lcall   delay
lcall   delay
rx1:
mov   a,#64h
mov   r3,#08h
lcall   updata
mov   a,#6bh
mov   r3,#08h
lcall   updata
mov   r3,#01h
mov   a,#00h
clr   p2.1
lcall   updata
call   delay
clr   pll_clk
lcall   delay
lcall   delay
lcall   delay
lcall   delay
lcall   delay
lcall   delay
setb   pll_enb
lcall   delay
lcall   delay
lcall   delay
lcall   delay
clr   pll_enb
lcall   delay
lcall   delay
clr   p2.3
lcall   delay
lcall   delay
lcall   delay
cpl   p2.3
djnz   r2,rx1
clr   p2.0
jmp   $
updata:
clr   c
up_1:
rlc   a
mov   pll_d,c
lcall   delay
clr   pll_clk
lcall   delay
lcall   delay
lcall   delay
lcall   delay
setb   pll_clk
lcall   delay
lcall   delay
;clr   pll_clk
lcall   delay1
djnz   r3,up_1

ret

delay:
mov r1,#20h
djnz r1,$
ret
delay1:
mov r1,#10h
djnz r1,$
ret

end
离线BG7YDO
发帖
3654
只看该作者 2楼 发表于: 2008-07-03
下面是upd2833的pdf
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线代洪波
发帖
4809
只看该作者 3楼 发表于: 2008-07-03
这个东西我做过!我把数据发射部分的程序给你看!
send_t:
                             clr reset_t
                             clr clk_t
                             clr datap_t
                             call delay
                             mov 20h,t_l
                             mov 21h,t_h
                             mov r7,#16
                             clr datap_t
                             setb clk_t
                             call delay
                             clr clk_t
                             clr datap_t
n2:  
                             clr c
                             mov a,20h
                             rlc a
                             mov 20h,a
                             mov a,21h
                             rlc a
                             mov 21h,a
                             mov datap_t,c
                             setb clk_t
                             call delay
                             clr clk_t
                             call delay
                             djnz r7,n2
                             setb reset_t
                             call delay
                             clr reset_t
                             ret

送数据最大的问题就是先说一个低的数据位给他,然后再用循环送2个8bit,(数据在0-15位),16位为0.希望能够对你有用!
离线ZOO
发帖
936
只看该作者 4楼 发表于: 2008-07-03
10000能的坛!我找了5年,今朝出水!
离线BG7YDO
发帖
3654
只看该作者 5楼 发表于: 2008-07-03
[quote=代洪波]这个东西我做过!我把数据发射部分的程序给你看!
send_t:
                             clr reset_t
                             clr clk_t
                             clr datap_t
                             call delay
                             mov 20h,t_l
                             mov 21h,t_h
                             mov r7,#16
                             clr datap_t
                             setb clk_t
                             call delay
                             clr clk_t
                             clr datap_t
n2:  
                             clr c
                             mov a,20h
                             rlc a
                             mov 20h,a
                             mov a,21h
                             rlc a
                             mov 21h,a
                             mov datap_t,c
                             setb clk_t
                             call delay
                             clr clk_t
                             call delay
                             djnz r7,n2
                             setb reset_t
                             call delay
                             clr reset_t
                             ret

送数据最大的问题就是先说一个低的数据位给他,然后再用循环送2个8bit,(数据在0-15位),16位为0.希望能够对你有用![/quote]
谢谢。
如果用64/65分频的话,a分频器最高位补0,n分频器最高位一定要为0吗?本来我是分三次送数的;n:2+8 a:7.也是不行.....
你用的时钟是多少?延时大概多少?
我用的是89s52.
离线代洪波
发帖
4809
只看该作者 6楼 发表于: 2008-07-04
先回答延时问题,资料上已经说了,t的最小时间是4us,也就是支持250khz的最大时钟,当然你也可以把t设在10us,稳妥起见!
吞噬功能pll输出频率计算方法是这样的:步进频率*(n*外部分频器小位+a),在你这里外部值取64.
其实计算a和n的数据并不难,你需要的频率除以基本步进值比如10khz,再除以n就是给n寄存器的数据,余下的值给a寄存器!然后把2个数据安排在17个bit当中,a 在低的6位,n在高11位而已!就那么简单!
离线永远的FM
发帖
12126
只看该作者 7楼 发表于: 2008-07-04
哇!老大还在搞upd2833啊!
你上q了我把我那份2833置频资料发给你!我自己写的。以前车台就是用2833
离线BG7YDO
发帖
3654
只看该作者 8楼 发表于: 2008-07-06
[quote=代洪波]先回答延时问题,资料上已经说了,t的最小时间是4us,也就是支持250khz的最大时钟,当然你也可以把t设在10us,稳妥起见!
吞噬功能pll输出频率计算方法是这样的:步进频率*(n*外部分频器小位+a),在你这里外部值取64.
其实计算a和n的数据并不难,你需要的频率除以基本步进值比如10khz,再除以n就是给n寄存器的数据,余下的值给a寄存器!然后把2个数据安排在17个bit当中,a 在低的6位,n在高11位而已!就那么简单!
[/quote]
谢谢您的解答。
a分频不是7位吗?
离线BG7YDO
发帖
3654
只看该作者 9楼 发表于: 2008-07-06
[quote=永远的fm]哇!老大还在搞upd2833啊!
你上q了我把我那份2833置频资料发给你!我自己写的。以前车台就是用2833[/quote]
非常感谢你的帮助
离线ZOO
发帖
936
只看该作者 10楼 发表于: 2008-07-07
r如果方便我要一份,可以吗?
[quote=永远的fm]哇!老大还在搞upd2833啊!
你上q了我把我那份2833置频资料发给你!我自己写的。以前车台就是用2833[/quote]
地址在签名挡
离线代洪波
发帖
4809
只看该作者 11楼 发表于: 2008-07-07
'
谢谢您的解答。
a分频不是7位吗?
'
我说错了,a的确是7位!n是10位,方法是那样的