第5章 数字滤波及控制算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数字滤波及控制算法 5.1 平均值滤波 程序清单如下: ;************* AD采样中断子程序****************** AD CALL PUSH ;调PUSH子程序保护现场 BCF PIR1,ADIF ;清AD中标志位 BTFSS TEMP,2 ;TEMP=4? GOTO AD1 ;否,采样周期没完,求和 CLRF ADH ;是,新的采样周期开始,清ADH寄存器 CLRF ADL ;清ADL寄存器 MOVF ADRESHL,0 ;AD采样结果低8位送W寄存器 ADDWF ADL ;加至ADL寄存器 BTFSC STATUS,C ; INCF ADH ; MOVF ADRESH,0 ; ADDWF ADH DECFSZ TEMP ;本次采样周期结束? GOTO AD2 MOVLW 0X04 ;是,重新初始化TEMP寄存器 MOVWF TEMP BSF FLAG,1 ;置AD采样周期结束标志位 CALL POP ;恢复现场 RETFIE ;本次采样周期结束,返回 AD2 CALL DELAY ;调延时子程序,延时2μs BSF ADCON0,GO ;开始下一次采样 CALL POP ;恢复现场 RETFIE ;中断返回 ;*************中断保护现场子程序**************** PUSH MOVWF W_STACK ;W寄存器 MOVF STATUS,0 ;STATUS寄存器 MOVWF ST_STACK BCF STATUS,RP0 ;0 RETURN ; ;**************中断恢复现场子程序*************** POP MOVF ST_STACK,0 ;STATUS寄存器值 MOVWF STATUS MOVF W_STACK,0 ;W寄存器值 RETURN ;************* AD采样中断子程序************** AD CALL PUSH ;调PUSH子程序保护现场 BCF PIR1,ADIF ;清AD中标志位 MOVF ADRESH,0 ;存AD采样结果高8位 MOVWF INDF INCF FSR ;指针指向下一存储单元 MOVF ADRESL,0 ;存AD采样结果低8位 MOVWF INDF INCF FSR ;指针指向下一存储单元 DECFSZ COUNT ;指针移动超过8次? GOTO ADX ;否,直接返回 MOVLW AD1 ;是,指针指向AD1寄存器 MOVWF FSR MOVLW 0X04 ;重新初始化COUNT寄存器 MOVWF COUNT ADX CALL POP ;调POP子程序,恢复现场 RETFIE ;中断返回 ;***********中断保护现场子程序************* PUSH MOVWF W_STACK ;W寄存器 MOVF STATUS,0 ;STATUS寄存器 MOVWF ST_STACK BCF STATUS,RP0 ;0 RETURN ; ;************中断恢复现场子程序************* POP MOVF ST_STACK,0 ;STATUS寄存器值 MOVWF STATUS MOVF W_STACK,0 ;W寄存器值 RETURN ; 5.3 防脉冲干扰平均值滤波 程序清单如下: ;************ AD采样中断子程序************** AD CALL PUSH ;调PUSH子程序保护现场 BCF PIR1,ADIF ;清AD中标志位 MOVF ADRESH,0 ;存AD采样结果高8位 SUBWF AD1,0 ;当前AD采样值和最小值比较 BTFSS STATUS,C GOTO ADX1 MOVF AD1,0 ;当前采样值小于最小值,另存AD1 MOVWF INDF MOVF ADRESH,0 ;当前采样值送AD1寄存器 MOVWF AD1 GOTO OVER ;转OVER ADX1 MOVF ADRESH,0 ;若当前采样值大于最小值,与最大值比较 SU

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档