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


Browsing this Thread:   1 Anonymous Users






Re: PIC18F6490 計時問題...
#5
版主
版主


查看用戶資訊
1. PIC18F6490 和PIC18LF6490 差異在哪?差在價格與工作電壓,如果你是要在低電壓工作 (<3.3V) 建議使用 LF 版本。這是建議電壓值,LF 與 F 的最大差異是,LF 是經過低電壓的測試滿足 Data Sheet 對LF 的規範後所挑選出來的元件。而 F 的測試只保證在 4.2V以上,因此在低壓部份就不保證了。

2. Timer1 重新 reload timer 值的動作是 先寫入 Timer1H的值到 Timer1H 的Latch 後,再寫入Timer1L 的值,這樣一次 16-bit 的 Timer值才會一次寫入。還有這 reload 的Timer1 值最好在中斷一發生後就立刻載入。你的程式中是在最後載入,這時時間已經差很多了。



發表於: 2008/3/27 14:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F6490 計時問題...
#4
中級會員
中級會員


查看用戶資訊
ok好了....
原來少了一行 TMR1L = 0x00;
加了這一行就正常了,一秒跳一次....~_~

另外順便請問一下板大....

PIC18F6490 和
PIC18LF6490 差異在哪?

看Data sheet是表示是低功耗的...
那如果我用PIC18F6490 開發....

後來改成 L 系列的不知道會不會有影響.....
看Data sheet只有寫說會因為電壓越低讓工作頻率降低...
那如果我是用內部震盪器的....會有影響嗎?

另外,data sheet 411頁寫說PIC18F6490 標準電壓範圍為4.2~5.5V

PIC18LF6490為2.0~5.5V

這地方很奇怪,我們現在電壓都是給3V
跑起來也沒什問題,可是我們用的是PIC18F6490
而不是"L"系列的....剛剛又去確認了一下型號....

跟data sheet 前面幾頁的規格標示好像對不太起來...

這是寫錯嗎?還是我會錯意?

發表於: 2008/3/27 10:47
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F6490 計時問題...
#3
中級會員
中級會員


查看用戶資訊
感謝版主回覆...

把 PIE1bits.TMR1IE 改為 1 後果然可以動作了....

小弟今年年初才開始接觸PIC,所以真的功力有點2266~_~

剛剛已經去下載教材,等等在來惡補一下.....

不過還有個問題就是,雖然會計時了

不過都是兩秒計時一次,設定值如第一次的PO文內容...
完全沒去動....

後來我有去改 TMR1H 的值,不管數值怎改..
永遠秒數都是兩秒跳一次~_~...
我在去試了一下除頻改成1:2,秒數會變兩倍....
變四秒跳一次...所以除頻這部分應該是ok的...(之後又調回1:1)

我一秒跳一次TMR1H 要改成0x80沒錯吧?
可是似乎都沒用,還是兩秒跳一次.....
(改成其他值也是兩秒跳一次)

有用示波器去量波形,確定都是固定兩秒interrupt....

發表於: 2008/3/27 10:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F6490 計時問題...
#2
版主
版主


查看用戶資訊
PIE1bits.TMR1IE = 0; 要改為= 1 ,這樣中斷才可以打開。

看你的程式,似乎對 PIC18F 的中斷還不是很熟,你還是使用 PIC16F的中斷方式。建議你看一下 W401 C18 教材裡的第五章裡有關高、低優先中斷的設定。

發表於: 2008/3/26 17:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


PIC18F6490 計時問題...
#1
中級會員
中級會員


查看用戶資訊
請問一下大大...
我現在使用PIC18F6490來做計時並將結果顯示在LCD上...
就是電子時鐘...不過現在遇到一個問題...找好久找不到原因...

接外部T1震盪器(32767)做計時...
PIC則是使用內部的RC震盪器

現在問題是,沒法進入Interrupt.....

下面是該程式,找好幾天了,還是找不出問題,
是否有高手大大能幫我看問題出在那...

#pragma config OSC =INTIO67
#pragma config FCMEN=OFF
#pragma config IESO =OFF
#pragma config PWRT =OFF
#pragma config BOREN=OFF
#pragma config WDT =OFF
#pragma config DEBUG=OFF
#pragma config XINST=OFF

void InterruptHandlerHigh (void);

void main (void)
{
LCD_CONFIG_R(); //這是我LCD的設定函式,可不用理會
DisplayOn(); //開啟LCD全亮
Init_TMR1();
INTCONbits.GIE = 1;
INTCONbits.PEIE = 1;
while(1);
}

void Init_TMR1(void)
{
TMR1H = 0x80;
T1CONbits.RD16 = 1;
T1CONbits.T1RUN = 1;
T1CONbits.T1CKPS1 = 0;
T1CONbits.T1CKPS0 = 0;
T1CONbits.T1OSCEN = 1;
T1CONbits.T1SYNC = 1;
T1CONbits.TMR1CS = 1;
T1CONbits.TMR1ON = 1;
PIE1bits.TMR1IE = 0;
PIR1bits.TMR1IF = 0;
}

#pragma code InterruptVectorHigh = 0x08
void InterruptVectorHigh (void)
{
_asm
goto InterruptHandlerHigh //jump to interrupt routine
_endasm
}

#pragma code
#pragma interrupt InterruptHandlerHigh
void InterruptHandlerHigh ()
{
if (PIR1bits.TMR1IF == 1)
{
PIR1bits.TMR1IF = 0;
SEC++;
if (SEC > 59){ SEC = 0; MIN++;}
if (MIN > 59){ MIN = 0; HR++;}
if (HR > 23 ) { HR = 0;}
S1Num(MIN/10); //此行和下面幾行把值show到LCD
S2Num(MIN%10); //可不用理會
S3Num(SEC/10);
S4Num(SEC%10);
TMR1H = 0x80;
}
}

程式沒幾行,但就是不會進入InterruptHandlerHigh...
找好久找不出問題點....

補充,PIC使用內部的RC震盪器,另外硬體部分
T1震盪器是直接接到T1OSO、T1OSI,沒有接電容


發表於: 2008/3/26 16:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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... ]

教育訓練中心

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