PID控制的51汇编程序_第1页
PID控制的51汇编程序_第2页
PID控制的51汇编程序_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PID控制的51汇编程序PID控制的31汇编程 " » » " » " " » " » » " » " " » " » » " » " " » " » » " » " " » " » » " » " " 

2、87; " » » " » " " » " » ;/功能:电机控制的PID(积分分离)PID(void)执行时间少于70uS/932-12MHz;设计者:牟联树;日期:2003.12. 28;版本号:1.0;/申明:» » " " " » " " » » " " " » " " » » " " &q

3、uot; » " " » » " " " » " " » » " " " » " " » » " " " » I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I SN0M0D51OCRAH equ OEFhOCRAL

4、equ OEEhOCRBH equ OFBhOCRBL equ OFAhOCRCH equ OFDhgdooJxgwogs 亡 OMCIIdjTlwgaooJxgwogs 亡 OMalddalddyd 亡OMald Mi0/1 &go困) pnlouls q60 g Ear qgdo g JCMOO qddo g HQIOO qodo nb<Dwxoo報能0逋-0 sa -xald 软廉0貶-<N因二乂aid i十dxald 韦p 昌aid 彖能峯AJPoqSa 禺ah 亡 OMaldMIaldEadogsxduleuld duIMIald “uglald Huglald

5、nlald onand xp 日IXJlQId XBnInlQId .pyQId 匸乂但亠 dyQId oIHnd viva JxgwoHS 亡 OMaldMIaldEa gaoo Jxgwogs 亡 OMaldeJnolaldixdPID_KdL data FID_Kd+lPID Umax:DS 2;期望最大值设定PID UmaxLdataPID Umax+1PID Emax:DS 2;积分分离的误差最大值设定PID EmaxLdataPID Emax+1PID U: DS2 ;当前的采样值PID UL data PID U+lPID Enl:DS 2;上一次计算的误差值PID EnlLda

6、taPID Enl+1PID En2:DS 2;上一次计算的误差的误差值PID En2LdataPID En2+1PID.Temp: DS 4 ;计算过程中的暂存PID_TempL data PID_Temp+lPID_Templ data PID_Temp+2PID.TemplL data PID_Temp+3 PUBLIC _PIDRSEG ?PR?PID?PIDWork_FID: push accpush psw clr c ;有符号减法mov a, PID_UmaxL ;计算当前的误差En(PID_U里暂存运算结果) subb a,PID_ULmov PID_UL, amov a, P

7、ID_Umaxsubb a, PID_Umov PID_U, ajnb acc 7, FID_kmov a,PID_ULcpl aadd a, #1mov r7, amov a, PID_Ucpl aaddc a, #0sjmp PID_gPID k: mov r7,PID Umov a,PID_ULPID_g: clr csubb a,PID_EmaxLmov a, r7subb a, PIDEmaxjnb acc. 7, PID_a ;如果 En>Emax 则转mov r7, PID_KiL ;Ki*Enmov r6,PID_Kimov r5, PID_ULmov r4, FID_U

8、acall PID_MUL ;二字节伪有符号乘法(r4-r7里暂存结果)mov a, PID.TemplL ;PID加法子程序(将结果加入输出) add a, r7mov PID_TemplL, aaddc a, r6 mov PID_Templ, amov a, PID_TempLaddc a, r5mov PID_TempL, amov a, PID_Tempaddc a, r4mov PID_Temp, aPID_a: mov a, PID_EnlL ;更新PID_Enlxch a,PID_ULmov PID_EnlL, amov a,PID_Enlxch a, FID_Umov PID

9、_Enl, aclr c ;有符号减法subb a, PIDJL mov PID_UL, amov a,PID_Enlsubb a, PID_Umov PID_U, amovr7, PID_KpL ;+Kp*(En-Enl)mov r6, PID_Kpmov r5, PID_ULmov r4, PID_Uacall PID.MULmov a, PID.TemplL :PID加法子程序(将结果加入输出)add a, r7mov PID_TemplL, amov a, PID_Templaddc a, r6mov a, PID_TempL addc a, r5mov PID_TempL, amov

10、 a, PID_Tempaddc a, r4mov PID_Temp, aclr c ;有符号减法mov a, PID_UL ;计算误差差的差(En-Enl-En2),同时更新En2subb a, PID_En2Lmov PID_En2L, amov a, PID_Usubb a, PID_En2mov PID_En2, amovr7, PID_KdL ;+Kd*(En-Enl-En2)mov r6,PID_Kdmov r4, PID_En2 acall PIDJIULmov a, PID_TemplL : PID加法子程序(将结果加入输出)add a, r7mov PID_TemplL, a

11、mov a, PID_Templaddc a, r6mov PID_Templ, amov a, PID_TempLaddc a, r5mov PID_TempL, amov a, PID_Tempaddc a, r4mov PID_Temp, apop pswpop acc retret>*>.v>*>.v>*>.v>*>.v>*>.v>*>.v>*>* >;/功能:电机控制电流环的PI PI_I (void)执行时间少于50US/932-12MHz;设计者:牟联树;日期:2003. 12. 28;/版

12、本号:1.0;/申明: Z / 叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、孑卜叫、叫、叫、卜叫、叫、PUBLIC _PID_outRSEG ?PR?PID.out?PIDWorkPID_out: push accpush pswclr cmov a, r6rrc amov a, r7rrcamovr7, aout._a: mov OCRAH, r6 ;PWM 更新movOCRAL, r7mova, r7adda, #25movOCRBL,amova, r6ad

13、dc a, #0movOCRBH, aorlTCR21, #080h ;PWM 更新 out_b: pop pswpopaccret 、一、一、/、一、/、一、/ 、/、一、/ 、/、一、/ 、/、一、/ 、/、一、/、. /孑卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜a卜Jyv丁卜斗£ a卜玄卜» » » * * » » » 

14、87; » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » » I * * | * * * * a * * | * * * * a * *

15、 | * * * * a * * | * * * * a * * | * * * * a * * | * | 用时 13. 5uS/932-12MHz;/设计者:牟联树;日期:2003.12. 28;/版本号:1.0;/申明:;/*睿» » " " " » " " » » " " " » " " » » " " " » " " » » &

16、quot; " " » " " » » " " " » " " » » " " " » I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I PUBLIC _PID_MULRSEG ?PR?PID_MUL?PIDWork_PID_MUL:PID_MUL: push accpush

17、 pswclr fO ;符号判断 mov a, r4jb acc. 7, PID_Masjmp PIDJIdPID Ma: setb fOcpl aadd a, #1mov r5, amov a, r4cpl aaddc a, #0mov r4,aPID_Md:; mov a, r6;mov c,acc 7;jnb fO, PID_Mf;cpl cPID_Mf:; mov fO, c ;jb acc. 7, PID_Mb ;sjmp PID_McPID_Mb:; clr c;mov a, r7;subb a, #1;cpl a;mov r7, a;mov a, r6;subb a, #0;cpl a;mov r6, aPID_Mc: mov a, r5 mov b, r7mul abxch a, r7mov r3, bmov b, r4mul abadd a, r3mov r3, amov a, baddc a, #0mov b, r6mul abaddc a, r3xch a, r6xch a, r5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论