日产精品视频无码免费_亚洲蜜臀AV日韩熟妇在线_国产亚洲精品女人久久久久久 _妞中文字幕在线视频导航

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

PID 控制的51匯編程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2011-2-18

;//**************************************************************************************************************
;//功    能: 電機控制的PID(積分分離)  PID(void)    執行時間少于70uS/932-12MHz
;//設 計 者: 牟聯樹
;//日    期: 2003.12.28
;//版 本 號: 1.0
;//申    明:
;//**************************************************************************************************************
$NOMOD51
    OCRAH  equ 0EFh
    OCRAL  equ 0EEh
    OCRBH  equ 0FBh
    OCRBL  equ 0FAh
    OCRCH  equ 0FDh
    OCRCL  equ 0FCh
    OCRDH  equ 0FFh
    OCRDL  equ 0FEh
    TCR21  equ 0f9h
$include (REG52.INC)
       NAME       PIDWork
    ?PR?PID?PIDWork     SEGMENT    CODE
    ?PR?PID_MUL?PIDWork SEGMENT    CODE
    ?PR?PID_out?PIDWork SEGMENT    CODE
    ?DT?PID_k?PIDWork   SEGMENT    DATA

    PUBLIC   PID_Kp,PID_Ki,PID_Kd,PID_Umax,PID_Emax
    PUBLIC   PID_U,PID_En1,PID_En2,PID_Temp,PID_TempL
   RSEG  ?DT?PID_k?PIDWork
     PID_Kp:  DS   2                    ;比例系數
     PID_KpL  data PID_Kp+1
     PID_Ki:  DS   2                    ;積分系數
     PID_KiL  data PID_Ki+1
     PID_Kd:  DS   2                    ;微分系數
     PID_KdL  data PID_Kd+1           
   PID_Umax:  DS   2                    ;期望最大值設定
   PID_UmaxL  data PID_Umax+1         
   PID_Emax:  DS   2                    ;積分分離的誤差最大值設定
   PID_EmaxL  data PID_Emax+1
      PID_U:  DS   2                    ;當前的采樣值
      PID_UL  data PID_U+1
    PID_En1:  DS   2                    ;上一次計算的誤差值
    PID_En1L  data PID_En1+1
    PID_En2:  DS   2                    ;上一次計算的誤差的誤差值
    PID_En2L  data PID_En2+1
   PID_Temp:  DS   4                    ;計算過程中的暫存
   PID_TempL  data PID_Temp+1
   PID_Temp1  data PID_Temp+2
  PID_Temp1L  data PID_Temp+3

   PUBLIC  _PID
   RSEG  ?PR?PID?PIDWork
   _PID: push  acc
         push  psw
         clr   c                        ;有符號減法
         mov   a,PID_UmaxL              ;計算當前的誤差En(PID_U里暫存運算結果)
         subb  a,PID_UL
         mov   PID_UL,a
         mov   a,PID_Umax
         subb  a,PID_U
         mov   PID_U,a
         jnb   acc.7,PID_k
         mov   a,PID_UL
  cpl   a
  add   a,#1
  mov   r7,a
  mov   a,PID_U
  cpl   a
  addc  a,#0
  xch   a,r7
         sjmp  PID_g
  PID_k: mov   r7,PID_U
         mov   a,PID_UL
  PID_g: clr   c
  subb  a,PID_EmaxL
  mov   a,r7
         subb  a,PID_Emax
         jnb   acc.7,PID_a              ;如果En>Emax則轉
  mov   r7,PID_KiL               ;Ki*En
         mov   r6,PID_Ki
  mov   r5,PID_UL
         mov   r4,PID_U
  acall PID_MUL                  ;二字節偽有符號乘法(r4-r7里暫存結果)
  mov   a,PID_Temp1L             ;PID加法子程序(將結果加入輸出)
  add   a,r7
  mov   PID_Temp1L,a
         mov   a,PID_Temp1
         addc  a,r6
  mov   PID_Temp1,a
         mov   a,PID_TempL
         addc  a,r5
  mov   PID_TempL,a
         mov   a,PID_Temp
         addc  a,r4
  mov   PID_Temp,a
  PID_a: mov   a,PID_En1L               ;更新PID_En1
         xch   a,PID_UL
  mov   PID_En1L,a
  mov   a,PID_En1
  xch   a,PID_U
  mov   PID_En1,a
  clr   c                        ;有符號減法
         mov   a,PID_En1L               ;計算當前的誤差差(En-En1)
         subb  a,PID_UL
  mov   PID_UL,a
  mov   a,PID_En1
  subb  a,PID_U
  mov   PID_U,a
         mov   r7,PID_KpL               ;+Kp*(En-En1)
  mov   r6,PID_Kp
  mov   r5,PID_UL
         mov   r4,PID_U
  acall PID_MUL
  mov   a,PID_Temp1L             ;PID加法子程序(將結果加入輸出)
  add   a,r7
  mov   PID_Temp1L,a
         mov   a,PID_Temp1
         addc  a,r6
  mov   PID_Temp1,a
         mov   a,PID_TempL
         addc  a,r5
  mov   PID_TempL,a
         mov   a,PID_Temp
         addc  a,r4
  mov   PID_Temp,a
  clr   c                        ;有符號減法
         mov   a,PID_UL                 ;計算誤差差的差(En-En1-En2),同時更新En2
  subb  a,PID_En2L
  mov   PID_En2L,a
         mov   a,PID_U
  subb  a,PID_En2
  mov   PID_En2,a
         mov   r7,PID_KdL               ;+Kd*(En-En1-En2)
         mov   r6,PID_Kd
  mov   r5,PID_En2L
         mov   r4,PID_En2
         acall PID_MUL
  mov   a,PID_Temp1L             ;PID加法子程序(將結果加入輸出)
  add   a,r7
  mov   PID_Temp1L,a
         mov   a,PID_Temp1
         addc  a,r6
  mov   PID_Temp1,a
         mov   a,PID_TempL
         addc  a,r5
  mov   PID_TempL,a
         mov   a,PID_Temp
         addc  a,r4
  mov   PID_Temp,a
  pop   psw
  pop   acc
  ret
  ret
;//**************************************************************************************************************
;//功    能: 電機控制電流環的PI  PI_I(void)    執行時間少于50uS/932-12MHz
;//設 計 者: 牟聯樹
;//日    期: 2003.12.28
;//版 本 號: 1.0
;//申    明:
;//**************************************************************************************************************
       PUBLIC _PID_out
       RSEG ?PR?PID_out?PIDWork
_PID_out: push acc
          push psw
          clr  c
          mov  a,r6
          rrc  a
          mov  r6,a
          mov  a,r7
          rrc  a
          mov  r7,a
out_a: mov  OCRAH,r6               ;PWM更新
          mov  OCRAL,r7
          mov  a,r7
          add  a,#25
          mov  OCRBL,a
          mov  a,r6
          addc a,#0
          mov  OCRBH,a
          orl  TCR21,#080h            ;PWM更新
   out_b: pop  psw
   pop  acc
          ret
;//**************************************************************************************************************
;//功    能: 整形乘法  long int PID_MUL(int a,int b)    用時13.5uS/932-12MHz
;//設 計 者: 牟聯樹
;//日    期: 2003.12.28
;//版 本 號: 1.0
;//申    明:
;//**************************************************************************************************************
  PUBLIC _PID_MUL
  RSEG ?PR?PID_MUL?PIDWork
_PID_MUL:
PID_MUL: push acc
         push psw
         clr  f0                        ;符號判斷
         mov  a,r4
         jb   acc.7,PID_Ma
         sjmp PID_Md
PID_Ma: setb f0
         mov  a,r5
         cpl  a
         add  a,#1
         mov  r5,a
         mov  a,r4
         cpl  a
         addc a,#0
         mov  r4,a       
PID_Md:; mov  a,r6
        ; mov  c,acc.7
         ;jnb  f0,PID_Mf
        ; cpl  c
PID_Mf:; mov  f0,c
        ; jb   acc.7,PID_Mb
        ; sjmp PID_Mc     
PID_Mb:; clr  c
        ; mov  a,r7
        ; subb a,#1
        ; cpl  a
        ; mov  r7,a
        ; mov  a,r6
        ; subb a,#0
        ; cpl  a
        ; mov  r6,a

PID_Mc: mov  a,r5
  mov  b,r7
  mul  ab
  xch  a,r7
  mov  r3,b
  mov  b,r4
  mul  ab
  add  a,r3
  mov  r3,a
  mov  a,b
  addc a,#0
  xch  a,r5
  mov  b,r6
  mul  ab
  addc a,r3
  xch  a,r6
  xch  a,r5
  addc a,b
  xch  a,r5
  mov  b,r4
  mul  ab
  addc a,r5
  mov  r5,a
  mov  a,b
  addc a,#0
  mov  r4,a
  jb   f0,PID_Me
  pop  psw
  pop  acc 
  ret
PID_Me: mov  a,r7
         cpl  a
         add  a,#1
         mov  r7,a
         mov  a,r6
         cpl  a
         addc a,#0
         mov  r6,a
         mov  a,r5
         cpl  a
         addc a,#0
         mov  r5,a
         mov  a,r4
         cpl  a
         addc a,#0
         mov  r4,a
         pop  psw
         pop  acc
         ret
         END  

Tags:51,單片機程序,pid,算法  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
精品国产香蕉伊思人在线又爽又黄| 国产麻豆精品| 中文字幕一区二区三区精彩视频| 欧美激情一区二区三区在线| 亚洲精品久久玖玖玖玖| 欧美一级视频免费| 可以在线看黄的网站| 久草免费在线色站| 黄色福利片| 一级女性全黄久久生活片| 欧美大片一区| 亚洲天堂在线播放| 国产亚洲精品aaa大片| 日韩av片免费播放| 国产成人精品综合| 亚洲 男人 天堂| 午夜欧美福利| 尤物视频网站在线| 一级毛片看真人在线视频| 精品国产三级a∨在线观看| 四虎精品在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩免费在线视频| 日日日夜夜操| 国产视频久久久久| 黄视频网站在线看| 九九免费高清在线观看视频| 欧美另类videosbestsex久久| 美国一区二区三区| 精品国产一区二区三区久 | 99久久精品国产免费| 亚洲第一色在线| 欧美大片一区| 亚州视频一区二区| 欧美另类videosbestsex| 久久精品欧美一区二区| 国产91精品一区二区| 亚洲精品影院| 国产一级生活片| 美女免费精品视频在线观看| 久久久成人网| 国产视频在线免费观看| 精品国产一区二区三区久 | 久久精品欧美一区二区| 国产韩国精品一区二区三区| 四虎影视库| 人人干人人草| 天堂网中文字幕| 国产精品自拍在线| 中文字幕一区二区三区精彩视频| 精品在线观看国产| 一级毛片视频在线观看| 黄色免费网站在线| 999久久66久6只有精品| 一级片片| 国产韩国精品一区二区三区| 成人a级高清视频在线观看| 亚洲精品影院| 国产成人啪精品| 91麻豆国产级在线| 美女免费毛片| 91麻豆tv| 欧美1区| 成人免费观看的视频黄页| 欧美另类videosbestsex视频| 中文字幕一区二区三区精彩视频 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产成人精品综合久久久| 久久久久久久免费视频| 91麻豆精品国产片在线观看| 欧美一级视频免费| 高清一级毛片一本到免费观看| 二级特黄绝大片免费视频大片| 一级毛片视频播放| 香蕉视频一级| 国产网站免费观看| 韩国毛片免费大片| 国产高清视频免费| 99色视频在线观看| 亚洲 男人 天堂| 国产视频一区二区在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产精品1024永久免费视频| 久久国产精品只做精品| 韩国三级视频在线观看| 美女免费毛片| 日韩专区一区| 免费国产在线观看| 精品视频一区二区三区| 91麻豆精品国产自产在线| 久草免费在线视频| 尤物视频网站在线观看| 四虎精品在线观看| 日韩中文字幕在线亚洲一区| 91麻豆精品国产片在线观看| 国产91精品一区| 精品国产亚一区二区三区| 久久精品店| 九九久久99综合一区二区| 黄色免费网站在线| 国产国语在线播放视频| 日本在线www| 日本在线www| 黄视频网站在线看| 日韩专区在线播放| 精品视频免费在线| a级精品九九九大片免费看| 日韩免费在线视频| 亚洲 欧美 91| 九九热国产视频| 国产一级生活片| 国产美女在线观看| 可以免费看污视频的网站| 成人a级高清视频在线观看| 999精品视频在线| 毛片成人永久免费视频| 国产精品自拍一区| 成人免费高清视频| 99久久精品国产国产毛片| 99色视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产不卡在线播放| 一级女性全黄久久生活片| 久久99这里只有精品国产| 久久99这里只有精品国产| 毛片高清| 日韩欧美一及在线播放| 成人高清视频免费观看| 国产麻豆精品免费密入口| 国产视频一区二区在线播放| 黄色短视频网站| 四虎影视精品永久免费网站 | 国产欧美精品午夜在线播放| 欧美一区二区三区在线观看| 国产一区二区福利久久| 你懂的福利视频| 国产视频久久久久| 久久精品人人做人人爽97| 国产91精品系列在线观看| 国产一区二区福利久久| 成人a级高清视频在线观看| 欧美α片无限看在线观看免费| 午夜欧美福利| 久久国产精品自线拍免费| 精品视频在线观看免费| 99热精品一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品视频在线观看免费| 免费一级片在线| 成人免费一级毛片在线播放视频| 国产一区二区精品久久91| 国产一区免费在线观看| 人人干人人草| 国产麻豆精品免费视频| 韩国三级一区| 国产麻豆精品高清在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲第一页色| 国产一区精品| 成人影视在线观看| 国产视频在线免费观看| 天天做人人爱夜夜爽2020毛片| 亚洲 激情| 91麻豆爱豆果冻天美星空| 99久久视频| 国产高清在线精品一区a| 天天色色色| 精品国产一区二区三区久久久蜜臀| 你懂的福利视频| 日本在线不卡免费视频一区| 91麻豆国产| 欧美a免费| 国产成+人+综合+亚洲不卡| 日本在线不卡视频| a级毛片免费全部播放| a级毛片免费观看网站| 九九久久99综合一区二区| 人人干人人草| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 韩国毛片基地| 亚洲第一色在线| 日本免费乱理伦片在线观看2018| a级毛片免费观看网站| 国产不卡福利| 青青久在线视频| 一本伊大人香蕉高清在线观看| 韩国三级一区| 国产亚洲免费观看| 韩国三级视频网站| 日韩专区在线播放| 国产视频一区二区在线观看| 国产高清视频免费| 国产国语对白一级毛片| 国产不卡高清| 欧美1卡一卡二卡三新区| 欧美α片无限看在线观看免费| 久久国产精品自由自在| 国产一区免费在线观看| 久久成人综合网| 国产国语在线播放视频|