LAMPIRAN-LAMPIRAN
A.
LISTING PROGRAM PENGONTROLAN AC
MOBIL BERDASARKAN KEMIRINGAN JALAN
(TANJAKAN)
B.GAMBAR RANGKAIAN PENGONTROLAN AC
MOBIL BERDASARKAN KEMIRINGAN JALAN
(TANJAKAN)
C.
DATA SHEET MIKROKONTROLER (AT89S52)
D.
DATA SHEET ADC0809
EnLcd bit p1.1 ; program enable lcd di port 1.1 swap a ; menukarkan isi nibllbe bawah dengan nibble atas.
mov dtlcd,a ; pindahkan data akumulator ke data lcd Call Writedt ; panggil label write data
mov a,DMrg ; pindahkan data dari label datamiring ke akumulator anl a,#0fh ; meng-and kan isi alamat data=0fh dengan isi akumulator orl a,#030h; meng-or ka nisi alamat data=030h dengan isi akumulator mov dtlcd,a ; pindahkan data akumulator ke data lcd
Call Writedt ; panggil label write data (tulis data kemiringan) Call RdTmbl ; panggil label read tombol
jb ktrlmon,loop ;if ktrlmon (kontrol monitor)=1=manual then loop(no action) Call CBatasOvr ; panggil label cek batas over
jmp loop ; loncat ke loop
;--- RdTmbl: setb BKtrlMon ; menset isi alamat bit blowerkontrolmonitor =1
jb BKtrlMon,NopTbl1 ; jika BwKntrlMon=1= Nopresstombl1 jbc ktrlmon,setKtrl ; jika kntrlmon =1 diubah=0
clr KAmanBlow ; kamanb(kontrolautomanualblower)low=0=blower manual ret ; kembali ke program pemanggil
call writedt ; panggil writedata mov dtlcd,#'-' ; isi label datalcd=’-‘ call writedt ; panggil writedata
setb KAmanBlow ; menset isi alamat bit KAmanBlow=1=blower auto ret ; kembali ke program pemanggil
Noptbl1: setb BAmanBlow ; menset isi alamat BAmanBlow=1
jb BAmanBlow,NopTbl2 ; jika BAmanBlow=1=Nopresstombol2 jbc KAmanBlow,setmanblw ;jika KAmanBlow=1 diubah=0
cjne a,08h,Beda1 ; apakah akumulator=08h jika sama proses lanjutkan tapi jika tidak loncat kelabelBeda1 D1LbhBsr: cjne a,09h,Beda2 ; apakah akumulator=09h jika sama proses lanjutkan tapi jika tidak loncat ke labelBeda2 D2LbhBsr: cjne a,0ah,Beda3 ; apakah akumulator=0ah jika sama proses lanjutkan tapi jika tidak loncat ke labelBeda3 D3LbhBsr: mov DMrg,#040h; isi label DataMiring=040h
jmp ExtRdMrg ; loncat ke exitreadmiring
beda3: jc D3LbhBsr ; bila sisa perbandingan=1loncat ke label D3LbhBsr, bila=0 proses dilanjutkan
ceksuhu: setb komprac ; menset isi alamat bit komprac=1 (aktif) mov a,dsuhu ; pindahkan data dari label data suhu ke akumulator
cjne a,#028,TdkSm28 ; jika nilai a tidak 028 loncat ke TdkSm28
KrgDr31: setb blow2 ; menset isis alamat bit blower2=1 (aktif) clr blow1 ; blow1=0
; blower med suhu=28 <31 ret
tdksm28: jnc lbhdr28 ; bila sisa perbandingan=0 loncat ke label lbhdr28,bila=1 proses dilanjutkan
clr blow2 ; blow2=0
setb blow1 ; menset isi alamat bit blower1=1 (aktif) ; blower slow suhu<28
ret
Lbhdr28: cjne a,#031,TdkSm31 ; jika nilai a 031 loncat ke TdkSm31
Lbhdr31: clr bLow1 ; blow1=0
clr bLow2 ; blow2=0
; blower high suhu=31 ret
EConv: mov @r0,a ; pindahkan data register a ke r0
ret ; kembali ke program pemanggil TdkSm9: jc EConv ; bila sisa perbandingan=1 loncat ke label EndConversi, bila=0 proses dilanjutkan
jmp NFinis ; loncat ke Notfinis
;--- IniTLCD: Mov DtLcd,#038H ; isi datalcd=038h
; Function Set
Call WriteIR ; panggil label writeInstruksi Mov DtLcd,#08h ; isi datalcd=08h
; disp Off
Call WriteIR ; panggil label writeInstruksi Mov DtLcd,#01 ; isi datalcd=01
; Disp CLear
Call WriteLn ; panggil writeline
djnz r1,nextkarmem ; jika r1-1=0 proses dilanjutkan, jika belum 0 loncat ke label
nextkaraktermemori
ret ; kembali ke program pemanggil ;--- ;Tuliskan data ke baris 1
WriteLn: Call WriteIR ; panggil writeInstruksi mov r0,#016 ; isi r0=016
mov r1,#0 ; isi r1=0
nextdtakar: mov a,r1 ; isi akumulator=r1
Movc a,@a+dptr ; setiap penjumlahan isi data dptr dengan isi akumulator disimpan ke akumulator
mov dtlcd,a ; isi data lcd=akumulator Call WriteDt ; panggil writedata
inc r1 ; r1=r1+1
djnz r0,ndtkar ; jika r0-1=0 proses dilanjutkan, jika belum 0 loncat ke label
ret ; kembali ke program pemanggil
Wdly1ms: jnb tf0,WDly1ms ; tf0-1=0 proses dilanjutkan, jika blm loncat ke label WriteDly1ms
clr tf0 ; tf0=0
clr tr0 ; tr0=0
belum 0 loncat ke label Delay50Ms ret ;kembali ke program pemanggil
Nm: Db ' Hi, C.Teddy.P ' Nim: Db ' 01.50.0017 ' TSh: Db '-Ktrl-Suhu:000 C' TMrg: Db 'Kemiringan: ' TBlowA: Db 'Blower Set Auto ' TBlowM: Db 'Blower Manual ' Hapus: Db ' '
Title: