Penulis Topik: Bikin Controller PLL Veronica  (Dibaca 17130 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline purwanto-amm

  • Administrator
  • Hero Member
  • ********
  • Tulisan: 1065
  • Nikola Tesla
    • purwanto-apriana
Bikin Controller PLL Veronica
« pada: Juni 06, 2011, 09:56:21 AM »
  • Publish
  •  hallo1 Sedikit bagi-bagi ilmu memprogram microkontroler seri MCS51 menggunakan Bascom8051, karena rata-rata di forum ini kebayakan hoby RF / Transmitter sy akan  ide1 mencontohkan koding untuk PLL Veronica,  :-X yoooo wesssss langsung gak usah banyak  konek1 mengeluh langsung praktekkkkkkkkk  corong1

    Hardwer Utama yg dibutuhkan
    - AT89S52  :  Microkontroler
    - 24C02  :  EEPROM
    - LCD 16x2  :  Display

    gak akan sampe 100rb  kalkulasi1

    Softwer
    - Bascom8051 : Coding dan Basic Compiler
    - Proteus : Simulator



    Rangkaian yg digunakan





    langsung ketik coding dibawah ini .........

    Kode: [Pilih]
    $regfile = "8052.DAT"
    $crystal = 12000000

    ' konfigurasi pin LCD 16 x 2
    Config Lcdpin = Pin , Db4 = P2.4 , Db5 = P2.5 , Db6 = P2.6 , Db7 = P2.7 , E = P2.3 , Rs = P2.2
    Config Lcd = 20 * 2

    ' konfigurasi pin EEPROM 24C02
    Config Scl = P2.0
    Config Sda = P2.1

    ' alamat write/read control EEPROM 24C02
    Const Adresw = &HAE
    Const Adresr = &HAF

    ' alamat penyimpanan data freq
    Const Adresl = &H01
    Const Adresh = &H02

    ' batas frequensi
    Const Fmax = 1080
    Const Fmin = 875

    ' carakter panah LCD
    Deflcdchar 0 , 32 , 4 , 2 , 31 , 2 , 4 , 32 , 32
    Deflcdchar 1 , 32 , 4 , 8 , 31 , 8 , 4 , 32 , 32

    ' variabel EPROM 24C02
    Dim Data_adres As Byte
    Dim Data_value As Byte

    ' variabel pll
    Dim Lock_flag As Bit
    Dim Set_flag As Bit
    Dim Freq As Word

    ' matikan cursor pada LCD
    ' lalu bersihkan layar
    Cursor Off Noblink
    Cls

    ' pemanis LCD
    Locate 1 , 1
    Lcd "FREQ"

    Locate 1 , 14
    Lcd "MHz"

    Locate 2 , 16
    Lcd Chr(0)

    Locate 2 , 1
    Lcd Chr(1)

    ' isi loock flag
    Lock_flag = Not P0.3

    ' load data awal
    Gosub Load_freq
    Gosub Freq_limit
    Gosub Write_veronica
    Gosub Freq_to_lcd

    ' main loop
    Do
      Debounce P0.0 , 0 , Freq_up , Sub
      Debounce P0.1 , 0 , Freq_set , Sub
      Debounce P0.2 , 0 , Freq_dw , Sub

      Gosub Lock_detect
    Loop
    End

    ' deteksi lock
    Lock_detect:
       If P0.3 <> Lock_flag Then
          Lock_flag = P0.3

          If Set_flag = 1 Then

             Locate 2 , 4
             Lcd " SET FREQ "

          Else

             If Lock_flag = 0 Then
                Locate 2 , 4
                Lcd " PLL LOCK "
             Else
                Locate 2 , 4
                Lcd "PLL UNLOCK"
             End If

          End If
       End If
    Return

    ' frekuensi naik
    Freq_up:
       If Set_flag = 1 Then
          Do
             Freq = Freq + 1
             Gosub Freq_limit
             Gosub Freq_to_lcd

             Waitms 100
          Loop Until P0.0 = 1
          Gosub Write_veronica
       End If
    Return

    ' frekuensi turun
    Freq_dw:
       If Set_flag = 1 Then
          Do
             Freq = Freq - 1
             Gosub Freq_limit
             Gosub Freq_to_lcd

             Waitms 100
          Loop Until P0.2 = 1
          Gosub Write_veronica
       End If
    Return

    ' set/enter frekuensi
    Freq_set:
       If Set_flag = 0 Then
          Set_flag = 1
       Else
          Gosub Save_freq
          Set_flag = 0
       End If
       Lock_flag = Not P0.3
    Return

    ' batas atas dan bawah frekuensi
    Freq_limit:
       If Freq > Fmax Then Freq = Fmin
       If Freq < Fmin Then Freq = Fmax
    Return

    ' tampilkan frekuesni ke LCD
    Freq_to_lcd:
       Dim Str_freq As String * 4
       Dim Str_len As Byte
       Dim Str_1 As String * 3
       Dim Str_2 As String * 1
       Dim Str_3 As String * 1
       Dim Str_lcd As String * 5

       Str_freq = Str(freq)
       Str_len = Len(str_freq)

       If Str_len = 4 Then
          Str_1 = Left(str_freq , 3)
          Str_2 = ""
       Else
          Str_1 = Left(str_freq , 2)
          Str_2 = " "
       End If

       Str_3 = Right(str_freq , 1)
       Str_lcd = Str_2 + Str_1 + "," + Str_3

       Locate 1 , 7
       Lcd Str_lcd

       Erase Str_freq
       Erase Str_len
       Erase Str_1
       Erase Str_2
       Erase Str_3
       Erase Str_lcd
    Return

    ' set data untuk veronica
    Write_veronica:
       Dim Tfreq As Word
       P1 = Low(tfreq)
       P3 = High(tfreq)
       Erase Tfreq
    Return

    ' simpan data ke EEPROM 24C02
    Eeprom_write:
       I2cstart
       I2cwbyte Adresw
       I2cwbyte Data_adres
       I2cwbyte Data_value
       I2cstop
       Waitms 10
    Return

    ' baca data ke EEPROM 24C02
    Eeprom_read:
       I2cstart
       I2cwbyte Adresw
       I2cwbyte Data_adres
       I2cstart
       I2cwbyte Adresr
       I2crbyte Data_value , 9
       I2cstop
       Waitms 10
    Return

    ' simpan frekuensi ke EEPROM 24C02
    Save_freq:
       Dim Datal As Byte
       Dim Datah As Byte

       Datal = Low(freq)
       Data_adres = Adresl
       Data_value = Datal
       Gosub Eeprom_write

       Datah = High(freq)
       Data_adres = Adresh
       Data_value = Datah
       Gosub Eeprom_write

       Erase Datal
       Erase Datah
    Return

    ' baca frekuensi ke EEPROM 24C02
    Load_freq:
       Dim Str_freq As String * 4
       Dim Str_l As String * 2
       Dim Str_h As String * 2

       Data_adres = Adresl
       Gosub Eeprom_read
       Str_l = Hex(data_value)

       Data_adres = Adresh
       Gosub Eeprom_read
       Str_h = Hex(data_value)

       Str_freq = Str_h + Str_l
       Freq = Hexval(str_freq)

       Erase Str_freq
       Erase Str_l
       Erase Str_h
    Return

    ok gimana merasa susah ato gampang, yg masih binggung silahkan tanya . . . . . . yg udah jago bantu koreksi yah . . . . .


    « Edit Terakhir: Juni 06, 2011, 01:08:53 PM oleh purwanto-amm »
    Kontak INBOX ke FB
    facebook.com/purwanto.apriana

    BLOG
    purwanto1987.wordpress.com

    Offline dodo mahayasa

    • Full Member
    • ****
    • Tulisan: 107
    Re:Bikin Controller PLL Veronica
    « Jawab #1 pada: Juni 06, 2011, 11:47:37 AM »
  • Publish
  • WAH MEMANG  MAS PURWANTO ,,JAGONYA MICRO,,, aplos1 top1

    Offline purwanto-amm

    • Administrator
    • Hero Member
    • ********
    • Tulisan: 1065
    • Nikola Tesla
      • purwanto-apriana
    Re:Bikin Controller PLL Veronica
    « Jawab #2 pada: Juni 06, 2011, 11:51:44 AM »
  • Publish
  • WAH MEMANG  MAS PURWANTO ,,JAGONYA MICRO,,, aplos1 top1

    Belum jago mas sy juga masih belajar .........
    Kontak INBOX ke FB
    facebook.com/purwanto.apriana

    BLOG
    purwanto1987.wordpress.com

    Offline dzafoe

    • Full Member
    • ****
    • Tulisan: 136
      • http://dzafoe-elektronik.blogspot.com/
    Re:Bikin Controller PLL Veronica
    « Jawab #3 pada: Juni 06, 2011, 12:57:32 PM »
  • Publish
  • Kang pur maaf ni kalau bisa pakai lcd yang 2x16 soalnya nyari lcd 1x16 susah  cari1 cari1

    Offline Sinur

    • Hero Member
    • ********
    • Tulisan: 582
    • Elektronik , untuk kehidupan yg lebih baik.
      • Dokumentasi eksperiment
    Re:Bikin Controller PLL Veronica
    « Jawab #4 pada: Juni 06, 2011, 01:00:36 PM »
  • Publish
  •  top1 top1 top1 


    Kutip
    aku  ngak paham-2 dari dulu yg gini -2...
    ahire cume numpuk buku pemrograman ATMEL  konek1
    Kutip
                                                    " Practise Makes Perfect "

    Offline purwanto-amm

    • Administrator
    • Hero Member
    • ********
    • Tulisan: 1065
    • Nikola Tesla
      • purwanto-apriana
    Re:Bikin Controller PLL Veronica
    « Jawab #5 pada: Juni 06, 2011, 01:13:01 PM »
  • Publish
  • Kang pur maaf ni kalau bisa pakai lcd yang 2x16 soalnya nyari lcd 1x16 susah  cari1 cari1

    koding nya untuk 16x2 LCD.....

    aku  ngak paham-2 dari dulu yg gini -2...
    ahire cume numpuk buku pemrograman ATMEL  konek1

    coba BASCOM8051 bahasanya lebih mudah di megerti untuk pemula
    Kontak INBOX ke FB
    facebook.com/purwanto.apriana

    BLOG
    purwanto1987.wordpress.com

    Offline dzafoe

    • Full Member
    • ****
    • Tulisan: 136
      • http://dzafoe-elektronik.blogspot.com/
    Re:Bikin Controller PLL Veronica
    « Jawab #6 pada: Juni 06, 2011, 01:29:37 PM »
  • Publish
  • e iya ga liat codingnya pake 2x16 hehehe...mesti belajar ni

    Offline dodo mahayasa

    • Full Member
    • ****
    • Tulisan: 107
    Re:Bikin Controller PLL Veronica
    « Jawab #7 pada: Juni 06, 2011, 01:33:06 PM »
  • Publish
  • BASCOM8051 tolong donk minta link nya yang bukan demo.....trims   

    Offline purwanto-amm

    • Administrator
    • Hero Member
    • ********
    • Tulisan: 1065
    • Nikola Tesla
      • purwanto-apriana
    Re:Bikin Controller PLL Veronica
    « Jawab #8 pada: Juni 06, 2011, 01:46:14 PM »
  • Publish
  • bisa di cari di www.4shared.com ato ke situs resminya www.mcselec.com
    Kontak INBOX ke FB
    facebook.com/purwanto.apriana

    BLOG
    purwanto1987.wordpress.com

    Offline Sinur

    • Hero Member
    • ********
    • Tulisan: 582
    • Elektronik , untuk kehidupan yg lebih baik.
      • Dokumentasi eksperiment
    Re:Bikin Controller PLL Veronica
    « Jawab #9 pada: Juni 06, 2011, 03:59:32 PM »
  • Publish

  • aku  ngak paham-2 dari dulu yg gini -2...
    ahire cume numpuk buku pemrograman ATMEL  konek1

    coba BASCOM8051 bahasanya lebih mudah di megerti untuk pemula

    Trims.... referensi program nya...... ,
    kang pur ,ntar boleh tanya-2 yah klo masi binun jg...   konek1
    Kutip
                                                    " Practise Makes Perfect "

    Offline purwanto-amm

    • Administrator
    • Hero Member
    • ********
    • Tulisan: 1065
    • Nikola Tesla
      • purwanto-apriana
    Re:Bikin Controller PLL Veronica
    « Jawab #10 pada: Juni 06, 2011, 04:01:49 PM »
  • Publish
  • Trims.... referensi program nya...... ,
    kang pur ,ntar boleh tanya-2 yah klo masi binun jg...   konek1

    OK, kalo ada kesulitan nanti sy bantu .....
    Kontak INBOX ke FB
    facebook.com/purwanto.apriana

    BLOG
    purwanto1987.wordpress.com

    Offline Iman Fushshilat

    • Jr. Member
    • **
    • Tulisan: 53
    Re:Bikin Controller PLL Veronica
    « Jawab #11 pada: Juni 08, 2011, 02:26:34 PM »
  • Publish
  • kang Purwanto, pake bahasa Assambler ato c dong... kalo bascom mah nga ngerti saya  ::) boys1

    Offline purwanto-amm

    • Administrator
    • Hero Member
    • ********
    • Tulisan: 1065
    • Nikola Tesla
      • purwanto-apriana
    Re:Bikin Controller PLL Veronica
    « Jawab #12 pada: Juni 17, 2011, 11:30:29 AM »
  • Publish
  • kang Purwanto, pake bahasa Assambler ato c dong... kalo bascom mah nga ngerti saya  ::) boys1

    walah sy gak garti C apalage ASM lebih ............
    Kontak INBOX ke FB
    facebook.com/purwanto.apriana

    BLOG
    purwanto1987.wordpress.com

    Offline Ri-5-am

    • Full Member
    • ****
    • Tulisan: 117
    Re:Bikin Controller PLL Veronica
    « Jawab #13 pada: Juni 21, 2011, 12:56:32 PM »
  • Publish
  • kang Purwanto, pake bahasa Assambler ato c dong... kalo bascom mah nga ngerti saya  ::) boys1

    walah sy gak garti C apalage ASM lebih ............

    Sama aja kang, mao pake C, ASM, ato Basic.. yang penting Flow Controlnya sama... tinggal sesuaikan aja perintah dengan lingkungannya. Yang sering bikin keder khan sebenarnya library yang disediakan oleh compilernya.. misal untuk perintah Save ke eeprom diatas... kalo di MicroC kan tinggal Write...

    ALur programnya aja kang... pasti bisa di porting ke bahasa lain...

    Offline ndroe

    • Hero Member
    • ********
    • Tulisan: 1136
    • beginer banget
    Re:Bikin Controller PLL Veronica
    « Jawab #14 pada: Juni 21, 2011, 01:03:36 PM »
  • Publish
  • nggak pake yang at89s51 aja kang harganya kan lebih murah
    88,1 ..FM Ra' Ajeg

     


    Facebook Comments