資源簡(jiǎn)介
比較全的代碼,基本包含dspic30f系列單片機(jī)的各個(gè)模塊,作為參考,還是有一定價(jià)值的

代碼片段和文件信息
//#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會(huì)出錯(cuò)前面會(huì)被當(dāng)成無符號(hào)數(shù)計(jì)算
???????? temp1=(EK-EK1)*KP;
???????? temp2=EK*KI;
???????? temp3=(EK2+EK-EK1*2)*KD;
???????? DYK=temp1+temp2+temp3;??????????//
???????? temp4=(signed?long?int)(YK);??//為防止溢出強(qiáng)行轉(zhuǎn)換成4個(gè)字節(jié)有符號(hào)數(shù)
???????? temp4=temp4+DYK;????????????????//
if(temp4<=1) //邊界處理
temp4=1;
else?if(temp4>0xffff) //
temp4=0xffff; //
???????? YK=(WORD)?(temp4);??????????????//類型轉(zhuǎn)換need?to?be???
????????????????????????????????????????????????
T_ALFJ=TA-((DWORD)TA)*((DWORD)YK)/65536;?????????//得處理ALFJ的限制,由于是限制角度,不得先求時(shí)間,此處代碼需要處理。
?????????
?????????if(T_ALFJ<20) //0度控制,1度55us左右
{
T_ALFJ=20;
}???
//****************************************************************
//顯示要矯正
ALFJ=180-(BYTE)(((DWORD)YK*180)/65536);??????????//不加關(guān)鍵字BYTE,將導(dǎo)致結(jié)果失真,原因待研究
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????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個(gè)文件信息
- 上一篇:銑刀頭cad圖紙
- 下一篇:API接口模板word/Excel
評(píng)論
共有 條評(píng)論