Академический Документы
Профессиональный Документы
Культура Документы
dengan
tersebut
ditentukan
ketentuan
ditentukan
dengan
waktu.
dalam
resep
Biasanya
ukuran
dokter.
jam,
Karena
ukuran
yang
waktu
tentunya
pemberian
obat
mengatur
kecepatan
motor
untuk
menekan
syringe
Perlengkapan
yang
dimaksud
adalah
CPU
(Central
sebagai
register
memori
sementara
berfungsi
tertentu
di
dalam
seperti
CPU.
program
Dari
namanya
menjalankan
bisa
operasi
diketahui
bahwa
aritmatika
dan
ALU
mampu
logika
dengan
sampai
pada
operasi
floating
point
(angka
mengembang).
c. Unit Pengendali
Unit pengendali digunakan menyerempakkan kerja yang
sangat diperlukan oleh setiap prosesor. Sebuah instruksi
diambil dan di dekode, setelah prosesor mengetahui apa
yang dimaksud instruksi maka unit pengendali memberikan
signal pada aksi yang dimaksud.
Mikrokontroller AT89S51 diatas memiliki beberapa fasilitas
yang
dapat
dipakai
oleh
pengguna,
fasilitas
yang
akan
berkurang
karena
instruksi
yang
P
P
P
P
P
P
P
P
2 .0 /A
2 .1 /A
2 .2 /A
2 .3 /A
2 .4 /A
2 .5 /A
2 .6 /A
2 .7 /A
8
9
10
11
12
13
14
15
P
P
P
P
P
P
P
P
3 .0 /R XD
3 .1 /T XD
3 .2 /IN T0
3 .3 /IN T1
3 .4 /T 0
3 .5 /T 1
3 .6 /W R
3 .7 /R D
A L E /P R O G
PSEN
P
P
P
P
P
P
P
P
0 .0 /A
0 .1 /A
0 .2 /A
0 .3 /A
0 .4 /A
0 .5 /A
0 .6 /A
0 .7 /A
P
P
P
P
P
P
P
P
D
D
D
D
D
D
D
D
0
1
2
3
4
5
6
7
1 .0
1 .1
1 .2
1 .3
1 .4
1 .5
1 .6
1 .7
XTA L1
XTA L2
E A /V P P
R ST
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
19
18
31
9
AT89S51
Symbo
Level
Keterangan
.
1
l
Vss
Dihubungkan ke 0 V (Ground)
Dihubungkan dengan tegangan supply
Vcc
Vee
tingkat
kontras LCD.
Bernilai logika 0 untuk input instruksi
RS
H/L
dan bernilai logika 1 untuk input data.
Bernilai logika 0 untuk proses write
R/W
H/L
7
8
9
10
11
12
13
14
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
H/L
H/L
H/L
H/L
H/L
H/L
H/L
H/L
logika 0.
Pin data D0
Pin data D1
Pin data D2
Pin data D3
Pin data D4
Pin data D5
Pin data D6
Pin data D7
Back Light pada LCD ini dihubungkan
15
V+BL
16
V-BL
dengan ground
R/W
DB7
DB6 DB5
Display
Clear
DB4
0
membersihkan
DB3
DB2
DB1
DB0
semua
tampilan
dan
2. Cursor Home.
RS
R/W
DB7
0
0
0
* : invalid bit
DB6 DB5
0
DB4
0
DB3
DB2
DB1
DB0
semula.
Isi
R/W
DB7
DB6 DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
0
0
0
0
1
I/D
S
Entry Mode Set diset untuk menunjukkan perpindahan
R/W
DB7
DB6 DB5
DB4
DB3
DB2
DB1
DB0
0
10
Cursor
B = 1 (blinking)
R/W
DB7
DB6 DB5
DB4
DB3
DB2
DB1
S/C
R/L
DB0
0
0
0
* : invalid bit
R/L
Operasi
0
0
1
1
0
1
0
1
10
11
6. Function Set.
RS
R/W
DB7
DB6 DB5
DB4
DB3
DB2
DB1
DB0
0
0
0
* : invalid bit
DL
82
C
83
C
84
C
85
C
86
C
87
C
88
C
89
C
8a
C
8b
C
11
8c
Cc
8d
C
8e
C
8f
Cf
12
Real Time Clock merupakan suatu chip (IC) yang memiliki fungsi
sebagai penunjuk waktu. RTC DS 1307 memiliki register yg
dapat menunjukkan detik, menit, jam, tanggal, bulan dan tahun.
RTC ini terdiri dari 56 byte untuk media penyimpanan data
berupa nonvolative SRAM.
Karakteristik dari IC RTC DS1307 adalah sebagai berikut :
o
Clock/calendar
menghasilkan
waktu
dari
detik,
otomatis
untuk
Telah
mempunyai
kemampuan
12
13
pembacaan
waktu
adalah
dengan
membaca
13
14
14
15
Motor
adalah
suatu
mesin
listrik
yang
mempunyai
yang
IC L293D
Merupakan IC driver motor DC dimana fungsi pada
rangkaian ini adalah sebagai control motor. Dengan cara kerja
seperti pada tabel dibawah ini:
Tabel Cara kerja motor
Pin Enable
Logika 1
Logika 1
Logika 1
Input
Pin Input1
Logika 1
Logika 0
Logika 0
Fungsi
Pin
Input
2
Logika 0
Logika 1
Logika 0
15
16
16
17
SETTING
VOLUME
SETTING
WAKTU
LCD CHARACTER
RTC DS 1307
BUZZER
MIKRO
KONTROLLER
AT89s51
LIMIT
SWITCH
17
DRIVER
MOTOR
MOTOR DC
OPTOCOUPLER
18
yang
kedua
dan
18
ketiga
sama
dengan
proses
19
pertama.Paada saat
N
NO O
B
E
GI
N
SET
TIN
G
VO
B
SET
LU
TIN
ME
G
WA
KTU
TIME TAMPIL
R
VOLUME
JALA (MILILITER)
N
WA
KT
U
VOLUME
Y
SES
BUZ
E
SESUAI
UAI
ZER
S
SESUAI
AK
MOTOR
TIF
YES
DC
JALAN
19 END
B
20
Pesawat
dihidupkan
dengan
menekan
tombol
ON,
Kemudian
mengambil
data
dari
RTC
dan
telah
tercapai
maka
buzzer
akan
berbunyi
yang
dan
Hasil Pengukuran
Pengukuran pada alat ini dilakukan pada hasil keluaran
obat dalam ml yang diukur dari spet oleh rangkaian optocoupler
20
21
mikrokontroller
akan
menjalankan
motor
motor
tadi
disensor
aleh
rangkaian
21
22
motor,
outputan
22
dari
optocoupler
masuk
ke
23
mikrokontroller
dan
dikonversikan
menjadi
mililiter.setelah
pembacaan
waktu
adalah
dengan
membaca
23
24
serial dengan pin 5(SDA) pada IC ini. SDA merupakan pin pada
IC ini yang digunakan untuk mengirimkan maupun menerima
data menuju mikrokontroller. Dimana untuk sinkronisasi clock
menggunakan pin 6 (SCL).
Di
bawah
ini
adalah
software
untuk
menjalankan
rangkaian RTC :
;
THIS SUB READS THE CLOCK AND WRITES IT TO THE SCRATCH PAD
MEMORY ;
;
READ_CLOCK:
READ_AGAIN:
MOV R1,#28h ; START OF CLOCK REG IN SCRATCHPAD
MOV BYTECOUNT,#00H ; COUNTER UP TO 8 BYTES FOR CLOCK
CLR LASTREAD ; FLAG TO CHECK FOR LAST READ
LCALL SEND_START ; SEND START CONDITION
MOV A,#DS1307W ; SET POINTER TO REG 00H ON DS1307
LCALL SEND_BYTE
MOV A,#00H
LCALL SEND_BYTE
LCALL SEND_mtr_stop ; SEND mtr_stop CONDITION
LCALL SEND_START ; SEND START CONDITION
24
25
25
26
SEND_START: ;
SETB _2W_BUSY ; INDICATE THAT 2WIRE OPERATION IN PROGRESS
CLR ACK ; CLEAR STATUS FLAGS
CLR BUS_FAULT
JNB SCL,FAULT ; CHECK FOR BUS CLEAR
JNB SDA,FAULT ; BEGIN START CONDITION
SETB SDA ;
LCALL SCL_HIGH ; SDA
CLR SDA
LCALL DELAY ; SCL ^START CONDITION
CLR SCL ;
RET
FAULT:
SETB BUS_FAULT ; SET FAULT STATUS
RET ; AND RETURN
;
26
27
SEND_mtr_stop:
CLR SDA ; SDA
LCALL SCL_HIGH ;
SETB SDA ; SCL ^mtr_stop CONDITION
CLR _2W_BUSY
RET ;
SEND_BYTE:
MOV BITCOUNT,#08H ; SET COUNTER FOR 8 BITS
SB_LOOP:
JNB ACC.7,NOTONE ; CHECK TO SEE IF BIT 7 OF ACC IS A 1
SETB SDA ; SET SDA HIGH (1)
JMP ONE
NOTONE:
CLR SDA ; CLR SDA LOW (0)
ONE:
LCALL SCL_HIGH ; TRANSITION SCL LOWTOHIGH
RL A ; ROTATE ACC LEFT ONE BIT
27
28
READ_BYTE:
MOV BITCOUNT,#008H ; SET COUNTER FOR 8 BITS OF DATA
MOV A,#00H ;
SETB SDA ; SET SDA HIGH TO ENSURE LINE FREE
READ_BITS:
LCALL SCL_HIGH ; TRANSITION SCL LOWTOHIGH
MOV C,SDA ; MOVE DATA BIT INTO CARRY BIT \
28
29
SCL_HIGH:
SETB SCL ; SET SCL HIGH
JNB SCL,$ ; LOOP UNTIL STRONG 1 ON SCL
RET
;
29
30
DELAY:
NOP ; DELAY FOR BUS TIMING
RET
;
DELAY_4:
NOP ; DELAY FOR BUS TIMING
NOP
NOP
NOP
RET
PENJELASAN PROGRAM
Mikrokontroller mengambil data dari RTc menggunakan
komunikasi data secara serial. Secara serial disini berarti
pengiriman hanya menggunakan 2 jalur data saja. Dua
jalur data ini masuk pada pin scl dan sda pada RTc. Pin scl pada
rtc digunakan untuk sincronisasi clock dan pin sda digunakan
untuk jalur data yang akan dikirim. Caranya adalah mikro akan
30
31
ack,
membangkitkan
Ack,
membangkitan
Ack,
menerima
data
menerima
menerima
dari
data
data
dari
menit,
mikro
jam,
mkro
tanggal
mikro
mem,bangkitkan
Ack,
menerima
data
bulan,
mkro
membangkitkan
Ack,
menerima
data
tahun,
mkro
6.II
31
32
clr buzz
nop
ret
buzz_OFF:
setb buzz
nop
ret
PENJELASAN PROGRAM
Mikro memberikan logika 0 pada P3.0 maka buzzer akan
aktif, kemudian mikro akan member logika 1 pasda P3.0
sehingga buzzer akan mati.
32
33
motor
sendiri
terdapat
kipas
motor
sebagai
Input
Pin Input1
Logika 1
Logika 1
Logika 1
Logika 1
Logika 0
Logika 0
Fungsi
Pin
Input
2
Logika 0
Logika 1
Logika 0
33
34
setb enM
nop
setb DLM
nop
clr DRM
nop
ret
mtr_back :
setb enM
nop
clr DLM
nop
setb DRM
nop
ret
mtr_stop :
setb enM
nop
clr DLM
nop
clr DRM
nop
ret
Counter_ON:
Setb TR1
ret
Counter_OFF:
Clr TR1
34
35
Ret
35
36
call mtr_maju
call counter_on
call counter
ljmp proses
counter: mov a,th1
cjne a,setvol,counter_1
call mtr_stop
call counter_off
mov th1,#0
mov tl1,#0
ret
limit:
jb lmt,counter_2
nop
call mtr_stop
ljmp error
counter_1:
sjmp limit
counter_2:
mov b,#9
div ab
call conv
mov r1,#0ceh
call write_inst
mov r1,sat
call write_data
mov r1,#0cdh
call write_inst
36
37
mov r1,pul
call write_data
sjmp counter
error:
call display_clear
error1:
call display_off
call tls_error
call display_on
call lwkt
sjmp error1
PENJELASAN PROGRAM
Komunikasi
data
serial
pada
mikrokontroller
37