Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Microchip Pic Serisi
Yazar Mesaj
zidane07
Tarih: 27.12.2007, 19:03 Mesaj konusu: "+" ve "-" değer ölçen voltmetre - yardı

arkadaşlar forumdaki bu devreyi kurdum ama eksi değerleri ölçemiyorum.saolsun bazı arkadaşlar 7106,7107li devreleri önerdiler.fakat ben hala çalıştıramadım. aşağıdaki programda bi oynama yapıp bunu düzeltebilirmiyiz.yaparsak mükemmel olcak.ben protondan fazla anlamıyorum.yardımlarınızı bekliyorum.şimdiden saolun......


devrenin şekli



devıce 16f876
declare xtal 4

declare lcd_dtpın portc.4
declare lcd_rspın portc.1
declare lcd_enpın portc.0
declare lcd_ınterface 4
declare lcd_lınes 2
delayms 200

adın_res = 10
adın_tad = frc
adın_stıme = 50

dım adc_kanal1 as float
dim fullbars as byte
dim barval as byte
dim partbar as byte
dim pad as byte
dım temp1 as byte
dım w1 as word
dım w2 as float
dım fld0 as float
dım olcum_voltajı as 30
dım adc_orneksayısı as 50

goto reset_vector

prj_loop:
asm
nop
nop
clrwdt
nop
nop
endasm
call adc_oku
delayms 1
goto prj_loop

reset_vector:
asm
bcf ıntcon,gıe
btfsc ıntcon,gıe
goto reset_vector
endasm

delayms 1000

trısa=%11111111
adcon1=%10000000
ıntcon=%00100000

print $fe,$2
print " 0-30 voltmetre"
delayms 1500
print $fe,$c0
prınt " maxiboost"
delayms 500
cls

print $fe,64,rep $0\8
print $0,rep $10\6,$0
print $0,rep $14\6,$0
print $0,rep $15\6,$0

cls

temp1=adc_orneksayısı

adc_kanal1=0

goto prj_loop

adc_oku:
adc_oku_1:

adcın 0,w1
adc_kanal1=adc_kanal1+w1

temp1=temp1-1
ıf temp1>0 then return

adc_kanal1=adc_kanal1/adc_orneksayısı

w2=olcum_voltajı
w2=w2/1023

adc_kanal1=adc_kanal1*w2

call ekranı_yaz

temp1=adc_orneksayısı
adc_kanal1=0

return

ekranı_yaz:

fld0=adc_kanal1
prınt $fe, $82
prınt "dc "
gosub dec_fld0

barval = (fld0 /0.55) + 1
gosub bargraph

dec_fld0:
select fld0
case < 10.0 : prınt dec2 fld0, " volt"," "
case < 100.0 : prınt dec2 fld0, " volt"," "
case < 1000.0 : prınt dec2 fld0, " volt"," "
case else : prınt dec2 fld0, " volt",""
endselect
return

bargraph:
select barval
fullbars = (barval min 60) / 3
partbar = (barval min 60) // 3
pad = 19 - fullbars
prınt $fe, $c0
print rep $03\fullbars, partbar, rep " "\pad
endselect
return
end
yanlızkurt
Tarih: 24.04.2008, 20:07 Mesaj konusu:

arkadaşlar bu bar çubuğunun basic codları ile nasıl yapabiliriz. adamlar muhteşem şeyler yapmışlar. hatta osiloskop bile yapmışlar.ben hala bununla uğraşıyorum. bir el atın bu işe
Elektrotekno.com Ana Sayfa Microchip Pic Serisi
1. sayfa (Toplam 1 sayfa)

"+" ve "-" değer ölçen voltmetre - yardım

Gizlilik Politikası

PLC programming