• 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: 請問PIC16F877如何除頻?
#6
新會員
新會員


查看用戶資訊
當我加上一個delay0.1秒副程式
我已經可以在示波器上看到變化了
謝~~
==========================
但是我現在想輸出PWM訊號
也就是把輸出的X(k+1)值 放到CCPR1L暫存器輸出 如下

mainprogram
call Initial
MainLoop
call Oper
call Delay0.1s
call PWM_Out
call XK1TOXK
goto MainLoop

如此一來我可以在同一個我設定之PWM週期(頻率20Hz)中看到duty cycle從0 不斷遞增直到約40%停止的現象

而且看到是每0.1秒遞增一次

我請問一下 能否在每一個週期中只放一個固定的duty cycle
第一個PWM週期中duty cycle為X(0)=0
第二個PWM週期中duty cycle為A*X(0)+B*U 約=9
第三個PWM週期中duty cycle為A*X(1)+B*U 約=17
. . . . . .
也就是在每一個連續週期中都只出現一個固定的訊號

請問如何修改我的程式啊???
麻煩了...


發表於: 2005/6/23 15:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PIC16F877如何除頻?
#5
版主
版主


查看用戶資訊
您在以下的程式段中:

MainLoop
call Oper ;運算X(k+1)=A*X(k)+B*U
call PortC_Out ;輸出X(k)到PortC
call XK1TOXK ;疊代X(k+1)到X(k)
goto MainLoop

有沒有加運算的截止條件?也就是說,當X(K)的值已經到最大了,要怎麼辦呢?

您的程式,看來只有讓輸出信號越來越大,總共一次而已。而且,如果沒加任何的DELAY的話,肯定是會一下子就頂到最大值。

所以,建議:

1、加上述的截止條件,讓它可以跳出MainLoop迴圈;然後,在MainLoop迴圈外頭再加一層迴圈,讓信號可以重覆出現。

2、或者,您乾脆用示波器的one shot功能,來抓那個瞬間信號好了。

還有,也許問題是出在別的地方。那麼,最好掛上ICD2或ICE才容易找bug。

發表於: 2005/6/22 14:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PIC16F877如何除頻?
#4
高級會員
高級會員


查看用戶資訊
參照:

julian47 寫道:

當我使用PORTC輸出 經過我自己所組裝的D/A電路
在示波器上所看到的只是2V電壓
理論上輸出應該是會產生一個步階信號慢慢的逼近2V電壓才對

所以我這樣的情形不知道是不是工作頻率太快
請問能夠使用除頻嗎 請問該如何使用

麻煩各位專家了 謝~~


請問您的輸出是Sin波嗎?

若是, 則步階信號訊號會長在Sin波上, 您可以利用示波器把訊號的時間軸調到最大就可以看到

若是輸出是DC, 則有可能是工作頻率太快, 您可以加個Delay試試看

發表於: 2005/6/22 9:58
人生最長久的擁有是珍惜 但是大都在失去後才發現
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PIC16F877如何除頻?
#3
新會員
新會員


查看用戶資訊
下面是我的程式流程
我有寫一個疊代的迴圈
但是結果一樣
不知道這樣是不是版大的意思
還是說還要在寫一個迴圈??
麻煩了~~

======================
;;;;程式宣告
;;;;定義自訂變數暫存器名稱
;;;;設定程式組譯起始位置
org 0x00
nop
goto mainprogram

;;;;主程式
mainprogram
call Initial
MainLoop
call Oper ;運算X(k+1)=A*X(k)+B*U
call PortC_Out ;輸出X(k)到PortC
call XK1TOXK ;疊代X(k+1)到X(k)
goto MainLoop

;初始化副程式
;給使用者設定係數
Initial
起始Xk=0
banksel PORTC
clrf PORTC ;將PORTC的輸出清除為零
banksel TRISC
clrf TRISC

banksel ADCON1
movlw B'00001110'
movwf ADCON1
bsf TRISA,0
banksel ADCON0
movlw B'10000001'
movwf ADCON0
return

;;;;運算
;;;;XK1TOXK副程式
;;;;A/D轉換副程式
;;;;
END

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


Re: 請問PIC16F877如何除頻?
#2
版主
版主


查看用戶資訊
如果您的程式真的有正確動作,只是因為太快而看不到那個暫態的話;您可以讓它做迴圈,重覆地送信號,那就應該可以看到鋸齒波了。


發表於: 2005/6/21 23:01
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問PIC16F877如何除頻?
#1
新會員
新會員


查看用戶資訊
因為我目前使用20Mhz的石英震盪器
我設計一個DSP系統
需用到疊代運算
XK1=A*XK+B*U
YK=XK
A=0.9048
B=0.0952
U=2V電壓輸入經過AD轉換成AD_variable值
XK=起始為0

當我使用PORTC輸出 經過我自己所組裝的D/A電路
在示波器上所看到的只是2V電壓
理論上輸出應該是會產生一個步階信號慢慢的逼近2V電壓才對

所以我這樣的情形不知道是不是工作頻率太快
請問能夠使用除頻嗎 請問該如何使用

麻煩各位專家了 謝~~

發表於: 2005/6/21 10: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... ]

教育訓練中心

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