Latest project, amplifier power meter. - diyAudio
Go Back   Home > Forums > Amplifiers > Solid State
Home Forums Rules Articles diyAudio Store Gallery Wiki Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Solid State Talk all about solid state amplification.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 18th April 2016, 08:16 PM   #1
diyAudio Member
 
nigelwright7557's Avatar
 
Join Date: Apr 2008
Location: Carlisle, England
Default Latest project, amplifier power meter.

Just finished a rms power meter for amplifiers.
It samples the amp signal for a second then displays rms watts into 2R, 4R, 8R and 16R.
Click the image to open in full size.
__________________
Murton-Pike Systems PCBCAD51 pcb design software. http://www.murtonpikesystems.co.uk http://www.pcbcad51.co.uk
  Reply With Quote
Old 18th April 2016, 08:27 PM   #2
diyAudio Member
 
Join Date: May 2008
Location: Croatia
do you sell finished board?
  Reply With Quote
Old 18th April 2016, 08:30 PM   #3
diyAudio Member
 
nigelwright7557's Avatar
 
Join Date: Apr 2008
Location: Carlisle, England
Quote:
Originally Posted by tonitonitoni View Post
do you sell finished board?
I bought in 5 blank pcb's and have just built the one up.
Make me an offer. p+p would depend where you are 3-99 uk or 10-30 rest of world.
__________________
Murton-Pike Systems PCBCAD51 pcb design software. http://www.murtonpikesystems.co.uk http://www.pcbcad51.co.uk
  Reply With Quote
Old 19th April 2016, 12:04 AM   #4
diyAudio Member
 
nigelwright7557's Avatar
 
Join Date: Apr 2008
Location: Carlisle, England
The meter also has an option for a backlight.
But it needs a different display for that.
__________________
Murton-Pike Systems PCBCAD51 pcb design software. http://www.murtonpikesystems.co.uk http://www.pcbcad51.co.uk
  Reply With Quote
Old 19th April 2016, 11:05 AM   #5
thimios is offline thimios  Greece
diyAudio Member
 
Join Date: Aug 2009
Location: Agrinion
Quote:
Originally Posted by nigelwright7557 View Post
The meter also has an option for a backlight.
But it needs a different display for that.
Interesting
Is this your own design?
Is the firmware and pcb for share?
  Reply With Quote
Old 19th April 2016, 07:45 PM   #6
Banned
 
Join Date: Feb 2016
Location: Varna, Bulgaria
im planning to build one with one of these ->
0 96'' RGB OLED Display SPI 96x64 Resolution for Arduino 65K LCD Module SSD1332 | eBay

4$ rgb color oled + will implement oscilloscope function

i will share sch+code when im ready. now i have another pending projects.

i will not measure rms power because i like peak power more.

Last edited by mosfet54; 19th April 2016 at 07:48 PM.
  Reply With Quote
Old 19th April 2016, 08:56 PM   #7
sreten is offline sreten  United Kingdom
diyAudio Member RIP
 
Join Date: Nov 2003
Location: Brighton UK
Hi,

Pretty useless device for a music amplifier, and using theoretical loads.

All amplifiers clip with music way below RMS sine wave power ratings
as decent quality programme spends ~ 80% of the time below ~ 20%.

rgds, sreten.

As your not using the real load what it tells you at best is academic.

Last edited by sreten; 19th April 2016 at 09:24 PM.
  Reply With Quote
Old 19th April 2016, 09:20 PM   #8
adason is offline adason  United States
diyAudio Member
 
adason's Avatar
 
Join Date: Nov 2004
Location: Maryland
nigelwright7557, do you have some short video of the meter in action?
  Reply With Quote
Old 19th April 2016, 09:40 PM   #9
diyAudio Member
 
nigelwright7557's Avatar
 
Join Date: Apr 2008
Location: Carlisle, England
Quote:
Originally Posted by thimios View Post
Interesting
Is this your own design?
Is the firmware and pcb for share?
Schematic then PIC code.

Click the image to open in full size.

PIC CODE

;inth0.ASM
;*********
#include p16f73.inc
LIST R=DEC


;----- CONFIG Options --------------------------------------------------
_FOSC_LP EQU H'3FFC' ; LP oscillator
_LP_OSC EQU H'3FFC' ; LP oscillator
_FOSC_XT EQU H'3FFD' ; XT oscillator
_XT_OSC EQU H'3FFD' ; XT oscillator
_FOSC_HS EQU H'3FFE' ; HS oscillator
_HS_OSC EQU H'3FFE' ; HS oscillator
_FOSC_RC EQU H'3FFF' ; RC oscillator
_RC_OSC EQU H'3FFF' ; RC oscillator

_WDTE_OFF EQU H'3FFB' ; WDT disabled
_WDT_OFF EQU H'3FFB' ; WDT disabled
_WDTE_ON EQU H'3FFF' ; WDT enabled
_WDT_ON EQU H'3FFF' ; WDT enabled

_PWRTE_ON EQU H'3FF7' ; PWRT enabled
_PWRTE_OFF EQU H'3FFF' ; PWRT disabled

_CP_ON EQU H'3FEF' ; All Memory locations code protected
_CP_ALL EQU H'3FEF' ; All Memory locations code protected
_CP_OFF EQU H'3FFF' ; Code protection off

_BOREN_OFF EQU H'3FBF' ; BOR disabled
_BODEN_OFF EQU H'3FBF' ; BOR disabled
_BOREN_ON EQU H'3FFF' ; BOR enabled
_BODEN_ON EQU H'3FFF' ; BOR enabled


__CONFIG _WDT_OFF & _CP_OFF & _XT_OSC & _PWRTE_ON &_BODEN_ON

CBLOCK 20H
FLAGS
LCDTEMP
INPUTCOUNTL
INPUTCOUNTH
PREVIOUSHIGHEST
LCDDELAYCOUNT
LCDDELAYCOUNT2
NO1_0
NO1_1
NO1_2
NO1_3
NO2_0
NO2_1
NO2_2
NO2_3
NO3_0
NO3_1
NO3_2
NO3_3
TEMP_0
TEMP_1
TEMP_2
TEMP_3
TRIAL_0
TRIAL_1
TRIAL_2
TRIAL_3
ANSER_0
ANSER_1
ANSER_2
ANSER_3
LOOPCOUNT
ENDC

;FLAGS
#DEFINE DIGITNOTZERO FLAGS,0


#DEFINE LCD_E PORTB,0
#DEFINE LCD_R_W PORTB,1
#DEFINE LCD_RS PORTB,2
#DEFINE LED PORTB,4


;*****************************************
;SUBWF FLAGS
;IF W > MEM THEN NC
;IF W = MEM THEN C
;IF W < MEM THEN C
;IF W<= MEM THEN C

;IF MEM>=W THEN C
;IF MEM<W THEN NC
;*****************************************


ORG 0
CLRF FSR ;BANK 0 RAM


MOVLW 255
BSF STATUS,RP0
MOVWF TRISA-80H
BCF STATUS,RP0

MOVLW 81H
MOVWF ADCON0

BSF STATUS,RP0 ;9FH
MOVLW 4
MOVWF ADCON1-80H
BCF STATUS,RP0

MOVLW 255
BSF STATUS,RP0
MOVWF TRISC-80H
BCF STATUS,RP0

MOVLW 0
BSF STATUS,RP0
MOVWF TRISB-80H
BCF STATUS,RP0
MOVLW 0
MOVWF PORTB

MOVLW 80H ;PORT B PULL UPS OFF
BSF STATUS,RP0
MOVWF OPTION_REG-80H
BCF STATUS,RP0

BSF LED ;SHOW POWER ON


;SET UP LCD
CALL INITLCD






MLOOP CLRF INPUTCOUNTL
CLRF INPUTCOUNTH
CLRF PREVIOUSHIGHEST

MLOOP2 BSF ADCON0,GO
WAIT
BTFSC ADCON0,GO
GOTO WAIT


;IF MEM>=W THEN C
;IF MEM<W THEN NC
MOVF ADRES,W
SUBWF PREVIOUSHIGHEST,W
BC NOCHANGE
MOVF ADRES,W
MOVWF PREVIOUSHIGHEST
NOCHANGE


INCFSZ INPUTCOUNTL,F
DECF INPUTCOUNTH,F
INCF INPUTCOUNTH,F

MOVLW LOW 10000
XORWF INPUTCOUNTL,W
BNZ MLOOP2

MOVLW HIGH 10000
XORWF INPUTCOUNTH,W
BNZ MLOOP2

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;

;ADJUST FOR POTENTIAL DIVIDER WHICH DIVIDES BY 22.
MOVF PREVIOUSHIGHEST,W
CALL CLEARNO1
MOVWF NO1_0

CALL CLEARNO2
MOVLW 22 ;TIMES 22
MOVWF NO2_0

CALL MPY32

CALL ANSER_TO_NO1

;DIV 51 FOR A2D 255/5 / VOLT
CALL CLEARNO2
MOVLW 51
MOVWF NO2_0

CALL DIV32

;WATTS = VSQUARED / R
CALL ANSER_TO_NO1
CALL ANSER_TO_NO2
CALL MPY32

CALL ANSER_TO_NO1
CALL CLEARNO2
MOVLW 2 ;DIV 2 OHMS
MOVWF NO2_0
CALL DIV32




;TIMES 0.707 TO GET RMS VALUE
;SO TIMES BY 707 THEN DIV BY 1000

CALL ANSER_TO_NO1

CALL CLEARNO2
MOVLW LOW 707
MOVWF NO2_0
MOVLW HIGH 707
MOVWF NO2_1

CALL MPY32

CALL ANSER_TO_NO1

CALL CLEARNO2
MOVLW LOW 1000
MOVWF NO2_0
MOVLW HIGH 1000
MOVWF NO2_1

CALL DIV32



;PRINT OUT RESULT
CALL CLS
MOVLW '2'
CALL LCDSOD
MOVLW 'R'
CALL LCDSOD
MOVLW '='
CALL LCDSOD

CALL ANSER_TO_NO3 ;SAVE FOR LATER
CALL ANSER_TO_NO1
CALL SAX2DEC
;2ND LINE
MOVLW 10
CALL SETCURSORPOSW
MOVLW '4'
CALL LCDSOD
MOVLW 'R'
CALL LCDSOD
MOVLW '='
CALL LCDSOD

CALL NO3_TO_NO1
CALL NO1_DIV2
CALL NO1_TO_NO3
CALL SAX2DEC

;3RD LINE
MOVLW 40
CALL SETCURSORPOSW
MOVLW '8'
CALL LCDSOD
MOVLW 'R'
CALL LCDSOD
MOVLW '='
CALL LCDSOD

CALL NO3_TO_NO1
CALL NO1_DIV2
CALL NO1_TO_NO3
CALL SAX2DEC

;4TH LINE
MOVLW 50
CALL SETCURSORPOSW
MOVLW '1'
CALL LCDSOD
MOVLW '6'
CALL LCDSOD
MOVLW 'R'
CALL LCDSOD
MOVLW '='
CALL LCDSOD

CALL NO3_TO_NO1
CALL NO1_DIV2
CALL NO1_TO_NO3
CALL SAX2DEC





GOTO MLOOP


;LCD.ASM
;*******************************
INITLCD
CALL WAIT40MS

MOVLW 30H
CALL LCD_INSTR2
CALL WAIT4MS

MOVLW 30H
CALL LCD_INSTR2
CALL WAIT4MS

MOVLW 30H
CALL LCD_INSTR2
CALL WAIT4MS
;;;;
MOVLW 3CH ;NO OF LINES=4 FONT 7*5
CALL LCD_INSTR
CALL WAIT4MS

MOVLW 1 ;CLS
CALL LCD_INSTR
CALL WAIT4MS

; MOVLW 0FH ;DISPLAY ON CURSOR BLINK
MOVLW 0CH ;DISPLAY ON NO CURSOR AND NO BLINK
CALL LCD_INSTR
CALL WAIT4MS

RETURN

;**********************
LCD_INSTR2 MOVWF LCDTEMP ;NO TEST FOR BUSY
GOTO IN22


LCD_INSTR MOVWF LCDTEMP ;TEST FOR BUSY FIRST

CALL BUSYQ

IN22 CALL WAIT4MS

CALL DATABUSOUTPUT

MOVF LCDTEMP,W
MOVWF PORTC

BCF LCD_RS
BCF LCD_R_W
BSF LCD_E
NOP
NOP
BCF LCD_E
BSF LCD_R_W
RETURN
;***********************
SPACE_ MOVLW ' '
;CALLED HERE AS WELL
LCDSOD MOVWF PORTC
GOTO LCD_DATA
;************************
LCD_DATA MOVWF LCDTEMP
CALL BUSYQ

CALL WAIT4MS

CALL DATABUSOUTPUT
MOVF LCDTEMP,W
MOVWF PORTC
BSF LCD_RS
BCF LCD_R_W
BSF LCD_E
NOP
NOP
BCF LCD_E
BSF LCD_R_W

RETURN
;***********************
BUSYQ CALL DATABUSINPUT
STILLBUSY2
BSF LCD_R_W
BCF LCD_RS

BSF LCD_E
NOP
NOP

BCF LCD_E
BTFSC PORTC,7 ;B7=1=BUSY
GOTO STILLBUSY2

RETURN
;***************************
CLS CALL BUSYQ

CALL WAIT4MS

BCF LCD_RS
BCF LCD_R_W

CALL DATABUSOUTPUT

MOVLW 1
MOVWF PORTC

BSF LCD_E
NOP
NOP
BCF LCD_E
BSF LCD_R_W
GOTO WAIT40MS
;**********************
DATABUSINPUT BSF STATUS,RP0
MOVLW 255
MOVWF PORTC
BCF STATUS,RP0
RETURN
;***************************
DATABUSOUTPUT BSF STATUS,RP0
CLRF PORTC
BCF STATUS,RP0
RETURN
;***************************
WAIT40MS MOVLW 50
GOTO W2
;
WAIT4MS MOVLW 5
W2 MOVWF LCDDELAYCOUNT2
CLRF LCDDELAYCOUNT
W4 DECFSZ LCDDELAYCOUNT,F
GOTO W4
DECFSZ LCDDELAYCOUNT2,F
GOTO W4
RETURN
;*******************************
SETCURSORPOSW
ANDLW 3FH
IORLW 80H
GOTO LCD_INSTR
;********************************














;MATHS.ASM
;*********
NO2_TO_NO1
MOVF NO2_0,W
MOVWF NO1_0
MOVF NO2_1,W
MOVWF NO1_1
MOVF NO2_2,W
MOVWF NO1_2
MOVF NO2_3,W
MOVWF NO1_3
RETURN
;*****************
CLEARANSER CLRF ANSER_0
CLRF ANSER_1
CLRF ANSER_2
CLRF ANSER_3
RETURN
;************************
CLEARNO1
CLRF NO1_0
CLRF NO1_1
CLRF NO1_2
CLRF NO1_3
RETURN
;***************************
CLEARNO2
CLRF NO2_0
CLRF NO2_1
CLRF NO2_2
CLRF NO2_3
RETURN
;***************************
NO1_TO_NO2
MOVF NO1_0,W
MOVWF NO2_0
MOVF NO1_1,W
MOVWF NO2_1
MOVF NO1_2,W
MOVWF NO2_2
MOVF NO1_3,W
MOVWF NO2_3
RETURN
;*****************
ANSER_TO_NO1
MOVF ANSER_0,W
MOVWF NO1_0
MOVF ANSER_1,W
MOVWF NO1_1
MOVF ANSER_2,W
MOVWF NO1_2
MOVF ANSER_3,W
MOVWF NO1_3
RETURN
;*****************************
TRIAL_TO_NO1 MOVF TRIAL_0,W
MOVWF NO1_0
MOVF TRIAL_1,W
MOVWF NO1_1
MOVF TRIAL_2,W
MOVWF NO1_2
MOVF TRIAL_3,W
MOVWF NO1_3
RETURN
;*****************************
;NO1 / NO2 TO ANSER
;RETURNS REMAINDER IN TRIAL

;32*32 DIVIDE WITH 40 BIT RESULT
DIV32
CALL CLEARANSER
CALL CLEARTRIAL

MOVLW 32
MOVWF LOOPCOUNT
D32LOOP
;ANSER*2
CLRC
RLF ANSER_0,F
RLF ANSER_1,F
RLF ANSER_2,F
RLF ANSER_3,F

;RLF NO1 INTO TRIAL
CLRC
RLF NO1_0,F
RLF NO1_1,F
RLF NO1_2,F
RLF NO1_3,F

RLF TRIAL_0,F
RLF TRIAL_1,F
RLF TRIAL_2,F
RLF TRIAL_3,F

;NO2 COMPLEMENTED TO TEMP
COMF NO2_0,W
MOVWF TEMP_0
COMF NO2_1,W
MOVWF TEMP_1
COMF NO2_2,W
MOVWF TEMP_2
COMF NO2_3,W
MOVWF TEMP_3

;ADD 1 TO COMPLETE NEGATION OF TEMP
INCFSZ TEMP_0,F
GOTO OVER
INCFSZ TEMP_1,F
GOTO OVER
INCFSZ TEMP_2,F
GOTO OVER
INCF TEMP_3,F

OVER

;NEGATED TEMP + TRIAL TO TEMP
MOVF TRIAL_0,W ;SIMPLE ADD OF 1ST TWO BYTES
ADDWF TEMP_0,F

MOVF TRIAL_1,W
BTFSC STATUS,C ;IF CARRY THEN INC NEXT BYTE UP
INCFSZ TRIAL_1,W ;DONT ADD IF WAS INCED TO ZERO FROM 255 ELSE CARRY LOST
ADDWF TEMP_1,F ;IF THIS IS SKIPPED THEN CARRY IS SENT TO NEXT STAGE

MOVF TRIAL_2,W
BTFSC STATUS,C
INCFSZ TRIAL_2,W
ADDWF TEMP_2,F

MOVF TRIAL_3,W
BTFSC STATUS,C
INCFSZ TRIAL_3,W
ADDWF TEMP_3,F

BNC JSROT32

;NEW VALUE TO TRIAL
MOVF TEMP_0,W
MOVWF TRIAL_0
MOVF TEMP_1,W
MOVWF TRIAL_1
MOVF TEMP_2,W
MOVWF TRIAL_2
MOVF TEMP_3,W
MOVWF TRIAL_3

BSF ANSER_0,0

JSROT32 DECFSZ LOOPCOUNT,F
GOTO D32LOOP

RETURN
;*************************************
CLEARTRIAL CLRF TRIAL_0
CLRF TRIAL_1
CLRF TRIAL_2
CLRF TRIAL_3
RETURN
;**************************************
MPY32
;NO1 * NO2 TO ANSER
;32*32 BIT MPY WITH 32 BIT ANSWER
CALL CLEARANSER

MOVLW 32
MOVWF LOOPCOUNT
SHADD_32
CLRC
RLF ANSER_0,F
RLF ANSER_1,F
RLF ANSER_2,F
RLF ANSER_3,F

;NO1 SHIFT LEFT ONE BIT INTO CARRY
CLRC
RLF NO1_0,F
RLF NO1_1,F
RLF NO1_2,F
RLF NO1_3,F

BNC NOADD_32
;;;;;;;;;;;;;;;
;ADD NO2 TO ANSER
MOVF NO2_0,W ;SIMPLE ADD OF 1ST TWO BYTES
ADDWF ANSER_0,F

MOVF NO2_1,W
BTFSC STATUS,C ;IF CARRY THEN INC NEXT BYTE UP
INCFSZ NO2_1,W ;DONT ADD IF WAS INCED TO ZERO FROM 255 ELSE CARRY LOST
ADDWF ANSER_1,F ;IF THIS IS SKIPPED THEN CARRY IS SENT TO NEXT STAGE

MOVF NO2_2,W
BTFSC STATUS,C
INCFSZ NO2_2,W
ADDWF ANSER_2,F

MOVF NO2_3,W
BTFSC STATUS,C
INCFSZ NO2_3,W
ADDWF ANSER_3,F

;;;;;;
NOADD_32
DECFSZ LOOPCOUNT,F
GOTO SHADD_32

RETURN
;*****************************************
ANSER_TO_NO2 MOVF ANSER_0,W
MOVWF NO2_0
MOVF ANSER_1,W
MOVWF NO2_1
MOVF ANSER_2,W
MOVWF NO2_2
MOVF ANSER_3,W
MOVWF NO2_3

RETURN
;******************************
;ADD NO1+NO2 TO ANSER
;NO1 AND NO2 ARE LEFT INTACT
;CARRYOUT HOLDS CARRY STATUS
;ADD32 ;
;
;MOVE NO2 TO ANSER
; MOVF NO2_0,W
; MOVWF ANSER_0
; MOVF NO2_1,W
; MOVWF ANSER_1
; MOVF NO2_2,W
; MOVWF ANSER_2
; MOVF NO2_3,W
; MOVWF ANSER_3

;ADD NO1 TO ANSER
; MOVF NO1_0,W ;SIMPLE ADD OF 1ST TWO BYTES
; ADDWF ANSER_0,F
;
; MOVF NO1_1,W
; BTFSC CARRYFLAG ;IF CARRY THEN INC NEXT BYTE UP
; INCFSZ NO1_1,W ;DONT ADD IF WAS INCED TO ZERO FROM 255 ELSE CARRY LOST
; ADDWF ANSER_1,F ;IF THIS IS SKIPPED THEN CARRY IS SENT TO NEXT STAGE
;
; MOVF NO1_2,W
; BTFSC CARRYFLAG
; INCFSZ NO1_2,W
; ADDWF ANSER_2,F
;
; MOVF NO1_3,W
; BTFSC CARRYFLAG
; INCFSZ NO1_3,W
; ADDWF ANSER_3,F
;
; BCF CARRYOUT ;STORE CARRY FOR LATER USE
; SKPNC
; BSF CARRYOUT
; RETURN
;*************************************









;**************

;NO1 TO DECIMAL ON SCREEN WITH LEADING ZEROES SUPPRESSED
;24 BITS TO 0 TO 16777216
SAX2DEC

BCF DIGITNOTZERO ;FOR LEADING ZERO SUPPRESSION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL CLEARNO2
MOVLW 10000000 & 0FFH
MOVWF NO2_0
MOVLW (10000000/256) & 0FFH
MOVWF NO2_1
MOVLW (10000000/65536) & 0FFH
MOVWF NO2_2
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL TRIAL_TO_NO1
CALL CLEARNO2
MOVLW 1000000 & 0FFH
MOVWF NO2_0
MOVLW (1000000/256) & 0FFH
MOVWF NO2_1
MOVLW (1000000/65536) & 0FFH
MOVWF NO2_2
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL TRIAL_TO_NO1
CALL CLEARNO2
MOVLW 100000 & 0FFH
MOVWF NO2_0
MOVLW (100000/256) & 0FFH
MOVWF NO2_1
MOVLW (100000/65536) & 0FFH
MOVWF NO2_2
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL TRIAL_TO_NO1
CALL CLEARNO2
MOVLW LOW 10000
MOVWF NO2_0
MOVLW HIGH 10000
MOVWF NO2_1
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL TRIAL_TO_NO1
CALL CLEARNO2
MOVLW LOW 1000
MOVWF NO2_0
MOVLW HIGH 1000
MOVWF NO2_1
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL TRIAL_TO_NO1
CALL CLEARNO2
MOVLW 100
MOVWF NO2_0
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL TRIAL_TO_NO1
CALL CLEARNO2
MOVLW 10
MOVWF NO2_0
CALL DIV32

MOVF ANSER_0,W
CALL DODIGIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;ALWAYS DO LAST DIGIT!!!!
MOVF TRIAL_0,W
IORLW '0'
GOTO LCDSOD
;****************************
DODIGIT
IORLW 0 ;SET FLAGS
SKPZ
BSF DIGITNOTZERO

BTFSS DIGITNOTZERO
RETURN
IORLW '0'

GOTO LCDSOD
;************************************
ANSER_TO_NO3
MOVF ANSER_0,W
MOVWF NO3_0
MOVF ANSER_1,W
MOVWF NO3_1
MOVF ANSER_2,W
MOVWF NO3_2
MOVF ANSER_3,W
MOVWF NO3_3
RETURN
;**************************************
NO3_TO_NO1
MOVF NO3_0,W
MOVWF NO1_0
MOVF NO3_1,W
MOVWF NO1_1
MOVF NO3_2,W
MOVWF NO1_2
MOVF NO3_3,W
MOVWF NO1_3
RETURN
;**************************************
NO1_TO_NO3
MOVF NO1_0,W
MOVWF NO3_0
MOVF NO1_1,W
MOVWF NO3_1
MOVF NO1_2,W
MOVWF NO3_2
MOVF NO1_3,W
MOVWF NO3_3
RETURN
;**************************************
NO1_DIV2 CLRC
RRF NO1_3,F
RRF NO1_2,F
RRF NO1_1,F
RRF NO1_0,F
RETURN
;***************************************

END
__________________
Murton-Pike Systems PCBCAD51 pcb design software. http://www.murtonpikesystems.co.uk http://www.pcbcad51.co.uk
  Reply With Quote
Old 19th April 2016, 09:41 PM   #10
diyAudio Member
 
nigelwright7557's Avatar
 
Join Date: Apr 2008
Location: Carlisle, England
Quote:
Originally Posted by adason View Post
nigelwright7557, do you have some short video of the meter in action?
There's not much to see. You plug it in to your amp then it displays RMS power reading. It displays it for 2,4,8 and 16 ohm speakers.
__________________
Murton-Pike Systems PCBCAD51 pcb design software. http://www.murtonpikesystems.co.uk http://www.pcbcad51.co.uk
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Latest project 100 watt quad el34 guitar amplifier. nigelwright7557 Instruments and Amps 12 7th July 2015 09:13 PM
Latest project 1600 watt class AB mosfet amplifier. nigelwright7557 Solid State 47 6th December 2014 08:43 AM
Latest project update to Maplin 50WRMS amplifier. nigelwright7557 Solid State 6 30th August 2014 12:06 AM
Latest project, 80 watt valve amplifier nigelwright7557 Tubes / Valves 13 22nd June 2013 10:32 PM
Latest project USB LC meter. nigelwright7557 Equipment & Tools 3 27th September 2011 11:03 PM


New To Site? Need Help?

All times are GMT. The time now is 02:00 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright 1999-2017 diyAudio

Content Relevant URLs by vBSEO 3.3.2
Wiki