Sabtu, 30 April 2016

Tugas Mata Kuliah Mikroprosesor dan Antarmuka 
Jurusan Teknik Elektro

Universitas Andalas

DOSEN : DARWISON,MT

oleh
Pedri Yulianto (1210951011)
Mikro Kelas C
Tahun Ajaran : 2015/2016


Referensi:
1. Andrianto, Heri. 2015. " Pemrograman Mikrokontroler AVR ATMega16 Menggunakan Bahasa C (Code Vision AVR) ". Informatika Bandung: Bandung.
2. Barry B Brey, "The Intel Microprocessors 5th edition ". ,Erlangga
3. Darwison, 2010, " Teknik Interface (antarmuka) : Perancangan Hardware dan Simulasi Software     Serta Aplikasinya" , ISBN:978-602-9081-10-7, CV  Ferila, padang
4. Darwison,2007,” Teori,Rancangan,Simulasi dan Aplikasi Mikroprosesor dan Mikrokontroller"

Tugas:

1. Rangkaian interface (Doc dan Rangkaian) dapat didownload disini
2. Program Assembler (doc dan program dapat didownload disini
3. Rangkaian dari buku mikroprosesor intel (jilid 2) rangkaiannya dapat didownload disini
4. Presentasi Mikroprosesor tentang aplikasi led dan swicth bahan (html, rangkaian, dan program) dapat di download disini
5. UTS mikroprosesor bahan dan rangkaiannya dapat di download disini
6. Presentasi Mikrokontroler tentang Raspberry sumber: http://pccontrol.wordpress.com/2014/06/17/pengetahuan-dasar-dan-pemograman-raspberry-pi.
program dan bahan dapat didownload disini
7. UAS tentang "Pembuatan Prototipe Pintu Otomatis Satu Arah Berbasis Mikrokontroler  ATMega 8535 Menggunakan Doble IR" Tugas Akhir Hendra Maryanto program D3 Ilmu Komputer Universitas Sebelas Maret Surakarta 2010. (html, rangkaian, video ) dapat didownload disini

Penjelasan singkatnya dapat dilihat pada postingan sebelumnya. Terima kasih

UAS Mikroprosesor dan Antarmuka Kelas C

Pembuatan Prototipe Pintu Otomatis Satu Arah Berbasis Mikrokontroler  ATMega 8535 Menggunakan Doble IR


referensi : Maryanto, hendra. 2010. Surakarta

PENDAHULUAN
Penggunaan sensor Passive Infra Red (PIR) sebagai sensor dengan mikrokontroler   ATMega  8535   sebagai   pemroses   dan  motor  dc   sebagai penggerak   dalam   aplikasi   sistem   pintu   otomatis,  aplikasi   ini  mampu membuka dan menutup pintu secara otomatis.

  • Mikrokontroler AVR ATMega8535 memiliki fitur sebagai berikut:

1.  System mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal
     16 MHz.
2.  Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM
     sebesar 512 byte.
3.  ADC internal dengan fidelitas 10 bit sebanyak 8 saluran.
4.  Portal  komunikasi  serial  ( USART )  dengan  kecepatan  maksimal  2,5
     Mbps.
5.  Enam pilihan mode sleep untuk menghemat penggunaan daya listrik.

  • PIR  atau  Passive  Infra  Red  merupakan  sebuah  sensor  yang  biasa digunakan  untuk  mendeteksi  keberadaan  manusia.  Proses  kerja  sensor  ini dilakukan  dengan  mendeteksi  adanya  radiasi  panas  tubuh  manusia  yang diubah menjadi perubahan tegangan. Sensor PIR ( Passive Infra Red ) dapat mendeteksi sampai dengan jarak  5m.

  • Motor DC adalah suatu motor penggerak yang dikendalikan dengan arus searah ( DC ). Bagian motor DC yang paling penting adalah rotor dan stator, yang termasuk statoradalah badan motor, sikat-sikar dan inti kutub magnet.Bagian rotor adalah  bagian  yang  berputar  dari  motor  DC,  yang  termasuk rotorialah lilitan jangkar, jangkar, komutator, tali, isolator, poros,bantalan dan kipas. ( Heryanto dan Adi, 2008 )
Rangkaian prototipenya pada software proteus



1. Sensor PIR 1 dan sensor PIR 2 mendeteksi suhu tubuh manusia  yang akan  memberikan  input  ke  mikrokontroler.  Salah  satu  kaki  yang
terdapat  pada  PIR  di  hubungkan  ke  Port  pada  mikrokontroler,  yaitu
PORTC.6 dan PORTC.7

2. Pendeteksian hambatan yang terjadi pada sensor PIR akan dibaca
oleh rangkaian  mikrokontroler  yang  nantinya  akan disambungkan
pada  rangkaian driver motor  DC,  yaitu  melalui  PORTB.0,  PORTB.1,
PORTB.2, PORTB.3.

3. IC  L293D sebagai drivermotor DC memberi masukan ke motor DC
sehingga motor DC dapat berputar.

Rangkaian lengkapnya dapat didownload disini dan disini
Presentasi materi lengkap dapat didownload disini
Video lengkapnya dapat didownload disini

Jumat, 29 April 2016

Tugas Mikroprosesor 8086 Aplikasi LED dan Swicth UTS No. 1

Bahan Presentasi lengkap dapat didownload (PPT) disini
Rangkaian lengkap dapat didownload disini
Program dapat didownload disini

TUGAS MIKROKONTROLER











TUGAS 2 MIKROPROSESOR & ANTARMUKA

Tugas 2
Mikroprosesor dan Antarmuka

Dosen
Darwison, M.T.

Oleh:
Kelompok 14

Pedri Yulianto (1210951011)
Nella Wahyuni (1210951015)
  Dewi Wardianti (1201951014)


Jurusan Teknik Elektro
Fakultas Teknik
Universitas Andalas
Padang
2016


Rangkaian Interface

Gambar 1. Rangkaian Interface PPI 8255


Gambar 2. Rangkaian Penguat Mikrofon dan Filter


Gambar 3. Rangkaian ADC 0804

Gambar 4. Rangkaian DAC 0808

Gambar Gabungan Rangkaian

Bahan lengkap dapat di download disini

TUGAS 1 MIKROPROSESOR & ANTARMUKA

Tugas 1
Mikroprosesor dan Antarmuka

Dosen
Darwison, M.T.

Oleh:
Kelompok 14

Pedri Yulianto (1210951011)
Nella Wahyuni (1210951015)
  Dewi Wardianti (1201951014)




Jurusan Teknik Elektro
Fakultas Teknik
Universitas Andalas
Padang
2016


Program Menampilkan Angka 0-9

;Program menampilkan angka 0 sampai 9 ke layar monitor
    mov cx,0Ah  ;counter sebanyak 10 kali (banyaknya angka)
    mov dl,30h  ;kode ASCII dari angka 0
 ulangi:
    mov AH,02h
    int 21h     ;mencetak kode ASCII karakter di DL ke layar
    inc dl      ;dl+1=karakter berikutnya
    loop ulangi ;ulangi sampai angka 9 karena CX=Ah(10 kali)
    mov AH,4CH
    INT 21h     ;hentikan program

Gambar 1. Menampilkan Angka 0-9

Program Menampilkan Angka 9-0

;Program Menampilkan Angka 9-0 ke layar monitor
      MOV CX,0Ah  ;counter sebanyak 10x (banyaknya angka)
      MOV DL,39h  ;kode ASCII dari angka 9
ulangi:
      MOV AH,02h
      INT 21h           ;mencetak kode ASCII karakter DL ke layar
      DEC DL            ;DL -1= karakter berikutnya
      LOOP ulangi ;ulangi sampai angka 9 karena CX=Ah(10x looping)
      MOV AH,4CH
      INT 21h           ; Hentikan Program

Gambar 2. Menampilkan Angka 9-0

Program Perkalian 2

;Program perkalian 2
      MOV CX,4h   ;counter sebanyak 4x (banyaknya angka)
      MOV BH,1h   ;base register untuk ascii angka
ulangi:
      MOV AH,02h
      MOV DL,0DH  ;membuat baris baru
      INT 21h     ;cetak angka
      MOV DL,0AH  ;membuat kursor baru
      INT 21h
     
      MOV DL,BH   ;Base register untuk langsung menulis ke memori
      ADD DL,30H  ;BH+30H untuk ascii angka
      MOV AH,02H
      INT 21H     ;cetak angka

      MOV DL,2AH  ;cetak '*'
      INT 21H    
      MOV DL,32H  ;cetak '2'
      INT 21h
      MOV DL,3DH  ;cetak '='
      INT 21h

      MOV AL,02H
      MUL Bh     ;Mengalikan nilai register BL dengan nilai register AL dan disimpan di register AX
      MOV DL,AL
      ADD DL,30H ;BH+30H untuk ascii angka
      MOV AH,02H
      INT 21H
      MOV DL,0DH ;membuat baris baru
      INT 21H
      MOV DL,0AH ;membuat kursor baru
      INT 21h

      INC BH     ;BH+1, angka ditambahkan 1
     
      LOOP ulangi ;ulangi sampai cx=0

      MOV AH,4CH
      INT 21H  

Gambar 3. Perkalian 2

Program Pembagian 1

;Program pembagian 1
      MOV CX,0009h      ;counter sebanyak 9x (banyaknya angka)
      MOV BH,01h  ;base register untuk ascii angka
ulangi:
      MOV AH,02h
      MOV DL,0DH  ;membuat baris baru
      INT 21h     ;cetak angka
     
      MOV DL,0AH  ;membuat kursor baru
      INT 21h
     
      MOV DL,BH   ;Base register untuk langsung menulis ke memori
      ADD DL,30H  ;BH+30H untuk ascii angka
      MOV AH,02H
      INT 21H     ;cetak angka

      MOV DL,3AH  ;cetak ':'
      INT 21H    
      MOV DL,31H  ;cetak '1'
      INT 21h
      MOV DL,3DH  ;cetak '='
      INT 21h

      MOV   AL,BH
      XOR   AH,AH ;Buat nol AH
     
      MOV BL,01H
      DIV BL     ;Membagikan nilai register BL dengan nilai register AL dan disimpan di register AX

      MOV DL,AL
      ADD DL,30H ;BH+30H untuk ascii angka
      MOV AH,02H
      INT 21H
     
      MOV DL,0DH ;membuat baris baru
      INT 21H
      MOV DL,0AH ;membuat kursor baru
      INT 21h

      INC BH     ;BH+1, angka ditambahkan 1
     
      LOOP ulangi ;ulangi sampai cx=0

      MOV AH,4CH
      INT 21H  

Gambar 4. Pembagian 1

Program JUMP ke label ulangi

;Program JUMP ke label ulangi      
      MOV CX,1Ah  ;counter sebanyak 26x (banyaknya angka)
      MOV DL,5Ah  ;kode ASCII dari Huruf Z
ulangi1:         
      MOV AH,02H
      INT 21h           ;mencetak kode ASCII karakter DL ke layar
      DEC DL            ;DL -1= karakter berikutnya
      LOOP ulangi1      ;ulangi sampai huruf A karena CX=19h(25x looping)
     
      MOV AH,4CH
      INT 21h

Gambar 5. Program JUMP ke label ulangi

Program Operasi Stack

; Program Operasi Stack
      MOV   AH,02H
      MOV   CX,1AH      ;counter sebanyak 25x (banyaknya angka)
      MOV   DL,41H      ;kode ASCII dari Huruf A
Lagi: INT   21H
      PUSH  DX    ;menggantikan fungsi MOV BL,DL
      MOV   DL,20H      ;memberikan spasi
      INT   21H
      POP   DX    ;menggantikan fungsi MOV BL,DL
      INC   DL    ;DL +1= karakter berikutnya
      LOOP  Lagi  ;ulangi sampai huruf Z karena CX=1Ah(26x looping)
      MOV   AH,4CH
      INT 21H

Gambar 6. Program Operasi Stack

Program Intruksi logika OR

;Program Intruksi logika OR
MOV DL,5AH  ;kode ASCII dari Huruf Z
MOV AH,02H
INT 21H     ;mencetak kode ASCII karakter DL ke layar

OR DL,20H   ;proses logika OR
INT 21H     ;mencetak kode ASCII karakter DL ke layar

MOV AH,4CH
INT 21H

Gambar 7. Program Instruksi Logika OR

Program Input int 21H, service 09H

;Input int 21H, service 09H
      JMP MULAI
;Disini data dimulai

KATA db 'Kata yang dicetak',13,10
       db 'dengan Interrupt 21H service 09H',13,10
       db '$'
;Disini Program dimulai
mulai:
      MOV   DX,OFFSET KATA    ;Mengisi DX dengan OFFSET DATA
      MOV   AH,09H                ;Mengisi AH dengan Service Number
      INT   21H
      MOV   AH,4CH
      INT   21H                 ;Pemberhentian Program

Gambar 8. Input int 21H, service 09H

Program Input int 21H, service 01H

;Input int 21H, service 01H
START:      JMP   MULAI
Tanya       db 'Jawablah Pertanyaan Di Bawah Ini !',13,10
      db 'Apakah Anda seorang Laki - Laki ?(Y/T)',13,10    
      db 'Jawaban Anda :$'
Jawab1      db 13,10,'Anda Adalah Seorang Mahasiswa ',13,10,'$'
Jawab2      db 13,10,'Anda Adalah Seorang Mahasiswi ',13,10,'$'
MULAI:      MOV   AH,09H            ; SERVICE NUMBER = 09h
      MOV   DX,OFFSET Tanya   ; NENCETAK TANYA.
      INT   21H
ULANG:      MOV   AH,01H            ; SERVICE NUMBER = 01H
      INT   21H
      CMP   AL,'Y'            ; APAKAH JAWABAN 'y'
      JE    Mahasiswa         ; JIKA SAMA LOMPAT KE LAKI
      CMP   AL,'y'            ; APAKAH JAWABAN 'y'
      JE  Mahasiswa           ; JIKA SAMA LOMPAT KE LAKI
      CMP   AL,'T'            ; APAKAH JAWABAN 'T'
      JE    Mahasiswi         ; JIKA SAMA LOMPAT KE WANITA
      CMP   AL,'t'            ; APAKAH JAWABAN 't'
      JNE   ULANG       ; JIKA TIDAK SAMA LOMPAT ULANG
Mahasiswi: MOV    AH,09H
             MOV DX,OFFSET JAWAB2  ; MENCETAK JAWAB2
             INT 21H
             JMP SELESAI           ; LOMPAT KE SELESAI
Mahasiswa: MOV    AH,09H
             MOV DX,OFFSET Jawab1  ; MENCETAK JAWAB1
             INT 21H
SELESAI: MOV      AH,4CH
       INT 21H               ;  AKHIR PR0GRAM 

Gambar 9. Input int 21H, service 01H

Program Input int 21H, service 06H

;Program Input Per Huruf Tanpa Echo int 21H, service 06H 
      START:      JMP MULAI                           ;mulai
      DATA  DB 'KATA INI AKAN DICETAK TERUS $'  ;data kalimat
      MULAI:      MOV   AH,09H      ;service number 09H                    ;
            MOV   DX,OFFSET DATA  ;mencetak DATA
            INT   21H             ;mencetak kata
            MOV   AH,06H
            MOV   DL,0FFH         ;register DL berisi FF hexa
            XOR   AL,AL           ;proses logika OR AL terhadap AL
            INT   21H
            CMP   AL,'X'          ;Input X
            JE    AKHIR           ;Akhir program
            CMP   AL,'x'          ;Input x
            JMP   MULAI           ;Akhir program
      AKHIR:      MOV   AH,4CH
            INT   21H

Gambar 10. Input int 21H, service 06H

Program Input int 21H, service 0AH

;PROGRAM Menulis dan mebaca memori
;Program isi NIM
Start:      JMP MULAI
TANYA DB 'NIM Anda?',13,10,'$'
NIM   DB 11,?,11 DUP(?)
JAWAB DB 13,10,'NIM : $'
MULAI:      MOV   AH,09H
                  MOV   DX,OFFSET TANYA
                  INT   21H         ; MENCETAK TANYA
                  MOV   AH,0AH
                  MOV   DX,OFFSET NIM
                  PUSH  DX          ;MENYIMPAN DX KE STACK 
                  INT   21H         ;INPUT DARI KEYBOARD
                  MOV   BX,OFFSET NIM
                  INC   BX
                 
                  MOV   DL,[BX]           ;MASUKAN [BX] KE DX
                  XOR   DH,DH
                  INC   BX          ;BX=BX+1
                  ADD   BX,DX       ;BX=BX+DX
                  MOV   DL,'$'
                  MOV   [BX],DL           ;MASUKAN DL KE [BX]
                  MOV   DX,OFFSET JAWAB
                  MOV   AH,09H
                 
                  INT   21H   ;CETAK      JAWAB
                  POP   DX    ;AMBIL DX DARI STACK
                  INC   DX    ;DX=DX+1
                  INC   DX    ;DX=DX+1
                 
                  MOV   AH,09H
                  INT   21H   ;CETAK TAMPUNG

MOV   AH,4CH
INT   21H

Gambar 11. Input int 21H, service 0AH

Program Subroutine cek input

;SUBROUTINE CEK INPUT KEYBOARD
;'esc' =27h,KELUAR PROGRAM
;'S'   =APLIKASI GESER LED BERHENTI
;'S'   =APLIKASI GESER LED KEMBALI DILANJUTKAN
cek:  
    push ax
    mov  ah,6
    mov  dl,0ffh
    int  21h
    cmp  al,27

keluar0:
    je keluar0
    or al,20h
    cmp al,'s'
    jne run

stop:
    mov ah,6
    mov dl,0ffh
    int 21h
    cmp al,27
    je  keluar0
    or  al,20h
    cmp al,'r'
    jne stop

run:
    pop ax

    ret
Gambar 12. Subroutine cek input

Program Menampilkan 3 Digit Angka

;Program Menampilkan 3 Digit angka
MULAI: MOV AX,469
         XOR CX,CX      ;untuk angka berapa digit bilangan
ulang: MOV BH,10
         DIV BH       ;bagi AX dengan BH
         PUSH AX        ;masukkan hasil bagi AX ke Stack
         INC CX         ;DL +1= karakter berikutnya
         XOR AH,AH    ;AH = 0
         CMP AL,00    ;AL = 0
         JNE ulang      ;ulang jika tidak sama

ulangi1:         
      POP DX           
      MOV DL,DH        
      ADD DL,30H        ;+30 untuk dicetak
      MOV AH,02
      INT 21H
      LOOP  ulangi1
      MOV AH,4CH
      INT 21h 

Gambar 13. Menampilkan 3 Digit Angka


Bahan lengkap dapat didownload disini