dsPIC 繝ェ繧「繝ォ繧ソ繧、繝�蛻カ蠕。
FRONT PAGE

繧ウ繝ャ縺ッ菴包シ�/What is this?

dsPIC繧剃スソ縺」縺ヲ�シ後Μ繧「繝ォ繧ソ繧、繝�蛻カ蠕。繧偵@縺セ縺吶�� 譛ャ繧オ繧、繝医〒縺ッ繧「繧サ繝ウ繝悶Λ縺ァ陦後″縺セ縺吶��
dsPIC縺ョC險�隱槭�ョ諠�蝣ア縺ッ螟ァ驥上↓縺ゅk縺ョ縺ァ縺吶′�シ後い繧サ繝ウ繝悶Λ縺ョ諠�蝣ア縺ッ縺九↑繧雁ー代↑縺�縺ョ縺ァ�シ悟峅縺」縺ヲ縺�繧倶ココ縺ョ蜉ゥ縺代↓縺ェ繧後�ー蟷ク縺�縺ァ縺吶��
C繧ウ繝ウ繝代う繝ゥ縺ッ辟。蜆溘〒菴ソ縺医※繧よゥ溯�ス蛻カ髯舌′縺ゅk繧医≧縺ァ縺吶′�シ後い繧サ繝ウ繝悶Λ縺ェ繧峨◎繧薙↑縺薙→繧呈ー励↓縺吶k蠢�隕√�ッ縺ゅj縺セ縺帙s縲�
縺企�代′縺ェ縺代l縺ー遏・諱オ縺ァ蜍晁イ�縺ァ縺吶��
縺薙%縺ァ邏ケ莉九☆繧九�ョ縺ッ�シ後ち繧、繝槫牡繧願セシ縺ソ縺ィ蠕�讖溘Ν繝シ繝√Φ縺ァ繝ェ繧「繝ォ繧ソ繧、繝�諤ァ繧堤「コ菫昴☆繧狗ー。蜊倥↑繧ウ繝シ繝峨〒縺吶��



繝�繧ヲ繝ウ繝ュ繝シ繝�/Download

dsPIC縺ョ繧ス繝シ繧ケ繧ウ繝シ繝峨�ッ莉・荳九°繧峨ム繧ヲ繝ウ繝ュ繝シ繝峨〒縺阪∪縺吶��
You can download the source code of dsPIC.

realtime.s

MPLAB IDE 縺翫h縺ウ dsPIC30F4012 螳滓ゥ滉ク翫〒蜍穂ス懃「コ隱肴ク医∩縺ァ縺吶��
We confirmed that this source code was normally operated in MPLAB IDE and dsPIC30F4012.



繧ス繝シ繧ケ繧ウ繝シ繝�/Source code (2012/01/20 繧医j豢礼キエ縺輔l縺溘さ繝シ繝峨↓菫ョ豁」)

;
;  dsPIC30F4012 REAL TIME CONTROL(TIMER INTERRUPT) TEST CODE
;

.include "p30f4012.inc"

; 險ュ螳�
config __FOSC, CSW_FSCM_OFF & EC_PLL16  ; ClockSW OFF, 螟夜ΚClock PLL16蛟阪Δ繝シ繝�
config __FWDT, WDT_OFF                  ; WatchdogTimer OFF
config __FBORPOR, PBOR_ON & BORV20 & PWRT_16 & MCLR_EN
; 髮サ貅先兜蜈・譎り�ェ蜍輔Μ繧サ繝�繝域怏蜉ケ, 閾ェ蜍募●豁「髮サ蝨ァ2.0V, 髮サ貅先兜蜈・繧ソ繧、繝�16msec, MCLR繝斐Φ譛牙柑
config __FGS, CODE_PROT_OFF             ; CodeProtection OFF

; 繝ォ繝シ繝√Φ
.global __T1Interrupt       ; 蜑イ繧願セシ縺ソ繝ォ繝シ繝√Φ
.global __reset             ; 蛻晄悄險ュ螳壹Ν繝シ繝√Φ

; dsPIC襍キ蜍暮幕蟋�
.text
.org    0x000000
    goto    __reset         ; 襍キ蜍暮幕蟋九→蜈ア縺ォ蛻晄悄險ュ螳壹r陦後≧

; 繧ソ繧、繝槫牡繧願セシ縺ソ繝吶け繧ソ
__T1Interrupt:
    goto    T1Interrupt

; 蛻晄悄險ュ螳壹Ν繝シ繝√Φ
__reset:
    ; I/O繝昴�シ繝亥�・蜃コ蜉幄ィュ螳�
    mov     #0b0000000000000000,w0
    mov     w0,TRISB
    mov     #0b0000000000000000,w0
    mov     w0,TRISC
    mov     #0b0000000000000000,w0
    mov     w0,TRISD
    mov     #0b0000000000000000,w0
    mov     w0,TRISE
    mov     #0b0000000000000000,w0
    mov     w0,TRISF
    
    ; 繧ソ繧、繝�1蜑イ繧願セシ縺ソ險ュ螳�
    clr     T1CON           ; 蛻カ蠕。繝ャ繧ク繧ケ繧ソ險ュ螳�
    clr     TMR1            ; 繧ソ繧、繝槭Ξ繧ク繧ケ繧ソ繧ッ繝ェ繧「
    mov     #0x0BB7, w0     ; 蜻ィ譛溘Ξ繧ク繧ケ繧ソ縺ョ險ュ螳� 0x0BB7=100ホシs (120MHz)
    mov     w0,     PR1     ; 
    bset    IPC0,   #T1IP0  ; 繧ソ繧、繝�1蜑イ繧願セシ縺ソ險ュ螳�
    bclr    IPC0,   #T1IP1  ; 蜆ェ蜈亥コヲ繧�
    bclr    IPC0,   #T1IP2  ; 譛�鬮倥↓險ュ螳�
    bclr    IFS0,   #T1IF   ; 繧ソ繧、繝槫牡繧願セシ縺ソ繝輔Λ繧ー繧偵け繝ェ繧「
    bset    IEC0,   #T1IE   ; 繧ソ繧、繝槫牡繧願セシ縺ソ繧定ィア蜿ッ
    bset    T1CON,  #TON    ; 繧ソ繧、繝�1蟋句虚
    
    
; 繧ソ繧、繝槫牡繧願セシ縺ソ蠕�讖溘Ν繝シ繝√Φ
; 縺薙�ョ繝ォ繝シ繝√Φ縺ッ繧ソ繧、繝槫牡繧願セシ縺ソ縺檎匱逕溘☆繧九∪縺ァ蠕�讖溘☆繧九Ν繝シ繝√Φ
INT_WAIT:
    nop
    goto    INT_WAIT        ; 荳サ繝ォ繝シ繝√Φ蜈磯�ュ縺ォ謌サ繧�

; 繧ソ繧、繝槫牡繧願セシ縺ソ繝ォ繝シ繝√Φ
T1Interrupt:
    bclr    IEC0,   #T1IE   ; 繧ソ繧、繝槫牡繧願セシ縺ソ繧堤ヲ∵ュ「
    call    PERIOD          ; 蜻ィ譛溘Ν繝シ繝√Φ蜻シ縺ウ蜃コ縺�
    bclr    IFS0,   #T1IF   ; 繧ソ繧、繝槫牡繧願セシ縺ソ繝輔Λ繧ー繧偵Μ繧サ繝�繝�
    bset    IEC0,   #T1IE   ; 繧ソ繧、繝槫牡繧願セシ縺ソ繧定ィア蜿ッ
    retfie                  ; 繧ソ繧、繝槫牡繧願セシ縺ソ邨ゆコ�


; 蜻ィ譛溘Ν繝シ繝√Φ
; 縺薙�ョ繝ォ繝シ繝√Φ縺ッ100ホシs縺斐→縺ォ螳溯。後&繧後k縲ょ�ヲ逅�縺ッ3000step莉・蜀�縺ォ邏阪a繧九%縺ィ縲�(120MHz)
PERIOD:
    ; 縺薙%縺ォ謇�譛帙�ョ蛻カ蠕。繧ウ繝シ繝峨r譖ク縺�
    com.b   PORTE           ; 100ホシs豈弱↓PORTE繧貞渚霆「
    return

.end
			



隗」隱ャ/Manual

蜍穂ス懊�ッ讎ゅ�ュ莉・荳九�ョ騾壹j縲�

�シ托シ仕sPIC襍キ蜍慕峩蠕後↓繝昴�シ繝亥�・蜃コ蜉幄ィュ螳壹→繧ソ繧、繝槫牡繧願セシ縺ソ縺ョ險ュ螳壹r螳溯。後☆繧�
�シ抵シ主セ�讖溘Ν繝シ繝√Φ縺ァ辟。髯舌Ν繝シ繝励↓蜈・繧�
�シ難シ弱ち繧、繝槫牡繧願セシ縺ソ縺梧寺縺九▲縺溘i�シ鯉シ斐∈
�シ費シ主捉譛溘Ν繝シ繝√Φ(謇�譛帙�ョ繧ウ繝シ繝峨′譖ク縺�縺ヲ縺ゅk)繧貞ョ溯。後@�シ鯉シ偵∈謌サ繧�
縺薙l縺ァ蜻ィ譛溘Ν繝シ繝√Φ縺ョ蜃ヲ逅�蜀�螳ケ繝サ貍皮ョ苓イ�闕キ縺ォ髢「繧上i縺夲シ梧欠螳壹@縺溷宛蠕。蜻ィ譛溘r螳医k縺薙→縺後〒縺阪∪縺吶��
縺溘□縺暦シ悟宛蠕。蜻ィ譛滉サ・蜀�縺ァ邨ゅo繧九h縺�縺ェ繧ケ繝�繝�繝玲焚縺ォ縺吶k蠢�隕√′縺ゅj縺セ縺吶��



蛻カ蠕。蜻ィ譛溘�ョ隱ソ謨エ/Adjustment of Control Period

豁」遒コ縺ェ蛻カ蠕。蜻ィ譛溘r蠕励k縺溘a縺ォ�シ悟ョ滓ゥ溘r菴ソ縺」縺ヲ繝代Λ繝。繝シ繧ソ縺ョ隱ソ謨エ繧定。後>縺セ縺吶��
荳願ソー縺励◆繧ス繝シ繧ケ繧ウ繝シ繝峨〒縺ッ�シ訓ORTE繧貞宛蠕。蜻ィ譛溘#縺ィ縺ォ蜿崎サ「縺輔○繧九h縺�縺ォ縺ェ縺」縺ヲ縺�縺セ縺吶��
繧ェ繧キ繝ュ繧ケ繧ウ繝シ繝励〒PORTE縺九i蜃コ蜉帙&繧後k譁ケ蠖「豕「繧定ヲウ貂ャ縺暦シ�
繧ス繝シ繧ケ繧ウ繝シ繝峨�ョ襍、邱壹�ョ驛ィ蛻� 縺ョ蜻ィ譛溘Ξ繧ク繧ケ繧ソ縺ョ險ュ螳壹�ョ縺ィ縺薙m繧定ェソ謨エ縺励∪縺吶��







- -

遐皮ゥカ螳、縺ョ讓ェ縺ョ蛟牙コォ - Side Warehouse of Laboratory
Copyright(C), Side Warehouse, All rights reserved.