Sunday, January 12, 2014

Mikrokontroler AT89S51/52

Nama : Retno Wahyu Supanji
NIM  :  11.11.2396
Kelas : TI 11 B

1. Pendahuluan

Mikrokontroler 89S51/52 merupakan versi terbaru dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini.  Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8KB Flash Programmable dan Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah.

2. Spesifikasi Penting AT89S52 :
  • Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
 
  • 8 K Bytes  In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis
  • tegangan kerja 4-5.0V
  • Bekerja dengan rentang 0 – 33MHz
  • 256x8 bit RAM internal
  • 32 jalur I/0 dapat diprogram
  • 3 buah 16 bit Timer/Counter
  • 8 sumber interrupt
  • saluran full dupleks serial UART
  • watchdog timer
  • dual data pointer
  • Mode pemrograman ISP yang fleksibel (Byte dan Page Mode)
3. Skema Minimum AT89S91/92:
   


4. Contoh Layout PCB Minimum:
   

5. Contoh Pemrograman:
1. Program dengan menggunakan definisi, Menu dan tabel


$MOD52
;KELOMPOK 1 :    DWI,IBNU,IRFAN
                ORG       00H
;DEF
                S1            BIT          P3.0
                S2            BIT          P3.1
                S3            BIT          P3.2
                S4            BIT          P3.3

URUTAN                               EQU        20H
SIMPAN_DATA   EQU        21H

TABEL1:               
dB           10101010B            
                dB           01010101B            
                dB           00110101B            
                dB           01010100B                            

TABEL2:               
dB           10111010B
                dB           10010010B
                dB           01011101B
                dB           11100001B

TABEL3:               
dB           00110011B
                dB           11001100B

START:  MOV      P3,#11111111B
                MOV      P2,#11111111B

MENU:   JNB         S1,MENU1
                JNB         S2,MENU2
                JNB         S3,MENU3
                JNB         S4,MENU4
                JMP        menu

MENU1: JB            S1,MENU11
                JMP        MENU1

MENU11:               MOV      DPTR,#TABEL1
                MOV      SP,#50H
                MOV      A,#0

SCAN1:  MOV      URUTAN,A
                MOVC    A,@A+DPTR
                MOV      SIMPAN_DATA,A
                CALL      TAMPILKAN
                CALL      DELAY
                MOV      A,URUTAN
                INC         A
                CJNE      A,#4,SCAN1
                JNB         S4,STOP
                JMP        MENU11
               
MENU2: JB            S2,MENU22
                JMP        MENU2

MENU22:               MOV      DPTR,#TABEL2
                MOV      SP,#50H
                MOV      A,#0

SCAN2:  MOV      URUTAN,A
                MOVC    A,@A+DPTR
                MOV      SIMPAN_DATA,A
                CALL      TAMPILKAN
                CALL      DELAY
                MOV      A,URUTAN
                INC         A
                CJNE      A,#4,SCAN2
                JNB         S4,STOP
                JMP        MENU22

MENU3: JB            S3,MENU33
                JMP        MENU3

MENU33:               MOV      DPTR,#TABEL3
                MOV      SP,#50H
                MOV      A,#0

SCAN3:  MOV      URUTAN,A
                MOVC    A,@A+DPTR
                MOV      SIMPAN_DATA,A
                CALL      TAMPILKAN
                CALL      DELAY
                MOV      A,URUTAN
                INC         A
                CJNE      A,#2,SCAN3
                JNB         S4,STOP
                JMP        MENU33

MENU4: MOV      P2,#00001111B
                CALL      DELAY
                MOV      P2,#11110000B
                CALL      DELAY
                JNB         S4,STOP
                JMP        MENU4

STOP:     JB            S4,STOP1
                JMP        STOP
               
STOP1:   NOP
                MOV      P2,#0FFH
                JMP        MENU


TAMPILKAN:
                MOV      A,simpan_data
                MOV      p2,A
               
               
DELAY: MOV      R0,#0
DEL:       MOV      R1,#0
                DJNZ      R1,$
                DJNZ      R0,DEL
                RET
                END

6. cara download program ke ic mikrokontroler
  1. Siapkan Laptop dan USB   K-51 downloader. Install drivernya dulu kalau belum pernah 
  2. Siapkan IC AT89S5 atau yang lain dan PCBnya jangan lupa
  3. Buat listing program seperti di atas menggunakan notepad dan simpan dengan namafile.ASM di dalam folder ASM51. Lalu assembling file.ASM itu pakai asm51.exe maka akan nambah dua file, yaitu file.lst untuk melihat ada yang salah atau tidak. Dan file.hex yang kita gunakan untuk di download ke IC
  4. Siapkan program IP Prog v. 1.3, jalankan program dengan cara :
  • Check port USB di prt berapa dan tipe IC di Tab Menu Options > Setting Dan Device.
  • Klik file > Load flash file, cari file.hex tadi
  • Klik “read signature” untuk konek atau tidaknya IC
  • Klik “chip erase” untuk delete program IC yang lama
  • Klik “write flash” untuk download file, lalu klik “verify flash” untuk memastikan file.

Daftar Pustaka

Tugas Mikroprosesor

Nama : Retno Wahyu Supanji
NIM  : 11.11.2396
Kelas : TI 11 B


1. Pengertian Mikrokontroler  
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan.
Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.

2. Menyederhanakan Program
Langkah:
1.      Hubungkan PORT DT51 MinSysndengan PORT OUTPUT DT-51 tariner board.
2.      Hubungkan CONTROL DT-51 Min Sys dengan CONTROL DT-51 trainer board.
3.      Hubungkan DT-51 MinSysdengan PC menggunakan kabel serial
4.      Hubungkan Dt-51 MInSysdengansumber tegangan
  
Program 4 Transfer data Output dari Data RAM
Data disimpan di RAM, kemudian satu persatu dikeluarkan ke P1, berikut source code yang akan di sederhanakan :

$mod51
     CSEG
     ORG   4000H
     LJMP  START
     ORG 4100H
START:    MOV 30H,#00000001B
MOV 31H,#00000010B
MOV 32H,#00000100B
MOV 33H,#00001000B
MOV 34H,#00010000B
MOV 35H,#00100000B
MOV 36H,#01000000B
MOV 37H,#10000000B
ULANG:  MOV P1,30H
                 MOV P1,31H
ACALL TUNDA
MOV P1,32H
ACALL TUNDA
                 MOV P1,33H
                 ACALL TUNDA
                 MOV P1,34H
                 ACALL TUNDA
                 MOV P1,35H
                 ACALL TUNDA
                 MOV P1,36H
                 ACALL TUNDA
                 MOV P1,37H
                 ACALL TUNDA
                 SJMP ULANG
TUNDA:  MOV R7,#0FFh
LAGI:      MOV R6,#0FFh
SINI:        DJNZ R6,SINI
                 DJNZ R7,LAGI
                 RET
END
 2.1 Program yang sudah disederhannakan.
$mod51
                        ROM EQU 0000h
                        ORG ROM
                        LJMP MULAI
                        ORG ROM+0100
MULAI:   MOV A, #00000001b
NEXT:     MOV P1, A
                        ACALL TUNDA
                        RL A
                        CJNE A,#10000000b, NEXT
                        SJMP NEXT
TUNDA:  MOV R7,#03h
LUP1:      MOV R6,#0ffh
LUP2:      MOV R5,#0ffh
                        DJNZ R5,$
                        DJNZ R6,LUP2
DJNZ R7,LUP1
RET
END
 
LINK WEB lainnya