Browsing this Thread:
1 Anonymous Users
|
Re: 請問AD轉換與乘法問題??
|
|
版主
Joined
: 2004/4/30 10:53 最後登入時間
: 2021/11/30 18:11
From CAE, Microchip
Group:
站務管理者 註冊會員
Level : 75 HP : 744 / 1861 MP : 5367 / 108866 EXP : 45
|
1. AD 轉出來的當然是數位訊號就是 0 與 1
2. AD轉換後的值相乘就是放大,加減就是移動直流位準。相乘時要注意是否會過大導致 Overflow
3. 若參考電壓為5V,則輸入 3V 的轉換值為 (3v/5V) * 1023 = 614 所以只要跟 614 去比就好了
4. 程式很長要花時間看!!!!
發表於: 2005/5/24 13:59
|
|
|
請問AD轉換與乘法問題??
|
|
新會員
Joined
: 2004/9/8 13:40 最後登入時間
: 2005/5/21 12:55
Group:
註冊會員
Level : 1 HP : 0 / 21 MP : 3 / 1247 EXP : 86
|
請問 (1)AD轉換出來的訊號是何種訊號?是0101...嗎? (2)若是如此 我可以給自己所設定的暫存器一個值(例如10100011) 再與AD輸出值相乘嗎 再做輸出嗎? (3)如何判定AD輸出的訊號值為何(例如:RA0輸入3V->輸出為何?)
(4)以下是我所撰寫的程式 我希望使用PWM做輸出 但是結果好像不是我所寫要的 可否麻煩各位專家幫我看一下哪有錯
--我希望RA0輸入3V經過AD輸出 再與乘數AB相乘 再使用PWM輸出Mux_L 使用示波器擷取RC2訊號-- LIST P=16F877, R=DEC INCLUDE <P16F877.INC> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AD_variable EQU 0x20 ; XY EQU 0x21 ; AB EQU 0x22 ; Mux_H EQU 0x23 ; Mux_L EQU 0x24 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; org 0x00 nop goto mainprogram ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; mainprogram call initial
call ADtrans call DSP_Oper call MuxABXY call PWM_Out ;;;;;;;;;;;;;;;;;;;;;;;;; initial movlw B'00000101' ; movwf AB ;乘數 banksel TRISC movlw B'00000000' movwf TRISC banksel PORTC movlw B'00000000' movwf PORTC movlw 0xff movwf PR2 banksel TMR2 clrf TMR2 movlw 0x00 movwf CCPR1L movlw 0x0C movwf CCP1CON movlw 0x00 movwf T2CON bsf T2CON,TMR2ON
banksel ADCON1 movlw B'00001110' movwf ADCON1 bsf TRISA,0 bcf STATUS,RP0 movlw B'10000001' movwf ADCON0 banksel PORTC bsf PORTC,3 return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ADtrans banksel ADCON0 bsf ADCON0,GO Wait btfsc ADCON0,GO goto Wait movf ADRESH,W movwf AD_variable return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DSP_Oper movf AD_variable,W movwf XY return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2個8bit暫存器XY、AB相乘,將16bit結果分別存於2個8bit暫存器Mux_H與Mux_L中 MuxABXY clrf Mux_H clrw MuxLoop addwf XY,W btfsc STATUS,C incf Mux_H,f decfsz AB,f goto MuxLoop movwf Mux_L return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PWM_Out movf Mux_L,W banksel CCPR1L movwf CCPR1L return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END
PS:我所使用的是PIC16F877單晶片
麻煩各位專家大人.... 謝~~
發表於: 2005/5/21 13:22
|
|
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.