Free Web Space | BlueHost Review  

MICROCONTROLER PROGRAMMER 

Microcontroller Programmer adalah alat untuk memasukan program kedalam memori microcontroller, terdiri dari software dan hardware spt tampak pada gambar diatas.

gambar 2. urutan memprogram microcontroller

I Memasukan program ke dalam Mikrokontroller

Perintah ke mikrokontroller kita tulis dalam bahasa assembler  (*.asm) kemudian diterjemahkan oleh compiler  kedalam bahasa mesin  dalam bentuk bilangan hexa (*.hex) dan dimasukan kedalam microcontroller oleh microcontroller programmer ia terdiri dari rangkaian hardware dan software.

adapun urutan lengkapnya adalah sbb :

1. Menulis program dlm bahasa assembler pada notepad (windows) atau edit.com pada dos  dan Save as file dengan extensi  *.asm  lihat contoh pada gambar dibawah ini untuk microcontroller mcs-51

gambar 3. contoh menulis dengan notepad

 

2. Langkah kedua adalah menterjemahkan bahasa asembler tsb (contoh1.asm)  kedalam  biner  dengan cara:

letakan file compiler (misal asm51.exe  untuk MCS-51) didirektori yang sama dengan file contoh1.asm

misalnya direktori  c:\ sys.  lalu ketik perintah  pada DOS promt  : 

C:\sys\ asm51.exe contoh1.asm                  lalu tekan enter

setelah proses pada langkah 1 sukses spt tampak pd gambar diatas , maka akan dihasilkan file contoh1.hex dan  contoh1.lst pada direktori c:\sys  .File yang akan kita masukan ke microcontroller adalah  contoh1.hex 

isi dari file contoh1.hex   adalah sebagai berikut

:0E000000E5808580F0858020A890A68080F2A3
:00000001FF

dan isi dari file contoh1.lst  adalah sebagai berikut:

Assembly process list:
ADDR CODE LINE# SOURCE
---- ------ ----- ------
                        1 ; Data transfer menggunakan  MOV
                        2;
                        3     ORG 0
                        4;data di port 0 di copy ke reg A, B dan  memori 20h
0000 E580       5     MOV A,P0
0002 8580F0   6     MOV B,P0
0005 858020   7     MOV 20H,P0
                        8; isi P0 di copy ke RAM alamatnya ditunjukan oleh P1
0008 A890      9      MOV R0,P1
000A A680     10     MOV @R0,P0
000C 80F2     11     JMP 0
                        12     END

file diatas disebut file listing (lst) berguna  untuk memeriksa jika ada kesalahan

 

3. Langkah ke tiga ,Hubungkan rangkaian  hardware programer ke PC dan berikan power suply 

4. Langkah ke empat  Aktifkan sofware programmer (pgm89.exe pd contoh ini) 

    - klik File -> open cari dan pilih contoh1.hex  klik tombol ok

    - download file contoh1.hex  dng mengklik tombol write pada menu  

5. Setelah selesai matikan power suply programmer, lalu ambil ic dari soket  sekarang ic telah terprogram dan siap dipasang pada rangkaian aplikasi. 

 

II. Beberapa contoh programmer yang bisa kita buat sendiri :

II.1. AT89   Programmer

II.2. PIC F16F84  Programmer

II.3. MC68HC11 Programmer

II.1.  AT89   Programmer 

Programmer didesign oleh M Asim Khan,  asimkhan@sat.net.pk

programmer ini dihubungkan dengan parallel port  komputer Jenis Microcontroler yang dapat diprogram oleh programer  ini adalah dari keluarga MCS-51 
AT89C51                AT89S51                AT89C1051U            D87C51
AT89C52                AT89S52                AT89C2051               D87C52
AT89C55                AT89S53                AT89C4051
AT89C55WD          AT89S8252
AT89C51RC
untuk  microcontroller  berkaki 20 diperlukan rangkaian penyesuai (lihat gambar 2). Karena hardware programmer menggunakan socket 40 kaki  tdk bisa digunakan oleh IC 20 kaki secara langsung

Hardware

gb 1 menunjukan rangkaian hardware Programmer, hardware programmer  dihubungkan ke   standard parallel port  PC. IC  U2 mengontrol aliran data antara  controller  dng  PC, U4 latched  low order address byte dan U5 latched  high  order address  byte, sedang  U3  membuat  control signals  microcontroller yg di program. IC  U1 membuat progrram pulse untuk u-controller. power supply menggunakan U8membuat  logic 5V supply sedang U7 memberikan tegangan   programming  ke controller.  IC U6 membuat VDD power supply voltage untuk u-controller yg dapat dipilih 5v or 6v5.

tegangan dapat diambil dari adaftor 18V output, atau dari trafo 15V 300mA .  U8 perlu heatsink voltage regulator jika kita memakai  ic TTL jenis  74LS.
untuk pengaturan  P1, P2 and P3 gunakan digital multimeter dan ikuti langkah-langkah berikut,

1.  hubungkan  power  ke programmer dan aktifkan/klik   program AT89 dikomputer, pd Help menu pilih Adjust Voltages option,--> pilih Vcc Setting menu.
2.  pilih "Vcc  6V5" option, atur tegangan Vcc  ke 6.5v lihat tegangan melalui  pin 20 & 40 di ZIF putar2  VR P1 .
3.  pilih option lainnya dari  Vcc settings.

4.  pindah Vpp setting options, pilih "Vpp  12V75" option, atur Vpp voltage ke 12.75v across
     pin 20 & 31  ZIF socket gunakan VR  P2 variable.
5.  selanjutnya "Vpp  12V0" option, atur tegangan  Vpp ke 12.0v  melalui  pin 20 & 31  ZIF gunakan VR P3 variable.
6.  cek kembali semua options in Vpp Setting menu.
 

Gb 1:   Rangkaian Programmer AT89

Gb 2 menunjukan rangkaian penyesuai  pemrogram microcontroler kaki 20.

Gb 2:   Rangkaian penyesuai untuk IC 20 kaki (AT89CX51)

Pembuatan PCB


Software

berikut adalah fungsi software,

Read dan Write file  *.Hex 
Read info Chip
Clear, Fill & Edit Program Buffer
Verify dng Program Buffer
Reload file *.Hex 
Display Data Checksum
Program  Lock Bits & ISP fuse
Parallel Port bisa dipilih LPT1, 2 & 3
 

 programmer software uses the following i/o port addresses,

 Lpt1 Port  @ 378H
 Lpt2 Port  @ 278H
 Lpt3 Port  @ 3BCH

 I/O  Port  @ 61H
 I/O  Port  @ 42H & 43H
 Note:

untuk keamanan pasang bongkar     u-controller dari  ZIF  socket programmer  pastikan programmer power supply on sebelum  diklik program dan red LED D1 harus  off ketika program dimulai. u-controller dipasang dipasang/bongkar dari ZIF socket ketika red LED D1 off.
 software  tdk ada   menghapus  command  sebab  function  ini   otomatis selama  programming microcontroller. jika ingin menghapus  controller pertama gunakan  clear  buffer command pd  menu lalu program  controller, ini akan menghapus memori controller .
 

Gb 3:   menu utama program PGM89

kembali ke atas

   II.2.   PIC16F84-Programmer

Programmer ini sangat mudah untuk memprogram   PIC16F84 Microchip Flash Microcontroller. Menggunakan software WPicProg .

hardware programmer                                  menu program wpicprog16.exe

Introduction

 software didesign untuk   PIC16F84 bekerja pada win95/98,  WPicProg16 V1.20

Hardware

Gambar 1 menunjukan rangkaianProgrammer F84.Programmer dihubungkan dng bits melalui printer port LPT1, . Vdd  dicontrol oleh D2 dg invert setting, logic '0' pd  pin menyalakan  2N2907 memakai +5V ke pin14. sama untuk Vpp dg  invert setting, D3 mengontrol 2N2907, gating sekitar +14V ke pin MCLR . tegangan  programming Vppdikendalikan  lifting pin  GND  dari 78L09 ke +5V . Data dibaca dan ditulis menggunakan RB7, D0 mengirim  serial packet ketika ACK membaca kembali selama  pengecekan. D1 di clock output synchronizing programming flow. DC input harus sekitar. 17V.
Gambar 1 : rangkaian Programmer F84

Software

WPIC16.ZIP    software untuk F84-Programmer dibuat oleh   Nigel's Software .

untuk Programmer F84, check setting hardware pada menu  sbb;
button pada  hardware settings dpt digunakan untuk set atau clear  bit yg diperlkan secara manual untuk check  hardware. Hex file dibuat dng  mengcompile dan akan didownloadke buffer memory. untuk menulis hex code di buffer ke chip bisa dilakukan automatically dg  menekan WRITE PIC, itu sajal. selamat mencoba..

Figure 2:
menu software wpicprog16.exe
Rangkaian F84 programmer dpt juga menggunakan EPICWin .

kembali ke atas

II.3. MC68HC11 Programmer

 

Programmer ini digunakan untuk microcontroller jenis MC68HC11 dan keluarganya , 

cara memprogram microcontroller ini agak sedikit berbeda  ikuti langkah-langkah berikut:

0. hubungkan kaki MOD A dan MOD B ke ground ( Mode Bootsrap)

1. sambungkan hardware programmer dengan port serial  Komputer  

2. aktifkan program HCLOAD.exe  

3. tekan switch SW  pada hardware untuk mereset microcontroller

4. pemrograman  bisa dimulai

gambar rangkaian MC68hc11 programmer

menu HCLOAD.exe

 

 S-RECORD INFORMATION

E.1 INTRODUCTION
S-record output format encodes program dan  data object modules
into a printable (ASCII) format. ini memungkinkan melihat  object
file dengan  standard tool dan mengijinkan display  module while
transfer dari 1  computer ke berikutnya atau selama meload antara 
host dan target. S-record format juga termasuk  informasi untuk
menggunakan dlm error checking memastikan integrity  transfer data.

E.2 S-RECORD CONTENT

S-Records string karakter  dibentuk dari  field identify
record type, record length, memory address, code/data, and
checksum. masing masing byte  binary data  encoded sebagai  2-character
bilangan hexadecimal : karakter pertama  mewakili 4 bit high-order
4 bits, dan  4 bit ke 2 low order dari byte.
The 5 fields which comprise an S-record are:

TYPE RECORD LENGTH ADDRESS CODE/DATA CHECKSUM

The fields are defined as follows:

FIELD CHARACTERS CONTENTS
----- ---------- --------
Type 2 S-record type - S1, S9, etc.

Record 2 The count of the character pairs in the
length record, excluding the type and record
length.
Address 4, 6, The 2-, 3-, or 4-byte address at which
or 8 the data field is to be loaded into
memory.
Code/data 0-2n From 0 to n bytes of executable code,
memory loadable data, or descriptive
information.
Checksum 2 The least significant byte of the one's
complement of the sum of the values
represented by the pairs of characters
making up the record length, address,
and the code/data fields.
Each record may be terminated with a CR/LF/NULL.

E.3 S-RECORD TYPES
Eight types of s-records have been defined to accommodate various
encoding, transportation, and decoding needs. The Freeware
assemblers use only two types, the S1 and S9:
S1 A record containing code/data and the 2-byte
address at which the code/data is to reside.
S9 A termination record for a block of S1 records. The address
field may optionally contain the 2-byte address of the
instruction to which control is to be passed. If not
specified, the first entry point specifica
tion encountered in the object module input will be used.
There is no code/data field.

E.4 S-RECORD EXAMPLE
The following is a typical S-record module:
S1130000285F245F2212226A000424290008237C2A
S11300100002000800082629001853812341001813
S113002041E900084E42234300182342000824A952
S107003000144ED492
S9030000FC

The module consists of four code/data records and an S9 termination
record.
The first S1 code/data record is explained as follows:
S1 S-record type S1, indicating a code/data record to be
loaded/verified at a 2-byte address.
13 Hex 13 (decimal 19), indicating 19 character pairs,
representing 19 bytes of binary data, follow.
00 Four-character 2-byte address field: hex address 0000,
indicates location where the following data is to be loaded.
The next 16 character pairs are the ASCII bytes of the actual
program code/data
2A Checksum of the first S1 record.
The second and third S1 code/data records each also contain $13
character pairs and are ended with checksums. The fourth S1 code/data
record contains 7 character pairs.
The S9 termination record is explained as follows:
S9 S-record type S9, indicating a termination record.
03 Hex 03, indicating three character pairs (3 bytes) to
follow.
00 Four character 2-byte address field, zeroes.
00
FC Checksum of S9 record.

 

compiler asembler dan programer yg tersedia pada cd tutorial ini antara lain:

jenis MCU         Compiler            programmer            schematic

MCS-51             asm51.exe         pgm89.exe                ada

HC11                AS11.exe           hcload.exe                 ada

pic16F84          mplab                wpicprog                   ada

 

sedangkan jika kita membuat program dgn bahasa  C,  file yg kita buat berextensi *.C  akan dirubah ke  *.hex  (*.S19 untuk HC11) oleh compiler C dibawah ini:

 

MCU              compiler

MCS 51             SDCC

HC11                GCC

PIC16F84           MPLAB

 

 

   

email :    pcb_maker@softhome.net

sms ke (flexi)  :   021-70469293

HOME