Anda di halaman 1dari 6

LAPORAN PRAKTIKUM

MIKROPOSESOR

Kelas : 2A-1

Nama : Abed Nego Surinanda

NIM Praktikan : 191311001

No. Urut Percobaan : 10

Nama Modul Percobaan : -

Tanggal Pelaksanaan : 7 Desember 2020

Tanggal Pelaporan : 7 Desember 2020

PROGRAM STUDI D3-TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELKETRO
POLITEKNIK NEGERI BANDUNG
2020
Soal :

1. Membuat Program pengontrol suhu ruangan dengan perioda blink 10 ms dan klop
mikronya 1 ms.

Jawaban :

1. Pengontrol Suhu
a. Masalah
Program untuk pengontrol suhu ruangan apakah terlalu panas, terlalu dingin atau pas.
b. Input dan Output
Input : nilai suhu
Output : Lampu LED
c. Program
.include "m8535def.inc"

.def suhu = r17


.def setPoint = r18
.def interface = r21

.equ blower = 0
.equ heater = 1
.equ led = 7

.equ sepuluh_ms = 10000

.macro initStack
ldi xl, low(@0)
out spl, xl
ldi xh, high(@0)
out sph, xh
.endm

.macro ambilSuhu
ldi xl, low(suhuP)
ldi xh, high(suhuP)
ld suhu, x
.endm

.macro nyalakan
set
bld interface, @0
out porta, interface
.endm

.macro matikan
clt
bld interface, @0
out porta, interface
.endm

.dseg
.org 0x60
suhuP:
.db 0

.cseg
.org 0
rjmp reset

reset:
initStack ramend
ldi setPoint, 25

main:
ambilSuhu
cp suhu, setPoint
breq suhuPas
brsh terlaluPanas
brlo terlaluDingin

terlaluPanas:
nyalakan blower
matikan heater
rjmp end

terlaluDingin:
nyalakan heater
matikan blower
rjmp end

suhuPas:
matikan blower
matikan heater
rjmp end

end:
rcall kedip
rjmp main

kedip:
rcall delay_10ms
nyalakan led
matikan led
ret

delay_10ms:
ldi xl, low(sepuluh_ms)
ldi xh, high(sepuluh_ms)
loop:
sbiw x, 2
brne loop
ret

d. Output
Alamat Kode Operasi Mnemonic

000000 c000 rjmp reset

000001 e5af

000002 bfad

000003 e0b2

000004 bfbe initStack ramend

000005 e129 ldi setPoint, 25

000006 e6a0

000007 e0b0

000008 911c ambilSuhu

000009 1712 cp suhu, setPoint


00000a f081 breq suhuPas

00000b f408 brsh terlaluPanas

00000c f038 brlo terlaluDingin

00000d 9468

00000e f950

00000f bb5b nyalakan blower

000010 94e8

000011 f951

000012 bb5b matikan heater

000013 c00e rjmp end

000014 9468

000015 f951

000016 bb5b nyalakan heater

000017 94e8

000018 f950

000019 bb5b matikan blower

00001a c007 rjmp end

00001b 94e8

00001c f950

00001d bb5b matikan blower

00001e 94e8

00001f f951

000020 bb5b matikan heater

000021 c000 rjmp end

000022 d001 rcall kedip

000023 cfe2 rjmp main


000024 d007 rcall delay_10ms

000025 9468

000026 f957

000027 bb5b nyalakan led

000028 94e8

000029 f957

00002a bb5b matikan led

00002b 9508 ret

00002c e1a0 ldi xl, low(sepuluh_ms)

00002d e2b7 ldi xh, high(sepuluh_ms)

00002e 9712 sbiw x, 2

00002f f7f1 brne loop

000030 9508 ret

Anda mungkin juga menyukai