• 大小: 318KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: dspic30f  

资源简介

比较全的代码,基本包含dspic30f系列单片机的各个模块,作为参考,还是有一定价值的

资源截图

代码片段和文件信息

//#include	
//#include “basicTYPE.h“

typedef unsigned char       BYTE;               // 8-bit
typedef unsigned short int  WORD;               // 16-bit
typedef unsigned long       DWORD;  
/*
typedef union _BYTE_VAL
{
    BYTE val;
    struct 
    {
        unsigned char b0:1;
        unsigned char b1:1;
        unsigned char b2:1;
        unsigned char b3:1;
        unsigned char b4:1;
        unsigned char b5:1;
        unsigned char b6:1;
        unsigned char b7:1;
    } bits;
} BYTE_VAL;
*/
WORD UG U0;
WORD YK;
WORD TA;
WORD T_ALFJ;
BYTE ALFJ;
BYTE KPKIKD;
signed short int EKEK1EK2;
signed long int DYK;


int main(void)
{
signed short int temp1temp2temp3;
signed long int temp4;
KP=40;
KI=2;
KD=24;
TA=10000;
UG=900;
U0=1000;
YK=29000;

while(1)
{
EK2=EK1;                   //先前的EK2抛弃,由原先的EK1替代
EK1=EK;                    //由原先的EK替代 ;
EK=(UG-U0); //新的EK,直接写(UG-U0)/5会出错前面会被当成无符号数计算


         temp1=(EK-EK1)*KP;
         temp2=EK*KI;
         temp3=(EK2+EK-EK1*2)*KD;

         DYK=temp1+temp2+temp3;          //

         temp4=(signed long int)(YK);  //为防止溢出强行转换成4个字节有符号数
         temp4=temp4+DYK;                //
if(temp4<=1) //边界处理
temp4=1;
else if(temp4>0xffff) //
temp4=0xffff; //

         YK=(WORD) (temp4);              //类型转换need to be   
                                                
T_ALFJ=TA-((DWORD)TA)*((DWORD)YK)/65536;         //得处理ALFJ的限制,由于是限制角度,不得先求时间,此处代码需要处理。
         
         if(T_ALFJ<20) //0度控制,1度55us左右
{
T_ALFJ=20;
}   
//****************************************************************
//显示要矫正
ALFJ=180-(BYTE)(((DWORD)YK*180)/65536);          //不加关键字BYTE,将导致结果失真,原因待研究
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        710  2008-04-14 10:03  DSPIC30\PID.mcp

     文件      80896  2008-04-14 11:35  DSPIC30\PID.mcw

     文件       1920  2008-04-14 09:30  DSPIC30\PID.c

     文件       2540  2006-10-25 16:01  DSPIC30\basicTYPE.h

     文件         29  2008-04-14 09:30  DSPIC30\PID.tagsrc

     文件       1452  2008-04-14 09:30  DSPIC30\PID.mptags

     文件      49781  2008-03-30 14:47  DSPIC30\p30f4011.gld

     文件       6247  2008-04-14 10:03  DSPIC30\PID.map

     文件       2295  2008-04-14 10:02  DSPIC30\PID.o

     文件       2609  2008-04-14 10:03  DSPIC30\PID.cof

     文件       1752  2008-04-14 10:03  DSPIC30\PID.hex

     文件        652  2008-04-14 10:03  DSPIC30\PID.sdb

     文件      12166  2008-04-14 10:03  DSPIC30\PID.lst

     文件      18344  2008-04-14 10:03  DSPIC30\PID.rlf

     文件       3142  2008-04-14 10:03  DSPIC30\PID.obj

     文件       3508  2008-04-14 10:03  DSPIC30\PID.sym

     文件       1256  2008-04-14 10:03  DSPIC30\PID.hxl

     文件       1389  2008-04-14 11:35  DSPIC30\PID.mcs

     文件       2540  2006-10-25 16:01  DSPIC30\basicTYPE-MCC30.h.bak

     文件        854  2008-04-18 10:22  DSPIC30\REOUT\4011_REOUT.mcp

     文件      78848  2008-04-24 11:28  DSPIC30\REOUT\4011_REOUT.mcw

     文件        231  2008-04-21 17:39  DSPIC30\REOUT\REOUT.c

     文件      81586  2008-04-21 17:39  DSPIC30\REOUT\4011_REOUT.map

     文件         37  2008-04-21 17:39  DSPIC30\REOUT\4011_REOUT.tagsrc

     文件        533  2008-04-21 17:39  DSPIC30\REOUT\4011_REOUT.mptags

     文件      39162  2008-04-21 17:39  DSPIC30\REOUT\REOUT.o

     文件      73620  2008-04-21 17:39  DSPIC30\REOUT\4011_REOUT.cof

     文件       2518  2008-04-21 17:39  DSPIC30\REOUT\4011_REOUT.hex

     文件       1888  2008-04-24 11:28  DSPIC30\REOUT\4011_REOUT.mcs

     文件        138  2008-04-18 10:38  DSPIC30\RFOUT\RFOUT.C

............此处省略98个文件信息

评论

共有 条评论