PIC单片机求平均值问题

[复制链接]
6047|10
 楼主| jwwhy 发表于 2009-10-29 16:19 | 显示全部楼层 |阅读模式
大家好,想问个单片机求平均值问题,如下程序
ADD8         BCF       STATUS,RP0
               
                MOVF       TEMP0,0    ;AD中暂存的值送W
                ADDWF      TEMP7,1  ; AD+TEMP7
                BTFSC      STATUS,0 ;看是否有进位
                CALL       ADDONE  ;有
                GOTO       GO_ON  ;没有 
ADDONE:         
                MOVLW      01H
                ADDWF      TEMP1,1 ;有进位,TEMP1加一
                RETURN
GO_ON:
                DECFSZ     COUNT0,1  ;看是否采样8次
                GOTO       ADC      ;没有到8次
                MOVLW      02H      ;到8次,准备求平均值
                MOVWF      COUNT3
GO1:            
                BCF       STATUS,0
                RRF       TEMP1,1    ;求8次的平均值
                RRF       TEMP7,1
                DECFSZ    COUNT3,1 ;
                GOTO      GO1
                GOTO      DISP4  ;
就是想采样8次AD值先累加,然后除以4得到平均值
但是最后得出来的结果值不对,不知道那里有问题??
发现单次采样的值是对的.
凡格 发表于 2009-10-29 19:34 | 显示全部楼层
看不懂汇编
doob 发表于 2009-10-29 23:13 | 显示全部楼层
赶快换c吧;看的头痛
程序匠人 发表于 2009-10-30 08:48 | 显示全部楼层
就是想采样8次AD值先累加,然后除以4得到平均值——为什么是除以4,而不是8?是特意为了扩展分辨率吗?

但是最后得出来的结果值不对,不知道那里有问题??——如何不对了?请给出数据来。

发现单次采样的值是对的.

另请问你有没有对COUNT0赋初值?
 楼主| jwwhy 发表于 2009-10-31 16:16 | 显示全部楼层
就是想采样8次AD值先累加,然后除以4得到平均值——为什么是除以4,而不是8?是特意为了扩展分辨率吗? (这个是在一个书上看见的,具体不太清楚)
但是最后得出来的结果值不对,不知道那里有问题??——如何不对了?请给出数据来。
TEMP7为0X70  TEMP1为 0X01 TEMP0 为0XBB  TEMP3 为0X22 我的实际电压为3.68V 可以对应到0XBB
另请问你有没有对COUNT0赋初值?  有对COUNT0赋初值.
请帮忙看下.

另外看看我的程序这样写有没有什么错误?
ZRL700424 发表于 2009-10-31 16:23 | 显示全部楼层
RETURN
这条指令不能要!
ZRL700424 发表于 2009-10-31 16:27 | 显示全部楼层
另外,既然8次的平均值就必须除以8(右移三次),否则结果大一倍
 楼主| jwwhy 发表于 2009-11-2 10:36 | 显示全部楼层
哦 那意思就我要除于8(右移三次),其它地方没有问题了吧.
ZRL700424 发表于 2009-11-2 11:33 | 显示全部楼层
哦 那意思就我要除于8(右移三次),其它地方没有问题了吧.
jwwhy 发表于 2009-11-2 10:36


因为只贴出了部分程序,所以无法判断上面的程序还有没有问题
 楼主| jwwhy 发表于 2009-11-3 07:59 | 显示全部楼层
那有没有关于pIC单片机AD采样累加然后求平均值的子程序,给个参考参考下,谢谢了 ,要汇编的哦 .
e掾木 发表于 2009-11-3 08:11 | 显示全部楼层
www.piclist.com有几个平均值滤波算法的代码,你看懂了会诧异汇编跟C简直就是天地之差,8条汇编就搞定256平均值滤波!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

281

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部