• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (boy33325)




dsPIC30F2020這顆IC用來做變頻與變DUTY的PWM控制範例嗎?
#1
新會員
新會員


請問有相關的範例是拿dsPIC2020來做變頻PWM控制的嗎?
因為我是直接將計算Ts 與 D 的結果分別寫入PTPER 與 PDC暫存器裡(其中Ts 與 D的大小會根據參考值做變化),但是這樣子似乎無法達到每個周期的大小與Duty都馬上改變,會延遲一段時間且這段時間內的週期和Duty都一樣。所以想請教大家是否有遇過類似的情況或是有相關的範例可以參考。謝謝!!(以下是我的程式碼設定)
while(1)
{
ADCPC0bits.SWTRG0 = 1 ;
if(!ADCPC0bits.PEND0);
Vref= ADCBUF0 >> 2 ;
PWM_Period = Vref*X; //週期為Vref的函式
duty = Vref*Y;//Duty為Vref的函式
PTPER = PWM_Period;
PDC1 = duty;
}

void Init_PWM(void) //PWM Module Initialization
{
PTCON = 0X0400 ;
PWMCON1= 0X0001 ;
IOCON1 = 0XC000 ;
DTR1 = 0X0010 ;
PTCONbits.PTEN = 1 ;
ALTDTR1= 0X0010;
}

發表於: 2009/6/15 15:31
頂部


dsPIC2020 ADC PROPLEMS
#2
新會員
新會員


各位大大 你們好!!
我現在有個dsPIC2020 ADC部分的問題。我有4的外部信號要進dsPIC的 AN0~AN3, 我在程式部分要分別去讀取這四個信號,但是如果只是分別讀AN0和AN1 或者是AN2和AN3 用示波器去看都沒有錯 但是如果要一次讀取這四個信號他就只有轉換AN0和AN1的信號 而AN2和AN3的信號都沒有被轉換。我是採用軟體觸發轉換的方式。謝謝!!

我的ADC暫存器設定如下:
void Init_ADC(void)
{
IEC2bits.ADCP0IE = 0 ;
IFS2bits.ADCP0IF = 0 ;
ADCON = 0x0023 ;
ADPCFG = 0xFFF0 ;
ADSTAT = 0x0000 ;
ADCPC0 = 0x8181 ;
ADCONbits.ADON = 1 ;
}
主程式內容如下:
int main(void)
{
TRISE = 0x0000;
TRISBbits.TRISB5 = 0;
Init_ADC();
while(1)
{
ADCPC0bits.SWTRG0 = 1 ;
ADCPC0bits.SWTRG1 = 1 ;
if(!ADCPC0bits.PEND0);
ZL1 = ADCBUF0 >> 2 ;
IL1 = ADCBUF1 >> 2 ;
if(!ADCPC0bits.PEND1)
ZC1 = ADCBUF2;

ADCPC0bits.SWTRG0 = 1 ;
ADCPC0bits.SWTRG1 = 1 ;
if(!ADCPC0bits.PEND0);
ZL2 = ADCBUF0 >> 2 ;
IL2 = ADCBUF1 >> 2 ;
if(!ADCPC0bits.PEND1)
ZC2 = ADCBUF2;

if((ZL1 + ZL2)*0.5 >= 100)
LATE = (-1*(IL1 + IL2)*0.5*0.0032258*4*25)+128;
else
LATE = (1*(IL1 + IL2)*0.5*0.0032258*4*25)+128;

if((ZC1-ZC2) >= 100)
LATBbits.LATB5 = 1;
else
LATBbits.LATB5 = 0;
}
}

發表於: 2009/5/3 23:11
頂部


Re: dsPIC2020 TIMER1 INTERRUPT CAN NOT WORK
#3
新會員
新會員


我有把int ISR_T1_Interrupt(void)改成void ISR_T1_Interrupt(void) 不過還是不行><

發表於: 2009/2/23 11:26
頂部


dsPIC2020 TIMER1 INTERRUPT CAN NOT WORK
#4
新會員
新會員


請教一下:我想設定TIMER1的中斷功能並且每1ms進入中斷副程式執行。初始化時timer1相關暫存器我都有開啟(如t1_on, t1_int_enable, ti_pripr7, )並且清除t1的專斷旗標。但是不巧的是他初始化完就一直於主程式迴圈裡並不會因timer1計數1ms就進入中斷副程式。我不曉得是我站存器少設了什麼還是要有特別的指令去呼叫持是過來執行中斷副程式,我是只用c language. 麻煩你了^^

#define __dsPIC30F2020__
#include <p30F2020.h>
#include <timer.h>
#define FCY 424628450/32 //CLK/8/4

void Init_TMR1(void);

unsigned char second = 0;
unsigned char onesecond = 0;
unsigned int milisec = 0;



int ISR_T1_Interrupt(void)
{
milisec = milisec+1 ;
if(milisec == 1000)
{
milisec = 0;
onesecond = 1;
}
IFS0bits.T1IF = 0;
}

int main(void)
{
ADPCFG = 0XFFFF;
TRISB = 0X0000;

Init_TMR1();
onesecond = 0;
while(1)
{
if(onesecond)
{
onesecond = 0;
second = second+1;
LATB = second;
}

}

}



void Init_TMR1(void)
{
IEC0bits.T1IE = 1 ;//Enable the interrupt function
IFS0bits.T1IF = 0 ;//Clear the interrupt flag for initial setting
IPC0 = 0x7000 ; //The highest Priority level 7
PR1 = FCY/1000 ; //Calculate the FCY with 1m Sec
T1CON = 0x8000 ; //Turn on timer1, prescale 1:1
}

發表於: 2009/2/23 11:25
頂部


Re: dsPIC2020如何用C語言來產生一個弦波的參考訊號
#5
新會員
新會員


上面的指令我之前學LCD顯示的時候好像有學過,那如果要用這指令來產生60Hz, magnetude of 15V 的正弦波表的指令該怎麼寫且如何使用PSV方式查詢這個表?我不懂得用PSV查詢資料的原理。麻煩你了︿__︿"

發表於: 2009/2/19 14:05
頂部


Re: dsPIC2020如何用C語言來產生一個弦波的參考訊號
#6
新會員
新會員


我想要產生一個弦波的參考訊號去跟三角波比較來產生PWM輸出,那這個IC內部的弦波的參考訊號要如何用C Code來撰寫。我有聽說過好像可以用建表的方式,那該如何建呢?謝謝!!

發表於: 2009/2/19 10:26
頂部


dsPIC2020如何用C語言來產生一個弦波的參考訊號
#7
新會員
新會員


各位大大:

我想用C來寫出一個可以產生弦波的參考訊號,CODE要如何寫呢? 謝謝!

發表於: 2009/2/18 23:26
頂部






:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------