manoj soorya
Member
Hello All
I got this code from internet. Its a good volt meter circuit, I tested. Simple and Locally avilable components. But the code for the Common Cathod Display. Can you someone help to convert it to Common Anode?
And this is the code...
I got this code from internet. Its a good volt meter circuit, I tested. Simple and Locally avilable components. But the code for the Common Cathod Display. Can you someone help to convert it to Common Anode?
And this is the code...
Code:
;==================================================
; 18/01/2013
; Çàãîëîâîê ê ïðîãðàììå òðåõñåãìåíòíîãî àìïåð/âîëüòìåòðà
; ñ âíåøíèì ïåïåêëþ÷àòåëåì ðåæèìà èçìåðåíèÿ.
;==================================================
;
Dev_Freq EQU D'4000000' ; Device Frequency is 4 MHz
;
RESET_V EQU 0x0000 ; Address of RESET Vector
ISR_V EQU 0x0004 ; Address of Interrupt Vector
PMEM_END EQU 0x03FF ; Last address in Program Memory
;
#define SKIP_IF_ZERO btfss STATUS,Z
#define SKIP_IF_NOZERO btfsc STATUS,Z
#define SKIP_IF_POSITIVE btfss STATUS,C
#define SKIP_IF_NEGATIVE btfsc STATUS,C
;======== ÎÏÐÅÄÅËÅÍÈß =====================
;
;#define k .49 ;çíà÷åíèå êîððåêöèè Ò0 äëÿ F=50 Ãö
#define k .153 ;çíà÷åíèå êîððåêöèè Ò0 äëÿ F=100 Ãö
;
;ÍÀÇÍÀ×ÅÍÈß ÄËß ÏÎÐÒÎÂ: RA0-âõîä ÀÖÏ; RA3-âõîä ñ ïåðåêëþ÷àòåëÿ
;âñå îñòàëüíûå - âûõîäû, ïîäòÿæêè âûêëþ÷åíû.
;Ïðè íàçíà÷åíèè ïîðòà RC2 êàê âõîä - òî÷êà ãàñèòñÿ
;Ðåçóëüòàò ÀÖÏ - 2-áàéòíûé
#define TRIS_A b'00001001' ;
#define TRIS_C_dot_ON b'00000000'
#define TRIS_C_dot_OFF b'00000100'
;
#define SW_SENSE PORTA,3 ;âõîä ïåðåêëþ÷àòåëÿ ðîäà ðàáîò
#define DIGIT_1 PORTC,4 ;êàòîä ñòàðøåãî ðàçðÿäà èíäèêàòîðà
#define DIGIT_2 PORTC,3 ;êàòîä ñðåäíåãî ðàçðÿäà èíäèêàòîðà
#define DIGIT_3 PORTC,2 ;êàòîä ìëàäøåãî ðàçðÿäà èíäèêàòîðà
;
;============ ÏÅÐÅÌÅÍÍÛÅ =========================================
;
cblock 0x020
TEMP ; TEMPorary register
COUNTER ;îáùèé ñ÷åò÷èê
COUNT ;ñ÷åò÷èêè çàäåðæåê
COUNT1 ;
;
CCOUNTER ;ñ÷åò÷èê ïðåðûâàíèé
;
D1 ;Ðàçðÿäû èíäèêàòîðà
D2
D3
;ðåãèñòðû äëÿ äâîè÷íî-äåñÿòè÷íîãî ïðåîáðàçîâàíèÿ
DH ;÷èñëî äëÿ ïðåáîðàçîâàíèÿ bin2bcd
DL
ADD_L ;íàêîïèòåëü ñóììû
ADD_H
LED0 ;ðåçóëüòàò ïðåîáðàçîâàíèÿ
LED1
LED2
LED3
LED4
;
INDEX ;óêàçàòåëü äëÿ èíäèêàöèè
;
WREG_TEMP ;storage for WREG during interrupt
STATUS_TEMP ;storage for STATUS during interrupt
PCLATH_TEMP ;storage for PCLATH during interrupt
FSR_TEMP ;storage for FSR during interrupt
;
FLAGS ;ôëàãè îáùèå
endc
;
;
#define mode FLAGS,0 ;,áèò ðåæèìà ðàáîòû U=1, I=0
;------------------------------------------------------------
;ÎÏÐÅÄÅËÅÍß ÄËß ÈÍÄÈÊÀÖÈÈ
;------------------------------------------------------------
;Ñîîòâåòñòâèå ñåãìåíòàì: PORTA '--ABiCGi'; PORTC '--F123ED'
#define coma PORTC,2 ;áèò âêëþ÷åíèÿ çàïÿòîé
;
;=======================
;**** Ì À Ê Ð Î Ñ Û ****
;=======================
;------------------------------------------------------------
;Ìàêðîñ ïðîèçâîäèò èíêðåìåíò äâóõáàéòîâîãî ÷èñëà NH,NL
;------------------------------------------------------------
INC2B MACRO NH,NL ;ñòàðøèé áàéò, ìëàäøèé áàéò
clrf TEMP ;èíêðåìåíò
movlw 1 ;2-õ áàéòîâîãî
addwf NL,F ;÷èñëà
rlf TEMP,W ;
addwf NH,f ;
ENDM
;------------------------------------------------------------
Bank0 MACRO ;macro to select data RAM bank 0
bcf STATUS,RP0
ENDM
Bank1 MACRO ;macro to select data RAM bank 1
bsf STATUS,RP0
ENDM
;------------------------------------------------------------
[end code]
Thanking you ....