- LM35 (Sensor Suhu)
- Transistor 2N2222
- IC 74LS138
- IC 74LS139
- IC 74LS245
- IC 74LS373
- RESISTOR
- RAM 6116
- MOTOR
- PPI 8255
- ROM 27128
- ADC0804
- CAPASITOR
- DIODE-ZEN
- KEYPAD-PHONE
1. GND : catu daya 0Vdc
2. VCC : catu daya positif
3. Constrate : untuk kontras tulisan pada LCD
4. RS atau Register Select :
· High : untuk mengirim data
· Low : untuk mengirim instruksi
5. R/W atau Read/Write
· High : mengirim data
· Low : mengirim instruksi
· Disambungkan dengan LOW untuk pengiriman data ke layar
6. E (enable) : untuk mengontrol ke LCD ketika bernilai LOW, LCD tidak dapat diakses
7. D0 – D7 = Data Bus 0 – 7
8. Backlight + : disambungkan ke VCC untuk menyalakan lampu latar
9. Backlight – : disambungkan ke GND untuk menyalakan lampu latar
Tabel Konfigurasi LCD LM016L
LCD (Liquid Crystal Display) atau display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD merupakan lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertical depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.13 Bentuk fisik dari LCD 20x4 ditunjukkan pada gambar di bawah
Fungsi Pin LCD (Liquid Cristal Display)
Pada LCD terdiri dari pin- pin sebagai berikut:
~ DB0 – DB7 adalah jalur data (data bus) yang berfungsi sebagai jalur komunikasi untuk mengirimkan dan menerima data atau instruksi dari mikrokontroler ke modul LCD.
~ RS adalah pin yang berfungsi sebagai selektor register (register sellect) yaitu dengan memberikan logika low (0) sebagai register perintah dan logika high (1) sebagai register data.
~ R/W adalah pin yang berfungsi untuk menentukan mode baca atau tulis dari data yang terdapat pada DB0 – DB7 yaitu dengan memberikan logika low (0) untuk fungsi read dan logika high (1) untuk mode write.
~ Enable (E), berfungsi sebagai Enable Clock LCD, logika 1 setiap kali pengiriman atau pembacaan data.
b) LM35 (Sensor Suhu)
LM 35 adalah sensor temperatur
sederhana yang banyak digunakan untuk aplikasi
kontrol suhu karena selain harganya cukup murah, linearitasnya cukup
bagus. LM35 tidak membutuhkan kalibrasi
eksternal yang menyediakan akurasi
±¼°C pada temperatur ruangan dan
±¾°C pada kisaran -55 to +150°C. LM35 dioperasikan pada -55° hingga +150°C,
sedangkan LM35C pada -40°C hingga +110°C, dan LM35D pada kisaran
0-100°C. Sensor LM35 bekerja secara linear dimana kenaikan tegangan sebesar
10mV untuk setiap kenaikan suhu 1°C
(300mV pada 30 °C). Untuk menggunakan LM35, cukup menhubungkan keluaran dari
pin Vout untuk dapat dihubungkan langsung ke ADC (misal ADC 0804 8 bit).
IC 74138 adalah sebuah aplikasi demultiplexer. Demultiplexer adalah perangkat elektronik yang berfungsi untuk memilih salah satu data dari banyak data menggunakan suatu data input. Demultiplexer sering disebut sebagai perangkat dengan sedikit input dan banyak output ic ini cocok untuk pengguna mikrokontroler yang membutuhkan output.
Demultiplexer
74LS138 berfungsi untuk memilih salah satu dari 8 jalur dengan memberikan data
BCD 3 bit pada jalur masukan A0 – A2. Demultiplexer 74LS138 memiliki 8 jalur
keluaran Q0 – Q7, 3 jalur masukan A0 – A2 dan 3 jalur kontrol expansi E1 – E3.
IC TTL 74LS245 yang menurut data Sheet adalah ‘ Octal Bus
Tranceiver, 3 State’. Yaitu IC TTL yang dapat digunakan sebagai masukan dan
keluaran pada kaki yang sama, tiga kondisi tersebut adalah: Masukan, Keluaran,
Pengunci, dan tidak membalikkan keadaan logika pada input ke output.
Cara Kerja
Rangkaian :
IC TTL
74LS245 dapat menangani 8 buah jalur masukan maupun keluaran, dengan dikontrol
oleh kaki DIR dan kaki E. Jika kaki 1 (DIR) IC diberi Logika 1 dan kaki 19 (E)
IC diberi Logika 0, maka kaki 2-9 (A) IC menjadi Input dan kaki 11-18 (B)
menjadi Output. Sebaliknya jika kaki 1 (DIR) IC diberi logika 0 dan kaki 19 (E)
IC juga diberi logika 0, maka kaki 11-18 (B) menjadi Input dan kaki 2-9 (A) IC
menjadi output. Dan jika kaki 1 dan 19 IC diberi logika 1 atau kaki 1 IC diberi
logika 0 dan kaki 19 IC diberi logika 1 (DIR=1 dan E=1 atau DIR=0 dan E=1),
maka IC menjadi kondisi impedansi tinggi atau logika tidak diketahui sama
sekali atau data terisolasi.
e) IC 74LS373
Adapun konfigurasi pin pada 74LS373 adalah sebagai berikut:
a. D0 – D7 adalah
data input (Dn).
b. LE adalah input
Latch Enable yang aktif ketika berlogika high.
c. OE adalah
input Output Enable yang aktif ketika berlogika low.
d. Q1 – Q7 adalah
data output (Qn).
IC 74LS373 terdiri dari delapan D flip flop yang melaluinya
masukan diberikan ke masing-masing pin IC. Data Flip flop berubah secara asinkron
ketika Latch enable (LE) dalam keadaan High. Seperti yang kita ketahui
pengoperasian flip flop itu masukan apapun ke pin D pada keadaan sekarang akan
diberikan sebagai keluaran pada siklus jam berikutnya. Tetapi ketika Pin
Pengunci Latch ditarik rendah, data akan terkunci sehingga data muncul secara instan
memberikan aksi Latching.
Pin Output Enable juga berperan penting dalam cara kerja IC
74LS373 ini. Saat pin (OE) low input data akan muncul di output, namun saat OE
tinggi maka output akan berada dalam keadaan impedansi tinggi. IC beroperasi
dengan maksimum 5 V dan banyak digunakan di berbagai jenis peralatan
elektronik.
f) RAM 6116
RAM 6116 yang dipakai didalam
sistem minimum mempunyai pin CS (Chip Select) untuk mengaktifkan IC tersebut,
pin OE (Output Enable) sebagai pin sinyal kontrol RD untuk membaca data dan pin
WE (Write Enable) sebagai pin sinyal kontrol WR untuk menulis data seperti
gambar 2. Selain itu, terdapat pin-pin
untuk addresing A0-A10, pin data D0-D7 untuk masukan dan keluaran data 8 bit.
Sisa bus address mulai A11-A19 dipergunakan untuk rangkaian decoding bagi RAM
yang bersangkutan.
g) Resistor
Resistor atau hambatan yaitu salah satu komponen elektronika yang punya nilai hambatan tertentu, dimana hambatan ini akan menghambat arus listrik yang mengalir melaluinya. Sebuah resistor biasanya terbuat dari bahan campuran Carbon. Tapi tidak sedikit juga resistor yang terbuat dari kawat nikrom, sebuah kawat yang punya resistansi yang cukup tinggi dan tahan pada arus kuat. Contohnya, penggunaan kawat nikrom bisa dilihat pada elemen pemanas setrika. Jika elemen pemanas tersebut dibuka, maka ada seutas kawat spiral yang biasa disebut dengan kawat nikrom.
Satuan Resistor yaitu Ohm (Ω) yang merupakan satuan SI buat Resistansi listrik.
Fungsi Resistor
Ada beberapa fungsi dari Resistor yang harus kamu ketahui, yaitu:
~ Fungsi resistor yaitu buat membatasi arus listrik yang mengalir.
~ Fungsi resistor buat aplikasi DC yang membutuhkan keakuratan yang sangat tinggi. Contoh, aplikasi penggunaan resistor ini yaitu DC Measuring equipment, dan reference gulators buat voltage regulator dan decoding Network.
~ Fungsi resistor sebagai standart didalam verifikasi keakuratan dari suatu alat ukur resistive.
~ Fungsi resistor buat pengatur tegangan output pada power supplay.
~ Fungsi resistor buat aplikasi power, karena membutuhkan frekuensi respon yang baik, daya yang tinggi dan nilai yang lebih besar dari pada power wirewound resistor.
~ Fungsi resistor pembagi tegangan.
Karakteristik Resistor
Ada beberapa karakteristik utama pada sebuah resistor, yaitu sebagai berikut:
~ Resistansi terhadap daya listrik yang dapat boros
~ Koefisien suhu, desah listrik, dan induktansi
~ Resistor bersifat resistif
~ Terbuat dari bahan karbon
h) Motor
Motor DC adalah motor listrik yang memerlukan suplai tegangan arus searah pada kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar).
; You may customize this and other start-up
templates;
; The location of this template is c:\emu8086\inc\0_com_template.txtorg
100h
; PROGGRAM9.ASM DIGUNAKAN UNTUK MENAMPILKAN INPUT
KEYPAD
; DAN DATA
SENSOR SUHU KE LCD DAN MENGONTROL SUHU
; Data LCD: Port A
; E
: PC0
; RS :
PC1
; Data ADC : Port B17 s/d Port B10, kontrol PC10,
; PC11 dan PC14
; Data DAC : dari Port A17 s/d Port A10
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG,DS:CODE_SEG,SS:CODE_SEG
ORG 100H
start:
jmp mulai
porta
equ 00h
portb
equ 01h
portc
equ 02h
cw
equ 03h
port1a
equ 10h
port1b
equ 11h
port1c
equ 12h
cw1
equ 13h
DISPCLR
EQU 00000001B
FUNCSET
EQU 00111000B
ENTRMOD
EQU 00000110B
DISPON
EQU 00001100B
awal db
?
kolom db
?
data db
?
data_teks
db ?
data_keypad1
db ?
data_keypad2
db ?
data_keypad3
db ?
ratusan
db ?
puluhan
db ?
satuan db
?
setting
db ?
ADC :
keypad_ke
db ?
status
db ?
data_setting
db ?
dataADC
db ?
dataDAC
db ?
akhir db ?
mulai:
Mov AX,
CS
Mov DS,
AX
Xor AX,
AX
Mov ES,
AX
Mov SS,
AX
Lea SI,
Awal
Lea CX,
Akhir
Mov DI,
SI
Sub CX,
SI
Cld
Rep Movsb
Mov
SP,800h
Xor
AX,AX
Mov
DS,AX
Mov al,82h
;Port A dan Port C = output dan
; Port B = input
mov dx,cw
out
dx,al
mov
al,82h ;Port A dan Port C =
output dan Port B
; = input
mov
dx,cw1
out
dx,al
call
initialisasi_LCD
balik:
call
display_set
call
display_hasil
;-------------------------
;Tekan Tombol ke-1
;--------------------------
tombol1:
mov
al,8Bh
mov
data,al
call
control_out
call
tombol_ditekan
je
tombol1
in
al,dx
and
al,00001111B
call
konversi_keypad_to_bin
mov
data_keypad1,al
mov ah,0
add
ax,30h
mov
data,al
call
data_out
subanta:
call
tombol_dilepas
je
subanta
;-------------------------
;Tekan Tombol ke-2
;--------------------------
Tombol2:
mov
al,8Ch
mov
data,al
call
control_out
call
tombol_ditekan
je
tombol2
in
al,dx
and
al,00001111B
call
konversi_keypad_to_bin
mov
data_keypad2,al
mov
ah,0
add
ax,30h
mov
data,al
call
data_out
subanta2:
call
tombol_dilepas
je
subanta2
jmp
tombol3
baliak_ka_muko:
jmp balik
;-------------------------
;Tekan Tombol ke-3
;--------------------------
tombol3:
mov
al,8Dh
mov
data,al
call
control_out
call
tombol_ditekan
je
tombol3
in
al,dx
and
al,00001111B
call
konversi_keypad_to_bin
mov
data_keypad3,al
mov
ah,0
add
ax,30h
mov
data,al
call
data_out
subanta3:
call
tombol_dilepas
je
subanta3
;----------
;Cek status
;---------
cek:
call
tombol_ditekan
je cek
in al,dx
and
al,00001111B
call
konversi_keypad_to_bin
mov
status,al
subanta4:
call
tombol_dilepas
je subanta4
mov
al,status
cmp
al,32 ; tombol * ditekan?
je
baliak_ka_muko
cmp
al,40 ; tombol # ditekan?
je
tampil
jne cek
tampil:
xor
ax,ax
mov
al,data_keypad1
mov
bl,100
mul bl
mov
ratusan,al
xor
ax,ax
mov
al,data_keypad2
mov bl,10
mul bl
mov
puluhan,al
xor
ax,ax
mov
al,data_keypad3
xor
bx,bx
mov
bl,puluhan
add
ax,bx
xor
bx,bx
mov
bl,ratusan
add
ax,bx
mov
dx,port1a
out
dx,al
mov
data_setting,al
looping:
call
delay
call
read_ADC
call
display_ADC
call ceksuhu
ja looping
call onmotor
call
delay
jmp
looping
;--------------
; on motor
;-------------
Onmotor proc near
Mov
dx,port1a
Mov
al,0ffh
Out
dx,al
ret
onmotor endp
;--------------
; cek suhu
;--------------
Ceksuhu proc near
Mov
al,data_setting
Mov
bl,dataADC
Cmp
al,bl
ret
ceksuhu endp
;---------------
; Test tombol ditekan
;------------
tombol_ditekan proc near
mov
dx,portb
in al,dx
and
al,128
cmp
al,128
ret
tombol_ditekan endp
;------------
;Tes tombol dilepas
;-------------------
tombol_dilepas proc near
mov
dx,portb
in al,dx
and
al,128
cmp al,0
ret
tombol_dilepas endp
konversi_keypad_to_bin proc near
cmp al,1
jne
keypad2
mov al,1
ret
keypad2:
cmp al,2
jne
keypad3
mov al,2
ret
keypad3:
cmp al,3
jne
keypad4
mov al,3
ret
keypad4:
cmp al,4
jne
keypad5
mov al,4
ret
keypad5:
cmp al,5
jne
keypad6
mov al,5
ret
keypad6:
cmp al,6
jne
keypad7
mov al,6
ret
keypad7:
cmp al,7
jne
keypad8
mov al,7
ret
keypad8:
cmp al,8
jne
keypad9
mov al,8
ret
keypad9:
cmp al,9
jne
keypad0
mov al,9
ret
keypad0:
cmp
al,10
jne
keypadb
mov al,0
ret
keypadb:
cmp
al,11
jne
keypadg
mov
al,2ah
ret
keypadg:
cmp
al,12
jne
keluar
mov
al,23h
ret
keluar:
ret
konversi_keypad_to_bin endp
; -------
; Baca ADC
; -------------
read_ADC proc near
mov
dx,port1c
mov al,3
out
dx,al
call delay_lcd
mov al,1
out
dx,al
call delay_lcd
mov al,3
out
dx,al
call delay
mov al,2
out
dx,al
call delay_lcd
mov
dx,port1b
in al,dx
mov
dataADC,al
call
delay_lcd
mov
dx,port1c
mov al,3
out
dx,al
call
delay_lcd
ret
read_ADC endp
;-----------
; Tampil data AD di LCD
;---------------------
display_ADC proc near
xor
ax,ax
mov
al,dataADC
mov
bl,10
mov
satuan,ah
mov ah,0
mov
bl,10
div bl
mov
puluhan,ah
mov
ratusan,al
mov
data,0CAh
call
control_out
xor
ax,ax
mov
al,ratusan
add
ax,30h
mov
data,al
call
data_out
mov
data,0CBh
call
control_out
xor
ax,ax
mov
al,puluhan
add
ax,30h
mov
data,al
call
data_out
mov
data,0CCh
call
control_out
xor
ax,ax
mov
al,satuan
add
ax,30h
mov
data,al
call
data_out
ret
display_ADC endp
;-------------------------
; control
instruction
;-------------------------
; E
: PC0
; RS :
PC1
control_out proc near
mov
dx,portc
mov
al,00000000b ; E = 0, RS = 0
out
dx,al
call
delay_lcd
mov
dx,portc
mov
al,00000001b ; E = 1, RS = 0
out
dx,al
call
delay_lcd
mov
dx,porta
mov
al,data
out
dx,al
call
delay_lcd
mov
dx,portc
mov
al,00000000b ; E = 0, RS = 0
out
dx,al
call
delay_lcd
ret
control_out endp
;-------------------------
; data
instruction
;-------------------------
; E :
PC0
; RS :
PC1
data_out proc near
mov
dx,portc
mov
al,00000010b ; E = 0, RS = 1
out
dx,al
call
delay_lcd
mov
dx,portc
mov
al,00000011b ; E = 1, RS = 1
out
dx,al
call
delay_lcd
mov
dx,porta
mov
al,data
out
dx,al
call
delay_lcd
mov
dx,portc
mov
al,00000010b ; E = 0, RS =
1
out
dx,al
call
delay_lcd
ret
data_out endp
;--------------------
;
inisialisasi LCD
;--------------------
initialisasi_LCD proc near
mov
data,DISPCLR
call
control_out
call
delay_lcd
mov
data,FUNCSET
call
control_out
call
delay_lcd
mov
data,ENTRMOD
call
control_out
call
delay_lcd
mov
data,DISPON
call
control_out
call
delay_lcd
ret
initialisasi_LCD endp
;---------------
; Tulis teks di baris pertama
;-------------------
baris1 proc near
mov
ah,0
mov
al,kolom
add
ax,80h
mov
data,al
call
control_out
mov
al,data_teks
mov
data,al
call
data_out
ret
baris1 endp
;---------------
; Tulis teks di baris ke-2
;-------------------
Baris2 proc near
mov
ah,0
mov
al,kolom
add
ax,0C0h
mov
data,al
call
control_out
mov
al,data_teks
mov
data,al
call
data_out
ret
baris2 endp
;----------
; Ambil data teks baris pertama ke memori LCD
;----------------
display_set proc near
mov
kolom,0
xor
bx,bx
lea
bx,setting
mov
cx,16
lagi1:
mov
dl,[bx]
mov
data_teks,dl
call
baris1
inc bx
inc
kolom
loop
lagi1
ret
display_set endp
;----------
; Ambil data teks baris ke-2 ke memori LCD
;----------------
display_hasil proc near
mov
kolom,0
xor
bx,bx
lea
bx,akhir
mov
cx,16
lagi2:
mov
dl,[bx]
mov
data_teks,dl
call
baris2
inc bx
inc
kolom
loop
lagi2
ret
display_hasil endp
delay_lcd proc near
push cx
mov cx,07fffh
loop $
pop cx
ret
delay_lcd endp
delay proc near
push cx
mov cx,0ffffh
loop $
pop cx
ret
delay endp
ORG 40F0H
DB 0EAH
DW 0100H
DW 0FBF0H
CODE_SEG ENDS
END START
ret
Rangkaian aplikasi dot matriks
ini terdiri dari mikroprosesor 8086 sebagai pengendalinya. Prinsip kerjanya
yaitu awalnya suhu dibaca oleh sensor LM35 setiap 1 celcius tegangan
menghasilkan 10mV. Nilai dari LM35 masuk ke pin Read (aktif low) ADC untuk
diubah nilainya dari analog ke digital (8 bit). Lalu dari ADC masuk ke pin 15
IC 8255(PPI 2) secara parallel ke port B. Dari port B data ditransfer ke ROM
dengan mode Read(aktif low) dan data juga ditransfer ke mikroprosesor 8086 lalu
diolah oleh mikroprosesor 8086. Data dari mikroprosesor melewati IC 74LS373
untuk mengirim alamat ke IC 8255 (PPI 1) melalui port A dan C dalam mode write
untuk menampilkan data di dot matriks. Lalu data dikirim lagi ke mikroprosesor
8086. Selanjutnya data dikirimkan alamatnya untuk menuju ke IC 8255 port A (PPI
2) yang kemudian motor hidup atau mati pada suhu tertentu. Untuk mengaktifkan
apakah data akan dibaca atau ditulis digunakan kombinasi IC 74LS138, pin-pin yang digunakan yaitu Y1, Y2, Y5, Y6, yang berarti apabila 00
= RAM, 01 = PPI 1, 10 = PPI 2, 11 = ROM.
Input IC 74LS138 menggunakan pin 28, 29, 31 pada mikroprosesor 8086.
d) Video Rangkaian
- DS IC 74LS373
- Video
Tidak ada komentar:
Posting Komentar