欧美午夜欧美,台湾成人av,久久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 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人
欧美午夜宅男影院| 亚洲大型综合色站| 欧美一区二区在线视频| 欧美日韩综合在线| 欧美日韩一级片在线观看| 欧美色倩网站大全免费| 欧美人与z0zoxxxx视频| 欧美色综合网站| 日韩亚洲欧美在线| 久久看人人爽人人| 国产精品亲子伦对白| 亚洲美女一区二区三区| 婷婷久久综合九色综合绿巨人 | 国产精品视频在线看| 国产精品无码永久免费888| 欧美国产日本视频| 亚洲精品国产高清久久伦理二区| 午夜影院在线观看欧美| 韩国欧美国产一区| 成人av高清在线| 欧美无人高清视频在线观看| 56国语精品自产拍在线观看| 亚洲精品一区二区在线观看| 国产精品理伦片| 日本成人超碰在线观看| 国产成人精品1024| 在线观看欧美精品| 久久精品亚洲乱码伦伦中文 | 日本不卡一区二区三区高清视频| 日本aⅴ精品一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 99久久久免费精品国产一区二区| 欧美久久一二区| 国产视频一区二区在线观看| 亚洲h精品动漫在线观看| 懂色av一区二区夜夜嗨| 欧美视频在线一区二区三区 | 国产精品大尺度| 丝袜亚洲另类欧美综合| 成人在线综合网站| 欧美一区二区三区四区高清| 日韩美女精品在线| 国产电影一区二区三区| 欧美美女直播网站| 欧美韩国一区二区| 欧美a级理论片| 在线视频一区二区三| 亚洲国产精品av| 久久国产精品区| 欧美色视频一区| 亚洲美女偷拍久久| 粉嫩久久99精品久久久久久夜| 欧美一区二区三级| 午夜精品aaa| 色一区在线观看| 中文在线一区二区| 国产成人综合亚洲网站| 精品处破学生在线二十三| 日韩精品亚洲一区| 欧美性猛片aaaaaaa做受| 亚洲蜜臀av乱码久久精品| 99久久综合99久久综合网站| 欧美国产乱子伦| 激情五月婷婷综合| 久久综合久久综合久久| 免费xxxx性欧美18vr| 制服丝袜亚洲色图| 日韩成人一区二区| 欧美一区二区免费| 亚洲妇熟xx妇色黄| 欧美日本视频在线| 亚洲va韩国va欧美va精品| 欧美视频精品在线| 五月婷婷综合在线| 日韩欧美中文字幕精品| 秋霞午夜鲁丝一区二区老狼| 日韩欧美一二三| 精品在线播放免费| 亚洲精品一线二线三线 | 亚洲乱码国产乱码精品精可以看| av资源网一区| 亚洲欧美视频在线观看视频| 欧美性色欧美a在线播放| 亚洲成人一区二区| 国产精品国产三级国产普通话99 | 亚洲图片有声小说| 色综合天天综合给合国产| 午夜av区久久| 正在播放一区二区| 激情五月婷婷综合| 国产精品成人免费在线| 欧美亚洲丝袜传媒另类| 另类中文字幕网| 国产精品免费人成网站| 欧美系列日韩一区| 国产精品一色哟哟哟| 亚洲毛片av在线| 日韩欧美久久久| 99久久国产综合精品色伊| 亚洲一二三区不卡| 亚洲精品一区二区在线观看| 成人白浆超碰人人人人| 久久精品亚洲麻豆av一区二区| 日韩1区2区3区| 欧美一级欧美一级在线播放| 久久99精品久久久| 中文字幕中文在线不卡住| 欧美三级电影精品| 国产成a人亚洲精品| 亚洲三级电影全部在线观看高清| 欧美妇女性影城| 91丨国产丨九色丨pron| 久久超碰97中文字幕| 1024成人网色www| 欧美一区二区精品久久911| 不卡的av网站| 国产在线精品免费av| 亚洲一区二区三区四区的| 国产亚洲精品精华液| 欧美色视频在线观看| 成人高清在线视频| 九九**精品视频免费播放| 亚洲国产一区二区视频| 中文字幕亚洲欧美在线不卡| 亚洲不卡一区二区三区| 国产一区亚洲一区| 性久久久久久久久| 成人欧美一区二区三区白人| 精品少妇一区二区三区| 欧美二区三区91| 91久久精品网| av亚洲产国偷v产偷v自拍| 国产一区在线观看麻豆| 裸体健美xxxx欧美裸体表演| 亚洲一区二区精品久久av| 亚洲欧美中日韩| 中文字幕av一区二区三区免费看| 欧美精品一区二区三区高清aⅴ| 欧美精品在线视频| 69av一区二区三区| 欧美日韩三级一区| 欧美午夜精品免费| 欧美日韩精品综合在线| 欧美自拍偷拍一区| 欧美最新大片在线看 | 国产欧美一区二区三区网站| 欧美日韩1区2区| 欧美丝袜丝交足nylons图片| 色婷婷亚洲婷婷| 欧洲亚洲精品在线| 日本道精品一区二区三区| 色94色欧美sute亚洲13| 在线亚洲人成电影网站色www| 色综合天天综合给合国产| 在线视频国内自拍亚洲视频| 欧美午夜免费电影| 制服丝袜在线91| 2024国产精品| 国产精品国产三级国产有无不卡 | 欧美日韩一区成人| 欧美一区二区三区电影| 日韩精品一区二| 日本一区二区三区国色天香| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲三级在线免费| 亚洲精品日日夜夜| 中文字幕中文字幕中文字幕亚洲无线 | 亚洲国产欧美一区二区三区丁香婷| 亚洲丝袜精品丝袜在线| 午夜欧美电影在线观看| 久久国产精品72免费观看| 国产一区二区免费视频| 菠萝蜜视频在线观看一区| 欧美亚洲国产一区二区三区va | 欧美日韩精品二区第二页| 欧美一区二区视频免费观看| 2023国产一二三区日本精品2022| 中文字幕在线视频一区| 日日摸夜夜添夜夜添亚洲女人| 狠狠色丁香九九婷婷综合五月| 不卡视频一二三| 91麻豆精品久久久久蜜臀| 免费观看在线综合| 成人综合婷婷国产精品久久蜜臀| 色哟哟欧美精品| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品初高中害羞小美女文| 日韩电影在线免费观看| 91亚洲精品久久久蜜桃| 日韩一区二区中文字幕| 亚洲蜜桃精久久久久久久| 精品一区二区在线视频| 欧美性生活影院| 国产精品热久久久久夜色精品三区| 午夜久久久久久久久| 成人av在线播放网站| 精品久久久久久综合日本欧美| 夜夜爽夜夜爽精品视频| 粉嫩aⅴ一区二区三区四区五区| 91精品国产91久久综合桃花|