pic basic bilen yardım etsin

Başlatan cemkadir86, 31 Ocak 2007, 22:38:00

cemkadir86

ben bunu int. aldım antrak gazatesinden sadece ismini deiştirmek için açık kodun derlenmesi lazım ben beceremedim bana yardımcı olun açık kod şu
bana sadece hex i gerekli bunun.



' LCD 4-bit mode
'  16F877
' LCD bağlantı şekli:
'       LCD     PIC
'       DB4     PortD.4
'       DB5     PortD.5
'       DB6     PortD.6
'       DB7     PortD.7
'       RS      PortD.2
'       E       PortD.3
'       RW      Ground
'       Vdd     5 volts
'       Vss     Ground
'       Vo      20K potansiyometre (ground)
'       DB0-3   boşta

DEFINE  LCD_DREG  PORTD
DEFINE  LCD_DBIT  4
DEFINE  LCD_RSREG  PORTD
DEFINE  LCD_RSBIT  2
DEFINE  LCD_EREG  PORTD
DEFINE  LCD_EBIT  3
DEFINE  LCD_BITS  4
DEFINE  LCD_LINES 2


 

fout  var word
foutL var fout.byte0
foutH var fout.byte1
     


        ADCON1=2    
loop:  Pause 200
        Lcdout $FE,1,"Merhaba"
          Pause 1000
         
           Lcdout $FE,1,"Yazan:"
            Lcdout $FE,$C0,"C.Sahin"
            Pause 1000
frek:            Lcdout $FE,1,"Frekans"
                 Lcdout $FE,$C0,"Metre "
                pause 1000
             

                ' **** FREKANSMETRE***************

MeasFrek:       Lcdout $FE,1,"Skala ?"
                   Pause 100
                if PortE.0 then skale1    ' 0-65 kHz
                if PortE.1 then skale4    ' 65MHz-550 Mhz
                  goto MeasFrek  

skale1:             Lcdout $FE,1,"0-65 kHz"
                    Pause 160
                   if PortE.0 then skale2
                   if PortE.1 then skale4
                   if PortE.2 then  Olcum1   ' Ölcüme basla
                     goto skale1

skale2:            Lcdout $FE,1,"65-650  "
                   Lcdout $FE,$C0
                   Lcdout "kHz"
                       Pause 160
                   if PortE.0 then skale3
                   if PortE.1 then skale1
                   if PortE.2 then  Olcum2   ' Ölcüme basla
                        goto skale2

skale3:             Lcdout $FE,1,"0.65 - 6"
                   Lcdout $FE,$C0
                   Lcdout "5  MHz"
                       
                       Pause 160
                   if PortE.0 then skale4
                   if PortE.1 then skale2
                   if PortE.2 then  Olcum3   ' Ölcüme basla
                       goto skale3
skale4:             Lcdout $FE,1,"65 MHz-5"
                   Lcdout $FE,$C0
                   Lcdout "50 MHz"
                       
                       Pause 160
                   if PortE.0 then skale1
                   if PortE.1 then skale3
                   if PortE.2 then  Olcum4   ' Ölcüme basla
                       goto skale4



Olcum1:            Lcdout $FE,1,"Bolge 1"
                  Pause 500
                  goto fre1

Olcum2:            Lcdout $FE,1,"Bolge 2"
                  Pause 500
                  goto fre2
                 

Olcum3:            Lcdout $FE,1,"Bolge 3"
                  Pause 500
                  goto fre3                

Olcum4:            Lcdout $FE,1,"Bolge 4"
                  Pause 500
                  goto fre4




fre1:
'  ------------------ 1 s gecikme ---------------- ASSEMBLER MODA GEÇİŞ
asm  
      bcf  STATUS,RP0
      bcf  STATUS,RP1
      clrf TMR1L
      clrf TMR1H
      movlw  D'7'
      movwf  T1CON
endasm
      pause  1000
asm    movlw  D'6'
      movwf  T1CON
      movf TMR1L,0
      movwf _foutL
      movf TMR1H,0
      movwf _foutH
endasm
'----------------------------------------------ASSEMBLER MODDAN ÇIKIŞ
      Lcdout $FE,1
      Lcdout #fout," Hz"
      Pause 300
      if PortE.2=1 then MeasFrek
     goto fre1


fre2:
'  ------------------ 1 s gecikme ----------------
asm  
      bcf  STATUS,RP0
      bcf  STATUS,RP1
      clrf TMR1L
      clrf TMR1H
      movlw  D'7'
      movwf  T1CON
     
endasm
      pauseus 35
      pause  1000
asm    movlw  D'6'
      movwf  T1CON
      movf TMR1L,0
      movwf _foutL
      movf TMR1H,0
      movwf _foutH
endasm
       Lcdout $FE,1
       Lcdout #fout,"0"
       Lcdout $FE,$C0," Hz"
        Pause 300
      if PortE.2=1 then MeasFrek
     goto fre2



fre3:
'  ------------------ 10 ms gecikme ----------------
asm  
     
      bcf  STATUS,RP0
      bcf  STATUS,RP1
      clrf TMR1L
      clrf TMR1H
      movlw  D'7'
      movwf  T1CON
endasm
      pauseus 9993    ; 10 ms gecikme
asm    movlw  D'6'
      movwf  T1CON
      movf TMR1L,0
      movwf _foutL
      movf TMR1H,0
      movwf _foutH
endasm
       Lcdout $FE,1
       Lcdout #fout
        Lcdout $FE,$C0," kHz"
       Pause 300
      if PortE.2=1 then MeasFrek
     goto fre3


fre4:
'  ------------------ 1 ms gecikme ----------------
asm  
     
      bcf  STATUS,RP0
      bcf  STATUS,RP1
      clrf TMR1L
      clrf TMR1H
      movlw  D'7'
      movwf  T1CON
     
endasm
          ; 1 ms gecikme
asm    movlw  D'6'
      movwf  T1CON
      movf TMR1L,0
      movwf _foutL
      movf TMR1H,0
      movwf _foutH
endasm
       Lcdout $FE,1
       Lcdout #fout,"0"
        Lcdout $FE,$C0," kHz"
       Pause 300
      if PortE.2=1 then MeasFrek
     goto fre4
   
     END

Elektron74

Buyur cem arkadaşım. Devrenin çalışıp çalışmadığından haberdar edersen sevinirim.
  http://rapidshare.com/files/14308805/frekansmetre.rar.html
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.

cemkadir86

çok teşekkürler yardımın için artık yarın hocama verebilirim projeyi rahatlıkla çok sağolasın devre de çalışıyor gayet güzel. frekansmetre idi devrede

cemkadir86

bari bilen birini bulmuşken sorayım bunu hangi programla derledin biraz programın kurulumundan bahsetsene ben sabahtan beri microcode den beceremedim ppic basic pro yu gostermeme rağmen sen hangisi ile yaptın biraz anlatabilirmisiniz.

sitenindelisi

Antrak sizin sayenizde, fahren sınıf geçecek desenize!( her ne kadar ismi değiştirildiği için haberleri olmayacak olsa da). Bu bana nedense İnfogate isimli firmanın sözde kitaplarını anımsattı bir an.
Öğretmenlerin bir kısmı, nasıl olsa birine yaptırırlar mantığı ile mi bu tip ödevler veriyorlar yoksa öğrenciler mi aşırı tembel ve dikkatsiz ki, aslında öğretmen arkadaşlar bu tip devreleri tasarlayabilecek öğretimi vermesine rağmen, öğrenciler yapmaktan imtina ediyor.

cemkadir86

ya arkadaşım iyi hoşta ben basic bilmiyorum benim işim biraz aceleye geldi durumum farklı o yüzden yoksa normalde ben hiç sevmem hazır yapmayı felan dikkat ettiysen sonra nasıl yapıldığınıda oğrenmeye çalıştım daha dikkatli değerlendirmeni tavsiye ederim arkadaşım. ben normalde cc5 x veya ccs ile pic yazıyorum basic çok deişik geliyor bana o yüzden.

cemkadir86


Elektron74

MicroCode Studio ile derleyebilirsin. Yapman gereken bu programın view menüsüne, daha sonra combile and program option bölümüne gir. Oradan Assembler menüsüne gir. Bilgisayarından MPASM ya otomatik ya da el ile bul. use MPASM işaretle. Tamam de. Derlemeni yap. Başarılar.
Yarın; yorgun kimselerin değil rahatlarına kıyabilenlerindir.