• slider image 442
  • slider image 497
  • slider image 498
  • slider image 499
  • slider image 500
  • slider image 502
:::

論壇索引


Board index » All Posts




Re: 關於 A/D 轉換的問題
高級會員
高級會員


關於這個問題有幾個方向供你參考 ,
一 , 使用ICE去模擬或許 , 可能 , 多多少少會有些誤差 , 這是不可避免的 , 每家都這樣 .
二 , 真正的去追蹤你的電源變化 , 是否很穩定的維持在你所設定的5V , 有時我們的電路在動作的時侯有些元件會突然吃電 , 造成電源的不穩定 ,
三 , 試著將每次AD轉換之前的DELAY加長一點 , 看看有沒有好一點 ,

發表於: 2004/8/23 9:11
頂部


訪客
Re: 關於 A/D 轉換的問題
訪客-訪客
是沒錯…我是用ice2000模擬的pic16f73

頂部


Re: 關於 A/D 轉換的問題
版主
版主


這個問題沒碰過,確定 Vref+ 是接到內部的 Vcc,且Vcc=5V ?
IC 編號是哪一個 ? 我來試試看。

發表於: 2004/8/22 11:34
頂部


Re: 中斷時間不對---幫幫忙
版主
版主


1. 你似乎忘了在中斷裡將Timer0的直重新載入。
2. Status, W, PCLATH 的 push and pop 不需用這麼多指令吧! 參考一下Microchip所提供的範例吧。
3. 善用MPASM所提供的虛指令,PAGESEL , BALNKSEL 來進行 CODE PAGE 與 RAM BANK 的切換
範例 1 :
BANKSEL TRISA ; 選擇 TRISA 所在的 BANK1
MOVLW b'11110000'
MOVWF TRISA
BANKSEL PORTA; 切回 BANK0 (PORTA in Bank0)
MOVWF PORTA

範例 2 :
執行 goto 與 call 指令前一般需將要前往的PAGE載入到PCLATH裡,一般的語法為:
MOLLW (high) Lable
MOVWF PCLATH
GOTO Lable 或 CALL Table
此寫法可以改寫成
PAGESEL Lable
GOTO/CALL Lable

用PAGESEL與 BANKSEL的語法有很大的好處,尤其是插入程式或變數時MPASM會自動切換RAM BANK。
尤其是用re-Locatable語法時,MPLINK會自動安排BANK位址,修改程式時比較方便。

4. 至於中斷時間準不準的問題,你可以用軟體模擬中的STEPWATCH幫你計算中斷時間。
先啟動MPLAB-SIM,在Debugger-->setting裡設定你的工作頻率,打開STEPWATCH視窗,中斷點設在0x0004地進入點
你就可以知道程式會不會中斷且中斷時間為何?

發表於: 2004/8/22 11:27
頂部


Re: MCLR 當成輸出用!?
高級會員
高級會員


pic有些型號的MCLR腳可以當I/O使用
使用方法是在configuration的MCLRE位元燒錄為0

發表於: 2004/8/22 11:17
頂部


訪客
Re: 中斷時間不對---幫幫忙
訪客-訪客
不好意思我不太懂你的算法我只知道
4MHZ~一個指令周期執行的時間是1US
而若你預除器設128,而值是設7D則就是數131次
這樣子算出來的時間是1US X 128 X 131 =16768US.....這樣不會到一秒喔
你可設TMR0為6…而預除器設100 而外部再給可個40的值去乘
這樣子就會到1, 重點…你在中斷時要重設TMR0為6,不過若要更精準一點要扣掉你中斷載入重數的時間……。
我覺得你用TMR2會較好,因為TMR2有個PR2可設,到了就自動重數。

頂部


Re: 不知是用pic 或是 dspic
版主
版主


工作電壓與工作頻率之間是成正比的關係,如果是選 LF 的元件有的可以RUN到 2.0V @4MHz,看你是要哪一顆PIC。
Data Sheet 都可以查得到,3.3V 不是問題。

發表於: 2004/8/21 16:24
頂部


Re: 我的port A為什麼沒辦法輸出啊 !!
資深會員
資深會員


cmcon沒設定

發表於: 2004/8/21 10:01
頂部


我的port A為什麼沒辦法輸出啊 !!
新會員
新會員


各位前輩請教一下,我要燒錄到pic16c622,用MPLAB IDE V6.61 編譯完後再做組譯並沒有錯誤訊息,但是用 SIM模擬所有的位止寫入都沒有問題但是到了要寫入輸出那一行就是沒有反應,能幫幫我看看拿裡錯了一直搞不定!!以下是我的程式:

LIST P=16C622
include "P16C622.inc"
; "PORT A OUT 好站就是好站!!"
STATUS equ 3H ;STATUS 檔
PORT_A equ 5 ;接口A檔
TRIS_A equ 5 ;接口A流向控制檔
F equ 1
c equ 0
COUNT equ 20h
W equ 0
ORG 0 ;程式在通電後執行(起址 0000)

GOTO START

DELAY ;以下為一廷遲工作程式,目的是把
MOVLW 02H ;發光二極管亮一段人眼看到時間 ******
MOVWF 21H ;存入用戶隨用暫存檔

DLY1 MOVLW 05H ;存 ffh 入wf工作檔 INSIND ********
MOVWF 22H ;存入用戶隨用暫存檔 f0E
DLY2 DECFSZ 22H,1 ;檔0E = 檔0E - 1,如零略下句
GOTO DLY2 ;跳去 DLY2 (到零這句不執行)
DECFSZ 21H,1 ;檔0f = 檔0f - 1,如零略下句
GOTO DLY1 ;跳去 DLY1 (到零這句不執行)
GOTO SHOW ;跳去循環執行LOOP


START CLRF PORT_A
BSF STATUS,5 ;置第1檔頁
MOVLW B'00000000' ;將WF存入0000000b
MOVWF TRIS_A ;定接口A全部作輸出線
BCF STATUS,5 ;置回第0頁
MOVLW B'00000001'
MOVWF COUNT

LOOP MOVF COUNT,W ;循環程式開始,提暫存檔至wf
MOVWF PORT_A ;把提出資料存入接口A(顯示)
GOTO DELAY
SHOW RLF COUNT,F ;左轉count檔
GOTO LOOP

END

發表於: 2004/8/21 9:36
頂部


訪客
關於 A/D 轉換的問題
訪客-訪客
原本我的Vref是用AN3,但現在用VDD,問題來了
之前我用AN3當參考電壓是比方我設5V好啦…而通道的電壓為4.799V
則ADRES暫存器的值為F5,粉正常嘛,但我若用VDD為參考電壓也是5V,則通常的電壓為4.799V~而ADRES反而變之FF....請問這是啥情形呢

頂部



« 1 ... 7446 7447 7448 (7449) 7450 7451 7452 ... 7525 »



:::

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

教育訓練中心

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