论坛风格切换切换到宽版
  • 7438阅读
  • 16回复

一个用ASM51写的计算AD9851频率控制字的程序 [复制链接]

上一主题 下一主题
离线Tl590
 
只看楼主 倒序阅读 0楼 发表于: 2005-04-15
该程序可以计算从0—179999999hz的频率控制字
当晶振用24mhz时计算179999999hz的频率控制字的时间最长 15ms左右
其他的频率大概100um-10ms左右
人口频率放在r4r5r6r7中,r4为高字节
出口控制字也在r4r5r6r7中,r4为高字节
这样做就可以在c中调用该汇编子程序了
是做毕业设计写的,有兴趣的可以用伟福来做验证

用计算的方法来产生频率控制字的好处就是可以方便的来适应晶振的频率,但是耗时
附件: FCount.rar (0 K) 下载次数:936
离线albert
发帖
4807
只看该作者 1楼 发表于: 2005-04-16
不错,                       !
离线bg3fh
发帖
225
只看该作者 2楼 发表于: 2005-04-17
'
该程序可以计算从0—179999999hz的频率控制字
当晶振用24mhz时计算179999999hz的频率控制字的时间最长 15ms左右
其他的频率大概100um-10ms左右
人口频率放在r4r5r6r7中,r4为高字节
出口控制字也在r4r5r6r7中,r4为高字节
这样做就可以在c中调用该汇编子程序了
是做毕业设计写的,有兴趣的可以用伟福来做验证
用计算的方法来产生频率控制字的好处就是可以方便的来适应晶振的频率,但是耗时
'

  24mhz主频,用15ms.太长了,你让51都在干什么?
离线Tl590
只看该作者 3楼 发表于: 2005-04-17
bg3fh
我这个算法是精确到1hz的
不知道楼上的兄弟用的是什么算法,精度是多少?,最长耗时多少?
能否贴出来看看
离线wapman
发帖
546
只看该作者 4楼 发表于: 2005-11-21
你的程序不是最好的算法,使用的时间才长了,其实使用多位的除法就可以快速的实现dds频率的计算,而且也是精确到1hz的。朋友其实你可以只乘2的24次方再除以703125就可以得到正确的控制字,除法程序可以使用移位比较的方法来处理,速度可以很快的。我用c编程的时候就遇到了速度和精度的问题,不得以嵌了汇编进去。
离线bg1ug7373
发帖
79
只看该作者 5楼 发表于: 2005-11-26
搂主,你的程序算出的结果与ad的计算软件得出的结果不一样啊??14.270mhz您的结果为:14 4a 85 ee 。ad软件的结果为:14 48 8c 67。不过我没有做过硬件实际测试。
我刚接触dds,不懂,向您请教。
离线BG7TBL
发帖
2965
只看该作者 6楼 发表于: 2005-12-04
我用c,单片机晶振为12mhz,才11.25ms!精确到hz!!!!
离线代洪波
发帖
4809
只看该作者 7楼 发表于: 2005-12-24
请教楼上的bg7tbl,可否看看你的计算程序!我正在搞9851,但是直接写计算太老火
离线bg4iww
发帖
8700
只看该作者 8楼 发表于: 2006-02-01
我用查表法算的控制字,速度很快.......
离线wycx
发帖
1497
只看该作者 9楼 发表于: 2006-02-14
用户被禁言,该主题自动屏蔽!
离线wycx
发帖
1497
只看该作者 10楼 发表于: 2006-02-18
用户被禁言,该主题自动屏蔽!
离线BD7RC
发帖
3283
只看该作者 11楼 发表于: 2006-02-18
能像我的学生这样拿出来共享么?

期待中~~~~
离线BG7TBL
发帖
2965
只看该作者 12楼 发表于: 2006-02-18
'
我用c51写的...再优化下指针..只用885us了...
'

强!!!!!!!!!!!
离线wycx
发帖
1497
只看该作者 13楼 发表于: 2006-02-19
用户被禁言,该主题自动屏蔽!
离线庄乾章
发帖
1047
只看该作者 14楼 发表于: 2008-06-19
jh12345
离线xcf93
发帖
1330
只看该作者 15楼 发表于: 2008-06-19
'
稍等下发上来。。最近把电脑主机搬到了学校,可是显示器还在家里。。。过几天把全部的程序都发上来讨论下吧。。。
'
2年4个月了,还没发上来啊?
离线wycx
发帖
1497
只看该作者 16楼 发表于: 2008-06-19
用户被禁言,该主题自动屏蔽!