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


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 請問如何用中斷來控制頻率
#12
中級會員
中級會員


查看用戶資訊
是否可以幫我看看 我中斷設定是否有錯誤 謝謝
IntServ
INT_OFF
movwf Reg_w
movfw STATUS
clrf STATUS
movwf Reg_STATUS
movfw PCLATH
movwf Reg_PCLATH
clrf PCLATH
btfss PIR1,TMR1IF ;
goto ExitTMRON

IntTMR1
bcf T1CON,TMR1ON
bcf PIR1,TMR1IF
movlw (.65536-TMR1_VAL)/.256
movwf TMR1H
movlw (.65536-TMR1_VAL)%.256
movwf TMR1L

;decfsz Reg_count_1s,F
goto ExitTMRON
movlw Num1sCount
movwf Reg_count_1s

RUN
decfsz Reg_count_3s,f
bsf PORTB,0
movlw Num3sCount
movwf Reg_count_3s
goto ExitTMRON

;------------------------------------------------------------------------
ExitTMROFF
bcf T1CON,TMR1ON
bcf PORTB,1
goto $+2
ExitTMRON
bsf T1CON,TMR1ON
ExitInt
movfw Reg_PCLATH
movwf PCLATH
movfw Reg_STATUS
movwf STATUS
movfw Reg_w
INT_ON
RETFIE

發表於: 2006/6/28 19:25
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#11
高級會員
高級會員


查看用戶資訊
版主寫的 真 精闢
我想的太複雜了..汗顏汗顏...

發表於: 2006/6/27 17:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#10
版主
版主


查看用戶資訊
除四可以直接設定 Proscaler 為 1:4 模式,用底下的方式寫會比較簡單:

TMR1_VAL       equ             .1000
:
:
            
movlw    (.65536-TMR1_VAL)/.256    Calcute the MSB value for the Timer1
            movwf    TMR1H
            movlw    
(.65536-TMR1_VAL)%.256    Calcute the LSB value for the Timer1
            movwf    TMR1L

發表於: 2006/6/27 16:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#9
高級會員
高級會員


查看用戶資訊
PIC16FXXX 好像沒 MOVFF 這ASM 指令
沒有的話,設定TIMERH/L 的方法就要改成
MOVF TIMER1_CNT_H,W
MOVWF TMR1H
MOVF TIMER1_CNT_L,W
MOVWF TMR1L

發表於: 2006/6/27 12:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#8
高級會員
高級會員


查看用戶資訊
設定t1con 的bit[5:4]
bit5=1
bit4=0
設定為除4 (data sheet 第57頁)

TIMER1_CNT_H EQU 0X60 ;設定儲存計數值的變數
TIMER1_CNT_L EQU 0X61 ;設定儲存計數值的變數

MOVLW [65535要減的值, HIGH BYTE]
MOVWF TIMER1_CNT_H ;把要減的值(HIGH BYTE)存入
MOVLW 0XFF
SUBWF TIMER1_CNT_H,F ; F可省略, W-F 儲到F

MOVLW [65535要減的值, LOW BYTE]
MOVWF TIMER1_CNT_L ;把要減的值(LOW BYTE)存入
MOVLW 0XFF
SUBWF TIMER1_CNT_L,F ; F可省略, W-F 儲到F

以上…如果你要減的值為 .9999=>0X270F
HIGH BYTE就擺X27
LOW BYTE就擺X0F

由於0數到65535(0XFFFF) 就是數65536次
所以…只用0XFFFF去減

如果真的要65536的話

再加上下面描述

INCF TIMER1_CNT_L
BTFSC STATUS,C ; 如果有進位執行下一行
INCF TIMER1_CNT_H ;把HIGH BYTE 加1

timer初始化時填入,計數到中斷發生再回填.
(指定TIMER的計數值)
MOVFF TIMER1_CNT_H,TMR1H
MOVFF TIMER1_CNT_L,TMR1L

填入0XF82F->數->中斷發生->填入0XF82F->數->中斷發生->重覆動作。

發表於: 2006/6/27 12:21
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#7
中級會員
中級會員


查看用戶資訊
除四,是不是要再Timer1的T1CON暫存器裡設定?
我的中斷是用65536來減,例如:我要2ms的中斷,
就設定F82F給TMR1L與TMR1H。
如果這個形式我該如何設定?....謝謝

發表於: 2006/6/27 11:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#6
高級會員
高級會員


查看用戶資訊
1khz 就是1ms

1ms等於 200ns(以我的chip來看) 數5000次

如果是要產生一個完整的pulse 1khz 的話就折半2500次

就用二個register來計數就搞定了...

所以首先要先設定你的timer 多久interrupt一次

然後去算出你要的時間,時間到了再去做想做的事…


發表於: 2006/6/27 10:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#5
版主
版主


查看用戶資訊
那建議還是使用 Timer 1 配合中斷來產生。

1KHz = 1000uS 想辦法讓 Timer1 每1000uS中斷一次,若使用 4MHz Oscillator 那先除四後可得1uS timebase, 再用Timer1 計數 1000 後產生中斷就可以了。

發表於: 2006/6/27 9:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#4
中級會員
中級會員


查看用戶資訊
頻率範圍最大到1KHz
謝謝

發表於: 2006/6/26 20:17
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何用中斷來控制頻率
#3
版主
版主


查看用戶資訊
低素可以考慮用 Timer 的中斷來產生,高頻率的話可以使用 PWM module, 你的頻率範圍是多少?

發表於: 2006/6/26 18:14
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... ]

教育訓練中心

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