Register ini tidak secara otomatis tersimpan ketika menjalankan interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Sehingga hal
tersebut harus dilakukan melalui software. Status register ada pada Gambar 3.3 berikut ini.
Gambar 3.3 Status Register Atmega 8
[1]
i. Bit 7I
Merupakan bit Global Interrupt Enable. Bit ini harus di-set agar semua perintah interupsi dapat dijalankan. Jika bit ini di-reset, maka semua perintah
interupsi baik yang individual maupun yang secara umum akan di abaikan. Bit ini akan di-reset oleh software setelah sebuah interupsi dijalankan dan akan di-set
kembali oleh perintah RETI Return form Interupt. Bit ini juga dapat di-set dan di-reset melalui aplikasi dan intruksi SEI Set Enable Interrupt dan CLI Clear
Interrupt.
j. Bit 6T
Merupakan bit Copy Storage. Instruksi Bit Copy BLD Bit LoaD dan BST Bit STorage menggunakan T-bit sebagai sumber atau tujuan untuk bit yang
telah dioperasikan. Sebuah bit dari sebuah register dalam Register File dapat
disalin ke dalam T-bit dengan menggunakan instruksi BST, dan sebuah bit di dalam T-bit ini dapat disalin ke dalam bit di dalam register pada Register File
dengan menggunakan perintah BLD.
k. Bit 5H
Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.
l. Bit 4S
Merupakan Sign Bit. Bit ini merupakan bit ekslusif atau di antara Negative Flag N dan
two’s Complement Overflow Flag V.
m. Bit 3V
Merupakan Bit Two’s Complement Overflow Flag. Bit ini menyediakan
fungsi aritmatika dua komplemen.
n. Bit 2N
Merupakan Bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative di dalam sebuah fungsi logika atau aritmatika.
o. Bit 1Z
Merupakan Bit Zero Flag. Bit ini mengindikasikan sebuah h asil nol “0”
dalam sebuah fungsi aritmatika atau logika.
p. Bit 0C
Merupakan Bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam sebuah aritmatika atau logika.
3.1.2 Memori AVR Atmega
Gambar 3.4 Peta Memori Atmega
[1]
Memori atmega terbagi menjadi tiga yaitu seperti pada Gambar 3.4:
1. Memori Flash
Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan jenis ROM yang dapat ditulis dan dihapus secara
elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode program apikasi
berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui
programmerdownloader, misalnya melalui USART Universal Serial Asyncronous Receiver Transmitter..
1. Memori Data
Memori data adalah memori RAM yang digunakan untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu, 32 GPR General
Purpose Register, 64 IO register, Additional IO, dan 1024 internal RAM. GPR adalah register khusus yang bertugas untuk membantu eksekusi program
oleh ALU Arithmatich Logic Unit, dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam bahasa C biasanya digunakan untuk variabel
global atau nilai balik fungsi dan nilai-nilai yang dapat memperingan kerja ALU. Dalam istilah processor komputer umumnya GPR dikenal sebagai
“cache memory”. IO register dan Aditional IO register adalah register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam
microcontroller seperti pin Port, timercounter, USART dan lain-lain. Register ini dalam keluarga microcontroller MCS51 dikenal sebagi SFR
Special Function Register.
2. EEPROM
EEPROM adalah memori data yang masih dapat menyimpan data walaupun ketika chip microcontroller dalam keadaan mati off, digunakan
untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya.
3.1.2 Komunikasi Serial Pada Atmega 8
Microcontroller AVR Atmega 8 memiliki Port USART pada pin 2 dan pin 3 untuk melakukan komunikasi data antara microcontroller dengan
microcontroller ataupun microcontroller dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron dan asinkron. Sinkron berarti clock
yang digunakan antara transmitter dan receiver satu sumber clock. Sedangkan
asinkron berarti transmitter dan receiver mempunyai sumber clock sendiri-sendiri. USART terdiri dalam tiga blok yaitu clock generator, transmitter, dan receiver.
Gambar 3.5 Blok USART
[1]
3.1.3 Clock Generator
Clock generator berhubungan dengan kecepatan transfer data baud rate, register yang bertugas menentukan baud rate adalah register UBRR
USART Baud Rate Register. Tabel 3.1 Baud Rate Atmega 8
[1]
Operating Mode Equation for Calculating
Baud Rate Equation for Calculating
UBRR Value Asyncrhronous Normal
Mode U2X = 0 Baud
UBRR Asyncrhronous Double
Speed Mode U2X = 1 Baud
UBRR
Syncrhronous Master Mode
Baud UBRR
Dimana: 1.
Fosc adalah frekuensi oscilator yang digunakan. 2.
BAUD adalah transfer Bit per detik.
3.1.4 USART Transmitter
USART transmitter berhubungan dengan data pada Pin TX. Perangkat yang sering digunakan adalah register UDR sebagai tempat penampungan data
yang akan ditransmisikan. Flag TXC sebagai indikator bahwa data yang ditransmisikan telah sukses complete, dan flag UDRE sebagai indikator jika
UDR kosong dan siap untuk diisi data yang akan ditransmisikan lagi
[1]
.
3.1.5 USART Receiver
USART receiver berhubungan dengan penerimaan data dari Pin RX. Perangkat yang sering digunakan adalah register UDR sebagai tempat penampung
data yang telah diterima, dan flag RXC sebagai indikator bahwa data telah sukses complete diterima
[1]
.
3.2 IC ULN2003
Integrated Circuit IC ULN2003 adalah IC bertegangan tinggi IC ULN 2003 memiliki 7 pasang kaki-kaki yang berfungsi sebagai masukan dan keluaran
sinyal, satu kaki yang berfungsi sebagai Ground, dan satu kaki Common Seperti Gambar 3.6. IC ini dapat meningkatkan arus yang dikirimkan melalui parallel
Port yang hanya beberapa mA menjadi 500mA, sedangkan arus puncak yang mampu ditingkatkan oleh IC ULN2003 adalah 600A.
IC ULN 2003 sangat ideal untuk digunakan sebagai driver seven segment untuk mengontrol arus agar pada setiap segment didapatkan kecerahan
yang dibutuhkan.
Gambar 3.6 Pin Connection IC ULN 2003
[4]
3.3 Seven Segment