电加热炉温度控制系统的设计 第10页

基于单片机的电加热炉温度控制系统的设计 第10页

5.3 采样子程序流程图

5.3.2 采样子程序:

   SAMP:  MOV     R0, #2CH        ;采样值始送R0

           MOV     R2, #03H       ;采样次数初值送R2

           MOV     DPTR, @03F8H

SAM1:  MOVX    @DPTR, A        ;启动ADC0809工作

          MOV     R3, #20H

DLY:   DJNZ    R3, DLY         ;延时

HERE:   JB        P3.3,  HERE   ;等待A/D完成

           MOVX    A,  @DPTR        ;采样值送A

           MOV     @R0,  A          ;存放采样值

           INC      R0

           DJNZ     R2,  SAM1        ;若采样未完,SAM1

           RET                        ;若已采样完,则返回

5.4 数字滤波

微机控制系统通常直接放在生产现场,会受到严重干扰,系统采用滤波方法来滤除干扰,数字滤波算法有很多,本系统采用中值滤波,就是连续三次取样,取中间值作为本次采样值。

三次采样值分别放于2CH2DH2EH中,取中间值放在累加器A中,同时也转放在2AH单元中,以备进行温度标度转换用。

5.4 数字滤波程序流程图

5.4.2 数字滤波子程序:

FITER:     MOV   A, 2CH                 ;(2CH)A

       CJNE   A, 2DH,  CMP1       ;(2CH)(2DH),CMP1

       AJMP   CMP2                  ;否则,CMP2

CMP1:      JNC     CMP2                  ;(2CH)>(2DH),

       XCH    A, 2DH               ;

       XCH    A, 2DH               ;  

CMP2:      MOV    A, 2DH               ;(2DH)A

        CJNE    A, 2EH, CMP3    ;(2DH)(2EH),CMP

        MOV    2AH,A             ;否则,(2DH)2AH

         RET                     ;返回

CMP3:      JC       CMP4            ;(2DH)<(2EH),CMP4

        MOV    2AH,  A           ;否则, (2DH)2AH

        RET                      ;返回

CMP4:       MOV    A, 2EH             ;(2EH)A

        CJNE    A, 2CH, CMP5     ;(2EH)(2CH), CMP5

        MOV    2AH, A              ;否则,(2EH)2AH

        RET                      ;返回

CMP5:      JC      CMP6              ;(2EH)<(2CH),CMP6

     

5.5 PID 计算程序:

a. MOV    R5, 31H          ; Ur R5R4PID  

   MOV    R4, 32H          ;

   MOV    R3, 2AH          ;    Ui(K) R3R2

   MOV    R2, #00H         ;   

   ACALL  CPL1             ;ui(K)的补码

   ACALL  DSUM            ;计算E(K)

MOV    39H,  R7         ;   

   MOV    3AH,  R6         ; E(K)39H3AH单元:

   MOV    R5 , 35H         ; K1R5R4 

   MOV    R4, 36H          ;   

   MOV    R0  #4AH         ;基地址4AHR0

ACALL  MULT1            ;计算Pi=Ki·E(k)

   MOV    R5, 39H          ;E(K)R5R4  

   MOV    R4, 3AH              

   MOV    R3, 3BH          ; E(K-1)R3R2  

   MOV    R2, 3CH            

MOV    R5, 49H           ;Pp的高16位送R5R4   

   MOV    R4, 48H             

   MOV    R3, 4DH           ;KP1R3R2  

   MOV    R2, 4CH             

   ACALL  DSUM               ;求得Pp+p1

   MOV    4AH, R7     

   MOV    4BH,R8             ; 存入4AH4BH单元           

MOV    R5, 39H            ; E(K)R5R4             

   MOV    R4, 3AH            

   MOV    R3, 3DH            ; E(K-2)R3R2         

   MOV    R2, 3EH

ACALL  DSUM                ;计算E(K)+E(K-2)             

          MOV    R5, R7            

   MOV    R4, R6              ;存入R5R4               

   MOV    R3, 3BH             ;E(K-1)R3R2      

   MOV    R2, 3CH          

   ACALL  CPL1                ;E(K-1)求补

   ACALL   DSUM                ;计算{E(K)+E(K-2)-E(K-1)}

MOV     R5, R7              ;存入R5R4   

   MOV     R4, R6              

   MOV     R3, 3BH            ;E(K-1)R3R2     

   MOV     R2, 3CH           

ACALL   CPL1                 ;E(K-1)求补

ACALL   DSUM                 ;E(K)-2E(K-1)+E(K-2)

MOV     R5, 37H             ;KdR5R4

MOV     R4, 38H

MOV     R0, #46H            ;基地址46HR0

ACALL   MULT1                ;求得Pd

MOV     R5, 49H             ;送入R5R4

MOV     R2, R6              

MOV     R5,2FH             

MOV     R4,30H             

ACALL   DSUM                  

MOV     2FH,R7             

MOV     30H,R6              

MOV     3DH,3BH             

MOV     3EH,3CH            

MOV     3BH,39H            

MOV     3CH,3AH            

RET

 

b. 双字节加法程序DSUM

DSUM  MOV  A R4

       ADD  A R2

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有