2812CCS动态显示图形Word文件下载.docx
- 文档编号:7399837
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:24
- 大小:21.35KB
2812CCS动态显示图形Word文件下载.docx
《2812CCS动态显示图形Word文件下载.docx》由会员分享,可在线阅读,更多相关《2812CCS动态显示图形Word文件下载.docx(24页珍藏版)》请在冰点文库上搜索。
Maximumdatabuffer
int(*init)();
//Pointertoinitfunction
int(*update)();
//Pointertoupdatefunction
}DLOG_4CH;
typedefDLOG_4CH*DLOG_4CH_handle;
voidDLOG_4CH_init(void*);
voidDLOG_4CH_update(void*);
/*=============================================================================
DefaultinitalizerfortheDLOG_4CHobject.
==============================================================================*/
#defineDLOG_4CH_DEFAULTS{0UL,\
NULL,\
0,\
1,\
0UL,\
0x400,\
(int(*)(int))DLOG_4CH_init,\
(int(*)(int))DLOG_4CH_update}
#endif
*******************************源文件*************************************
;
==============================================================================
Filename:
DLOG4CHC.ASM
Originator:
Description:
4-ChannelDataloggingmodule
Date:
02/01/2002(DD/MM/YYYY)
RoutineName:
data_log_update
Cprototype:
voidDLOG_4CH_update(DLOG_4CH_handle);
voidDLOG_4CH_init(DLOG_4CH_handle);
Thestructobjectisdefinedintheheaderfile"
dlog_4ch.h"
asfollows:
typedefstruct{
longtask;
/*Variable:
Taskaddresspointer*/
/*Input:
Firstinputpointer(Q15)*/
int*iptr2;
Secondinputpointer(Q15)*/
Thirdinputpointer(Q15)*/
Fourthinputpointer(Q15)*/
Triggerpoint(Q15)*/
/*Parameter:
Datalogprescale*/
Datalogskipcounter*/
Datalogcounter*/
Graphaddresspointer*/
MaximumdataDLOG_4CH_buffer*/
/*Pointertoinitfunction*/
/*Pointertoupdatefunction*/
ExternalReference
.def_DLOG_4CH_update
.def_DLOG_4CH_init
Datalogbufferdefinition
BUFF_SIZE.set400h
DLOG_4CH_buff1.usect"
DLOG"
BUFF_SIZE
DLOG_4CH_buff2.usect"
DLOG_4CH_buff3.usect"
DLOG_4CH_buff4.usect"
InitializationFunction
_DLOG_4CH_init:
MOVLXAR5,#POS_TRIG_S1
MOVL*XAR4,XAR5;
task=#POS_TRIG_S1
ADDBXAR4,#10;
XAR4->
trig_value
MOV*+XAR4[2],#0
MOVLXAR5,#DLOG_4CH_buff1
MOVL*+XAR4[4],XAR5;
write_ptr=DLOG_4CH_buff1
MOVAL,*+XAR4[6];
ACC=size
MOV*+XAR4[3],AL;
cntr=size
LRETR
DatalogUpdateFunction
_DLOG_4CH_update:
SETCSXM
MOVLXAR5,XAR4;
task
MOVLXAR7,*XAR4++;
iptr1,XAR7=task
ADDBXAR5,#10;
XAR5->
LB*XAR7;
BranchtoTASK
POS_TRIG_S1:
MOVACC,*XAR5;
ACC=trig_value
MOVLXAR6,*XAR4;
XAR6=iptr1
SUBACC,*XAR6;
ACC=(trig_value-*iptr1)
BFDL_EXIT,LEQ;
ExitifACC<
=0
MOVLXAR6,#POS_TRIG_S2
MOVL*--XAR4,XAR6;
task=POS_TRIG_S2
POS_TRIG_S2:
BFDL_EXIT,GEQ;
ExitifACC>
MOVLXAR6,#DL_TRIGGERED
DL_TRIGGERED:
INC*+XAR5[2];
skip_cntr=skip_cntr+1
MOVACC,*+XAR5[2];
ACC=skip_cntr
SUBACC,*+XAR5[1];
ACC=skip_cntr-prescalar
SBFDL_EXIT,NEQ;
if(skip_cntr+1)<
prescalar,thenexit
MOV*+XAR5[2],#0;
skip_cntr=0
MOVACC,*+XAR5[3];
ACC=cntr
SBFDLOG_END,EQ
DEC*+XAR5[3];
cntr=cntr-1
ADDBXAR5,#4;
write_ptr
MOVLXAR6,*XAR5;
XAR6=write_ptr
ADDBXAR6,#1;
XAR6=write_ptr+1
MOVL*XAR5,XAR6;
write_ptr=write_ptr+1
SUBBXAR6,#1;
MOVAR0,#BUFF_SIZE;
AR0=BUFF_SIZE
LogsamplepointedbyIPTR1
XAR7=iptr1
MOVAL,*XAR7;
AL=*iptr1
NOP*,ARP6
MOV*0++,AL;
*write_ptr=*iptr1,XAR6=write_ptr+size
LogsamplepointedbyIPTR2
MOVLXAR7,*XAR4++;
XAR7=iptr2
AL=*iptr2
*write_ptr=*iptr2,XAR6=write_ptr+size
LogsamplepointedbyIPTR3
XAR7=iptr3
AL=*iptr3
*write_ptr=*iptr3,XAR6=write_ptr+size
LogsamplepointedbyIPTR4
XAR7=iptr4
AL=*iptr4
*write_ptr=*iptr4,XAR6=write_ptr+size
Reinitialisethemoduletologthedatawhentheloggingistriggerednext
DLOG_END:
MOVLXAR6,#DLOG_4CH_buff1
MOVL*+XAR5[4],XAR6;
MOVLXAR6,#POS_TRIG_S1
MOVAL,*+XAR5[6];
MOV*+XAR5[3],AL;
DL_EXIT:
********************************主程序**************************************
///////////////////////////
无刷直流电动机
24V
seakeke@
和我联系//////////////////////////////////////////
1.
2.#include
"
DSP281x_Device.h"
//
DSP281x
Headerfile
Include
File
3.#include
DSPMotor_Head.h"
4.
5.#include
IQmathLib.h"
6.#include
BLDCMotor.h"
7.#include
parameter.h"
8.
9.#include
<
MATH.H>
10./////
函数声明
////////////////////////////////////////////////////////////
11.interrupt
void
MainISR(void);
12.
13./////
全局变量声明
14.float32
SpeedRef
=
0.20;
Speed
reference
(pu)
15.float32
T
0.001/ISR_FREQUENCY;
Samping
period
(sec),
see
parameter.h
16.
17.Uint32
VirtualTimer
0;
18.Uint16
ILoopFlag
FALSE;
19.Uint16
SpeedLoopFlag
20.int16
DFuncDesired
0x1A00;
Desired
duty
cycle
(Q15)=0.2
21.
22._iq
CurrentSet
_IQ(0.3);
23.
24.Uint16
IsrTicker
25.Uint16
BackTicker
26.
27.int16
DlogCh1
28.int16
DlogCh2
29.int16
DlogCh3
30.int16
DlogCh4
31.
32.//
Instance
PID
regulator
to
regulate
the
DC-bus
current
and
speed
33.PIDREG3
pid1_idc
PIDREG3_DEFAULTS;
34.PIDREG3
pid1_spd
35.
36.//
a
PWM
driver
instance
37.PWMGEN
pwm1
PWMGEN_DEFAULTS;
38.
39.//
Create
an
of
ADC
40.ADCVALS
adc1
ADCVALS_DEFAULTS;
41.
42.//
Hall
effect
43.HALL3
hall1
HALL3_DEFAULTS;
44.
45.//
ramp
controller
smoothly
frequency
46.RMPCNTL
rc1
RMPCNTL_DEFAULTS;
47.
48.//
RAMP2
Module
49.RMP2
rmp2
RMP2_DEFAULTS;
50.
51.//
MOD6
52.MOD6CNT
mod1
MOD6CNT_DEFAULTS;
53.
54.//
SPEED_PR
55.SPEED_MEAS_CAP
speed1
SPEED_MEAS_CAP_DEFAULTS;
56.
57.//
DATALOG
58.DLOG_4CH
dlog
DLOG_4CH_DEFAULTS;
59.
60.//////////////////////////
主程序
//////////////////////////////////////////////
61.
62.void
main(void)
63.{
64.
65.//
Initialize
System
Control
registers,
PLL,
WatchDog,
Clocks
default
state:
66.
This
function
is
found
in
DSP281x_SysCtrl.c
file.
67.
InitSysCtrl();
68.
69.//
HISPCP
prescale
register
settings,
normally
it
will
be
set
values
70.
EALLOW;
needed
write
EALLOW
protected
registers
71.
SysCtrlRegs.HISPCP.all
0x0000;
SYSCLKOUT/1
72.
EDIS;
disable
73.
74.//
Disable
clear
all
CPU
interrupts:
75.
DINT;
76.
IER
77.
IFR
78.
79.//
Pie
Registers
To
Default
State:
80.
DSP281x_PieCtrl.c
81.
InitPieCtrl();
82.
83.//
PIE
Vector
Table
Known
84.
DSP281x_PieVect.c.
85.
populates
P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2812 CCS 动态 显示 图形