Sunday, January 10, 2016

Salam Otomasi....




Kali ini saya akan Sedikit share ilmu mengenai cara akses IC ADC 0809 pada Mikrokontroler AT89S51. Ini adalah salah satu project yang telah saya selesaikan dengan lancar alhamdulillah :). Saya tulis posting ini karena saya merasa sedikit sekali tutorial yang membahas hal ini, namun jika ada mungkin terkadang kurang jelas atau tidak bisa di jalankan. Seperti yang terlihat pada gambar diatas pada percobaan kali ini saya akan melakukan akses sensor suhu LM35 yang kemudian akan saya tampilkan ke LCD dan pada kondisi tertentu akan digunakan untuk aktifasi relay module.

Sebelum menginjak ke program alangkah baiknya anda mempelajari fitur-fitur dari AT89S51 klik di sini.

Oke... kalau sudah sekarang akan saya jelaskan sedikit mengenai bagai mana cara melakukan akses ADC0804. Seperti yang terlihat pada gambar di bawah ini yang saya kutip datasheet dapat dilihat siklus bagaimana cara melakukan akses.



Dan Untuk cara penyambungannya dapat dilihat pada gambar dibawah ini


Dan ini dalah foto ketika rangkaian sudah saya buat dan saya operasikan.


Berikut adalah gambar rangkaian Schematic pada project saya dengan menggunakan eagle. Kalau Teman-teman belum mempunyai software eagle langsung saja download di sini


Dan untuk programnya saya menggunakan bahasa basic dengan menggunakan software yang sangat mudah BASCOM8051 jika belum ada langsung saja download di sini

berikut adalah full program untuk melakukan akses adc0804.


P2.5 = 0
Config Lcdpin = Pin , Db4 = P2.3 , Db5 = P1.0 , Db6 = P1.1 , Db7 = P1.2 , E = P2.4 , Rs = P2.6
Config Lcd = 16 * 2
Config Lcdbus = 4

Deflcdchar 1 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32           '

Dim I As Integer
Dim Adc_suhu As Byte
Dim Sp_suhu As Byte
Dim Sp_suhu_min As Byte
Dim Sp_suhu_max As Byte


Dim Adc_5 As Single
Dim Adc_3 As String * 5
Dim Adc_1 As Integer


Up Alias P2.2
Down Alias P2.1
Yes Alias P2.0

Wr Alias P1.6
Rd Alias P1.5
Intr Alias P1.7
Cs Alias P1.4

Relay Alias P2.7


Cls
Cursor Off Noblink
Home : Lcd "  TUGAS AKHIR "
Lowerline : Lcd "SENSOR SUHU 8051"

Wait 3
Cls


Do

Gosub Conv
Gosub Read2

Adc_5 = Adc_suhu / 255
Adc_5 = Adc_5 * 500
Adc_1 = Adc_5

If Up = 0 Then
Waitms 100
Sp_suhu = Sp_suhu + 1
Elseif Down = 0 Then
Waitms 100
Sp_suhu = Sp_suhu - 1
End If



If Adc_1 < Sp_suhu Then
P2.7 = 1
Else
P2.7 = 0
End If

Home : Lcd "Sv Suhu= " ; Sp_suhu ; Chr(1) ; "C        "
Lowerline : Lcd "Pv Suhu= " ; Adc_1 ; Chr(1) ; "C "
Waitms 200

Loop


Conv:

Cs = 0
Wr = 0
Intr = 0
Cs = 1
Wr = 1
Bitwait Intr , Reset
Return


Read2:
Cs = 0
Rd = 0
Adc_suhu = P3
Rd = 1
Cs = 1
Return


Berikut adalah video full dari uji coba pada project ini.



Terimakasih Semoga bermanfaat

0 komentar:

Post a Comment