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

論壇索引


Board index » All Posts (cat520)




Re: 問個有關指令的笨問題?!
#1
高級會員
高級會員


感謝n454113和版主的回答..
我知道了 ~~

發表於: 2006/3/8 15:01
頂部


Re: 問個有關指令的笨問題?!
#2
高級會員
高級會員


那如果是...
ex:
btfsc    RCSTA,1,0
bcf        PORTB
,1,0                           
movf    RCREG
,0,0    
call    isr1

不等於0時執行 bcf PORTB,1,0完後...
也繼續執行 movf RCREG,0,0這行嗎?
請問是這樣嗎?

發表於: 2006/3/7 16:17
頂部


問個有關指令的笨問題?!
#3
高級會員
高級會員


請問一下有關btfss,btfsc指令...
ex:
btfsc        RCSTA,1,0
call        isr
movf        RCREG
,0,0    
call        isr1
當RCSTA
<1>=0會跳過 call   isr而執行movf   RCREG,0,0這行
當不等於0時會執行 call   isr
..
請問當不為0執行 call   isr完返回後是會變成執行哪行?
movf   RCREG,0,?!
還是call   isr1 ?!

還是??

發表於: 2006/3/6 22:03
頂部


Re: Polling和Interrupt可否同時存在?
#4
高級會員
高級會員


引述:
"使用組合語言時是不一樣的,高優先權中斷 W, BSR , STATUS 會自動存入 SHADOW 暫存器裡,返回時只要用 RETFIE FAST 就可以自 SHADOW 暫存器裡取回。
但在低優先權中斷時這三個暫器 W,BSR,STATUS就必須自行存到RAM裡"

什麼?!我還以為不管高或低優先權都要用先另存暫存器...
沒想到高優先權只要用"RETFIE FAST"指令就可以了...
真是受益良多....
另外想再請教三個小問題...
Q1:
請問這適合用在哪些型號的IC?
Q2:
假設高優先權使用低優先權那種先另存暫存器的方法?
也可以嗎?(雖然是多此一舉!)
Q3:
"高優先權中斷 W, BSR , STATUS 會自動存入 SHADOW 暫存器裡,返回時只要用 RETFIE FAST 就可以自 SHADOW 暫存器裡取回。"
這個資料和指令哪裡可以找到?!
謝謝.....

發表於: 2005/12/8 10:46
頂部


Re: Polling和Interrupt可否同時存在?
#5
高級會員
高級會員


Hi~~cason!
就如你所想的一樣...
如果中斷中有使用到W暫存器...
那內容就會被更改囉!
通常做法是一進入中斷就要先儲存W的內容!
要返回前再叫回來~~

當RCREG暫存器的內容被傳出後...
RCIF就會自動清為"0"~~

發表於: 2005/12/7 20:09
頂部


Re: Polling和Interrupt可否同時存在?
#6
高級會員
高級會員


感謝版主大大的回答....
那我了解了!

發表於: 2005/12/6 14:41
頂部


Polling和Interrupt可否同時存在?
#7
高級會員
高級會員


如題...請教一下!
在同一個程式中是否可同時存在這兩種方式?!(PIC18F2X2)
ex:
[功能]
A/D轉換後,透過RS232送給電腦接收....
電腦接收完畢回傳一訊號給PIC.....
PIC再傳新資料!
[做法]
A/D使用到五個通道(輪流轉換並傳出結果至PC,之後用Interrupt等待電腦給訊號,收到訊號後再傳新的五筆資料,類推...)
A/D每個通道的資料是否已傳送出去用Polling來判斷!

請問這樣的寫法OK嗎?

發表於: 2005/12/6 11:09
頂部


Re: 關於AD的CLOCK??
#8
高級會員
高級會員


嗨...starks您好!
我試著以我自己的經驗來回答您的問題...
以PIC16F877為例...
首先定義TAD=轉換1個bit所需時間...
在PIC16F877中,TAD至少必須為1.6us..
ex:
當使用20MHz振盪器時...
TAD=32Tosc=32*(1/20)us=1.6us
如果此時設TAD=8Tosc將使TAD太小..
轉換出來的結果就會不正確...
相對的...
如果使用5MHz振盪器...
卻設定TAD=32Tosc,則...
TAD=32Tosc=32*(1/5)us=6.4us >> 1.6us...
這樣就太浪費時間了!
不知是否對您有些幫助!!

發表於: 2005/10/31 16:07
頂部


Re: 什麼是stack pointer?!
#9
高級會員
高級會員


我找到囉...
雖然沒說5-bit是怎麼回事...
但應該像jubel大大說的那樣..
The value of the stack pointer can be 0 through 31.
The stack pointer increments when values are pushed onto the stack and decrements when values are popped off the stack.
At RESET, the stack pointer value will be 0.

發表於: 2005/10/27 20:56
頂部


Re: 什麼是stack pointer?!
#10
高級會員
高級會員


PIC18FXX2的堆疊區我看是寫31層...
我也還在找資料...

發表於: 2005/10/27 16:12
頂部



(1) 2 3 4 ... 10 »



:::

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

教育訓練中心

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