论坛风格切换切换到宽版
  • 10784阅读
  • 53回复

哈!刚刚验证通过的51系列单片机DDS芯片AD9851控制源程序(汇编) [复制链接]

上一主题 下一主题
离线bg4jj
发帖
5094
只看该作者 20楼 发表于: 2004-08-28
我很关注这个帖子 够了:)
离线BG7TCM
发帖
173
只看该作者 21楼 发表于: 2004-08-28
'
小梁:
你提供的那段程序好像有点小问题,我用它形成的数据送9851时,10.00000m的完全正确,别的就不对了。如果有时间的话,麻烦再看看。谢谢!
'
李老师:
你指的是哪一段程序?
离线ahzds
发帖
7423
只看该作者 22楼 发表于: 2004-08-28
感谢楼上各位的回复!我再试试看,成功后,我会贴出全部源程序,以及串行口控制中文lcd的程序(厂家提供不了demo,花了两周时间研究芯片厂家的时序图,才弄出来的!好累!不过挺好用,应该是好多人都感兴趣的!)
离线BD7RC
发帖
3283
只看该作者 23楼 发表于: 2004-08-28
刚才看了一下原贴,你说已经测试通过在用了,把我搞得有点糊涂了。

当时我用你的子程序测试,发现计算形成dds控制数据的那段好像有点问题,也可能是我这边的一些定义和时序与你的有点不一样,送过去的数据控制dds后没有得到期望值而是得到另外的值,当时时间关系没有非常认真地考究,另外有一段程序你后面编辑过,所以我这两天抽点时间再看看。


[quote=大多数]李老师:
你指的是哪一段程序?[/quote]
离线rogerllg
发帖
301
只看该作者 24楼 发表于: 2004-09-02
好东西啊,刚申请了两片ad8952ast,好东西.
离线bg7vi
发帖
2562
只看该作者 25楼 发表于: 2004-09-02
'
为什么是一定呢?哈哈,就他一个人会?
bg6agb小子,给大家说说。
'
看来是本人孤陋寡闻了,那请bg6agb小子、ba6bf讲一讲,特别是由键盘给定十进制的频率再输出即一个lcd+键盘输入的操作系统,反正我只看到刘茂松老师成功地提供了成品,我------bg7vi就是服刘茂松老师!胜者王啊! ;)
离线BG7YDO
发帖
3654
只看该作者 26楼 发表于: 2004-09-03
关注                       。
离线bd3si
发帖
13712
只看该作者 27楼 发表于: 2004-11-08
[quote=ahzds]感谢楼上各位的回复!我再试试看,成功后,我会贴出全部源程序,以及串行口控制中文lcd的程序(厂家提供不了demo,花了两周时间研究芯片厂家的时序图,才弄出来的!好累!不过挺好用,应该是好多人都感兴趣的
离线BA6BF
发帖
16983
只看该作者 28楼 发表于: 2004-11-08
'
看来是本人孤陋寡闻了,那请bg6agb小子、ba6bf讲一讲,特别是由键盘给定十进制的频率再输出即一个lcd+键盘输入的操作系统,反正我只看到刘茂松老师成功地提供了成品,我------bg7vi就是服刘茂松老师!胜者王啊! ;)
'

看来您真是孤陋寡闻了,kn101早就实现了这个功能。

kn830上因为面板较小才取消了这个功能。
离线radiolee
发帖
6050
只看该作者 29楼 发表于: 2004-11-09
建议6bf老师在以后的840中预留一个键盘接口,省得有人睁着眼说瞎话。如果6bf老师能看到此贴的话,建议下840采用模块化设计。能留出接口的各个地方最好能留一下,方便大家改装和扩展。
离线BD7RC
发帖
3283
只看该作者 30楼 发表于: 2004-11-09
呵呵,又翻老帖子了~~

其实7vi的意思就是说如果可能的话,一些技术细节能不能说说?
他不过是用了激将法而已。

关于dds,小人没有本事,也就弄到这样而已,没能继续深入下去。

真的希望有能力的ham能把dds技术普及化。
离线BA6BF
发帖
16983
只看该作者 31楼 发表于: 2004-11-09
'
呵呵,又翻老帖子了~~
其实7vi的意思就是说如果可能的话,一些技术细节能不能说说?
他不过是用了激将法而已。
关于dds,小人没有本事,也就弄到这样而已,没能继续深入下去。
真的希望有能力的ham能把dds技术普及化。
'

如果真的是这个目的,不必用激将法。我们早有这个计划将kn830的相关资料公布给大家,其实就kn101来说,我们也免费把原代码提供给了很多有兴趣研究的朋友。

dds做的机器我们也是刚开始研究,很多技术环节也还需要理顺。记得去年我曾经把我们实验的一个pll原代码几乎每一句都加上注释后发到了论坛上,我很遗憾的看到很少有人去关注这个帖子。

所以从kn101开始,我不再公开把资料发到论坛上,但是如果有爱好者给我email索取原程序或电路图,我都会提供给他。
离线bg6qbv
发帖
5839
只看该作者 32楼 发表于: 2004-11-09
'
如果真的是这个目的,不必用激将法。我们早有这个计划将kn830的相关资料公布给大家,其实就kn101来说,我们也免费把原代码提供给了很多有兴趣研究的朋友。
dds做的机器我们也是刚开始研究,很多技术环节也还需要理顺。记得去年我曾经把我们实验的一个pll原代码几乎每一句都加上注释后发到了论坛上,我很遗憾的看到很少有人去关注这个帖子。
所以从kn101开始,我不再公开把资料发到论坛上,但是如果有爱好者给我email索取原程序或电路图,我都会提供给他。
'

很有兴趣,很想看看程序和电路图学习。能提供吗?已经发过几次短消息,可是没有回音!谢谢!
离线BD7RC
发帖
3283
只看该作者 33楼 发表于: 2004-11-10
呵呵,现在好像大家就爱赶dds的时髦,对pll没兴趣了。今年我弄了个89c2051+lcd的pll控制方案,想发上来,问了一下,好像也没几个人有兴趣。

830的dds开发应该用的是c吧?用汇编好像比较罗嗦的。如果有空和可以的话,请发及其资料给我看看可以么?邮箱是lychh在126.com上。先谢了。

'
如果真的是这个目的,不必用激将法。我们早有这个计划将kn830的相关资料公布给大家,其实就kn101来说,我们也免费把原代码提供给了很多有兴趣研究的朋友。
dds做的机器我们也是刚开始研究,很多技术环节也还需要理顺。记得去年我曾经把我们实验的一个pll原代码几乎每一句都加上注释后发到了论坛上,我很遗憾的看到很少有人去关注这个帖子。
所以从kn101开始,我不再公开把资料发到论坛上,但是如果有爱好者给我email索取原程序或电路图,我都会提供给他。
'
离线BG6AGB
发帖
915
只看该作者 34楼 发表于: 2004-11-10
昨天才考完两门小科目,往后每个礼拜都少了8节课,哈哈,可以多来看看帖子了。

这个帖子我到很久没有看到了,6bf让我说说输入10进制数,输出相应的频率的那一段话也是刚刚才看到。看来翻老帖的人还是真厉害啊。

激将法真的很管用的,我就来说说101里面怎么实现的吧。

事先申明,我的汇编也是本学期上微机原理课才开始学的,我做的都是c的程序。

首先,矩阵键盘是要有的,呵呵~~~~不然拿什么输入频率啊。
其次,研究过相应的芯片资料后,写一个单独的函数,比如kn101里面的mc145162,它需要两种数据,一个是置参考分频比,一个是置环路分频比。由于参考分频比是在设计时就定了,所以这个数据开机送一次就可以了,没必要在每次换频率时再送一次;而环路分频比是和当前接受频率相关的,因此,把当前工作频率(十进制)做为该函数的变量,再在函数内部把频率按芯片控制格式的要求转化为一个控制字,送给芯片,因此只要在调用函数时给定变量,就能够实现频率的变换。lcd也是类似的。

第三,将矩阵键盘的操作转换成十进制数,这和把电脑键盘输入的数据转换成电脑里面的格式是一样的,定义好矩阵键盘上哪个键是哪个数字,再定义一个初始值为零的量(比如x),如果按下一个键,就自动把x乘10加上相应键代表的数字,如果前后一共按了5下,就把结果乘1000(kn101是1khz步进)做为变量送入第二步的函数,如果按的键不足5个就按ent键盘退出了,就把x乘以(不足的次数)次10,再乘以1000送交上面那个函数。

具体到每个函数,那就比较长了,而且还牵涉到vco、输入回路、解调器等等的切换,各个部分紧密配合,才能完成一台机器的全部功能,

也不知我笨嘴拙舌,有没有把事说清楚,希望大家能看明白,希望对刚开始学面向过程编程的朋友有帮助。
离线BG6AGB
发帖
915
只看该作者 35楼 发表于: 2004-11-10
'
ad9851的输出频率为:
k乘以180mhz再除以2的32次方(单位:mhz)
用51来算这个天文数字,确实太麻烦了!直接键盘置频,比如输入29。550mhz,需要这样算:
29。550乘以4294967296(2的32次方)再除以180,得出的结果705090464.4266666666666666 ,转换成16进制是2a06d3a0(小数点后都省略了),送给dds就可以了,这个程序让8位机怎么算呀?!不知道哪位有没有简便的办法?
'

比如输入29.550mhz,即29550000hz,若使用9851@180mhz,只要把频率乘以23.8609294222就可以了。我是用c写的,直接是vfo*23.8609294222送ad9851了。
离线BG6AGB
发帖
915
只看该作者 36楼 发表于: 2004-11-10
我又反复看了一遍帖子,发觉我在写35楼的帖子的时候会错了意,有点答非所问,本想改了,后来一想,都打了这么长一串了,发上去就算了吧。对14楼的解答在36楼。
离线BG9ABA
发帖
246
只看该作者 37楼 发表于: 2004-11-10
'
如果真的是这个目的,不必用激将法。我们早有这个计划将kn830的相关资料公布给大家,其实就kn101来说,我们也免费把原代码提供给了很多有兴趣研究的朋友。
dds做的机器我们也是刚开始研究,很多技术环节也还需要理顺。记得去年我曾经把我们实验的一个pll原代码几乎每一句都加上注释后发到了论坛上,我很遗憾的看到很少有人去关注这个帖子。
所以从kn101开始,我不再公开把资料发到论坛上,但是如果有爱好者给我email索取原程序或电路图,我都会提供给他。
'


很感兴趣!请时老师给我电路图资料,谢谢!13335390469@133165.com
离线bd3si
发帖
13712
只看该作者 38楼 发表于: 2004-11-10
是kn830的相关资料吗?如果有空和可以的话,请发其资料原代码给我看看可以么?
邮箱是:sgjmk291@163.com 先谢了。



'
如果真的是这个目的,不必用激将法。我们早有这个计划将kn830的相关资料公布给大家,其实就kn101来说,我们也免费把原代码提供给了很多有兴趣研究的朋友。
dds做的机器我们也是刚开始研究,很多技术环节也还需要理顺。记得去年我曾经把我们实验的一个pll原代码几乎每一句都加上注释后发到了论坛上,我很遗憾的看到很少有人去关注这个帖子。
所以从kn101开始,我不再公开把资料发到论坛上,但是如果有爱好者给我email索取原程序或电路图,我都会提供给他。
'
离线bg6qbv
发帖
5839
只看该作者 39楼 发表于: 2004-11-10
有汇编的程序吗?想学习啊!我给6bf去信后,回复说稍候提供,可是要是c,那我就看不明白了。

哪位大侠能详细的介绍一下 kb+lcd+pll(或dds)的常用应用方案吗?

有多少初学单片机的朋友,有兴趣一起学吗?