• Tidak ada hasil yang ditemukan

BAB 1 PERCOBAAN SEVEN SEGMENT

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 1 PERCOBAAN SEVEN SEGMENT"

Copied!
36
0
0

Teks penuh

(1)

BAB 1 PERCOBAAN SEVEN SEGMENT

Percobaan 1.1 Menghidupkan Seven Segment Satuan dan Puluhan

TUJUAN : Agar praktikan mampu melaksanakan proses penghidupan seven segment satuan dan

puluhan pada modul seven segment dengan pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul seven segment

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 1.1 :

1. Hubungkan modul seven segmen dengan port 0. Rincian hubungan berdasarkan modul seven segmen yang digunakan di Laboratorium Mikroprosesor dan Peripheral STTH Medan:

 Data ke seven segmen diberikan melalui pin 0 sampai pin 3 (P0.0 – P0.3)

 P0.4 dihubungkan ke pin common anoda seven segmen puluhan. P0.4 bernilai 1 maka seven segmen puluhan hidup dan bernilai 0 maka mati.

 P0.5 dihubungkan ke pin common anoda seven segmen satuan. P0.5 bernilai 1 maka seven segmen satuan hidup dan bernilai 0 maka mati.

2. Ketikkan program di bawah ini dan lakukan kompilasi. 3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(2)

PROGRAM PERCOBAAN 1.1 :

$MOD51

MOV P0,#10000000b START:

MOV P0,#0A7H ;A = 10100111b, sat hidup, nilai 7 CALL DELAY

MOV P0,#92H ;9 = 10010010b, pul hidup, nilai 2 CALL DELAY AJMP START ; DELAY: MOV R0,#100 DJNZ R0,$ RET end Tugas:

1. Berikan penjelasan pada tiap baris program di atas.

2. Buatlah program untuk menampilkan dua digit terakhir no NPM Anda.

3. Buatlah program untuk menampilkan semua no NPM Anda secara bergantian di seven segmen satuan saja mulai dari angka pertama NPM sampai terakhir. Sesuaikan panjang waktu delay pergantian agar dapat diikuti oleh mata dengan baik.

(3)

Percobaan 1.2 Nilai Seven Segment Satuan Naik Otomatis

TUJUAN : Agar praktikan mampu melaksanakan proses counting up dari angka 0–9 secara

otomatis pada seven segment satuan dengan pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul seven segment

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 1.2 :

1. Hubungkan modul seven segmen dengan port 0. Rincian hubungan berdasarkan modul seven segmen yang digunakan di Laboratorium Mikroprosesor dan Peripheral STTH Medan:

 Data ke seven segmen diberikan melalui pin 0 sampai pin 3 (P0.0 – P0.3)

 P0.4 dihubungkan ke pin common anoda seven segmen puluhan. P0.4 bernilai 1 maka seven segmen puluhan hidup dan bernilai 0 maka mati.

 P0.5 dihubungkan ke pin common anoda seven segmen satuan. P0.5 bernilai 1 maka seven segmen satuan hidup dan bernilai 0 maka mati.

2. Ketikkan program di bawah ini dan lakukan kompilasi. 3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(4)

PROGRAM PERCOBAAN 1.2:

$MOD51

;Aktivasi 7 Segment satuan pada P0.5, Aktivasi 7 Segment puluhan pada P0.4 ;counting up dari 0–9 secara otomatis pada seven segmen satuan

; Mulai: MOV A,#0A0h NAIK: MOV P0,A CALL DELAY INC A CJNE A,#0AAH,NAIK AJMP Mulai ; DELAY: MOV R2,#4 Delay2: MOV R1,#250 Delay1: MOV R0,#250 DJNZ R0,$ DJNZ R1,Delay1 DJNZ R2,Delay2 RET END Tugas:

1. Berikan penjelasan pada tiap baris program di atas.

2. Buatlah program agar counting up dari 0–9 secara otomatis pada seven segmen puluhan 3. Buatlah program agar counting down dari 9–0 secara otomatis pada seven segmen

(5)

Percobaan 1.3 Nilai Seven Segment Satuan Naik Dengan Switch

TUJUAN : Agar praktikan mampu melaksanakan proses counting up dari angka 0–9 berdasarkan

signal dari Switch pada seven segment satuan dengan pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul seven segment - Modul Push Button Switch

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 1.3 :

1. Hubungkan modul seven segmen dengan port 0 dan Modul Switch 8 bit (push button) dihubungkan ke Port 3. Rincian hubungan berdasarkan modul seven segmen yang digunakan di Laboratorium Mikroprosesor dan Peripheral STTH Medan:

 Data ke seven segmen diberikan melalui pin 0 sampai pin 3 (P0.0 – P0.3)

 P0.4 dihubungkan ke pin common anoda seven segmen puluhan. P0.4 bernilai 1 maka seven segmen puluhan hidup dan bernilai 0 maka mati.

 P0.5 dihubungkan ke pin common anoda seven segmen satuan. P0.5 bernilai 1 maka seven segmen satuan hidup dan bernilai 0 maka mati.

2. Ketikkan program di bawah ini dan lakukan kompilasi. 3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(6)

PROGRAM PERCOBAAN 1.3:

$MOD51

;Aktivasi 7 Segment satuan pada P0.5, Aktivasi 7 Segment puluhan pada P0.4

;counting up dari 0–9 pada seven segmen satuan berdasarkan input pada switch yang ;dihubungkan dengan P3.2 ; Mulai: MOV A,#0A0h NAIK: MOV P0,A CALL DELAY JNB P3.2,NAIK INC A CJNE A,#0AAH,NAIK AJMP Mulai ; DELAY: MOV R2,#3 Delay2: MOV R1,#250 Delay1: MOV R0,#250 DJNZ R0,$ DJNZ R1,Delay1 DJNZ R2,Delay2 RET END

(7)

Percobaan 1.4 Nilai Seven Segment Satuan Dan Puluhan Naik

Otomatis

TUJUAN : Agar praktikan mampu melaksanakan proses counting up dari angka 0–99 secara

otomatis pada seven segment satuan dan puluhan dengan pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul seven segment

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 1.4 :

1. Hubungkan modul seven segmen dengan port 0. Rincian hubungan berdasarkan modul seven segmen yang digunakan di Laboratorium Mikroprosesor dan Peripheral STTH Medan:

 Data ke seven segmen diberikan melalui pin 0 sampai pin 3 (P0.0 – P0.3)

 P0.4 dihubungkan ke pin common anoda seven segmen puluhan. P0.4 bernilai 1 maka seven segmen puluhan hidup dan bernilai 0 maka mati.

 P0.5 dihubungkan ke pin common anoda seven segmen satuan. P0.5 bernilai 1 maka seven segmen satuan hidup dan bernilai 0 maka mati.

2. Ketikkan program di bawah ini dan lakukan kompilasi. 3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(8)

PROGRAM PERCOBAAN 1.4:

$MOD51 MULAI:

MOV R0,#90H ;R0 = 10100000b, pul = 0 MULAI1:

MOV R1,#0A0H ;R1 = 10100000b, sat = 0 NAIK:

MOV R2,#2 NAIK1:

MOV R3,#200 NAIK2:

MOV P0,R1 ;hidup sat, nilai = R3 CALL DELAY3

MOV P0,R0 ;hidup pul, nilai = R4 CALL DELAY3 DJNZ R3,NAIK2 DJNZ R2,NAIK1 MOV A,R1 CJNE A,#0AAH,NAIK MOV A,R0 INC A MOV R0,A CJNE A,#9AH,MULAI1 AJMP MULAI DELAY3: MOV R4,#100 DJNZ R4,$ RET END

(9)

Percobaan 1.5 Nilai Seven Segment Satuan dan Puluhan Naik dan

Turun Dengan Switch

TUJUAN : Agar praktikan mampu melaksanakan proses counting up dan counting down dari

angka 0–99 dan 99–0 berdasarkan signal dari Switch pada seven segment satuan dan puluhan dengan pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul seven segment - Modul Push Button Switch

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 1.3 :

1. Hubungkan modul seven segmen dengan port 0 dan Modul Switch 8 bit (push button) dihubungkan ke Port 3. Rincian hubungan berdasarkan modul seven segmen yang digunakan di Laboratorium Mikroprosesor dan Peripheral STTH Medan:

 Data ke seven segmen diberikan melalui pin 0 sampai pin 3 (P0.0 – P0.3)

 P0.4 dihubungkan ke pin common anoda seven segmen puluhan. P0.4 bernilai 1 maka seven segmen puluhan hidup dan bernilai 0 maka mati.

 P0.5 dihubungkan ke pin common anoda seven segmen satuan. P0.5 bernilai 1 maka seven segmen satuan hidup dan bernilai 0 maka mati.

2. Ketikkan program di bawah ini dan lakukan kompilasi. 3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(10)

PROGRAM PERCOBAAN 1.5:

;Nilai 7 segment akan naik bila P.0 diberi nilai 1 dan turun bila P3.1 diberi nilai 1. ;Aktivasi 7 Segment satuan saat P0.5 bernilai 1

;Aktivasi 7 Segment puluhan saat P0.4 bernilai 1 ;

$MOD51 MOV P3,#00H MULAI:

MOV R4,#90H ;R4 = 10100000b, puluhan aktif, nilai = 0 MULAI1:

MOV R3,#0A0H ;R3 = 10100000b, satuan aktif nilai = 0 NAIK:

MOV R1,#4 NAIK1:

MOV R0,#200 NAIK2:

MOV P0,R3 ;hidup sat, nilai = R3 CALL DELAY3

MOV P0,R4 ;hidup pul, nilai = R4 CALL DELAY3 DJNZ R0,NAIK2 DJNZ R1,NAIK1 MOV A,R3 JNB P3.0,TURUN CJNE A,#0A9H,SAT MOV A,R4 INC A MOV R4,A CJNE A,#9AH,MULAI1

(11)

AJMP MULAI ; SAT: INC A MOV R3,A AJMP NAIK ; TURUN: JNB P3.1,NAIK MOV A,R3 CJNE A,#0A0H,TURUN1 MOV A,R4 DEC A MOV R4,A MOV R3,#0A9H LJMP NAIK ; TURUN1: DEC A MOV R3,A LJMP NAIK ; DELAY3: MOV R2,#100 DJNZ R2,$ RET END

(12)

BAB 2 PERCOBAAN LCD 16 x 2

Percobaan 2.1 Menampilkan Teks Pada Layar LCD Karakter 16 x 2

TUJUAN : Agar praktikan mampu menampilkan teks pada layar LCD karakter 16 x 2 dengan

pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul Layar LCD 16 x 2

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 2.1 :

1. Hubungkan modul Layar LCD 16 x 2 dengan Port 1 dan Port 2 mikrokontroler AT89S51/52. Rincian hubungan berdasarkan modul Layar LCD 16 x 2 yang digunakan di Laboratorium Mikroprosesor dan Peripheral STTH Medan:

 Pin P1.0 – P1.7 terhubung dengan pin data D0 – D7 di LCD 16 x 2  Pin P2.0 terhubung dengan pin RS LCD

 Pin P2.1 terhubung dengan pin R/W LCD  Pin P2.2 terhubung dengan pin E LCD

2. Ketikkan program di bawah ini dan lakukan kompilasi. 3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(13)

PROGRAM PERCOBAAN 2.1:

;Menampilkan Teks ‘STTH’ pada layar LCD ORG 0000h

MOV A,#38h ;init LCD 2 baris / matrix 5×7 ACALL COMMAND ;panggil subrutin Command MOV A,#0Eh ;Display On , kursor On ACALL COMMAND ;subrutin Command MOV A,#01h ;Clear LCD

ACALL COMMAND ;subrutin Command

MOV A,#06h ;pindahkan kursor ke kanan ACALL COMMAND ;subrutin Command

MOV A,#084h ;pindahkan kursor ke baris 1 pos. 4 ACALL COMMAND ;subrutin Command

MOV A,#’S' ;tampilkan abjad “S” ACALL DATA_DISP ;panggil subrutin Display MOV A,#’T' ;tampilkan abjad “T” ACALL DATA_DISP ;panggil subrutin Display MOV A,#’T' ;tampilkan abjad “T” ACALL DATA_DISP ;panggil subrutin Display MOV A,#’H' ;tampilkan abjad “H” ACALL DATA_DISP ;panggil subrutin Display ULANG: SJMP ULANG ;tunggu di sini

COMMAND:

(14)

MOV P1,A ;salin isi A ke P1 CLR P2.0 ;RS=0 utk Command CLR P2.1 ;R/W=0 utk Write SETB P2.2 ;E=1 untuk .. CLR P2.2 ;E=0 .. pulsa H-ke-L RET

DATA_DISP:

ACALL READY ;apakah LCD siap MOV P1,A ;salin isi A ke P1 SETB P2.0 ;RS=1 utk Data CLR P2.1 ;R/W=0 utk Write SETB P2.2 ;E=1 untuk .. CLR P2.2 ;E=0 .. pulsa H-ke-L RET

READY:

SETB P1.7 ;buat P1.7 sebagai port input CLR P2.0 ;RS=0 utk mengakses reg Command SETB P2.1 ;R/W=1 utk Read

;perintah baca reg dan memeriksa busy flag READY1: SETB P2.2 ;E=1 untuk ..

CLR P2.2 ;E=0 .. pulsa H-ke-L JB P1.7,READY1 ;Tunggu sampai siap RET

(15)

BAB 3 PERCOBAAN COUNTER DENGAN

INPUT SENSOR INFRA RED DAN

TAMPILAN SEVEN SEGMENT

Percobaan 3.1 Membaca Nilai Sensor Infra Red Untuk Counting

Dengan Tampilan Seven Segment

TUJUAN : Agar praktikan mampu membaca signal input dari sensor infra red untuk menghitung

jumlah objek yang melewati sensor dan menampilkan hasilnya pada Seven Segment dengan pengendali mikrokontroler At89S51/52.

PERALATAN : - Main modul

- Modul Seven segment

- Sensor Infra red sebagai transmitter dan dan photodioda sebagai

reciever

- Simulator (misalnya debugger8052), bila diperlukan.

TAHAPAN PERCOBAAN 3.1 :

1. Hubungkan modul Seven segment dengan Port 0 dan Port 2 mikrokontroler AT89S51/52 dan Port 1 ke sensor infra red dengan rincian seperti pada rangkaian di gambar 3.1. 2. Ketikkan program di bawah ini dan lakukan kompilasi.

3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

(16)

Gambar 3.1 Rangkaian sensor infra red dengan mikrokontroler AT89S51 dan display seven segment

PROGRAM PERCOBAAN 4.1: p0 equ 080h p1 equ 090h p2 equ 0a0h p3 equ 0b0h satuana equ 030h puluhana equ 031h ratusana equ 032h digit1 equ 033h digit2 equ 034h

(17)

digit3 equ 035h org 0000h awal: mov satuana,#00h mov puluhana,#00h mov ratusana,#00h start: jb p1.0,masuk jb p1.1,keluar jmp start masuk: jb p1.0,$ mov a,satuana inc a mov satuana,a cjne a,#0ah,display mov satuana,#00h mov a,puluhana inc a mov puluhana,a cjne a,#0ah,display mov puluhana,#00h mov a,ratusana inc a

(18)

mov ratusana,a cjne a,#0ah,display mov ratusana,#09h mov puluhana,#09h mov satuana,#09h jmp display keluar: jb p1.1,$ mov a,satuana dec a mov satuana,a cjne a,#0ffh,display mov satuana,#00h mov a,puluhana dec a mov puluhana,a cjne a,#0ffh,display mov puluhana,#00h mov a,ratusana dec a mov ratusana,a cjne a,#0ffh,display mov ratusana,#00h mov satuana,#00h

(19)

mov puluhana,#00h jmp display display: mov digit3,ratusana mov digit2,puluhana mov digit1,satuana display2: mov a,digit2 swap a orl a,digit3 mov p0,a mov a,digit1 mov p2,a jmp start end

(20)

BAB 4 KOMUNIKASI SERIAL UART

Percobaan 4.1 Mengirim Dan Menerima Data Dari Port Serial

TUJUAN : Agar praktikan mampu melakukan pengiriman dan penerimaan data antara komputer

dengan mikrokontroler At89S51/52 dalam mode komunikasi serial UART.

PERALATAN : - Main modul

- komputer dengan port konektor DB9

- Modul IC MAX232 untuk antar muka RS-232

- Simulator (misalnya debugger8052), bila diperlukan.

Gambar 4.1 (a) Konektor DB9 (b) Koneksi IC MAX232 dengan DB9 dan Mikkrokontroler AT89S51/52

TAHAPAN PERCOBAAN 4.1 :

1. Hubungkan modul IC MAX 232 (seperti pada gambar 3.1 di atas) dengan Konektor DB9 pada komputer dan mikrokontroler AT89S51/52 dengan rincian hubungan sebagai berikut:

 Hubungkan pin P3.0 (Rx) pada mikrokontroler dengan pin 12 pada IC MAX232  Hubungkan pin P3.2 (Tx) pada mikrokontroler dengan pin 11 pada IC MAX232  Hubungkan pin 13 pada IC MAX232 dengan pin no 3 pada konektor DB9

(21)

 Hubungkan pin 14 pada IC MAX232 dengan pin no 2 pada konektor DB9

2. Ketikkan program di bawah ini (program untuk pengiriman dan penerimaan data pada mikrokontroler AT89S51/52) dan lakukan kompilasi.

3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

6. Pembacaan dan pengiriman data di sisi komputer dapat dilakukan dengan bahasa level tinggi seperti Delphi atau Visual Basic atau dapat juga dilakukan dengan memanfaatkan fasilitas HyperTerminal yang merupakan program bawaan Windows. Cara membuka HyperTerminal ini adalah Klik Start  All Program  Accessories  Communications  HyperTerminal. PROGRAM PERCOBAAN 4.1: Org 0000H Main_Prog: call Serial_Port_Init Main_Prog_Loop: call Serial_Receive call Serial_Transmit sjmp Main_Prog_Loop Serial_Port_Init: mov SCON, #50H mov TMOD, #20H

(22)

mov TH1, #0FDH setb TR1 ret Serial_Transmit: mov SBUF, A jnb TI, $ clr TI ret Serial_Receive: jnb RI, $ mov A, SBUF clr RI ret end

(23)

BAB 5 MENGUKUR JARAK DENGAN

SENSOR JARAK SRF05

Percobaan 5.1 Mengukur Jarak Menggunakan Sensor Jarak SRF05 Dan

Menampilkan Hasilnya Di LCD 16 x 2

TUJUAN : Agar praktikan mampu melakukan pengukuran jarak menggunakan sensor jarak

SFR05 dan menampilkan hasilnya di LCD 16 x 2

PERALATAN : - Main modul ATMega16 - Trainer Sensor Jarak SRF05 - Modul Layar LCD 16 x 2

- Simulator (misalnya debugger8052), bila diperlukan.

(24)

TAHAPAN PERCOBAAN 5.1 :

1. Hubungkan modul LCD 16 x 2 dan Modul Sensor Jarak SRF05 dengan mikrokontroler ATMega16 (seperti pada gambar 5.1 di atas)

2. Ketikkan program di bawah (program dibuat dalam bahasa C) dan lakukan kompilasi (Compiler yang digunakan adalah CodeVision AVR atau sejenisnya).

3. Periksa apakah ada kesalahan sintaks (error) dalam program.

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler.

PROGRAM PERCOBAAN 5.1:

#include <mega16.h> #include <delay.h> #include <stdio.h> #define trigger PORTC.1 #define echo PINC.0 unsigned int jarak; char buf[33]; #asm

.equ __lcd_port=0x1B ;PORTA #endasm #include <lcd.h> void ukur_jarak() { unsigned int i; jarak=0; delay_us(100);

(25)

trigger=1; //tout, H=5 us delay_us(15); trigger=0; delay_us(100); while(!echo); for (i=0;i<=500;i++) { if (echo) {jarak++;} delay_us(58); } } void main(void) { lcd_init(16); DDRC.O=0; DDRC.1=1; lcd_clear ();

lcd_putsf (“SRF05 non timer”); lcd_gotoxy(0,1);

lcd_putsf (“Range=”); while (1)

{

ukur_jarak();

sprintf (buf,”%d cm”,jarak); lcd_gotoxy (6,1);

lcd_puts (buf); delay_ms(500); }

(26)

BAB 6 MENGUKUR SUHU DENGAN

SENSOR SUHU LM35

Percobaan 6.1 Mengukur Suhu Menggunakan Sensor Suhu LM35 Dan

Menampilkan Hasilnya Di LCD 16 x 2

TUJUAN : Agar praktikan mampu melakukan pengukuran suhu menggunakan sensor suhu LM35

dan menampilkan hasilnya di LCD 16 x 2.

PERALATAN : - Main modul AT89S51 - Trainer Sensor Suhu LM35 - Modul Layar LCD 16 x 2

(27)

Gambar 6.1 Rangkaian Sensor Suhu Dengan LCD 16 x 2 TAHAPAN PERCOBAAN 6.1 :

1. Hubungkan modul LCD 16 x 2 dan Modul Sensor Jarak SRF05 dengan mikrokontroler ATMega16 (seperti pada gambar 5.1 di atas)

2. Ketikkan program di bawah (program dibuat dalam bahasa C) dan lakukan kompilasi (Compiler yang digunakan adalah CodeVision AVR atau sejenisnya).

(28)

4. Setelah tidak lagi mengandung kesalahan sintaks (error), jalankan program menggunakan simulator (bila diperlukan).

5. Download program (HEX file) ke dalam Flash Memory mikrokontroler dan jalankan di modul mikrokontroler. PROGRAM PERCOBAAN 6.1: ratusan equ 30h puluhan equ 31h satuan equ 32h data_adc equ 33h putr equ 70h plcd equ p0 itr bit p3.2 wri bit p3.3 re bit p3.4 lcd_rs bit p1.0 lcd_en bit p1.1 led bit p1.2 bacasuhu bit p1.3 org 000H jmp start ;--- ; TAMPILAN AWAL LCD ;--- start: setb led call initlcd call lcd_atas mov dptr,#txt_1 call lcdstring mov a,#03 call delay3 call lcd_bawah mov dptr,#txt_2 call lcdstring mov a,#03 call delay3 call initlcd

(29)

call lcd_atas mov dptr,#txt_3 call lcdstring mov a,#03 call delay3 call lcd_bawah mov dptr,#txt_4 call lcdstring mov a,#03 call delay3 call initlcd ;--- ; PROGRAM UTAMA ;--- call initlcd call lcd_atas mov dptr,#txt_a call lcdstring call lcd_bawah mov dptr,#txt_b call lcdstring blinkled: mov a,#01 call delay3 clr led mov a,#01 call delay3 setb led jb bacasuhu,blinkled call initlcd ceksuhu: call baca_adc tampilkan: call konversi call lcd_atas mov dptr,#txt_c call lcdstring mov a,#01 call delay3 call display_adc

(30)

mov a,#01 call delay3 jb bacasuhu,ceksuhu call prosessing jmp ceksuhu ;--- ; PROGRAM ADC ;--- baca_adc: clr wri setb wri jb itr,$ clr re mov a,p2 setb re mov data_adc,a ret ;---

; KONVERSI RATUSAN, PULUHAN, SATUAN ;--- konversi: mov b,#100d div ab mov ratusan,a mov a,b mov b,#10d div ab mov puluhan,a mov satuan,b ret ;--- ; TAMPILAN SUHU PADA LCD ;--- display_adc:

mov r1,#0c8h call tulis_inst mov a,ratusan

(31)

add a,#30h mov r1,a call tulis_data mov r1,#0c9h call tulis_inst mov a,puluhan add a,#30h mov r1,a call tulis_data mov r1,#0cah call tulis_inst mov a,satuan add a,#30h mov r1,a call tulis_data mov r1,#0cch call tulis_inst mov r1,#0DFH add a,#30h call tulis_data mov r1,#0cdh call tulis_inst mov r1,#'C' add a,#30h call tulis_data ret ;--- ; INISIALISASI LCD ;--- initlcd:

mov A,#00000001b ; clear display call lcdins

call delay

mov A,#00111000b ; 8 bit - 2 line, 5x7 matrix call lcdins

call delay

mov A,#00001100b ; disply on, cursor off call lcdins

(32)

call delay

mov A,#00000110b ; increment cursor call lcdins

call delay

mov A,#00000001b ; clear display call lcdins

call delay2 ret

;======= Prosedur Kontrol Byte Operasi pada LCD lcdins: mov plcd,a clr lcd_rs jmp lcdout lcddat: mov plcd,a setb lcd_rs lcdout: setb lcd_en call delay clr lcd_en call delay ret

;====== Prosedur Cetek String lcd_atas: mov a,#080h call lcdins ret lcd_bawah: mov a,#0C0h call lcdins ret printstringloop: call lcddat inc dptr lcdstring:

(33)

clr a movc a,@a+dptr jnz printstringloop ret tulis_inst: clr lcd_rs mov p0,r1 setb lcd_en call delay clr lcd_en ret tulis_data: setb lcd_rs mov p0,r1 setb lcd_en call delay clr lcd_en ret ;====== loading prosessing: mov r1,#0c0h balik: call tulis_inst mov r2,#' ' add a,#30h setb lcd_rs mov p0,r2 setb lcd_en call delay clr lcd_en inc r1 cjne r1,#0cfh,balik call lcd_bawah mov dptr,#txt_d call lcdstring mov a,#01 call delay3 mov r1,#0c9h

(34)

lagi: setb led call tulis_inst mov r2,#'.' add a,#30h setb lcd_rs mov p0,r2 setb lcd_en call delay clr lcd_en clr led mov a,#01 call delay3 inc r1 cjne r1,#0cfh,lagi mov r1,#0c0h back: call tulis_inst mov r2,#' ' add a,#30h setb lcd_rs mov p0,r2 setb lcd_en call delay clr lcd_en inc r1 cjne r1,#0cfh,back setb led ret ;--- ; DELAY ;--- delay3: mov putr,a muterz: call delay2 djnz putr,muterz ret delay2: mov r5,#94 muterx:

(35)

mov r6,#250 call delay djnz r6,$ djnz r5,muterx ret delay: mov r3,#08 muter: mov r4,#0255 djnz r4,$ djnz r3,muter ret ;--- ; TABEL DATA ;--- txt_1 : db ' Arif Budi S ',0 txt_2 : db 'Pendeteksi Suhu ',0 txt_3 : db 'Tnk.Elektromedik',0 txt_4 : db 'Jakarta II ',0 txt_a : db ' Cek Suhu Siap ',0 txt_b : db ' Tekan Start ',0 txt_c : db 'Suhu di sini: ',0 txt_d : db 'memproses ',0 end

(36)

DAFTAR PUSTAKA

Usman, Teknik Antar Muka + Pemrograman Mikrokontroler AT89S52, Penerbit Andi, Yogyakarta, 2008

Budiharto, Widodo, Perancangan Sistem Dan Aplikasi Mikrokontroler, Penerbit PT Elex Media Komputindo, Jakarta, 2005

Suhata, Aplikasi Mikrokontroler sebagai Pengendali Peralatan Elektro, Penerbit PT Elex Media Komputindo, Jakarta, 2009

Setiawan, Sulhan, Mudah dan Menyenangkan Belajar Mikrokontroler, Penerbit Andi, Yogyakarta, 2008

http://www.atmel.com, Atmel 8051 Microcontrollers Hardware Manual, Atmel Corp., 2004 http://www.circuitstoday.com

Gambar

Gambar 3.1 Rangkaian sensor infra red dengan mikrokontroler AT89S51   dan display seven segment
Gambar 4.1 (a) Konektor DB9 (b) Koneksi IC MAX232   dengan DB9 dan Mikkrokontroler AT89S51/52
Gambar 5.1 Rangkaian Sensor Jarak Dengan LCD 16 x 2
Gambar 6.1 Rangkaian Sensor Suhu Dengan LCD 16 x 2  TAHAPAN PERCOBAAN 6.1 :

Referensi

Dokumen terkait

Suplai  darah  ke  otak  dapat  berubah  pada  gangguan  fokal  ( thrombus,  emboli ,  perdarahan dan  spasme vaskuler )  atau  oleh  karena  gangguan  umum  (

• Permukiman kota terbentuk dengan adanya castra, yang selalu mempunyai bentuk lingkaran atau kotak hampir persegi, dengan 2 jalan utama yang saling menyilang dan bertemu di

Meskipun demikian, pertumbuhan investasi Sulsel diperkirakan masih akan tumbuh baik sejalan dengan pertumbuhan ekonomi Sulsel yang masih cukup tinggi pada triwulan

Sedangkan meurut ahli lain malaria merupakan suatu penyakit infeksi akut maupun kronik yang disebakan oleh infeksi Plasmodium yang menyerang eritrosit dan

Puji dan syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena berkat limpahan rahmat dan karunia-Nya sehingga skripsi yang berjudul Pengaruh Gugus Hidroksi

Batang dan batang kecil, dicanai panas, dalam gulungan yang putarannya tidak beraturan, dari besi atau baja bukan paduan, dengan ukuran diameter penampang silang

kelompok yang diberi metanil yellow peroral dosis 1050 mg/KgBB/hari. selama 30 hari dengan

Melihat prospek usaha industri perbankan Indonesia tersebut, Perseroan berusaha sebaik-baiknya untuk meraih setiap peluang dan potensi yang tercipta. Perseoan telah