• 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: 關於產生一個20khz方波問題
#10
版主
版主


查看用戶資訊
參照:

Eigen 寫道:

20KHZ 只要 baud rate 設成 40k ,然後 約500us 填入 0x55 到 uart 的 txreg ,

uart tx pin 就會輸出 20khz 的信號


好,高招 ! 感謝分享。

發表於: 2008/10/21 13:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於產生一個20khz方波問題
#9
資深會員
資深會員


查看用戶資訊
再教你一爛招

沒有辦法的辦法

UART / SPI 都能產生 CLOCK 輸出

20KHZ 只要 baud rate 設成 40k ,然後 約500us 填入 0x55 到 uart 的 txreg ,

uart tx pin 就會輸出 20khz 的信號

spi 也能這樣模擬

發表於: 2008/10/21 13:33
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於產生一個20khz方波問題
#8
版主
版主


查看用戶資訊
當然這段中斷程式考慮用 In-Line Assembly 來寫,如果是用 MPLAB C18 可以參考 W401 教育訓練的第七章說明。

如果是用 PIC18F 的話。查表運算那些交給低優先權中斷,20KHz 的中斷交給高優先全中斷來做。

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


Re: 關於產生一個20khz方波問題
#7
新會員
新會員


查看用戶資訊
謝謝各位的反應, 目前我己經用完2支pwm i/o, 另外還需要一個20khz的方波, 因此才要使用timer 來做, 另外在timer 中我需要更新pwm的值, 需要查表運算及更新, 我現在發現的問題是, 用c來寫時, 組譯後我不知道它實際會push , pop那些暫存器, 導致我己把程式都mask掉了, 用maplab sim stopwatch來看時, 光離開中斷己進入中斷就己經超過250個指令週期了, 因此我才要請問是不是用組語寫, 較容易掌控.....

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


Re: 關於產生一個20khz方波問題
#6
資深會員
資深會員


查看用戶資訊
Microchip OS 最佳解法

人客,再來一顆 10f200

1MHZ都可以產生

發表於: 2008/10/20 13:23
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於產生一個20khz方波問題
#5
資深會員
資深會員


查看用戶資訊
具體來說25us進入中斷一次,轉換IO的狀態(H->L或L->H)就可以了。
中斷的程式具體如下,以組語來看大約50行組語。

#pragma code high_vector=0x08
void high_interrupt (void)
{
_asm GOTO timer1_isr _endasm
}
#pragma code

#pragma interrupt timer1_isr

void timer1_isr (void)
{
    
PIR1bits.TMR1IF 0;        
    
WriteTimer1(TMR1_VAL);        
    
Your_io = ! Your_io;        
}


25us之間可以執行25000ns/100ns = 250 行組語,扣掉進入ISR及ISR本身執行的部分。大約有 200 行左右的餘裕量可用。如果中斷超過25us,不知道只是產生方波為何需要寫那麼多程式。

你可能需要聊聊你的需求...^_^

發表於: 2008/10/20 12:15
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於產生一個20khz方波問題
#4
資深會員
資深會員


查看用戶資訊
參照:

Ryang 寫道:
不過既然PIC18F有 CCP Module 為何不用它來產生 20KHz 的方波呢?

+1
(我想要不是想練功夫,不然就是腳被佔用了,又不方便改....,so.....)


一般事件計時用timer0, 低優先權
方波產生用timer1, 高優先權

發表於: 2008/10/20 9:45
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於產生一個20khz方波問題
#3
版主
版主


查看用戶資訊
PIC18F 進入中斷的反應時間為 3Tcy 返回為 2Tcy,共5個 Tcy 時間。
以 40MHz 的速度來算需花掉 0.5uS (100ns x 5Tcy) 再加上 Timer 中斷處理及I/O腳位的反轉,我認為最短只要 1uS 的中斷處理時間,最快大約可以做到約0.5MHz的輸出。

贊成Master的觀點,你應該是在中斷李作了很多的事情所以才會來不及。
不過既然PIC18F有 CCP Module 為何不用它來產生 20KHz 的方波呢?

發表於: 2008/10/20 8:23
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於產生一個20khz方波問題
#2
資深會員
資深會員


查看用戶資訊
我用C18透過timer做過40KHz(for超音波)方波,所以你20KHz寫不出來應該是你程式寫的有問題。

發表於: 2008/10/20 7:27
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


關於產生一個20khz方波問題
#1
新會員
新會員


查看用戶資訊
請問我要產生一個20khz的方波, 不要用pwm mode 去產生,
我己經把振盪頻率拉到40Mhz, 目前使用c18 寫, 發現光基本
的架構進到timer 中斷間, 就己經超過25us 了, 是否不能用c18
, 一定要用組語嗎?

發表於: 2008/10/20 0:12
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... ]

教育訓練中心

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