hex'e çevirilecek pbp

ALakurt

Üye
Katılım
7 Tem 2008
Mesajlar
47
Puanları
1
Yaş
40
arkadaşlar aşapıdaki kodları hexe cevirecek bi arkadas varmı. uygun program ile ben cevıremedım de.



'*************************************
'* Name : VOLTMETRE.BAS *
'* Author : [Erol Tahir Erdal] *
'* Notice : Copyright (c) 2005 [ETE] *
'* : All Rights Reserved *
'* Date : 01.03.2005 *
'* Version : 1.0 *
'* Notes : *
'* : *
'******************************************

DEFINE LCD_DREG PORTB 'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT 4 'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_RSREG PORTB 'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT 1 'LCD RS bacağı Hangi Bite bağlı ?
DEFINE LCD_EREG PORTB 'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT 3 'LCD Enable Bacağı Hangi bite bağlı ?
define lcd_RWREG PORTB
define LC_RWBIT 2
DEFINE LCD_BITS 4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES 2 'LCD Kaç sıra yazabiliyor

DEFINE ADC_BITS 10 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (3=rc)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in uS

@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_off
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC

ADCON1=%10001110
TRISA=%00010011
TRISB=0
TRISC=0

VOLT VAR WORD
HAM VAR WORD
HVD var word
AMPER var word

MV VAR BYTE
MA VAR BYTE

PORTB=0
PORTA=0
VOLT=0
PAUSE 100
LCDOUT $FE,1

BASLA:
ADCIN 0,HAM
BAK: IF ADCON0.2=1 THEN BAK
PAUSE 5
GOSUB HESAPV

ADCIN 1,HAM
PAUSE 5
GOSUB HESAPA

GOSUB EKRAN
PAUSE 500
GOTO BASLA

EKRAN:
' LCDOUT$FE,2,"HAM=",#HAM 'gerekirse okanan ham değerini görmek için
LCDOUT $FE,$02,"VOLT =",DEC VOLT,",",DEC1 MV 'dec2 yazdık çünki virgülden sonra 2 hane hassasiyetimiz var.
LCDOUT $FE,$C0,"AMPER=",DEC2 AMPER,",",DEC2 MA
' LCDOUT $FE,$C0,"AMPER=",DEC HVD
RETURN

HESAPV: '0-25V değerlerini oukuyup göstermek içindir
HVD=((HAM+1)*/875)/10 'bu ifade aslında (HAM+1)*625/256 nın karşılığıdır
'CARPAN=625 yani ((25x10)/1024)*256 sonuç 62,5 çıktığı için 625 almak için
' 10 yerine 100 ile çarpıyoruz. yani CARPAN=((25*100)/1024)*256
VOLT=HVD/10 'başlangıçta 100 ile çarpılmış halini hesaplamış idik ohalde 100 e böleceğiz
MV=(HVD)//10 'seaplanan sayını 100 bölünmesinden kalan sayı ondalık hanesidir
RETURN
' Formül;
' Okunacak Maksimum Volt=OMV olsun
' CARPAN= ((OMV*10)/1024) * 256 veya ((OMV*100)/1024)*256
' CARPAN değerini 3 haneli rakam olarak kullanmaya gayret edin.
' şayet 62,5 gibi 2 haneli bir rakam çıkar ise bunu 625 kabul edin ve
' (OMV * 10) değerini (OMV * 100) olarak kullanın. Sonuçta hesaplanan volt değerini
' 10 yerine 100'e bölmeniz gerekecek tabiiki. OV hesabında da Yine 100 bölünmüş
' değerden kalanı hesaplamak gerekecek. Yukarıdaki örnekte olduğu gibi.
' Hesaplanacak Volt Değeri =HVD olsun
' ADC den okunan Değer HAM olsun
' HVD=(HAM+1)*/CARPAN bulunacak değer gerçek volt değerinin 10 ile çarpılmış halidir.
' Tamsayı VOLT (TV)= HVD/10 veya TV=HVD/100
' Ondalık VOLT (OV)= HVD//10 veya OV=HVD//100
'Ekrana yazdırırken;
' LCDOUT $FE,2,"VOLT:", DEC TV,",",DEC1 OV veya DEC2 OV olacaktır
HESAPA:
HVD=(HAM+1)*/250
AMPER=HVD/100
MA=HVD//100
RETURN
 
:10000000B201F0280408A700861186108610831616
:100010008611861086100F30860583122708B218C5
:100020002E283A30A100FC30A0203330A600422018
:100030001030A1006830A020422064309F20223080
:10004000A600422028302D200C302D2001302D20FC
:1000500006302D20B21427082E283214A600321C98
:100060003C288610033C031C412841200730A10096
:10007000D030A020031408003214FE3C0319EB28F2
:100080008614321C321086150F3086052608F0398A
:1000900086048611A60E3218422832309F2003149F
:1000A0000800B31329080319B3170530A800273037
:1000B000A300103067200330A300E8306720A301BD
:1000C00064306720A3010A30672024086E28A2004C
:1000D0002508A1002408A000B4202008A000A8033F
:1000E0000319B313290803197828280203180800F4
:1000F0002008031DB313B31B0800303EE628A00000
:10010000A00DA00D200D3839C1389F000030A1008E
:100110003230A0201F151F198B281E08A10083163E
:100120001E08EB28A301A200FF30A207031CA307AF
:10013000031CEB280330A100DF30A0209428A1018C
:10014000E83EA000A109FC30031CA928A007031861
:10015000A628A0076400A10FA6282018AF28A01C7D
:10016000B3280000B3280800A501A4011030A600A0
:10017000210DA40DA50D2208A4022308031C230FA2
:10018000A5020318CA282208A40723080318230F6E
:10019000A5070310A00DA10DA60BB8282008EB2879
:1001A0001030A800A101A001A70CA60C031CDE289A
:1001B0002208A00723080318230FA107A10CA00CF5
:1001C000A50CA40CA80BD4282408EB288400310823
:1001D0008A0030088200831303138312640008002E
:1001E00083168E309F0013308500860187018312AD
:1001F00086018501C001C10164308A019220FE3070
:100200008A01032001308A01032000308A017F2007
:10021000BA002108BB0064008A110A121F190B29B9
:1002200005308A0192208A110A128C2101308A013C
:100230007F20BA002108BB0005308A0192208A1174
:100240000A12C5218A110A122C210130A300F430B0
:100250008A0193208A010529FE308A010320023099
:100260008A01032056308A0103204F308A0103207F
:100270004C308A01032054308A01032020308A0147
:1002800003203D308A010320A9014008A400410851
:10029000A5000230B000B1018A0151202C308A0142
:1002A00003200130A9004308A400A5010230B000DA
:1002B000B1018A015120FE308A010320C0308A0139
:1002C000032041308A0103204D308A010320503041
:1002D0008A01032045308A01032052308A0103201D
:1002E0003D308A0103200230A9003808A4003908F3
:1002F000A5000230B000B1018A0151202C308A01E2
:1003000003200230A9004208A400A5010230B00079
:10031000B1018A015120080001303A07BE003B08B4
:100320000318013EBF003E08A6003F08A7006B303F
:10033000A2000330A3008A01D0202508BE002008B7
:10034000BF003E08A0003F08A1000A30A200A301A0
:100350008A01B420BC002108BD003C08A0003D0873
:10036000A1000A30A200A3018A01B420C000210824
:10037000C1003C08A0003D08A1000A30A200A30172
:100380008A01B4202408C300080001303A07BE00E7
:100390003B080318013EBF003E08A6003F08A70027
:1003A000FA30A200A3018A01D0202508BC00200851
:1003B000BD003C08A0003D08A1006430A200A301DC
:1003C0008A01B420B8002108B9003C08A0003D080B
:1003D000A1006430A200A3018A01B4202408C20055
:0803E000080063008A01F12905
:02400E00713F00
:00000001FF

bir hex dosyasının içine yapıştır
 
çok teşekkür ederim. lcdye basma süresi çok uzundu. onu kısaltmak gerekiyordu. eline sağlık.
 

Forum istatistikleri

Konular
130,074
Mesajlar
932,829
Kullanıcılar
453,075
Son üye
GpuAndCpu

Yeni konular

Geri
Üst