BAB II
LANDASAN TEORI 

2.1. Garis Besar Sistem DST-51
Sistem minimum DST-51 merupakan perangkat pembangkit (Development Tools) yang terdiri dari 2 bagian terintegrasi yaitu perangkat keras dan perangkat lunak. Komponen utama perangkat keras sistem minimum DST-51 adalah Mikrokontroler AT89C51 buatan Atmel yang merupakan salah satu turunan keluarga MCS-51 Intel . Susunan sistem DST-51 seperti gambar 2.1
                 
                              Gambar 2.Susunan sistem DST-51

Mikrokontroler merupakan perangkat pengendali dengan tujuan khusus (Special Purpose) dengan bentuk khusus gabungan antara CPU dengan peralatan lain dalam susunan rangkaian minimal dalam satu keping.
Sistem kerja dari perangkat pengendali ini yaitu komputer sebagai pengolah dan pemroses data olahan yang berupa data karakter huruf dari keyboard  untuk  pengendalian DST-51. Dengan alasan efektifisasi tempat untuk memudahkan dalam pengontrolan pensaklaran lampu, DST-51 dapat dipindahkan ke suatu tempat tanpa menghubungkan ke komputer secara on-line atau Stand Alone. Hubungan sistem minimum DST-51 dengan komputer menggunakan port serial COM 2.

2.2 Mode Operasi DST-51

2.2.1 Mode satu chip
Program yang dijalankan adalah program yang terletak pada Internal Flash PEROM dari 89C51. Pada Mode ini External Memory 28C64 dapat didisable (Full Single Chip Operation Mode) sehingga Port 0 dan Port 2 dapat digunakan secara penuh atau External Memory 28C64 digunakan sebagai memory tambahan sebesar 8 Kb
2.2.2 External Memory
Program yang dijalankan adalah program yang terletak pada External Memory yaitu pada 28C64
2.2.3 Monitor Mode
Program yang dijalankan adalah program yang terletak pada Internal Flash PEROM dari 89C51 untuk memonitor source code/program yang didownload di External Memory 28C64
                                                               
                                     Tabel 1. Seting Jumper AT89C51

2.3 Prosedur pendayagunaan mode-mode operasi untuk merancang source code
1.	Gunakan Monitor Mode untuk merancang source code. Pada mode ini source code dapat didownload dan dimonitor proses kerjanya berulang-ulang
2.	Letakkan alamat source code dimulai dengan alamat 2000H (External EEPROM)
3.	Setelah source code selesai dirancang dan dipastikan berjalan dengan baik, ubah ke Mode External Memory dan aktifkan source code tersebut dengan melakukan reset baik manual maupun power on reset
4.	Apabila pada mode ini system tetap berjalan dengan baik sesuai source code yang didownload maka source code yang dirancang telah siap di dalam External EEPROM 28C64 dan akan aktif setiap kali power diaktifkan (Mode Power On Reset)
5.	Untuk lebih permanennya source code dapat dipindahkan ke Flash PEROM 89C51 dengan terlebih dahulu mengubah alamat awal source code yang sebelumnya terletak pada alamat 2000H ke alamat 0000H demikian pula dengan vektor-vektor interruptnya 
6.	Apabila anda tidak memerlukan external memory untuk menyimpan data maka mode dapat diubah menjadi satu Chip.
7.	Tetapi apabila anda memerlukan eksternal memory untuk menyimpan data maka mode dapat diubah menjadi satu Chip dengan External Memory

2.4 Pemetaan Memori
Pemetaan memory dari minimum system ini dilakukan berdasarkan mode operasi yang digunakan. Untuk Mode satu Chip dan Mode Monitor, source code yang dijalankan adalah yang berada pada Internal Flash PEROM dari 89C51.
Sedangkan untuk External Memory Mode, source code yang dijalankan berada pada External Memory 28C64 yang dibaca oleh 89C51 untuk dieksekusi.

                                Tabel 2.pemetaan memori sistem minimum

2.5 Download DST-51 dan  peralatan (tool) monitor
DST-51 adalah merupakan source code yang tersimpan dalam Flash PEROM 89C51 yang terdapat dalam Minimum System KITDST-51-02 dan berfungsi untuk mendownload source code dari PC ke external memory dan dijalankan oleh 89C51. Dengan digunakannya External Memory maka tidak perlu lagi mengisi Flash PEROM 89C51berkali-kali untuk keperluan trial and error, melainkan cukup mendownload ke External Memory 28C64 saja setiap kali pengujian.

2.6 Spesifikasi Mikrokontroler AT89C51 
Mikroprosesor adalah merupakan Central processing Unit (CPU) yang digunakan secara umum. Mikroprosesor terdiri dari program counter, stack pointer, register register, sebuah rangkaian pewaktu dan rangkaian penyela. Sistem kerja mikroprosessor dapat dikemas dalam bentuk sebuah Integrated Circuit (IC). IC tersebut adalah mikrokontroler.
Mikroprosessor berbeda dengan mikrokontroler, perbedaannya adalah bila Mikroprosessor diarahkan untuk membentuk komputer digital untuk tujuan umum (general purpose) sedangkan Mikrokontroler dirancang untuk pengendali tujuan khusus (special purpose). Selain itu mikroprosessor mengacu pada sebuah CPU sedangkan mikrokontroler merupakan gabungan antara  CPU dan peralatan lain.
 Mikrokontroler AT89C51 merupakan komponen utama dari rangkaian sistem minimum  DST-51. Instruksi dan kaki-kaki (Pinout) AT89C51 kompatibel dengan standar industri MCS-51. Mikrokontroler AT89C51 mempunyai spesifikasi standar sebagai berikut: 
•	CPU 8 bit yang dioptimasi untuk aplikasi kontrol dengan register A dan B. 
•	4 Kbytes Flash Programmable and Erasable Read Only Memory (PEROM). 
•	64K Program Memori dan 64K Data Memori.
•	128 bytes Internal RAM.
•	Dua 16 bit Timer / Counter. 
•	16 bit Program Counter (PC) dan Data Pointer (DPTR).
•	8 bit Program  Status Word (PSW) dan 8 bit Stack Ponter (SP)
•	Serial Port yang dapat diprogram.
•	5 sumber interupsi dengan prioritas 2 tingkat. 
•	Osilator dan sumber detak. 
•	Empat 8-bit jalur masukan dan keluaran yang dapat diprogram. 
Penampang Mikrokontroler AT89C51 dapat dilihat pada gambar 2.1, berikut penjelasan tentang kaki-kaki Mikrokontroler AT89C51 :
1.	Port 0 (kaki 32-39), tersusun atas 8 bit Bidirectional I/O, jika berimpendansi tinggi (diset 1), maka dapat digunakan sebagai masukan dan dikonfigurasikan sebagai bus alamat/ data. 
2.	Port 1 (kaki 1-8), terdiri atas 8 bit I/O dengan keluaran yang dapat digunakan untuk masukan 4 gerbang TLL. 
3.	Port 2 (kaki 21-28), terdiri dari 8 bit Bidirectional I/O, digunakan untuk masukan 4 gerbang TTL
4.	Port 3 (kaki 10-17) merupakan port paralel 8 bit dua arah multifungsi dapat digunakan untuk alternatif fungsi yang meliputi TxD (Transmit Data), RxD (Receved Data), INT0 (Interupt 0), INT1 (Interupt 1), T0 (Timer 0), T1 (Timer 1), WR (Write) dan RD (Read).
5.	XTAL1 (kaki 18) merupakan kaki masukan ke rangkaian osilator internal, dapat menggunakan osilator kristal atau sumber osilator luar.
6.	XTAL2 (kaki 19) merupakan kaki keluaran ke rangkaian osilator internal, dipakai bila menggunakan osilator kristal.
7.	PSEN (kaki 29) Program Strobe Enable, merupakan bus sinyal kontrol yang aktif rendah, yang mengendalikan program luar berupa kode. PSEN biasanya terhubung dengan keluaran EPROM.
8.	ALE (kaki 30) Address Latch Enable, biasanya digunakan untuk proses demultipleksing alamat dan data. Pada operasi normal, ALE berjalan konstan pada kecepatan 1/6 frekuensi osilator sehingga dapat pula dipergunakan untuk eksternal timer atau fungsi-fungsi clock.
9.	EA (kaki 31) External Access Enable, aktif rendah dan digunakan untuk mengambil kode program dari memory eksternal mulai alamat 0000H-FFFFH. 
10.	RESET (kaki 9) adalah masukan reset, aktif tinggi. Pulsa transmisi dari rendah ke tinggi mereset AT89C51. Kaki ini dihubungkan dengan rangkaian power on reset.
11.	Ground (kaki 20) dihubungkan  ke Vss (Ground).
12.	Vcc (kaki 40) dihubungkan ke Vcc (+5 volt).

Gambar 3. Spesikasi kaki-kaki AT89C51

INTERUPT
CONTROL

CPU

OSCILATOR

TIMER 1
TIMER 2

EPROM 4K

4 
PORT I/O

SERIAL PORT

BUS
CONTROL

128 BYTES
RAM

TXD    RXD

P0 P1 P2 P3

Blok diagram Mikrokontroler AT89C51 menggambarkan beberapa bagian komponen yang penting.

 

Gambar 4. Blok Diagram AT89C51

2.7  Organisasi Memori
Semua mikrokontroler dalam keluarga MCS-51 memiliki pembagian ruang alamat (address space) untuk program dan data. Penggunaan memori program dan data memperbolehkan memori data untuk diakses oleh alamat 8-bit, meskipun alamat data memori 16-bit dihasilkan melalui register DPTR (Data Pointer Register).
Memori program hanya dapat dibaca tidak dapat ditulis (karena tersimpan dalam EPROM). Memori program sebesar 64 K dapat dimasukan dalam EPROM eksternal. Sinyal yang membolehkan pembacaan dari program eksternal adalah dari pena PSEN. Memori data terletak pada ruang alamat terpisah dari memori program. RAM eksternal 64 K dapat dialamati dalam ruang memori data eksternal. CPU menghasilkan sinyal READ dan WRITE selama menghubungi memori data eksternal. Mikrokontroler AT89C51 memiliki 5 ruang alamat, yaitu :
1.	Ruang alamat kode (Code Address Space) sebanyak 64 K, yang seluruhnya merupakan ruang alamat kode eksternal.
2.	Ruang alamat data internal yang dialamati secara langsung, yang terdiri atas RAM sebanyak 128 byte dan register perangkat keras (Hardware Register) sebanyak 128 byte.
3.	Ruang alamat data internal yang dialamati secara tidak langsung sebanyak 128 byte, seluruhnya dialamati dalam mode pengalamatan tidak langsung.
4.	Ruang alamat data eksternal sebanyak 64 K byte (Off Chip) yang dapat ditambahkan oleh pemakai.ruang alamat bit. 
5.	Dapat diakses dengan pengalamatan langsung.

2.7 Program Status Word
Program Status Word (PSW) berisi tentang informasi status flag dan register tertentu yang berubah setelah melaksanakan sejumlah instruksi. program status word (PSW) beralamat di  ODH. Setiap bit dari Program Status Word dapat dijelaskan pada tabel 3 tentang bit Program Status Word.

Tabel 3. Register Program Status Word
PBIT	SIMBOL	ALAMAT	DESKRIPSI BIT	
PSW.7	CY	D7H	Flag carry	
PSW.6	AC	D6H	Auxiliary carry flag	
PSW.5	F0	D5H	Flag 0	
PSW.4	RS1	D4H	Register Bank Select 1	
PSW.3	RS0	D3H	Register Bank Select 0
00 = bank 0; addresses 00H-07H
01 = bank 1; addresses 08H-0FH
10 = bank 2; addresses 10H-17H
11 = bank 3; addresses 18H-1FH	
PSW.2	OV	D2H	Overflow flag	
PSW.1	-	D1H	Reserved	

2.8 Stack Pointer (SP)
Stack Pointer merupakan register 8-bit beralamat 81H, yang berisi alamat data yang menunjuk pada alamat puncak stack. Operasi ini terdiri atas instruksi penempatan data (PUSH) dan pengambilan data (POP) daripada Stack. Jika terdapat instruksi PUSH, maka alamat SP akan bertambah 1 sebelum menuliskan data, dan jika terdapat instruksi POP dari Stack, maka instruksi akan membaca data dan alamat SP akan dikurangi 1. 
Pada Mikrokontroler AT89C51 Stack terdapat di dalam RAM Internal. Penggunaan Stack bersifat sementara, digunakan untuk penyimpanan dan pengambilan data, dan juga digunakan pada subrutin CALL (ACALL, LCALL) dan subrutin RETURN (RET, RETI).

2.9 Data Pointer
Data Pointer (DPTR) merupakan register 16-bit yang beralamat 82H yang menjadi  dua bagian yaitu (DPL,low byte) dan (DPH,high byte). Data Pointer digunakan untuk pemasukan memori data atau kode dari luar, dan instruksi ini juga digunakan untuk pengalamatan segera (Immediate Addressing) untuk memuat data yang disimpan pada Akumulator.

2.10 Timer / Counter
Pada mikrokontroler AT89C51 terdapat dua Timer/Counter 16 bit yang dapat diprogram melalui perngkat lunak, yaitu Timer / Counter 0 dan Timer / Counter 1.
Apabila Timer/Counter mikrokontroler AT89C51 bekerja pada frekuensi 12 Mhz, maka Timer/Counter akan melakukan perhitungan waktu sekali setiap 1 mikrodetik secara bebas dan tidak tergantung pada eksekusi suatu instruksi. Satu siklus pencacahan waktu berpadanan dengan satu siklus eksekusi instruksi, sedangkan satu siklus dikerjakan dalam waktu 1 mikrodetik. Bila suatu urutan instruksi telah selesai dilaksanakan dalam waktu 5 mikrodetik, maka saat itu pula Timer/Counter telah, menunjukkan periode waktu 5 mikrodetik.
Apabila periode waktu tertentu telah dilampaui, Timer/Counter akan segera menginterupsi mikrokontroler untuk memberitahukan bahwa perhitungan periode waktu telah selesai dilaksanakan. Periode waktu Timer/Counter secara umum ditentukan oleh persamaan berikut :
a.	Sebagai Timer/Counter 8 bit
	T = (255 – TLx) * 1s
b.	Sebagai Timer/Coounter 16 bit
	T = (65535 – THxTLx) * 1s
Keterangan :
		THx = isi register TH0 dan TH1
		TLx = isi register TL0 dan TL1
Pengontrolan kerja Timer/Counter adalah register Timer Control (TCON). TCON beralamat 88H. 
Pengontrol pemilih mode operasi Timer/Counter adalah register Timer Mode (TMOD) yang beralamat 39H.mana definisi bit-bit adalah sebagai berikut :
Tabel 2.3. Alamat TMOD = 39H
MSB7	6	5	4	3	2	1	0LSB	
GATE	C/T	M1	M0	GATE	C/T	M1	M0	

Keterangan :
GATE	: Saat TRx dalam TCON di-set 1 dan GATE = 1, Timer/Counter x akan berjalan ketika TRx = 1 (Timer dikontrol oleh perangkat lunak) .
C/T	: Pemilih fungsi Timer/Counter. Clear (0) untuk operasi Timer dengan masukan dari sistem clock internal. Set (1) untuk operasi Counter dengan masukan dari pena T0 atau T1.
M1      	: Bit pemilih mode.
M0    	: Bit pemilih mode 
Timer/Counter 0 dan 1 memiliki empat mode operasi, yaitu :
2.10.1.	Mode 0
Dalam mode 0 register Timer disusun sebagai register 13 bit. Setelah semua perhitungan selesai, mikrokontroler akan men-set Timer Interuppt Flag (TF1). Dengan membuat GATE = 1, Timer dapat dikendalikan oleh masukan luar INT1, untuk fasilitas pengukuran lebar pulsa.

2.10.2.	Mode 1
Dalam mode 1 register Timer disusun sebagai register 16 bit, Setelah semua perhitungan selesai, mikrokontroler akan men-set Timer Interrupt Flag (TF1). Dengan membuat GATE = 1, Timer dapat dikontrol oleh masukan luar INT1, untuk fasilitas pengukuran lebar pulsa.

2.10.3.	Mode 2
	Mode 2 menyusun register Timer sebagai 8 bit Counter. Limpahan (overflow) dari TL1 tidak hanya men-set TF1 tetapi juga mengisi TL1 dengan isi TH1 yang diatur secara software. Pengisian tidak mengubah TH1.
2.10.4.	Mode 3
	Timer dalam 3 semata-mata memegang hitunga. Mode 3 diperlukan untuk aplikasi yang membutuhkan Timer/Counter ekstra 8 bit. Saat Timer 0 dalam mode 3, Timer 1 dapat dihidupkan atau dimatikan, atau dapat digunakan oleh port serial sebagai pembangkit Baud Rate.

2.11 Baud Rate

  (K X Frekuensi Osilator)
Baud rate           =   _____________________
	
			     (32 X 12 [256 – TH1])

Port serial pada mode 0 mempunai Baud rate yang tetap, yaitu 1/12 frekuensi osilator. Untuk menjalankan dalam mode ini tidak ada Timer/Counter yang dibutuhkan untuk penyetelan register SCON yang diperlukan. Port serial pada mode 1 memiliki Baud rate yang dapat diubah. Baud Rate dapat dihasilkan oleh Timer 1 digunakan dalam mode 2 (auto reload)

Nilai K ditentukan oleh bit SMOD dalam Power Control Register (PCON). 
Bila SMOD = 0, maka K = 1, bila SMOD = 1, maka K = 2.
Bila diketahui Baud Rate, nilai TH dapat dicari melalui persamaan berikut ini :

  				 
 256 - Frekuensi Osilator
   TH       =   _____________________
	
       (384 X Baud Rate)

			

Nilai TH1 harus dalam bentuk integer. Pembualatan nilai TH1 pada nilai integer terdekat tidak akan menghasilkan Baud rate yang dikehendaki. Dalam hal ini, pemakai dapat mengganti frekuensi kristal. Karena PCON tidak dapat dialamati per bit, untuk men-set PCON dilakukan dengan mengirimkan perintah : ORL PCON,#80H.
Pada port serial mode 2, Baud Rate memiliki nilai tetap,yaitu 1/32 atau 1/64 dari frekuensi osilator, tergantung pada nilai SMOD dalam register PCON. Pada mode ini tidak ada Timer yang digunakan. Bila SMOD = 1 Baud Rate-nya 1/32 frekuensi osilator. Pada port serial mode 3, Baud rate dapat diatur seperti dalam mode 1.

2.12 Interupsi
Apbila CPU pada mikrokontroler AT89C51 sedang melaksanakan suatu program, dapat menghentikan pelaksanaan program tersebut secara sementara dengan meminta interupsi. Apabila CPU mendapat permintaan interupsi Program Counter (PC) akan diisi alamat dari vektor interipsi. CPU kemudian melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut. Bila rutin pelayanan interupsi selesai dilaksanakan, CPU 89C51 kembali ke pelaksanaan program utama yang ditinggalkan.
Pada mokrokonteroler Intel AT89C51 terdapat beberapa saluran interupsi. Interupsi dibedakan dalam dua jenis, yaitu :
a.	Interupsi yang tak dapat dihalangi oleh perangkat lunak (Non Maskable Interrupt).
b.	Interupsi yang dapat dihalangi oleh perangkat lunak (maskable interrupt). Jenis interupsi ini seperti INT0 dan INT1 (eksternal) serta timer/Counter 0, timer/Counter 1, dan interupsi dari port serial (internal).
Alamat awal layanan rutin iterupsi dari setiap sumber interupsi sebagai berikut :
Tabel 4. Alamat awal layanan interupsi
Nama	Alamat	Alat Interupsi	
Reset                  	00H	Power on Reset	
INT0                     	03H	INT0	
Timer 0                                   	0BH	Timer 0	
 INT1                                      	13H	INT1	
 Timer 1                                 	1BH	Timer 1	
  Sint 	23H	Port I/O Serial	

2.13 Untai Pewaktu dan osilator
Mikrokontroler 89C51 memiliki osilator internal (on chip osilator) yang dapat digunakan sebagai sumber clock bagi CPU.Untuk menggunakan osilator internal diperlukan sbuah kristal atau kapasitor keramik letak pena XTAL1 dan pena XTAL2 dan sebuah kapasitor ke ground seperti terlihat pada gambar II.8.
Untuk kristalnya dapat digunakan frekuensi 1,2 samapai 12 Mhz. Sedangkan untuk kapasitor dapat bernilai antara 27 pF samapai 33 pF. Kaki XTAL1 merupakan keluaran suatu penguat gain besar, sedangkan kaki XTAL1 adalah masukan sebuah kristal yang dihubungkan pada kaki XTAL1 dan XTAL2 memberikan umpan balik dan pergeseran fase yang diperlukan untuk osilasi. Jika kaki XTAL1 digunakan oleh sumber frekuensi luar maka kaki XTAL2 tidak dihubungkan.

2.14 Perangkat Instruksi
Mikrokontroller AT89C51 memiliki 256 perangkat instruksi. Seluruh instruksi dapat dikelompokkan dalam 4 bagian yang meliputi 1 sampai 4 byte. Apabila frekuensi clock mikrokontroller yang digunakan adalah 12 MHz, kecepatan pelaksanaan instruksi akan bervariasi dari antara 1 hingga 4 mikrodetik. Perangkat instruksi mikrokontroller AT89C51 dapat dibagi menjadi beberapa kelompok  instruksi.

2.14.1. Instruksi Pengiriman  Data
Dalam instruksi pengiriman data, byte dan bit instruksi pengiriman data dikelompokkan sesuai mode pengalamatan register. Berikut ini adalah nama – nama  instruksi yang digunakan dalam instruksi pengiriman data:
•	Mov ( Move )
•	Push
•	Pop
•	Xch ( Exchange )

2.14.2. Instruksi Aritmatika
Instruksi operasi Aritmatika yang meliputi operasi penjumlahan, operasi penjumlahan dengan bawaan (carry), operasi pengurangan, operasi penambahan satu (Increment), operasi pengurangan satu (Decrement), operasi perkalian dan pembagian. Berikut ini adalah nama – nama  instruksi yang digunakan dalam instruksi aritmatika:
•	Add ( Addition )
•	Addc ( Add with Carry )
•	Inc ( Increment )
•	Dec ( Decrement )
•	Mul ( Multification )
•	Div ( Devition )
•	Da ( Disadjust )
2.14.3. Instruksi Logika dan Manipulasi Bit
Instruksi logika dan manipulasi bit merupakan kumpulan beberapa instruksi seperi AND, OR, XOR, CP (Compare), Putar (Rotate), Tukar (Swap), yang memiliki mode pengalamatan yang sama. Dalam operasi logika, operand selalu bekerja pada Akumulator. Instruksi AND dan OR  berguna dalam menutupi bit-bit khusus untuk mengendalikan register. Berikut ini adalah nama – nama  instruksi yang digunakan dalam instruksi manipulasi bit:
•	Anl (And Logic )
•	Orl ( Or Logic)
•	Xrl ( Xor Logic )
•	Crl
•	Cpl ( Complement )
•	Rl ( Rotate Left)
•	Rlc (Rotate Left with Carry )
•	Rr ( Rotate with Carry )
•	Rrc ( Rotate Right with Carry)
•	Swap

2.14.4. Instruksi Percabangan
Instruksi ini mengubah urutan normal pelaksanaan suatu program. Dengan instruksi ini program yang sedang dilaksanakan akan bercabang ke suatu alamat tertentu. Instruksi percabangan dibedakan menjadi dua bagian, yaitu percabangan bersyarat dan percabangan tanpa syarat.
1.	Instruksi Percabangan Bersyarat
Instruksi percabangan (Branching) bersyarat merupakan modifikasi pada Program Counter, dan hanya melakukan loncatan bersyarat jika kondisi telah terpenuhi. Berikut ini adalah nama – nama  instruksi yang digunakan dalam instruksi percabangan bersyarat:
•	Jz ( Jump if Zero)
•	Jnz ( Jump If Not Zero ) 
•	Jc ( Jump if Carry)
•	Jnc ( Jump if Not Carry)
•	Jb ( Jump if Bit)
•	Jnb ( Jump if Not Bit)
•	Cjne ( Compare and Jump if Not Zero )
•	Djnz ( Decrement And Jump if Not Zero)
Untuk instruksi CJNE (compare jump not equal), memiliki beberapa bentuk atau jenis untuk format instruksi, antara lain :
Cjne A,direct,<label>	;	operand pertama adalah akumulator kedua adalah sebuah register internal dan ketiga adalah sebuah alamat relatif. Program akan membandingkan dan menuju alamat yang ditunjuk label jika isi akumulator dan register internal tidak sama.
A,#data,<label>         	;	operand pertama adalah akumulator kedua alamat konstanta, dan ketiga adalah alamat relatif. Program akan membandingkan dan menuju ke alamat yang ditunjuk oleh label jika isi operand pertama dan kedua tidak sama.
   Cjne @Ri,#data,<label>	; operand pertama adalah register Ri (R0…R7), kedua adalah konstanta dan ketiga adalah alamat relatif Program akan menuju alamat yang; ditunjuk oleh label jika operand pertama dan kedua yang dibandingkan tidak sama.

2.	Instruksi Percabangan Tidak Bersyarat
Instruksi percabangan tak bersyarat ini adalah instruksi yang tidak memerlukan kondisi apapun yang harus terpenuhi. Berikut ini adalah nama – nama  instruksi yang digunakan dalam instruksi percabangan tidak bersyarat:
•	Sjmp (Short Jump)
•	Ajmp (Absolute Jump)
•	Ljmp ( Long Jump)
•	Jmp (Jump)