Mikrokontroler adalah sebuah perangkat kendali yang berisi sejumlah periferal seperti RAM, ROM TIMER, komunikasi data serial , dll., yang diperlukan untuk melakukan beberapa tugas yang telah ditentukan sebelumnya. Sekarang, tipe lanjutan dari mikrokontroler digunakan dalam berbagai aplikasi sesuai kemampuan dan kelayakannya untuk melakukan beberapa tugas yang diinginkan dan termasuk pengontrol ini 8051, mikrokontroler AVR dan PIC . Pada artikel ini, kita akan belajar tentang mikrokontroler keluarga AVR tingkat lanjut dan pemrogramannya .
Mikrokontroler AVR
AVR adalah jenis perangkat pengontrol yang diproduksi oleh Atmel Corporation pada tahun 1996. AVR tidak berarti apa pun, itu hanya sebuah nama. AVR tersebut mikrokontroler terdiri dari arsitektur Harvard , dan oleh karena itu, perangkat bekerja sangat cepat dengan pengurangan jumlah instruksi level mesin (RISC). Mikrokontroler AVR terdiri dari fitur-fitur khusus dibandingkan dengan mikrokontroler lain seperti mode 6-sleep, ADC inbuilt, osilator internal dan komunikasi data serial, dll. Mikrokontroler AVR tersedia dalam berbagai konfigurasi 8-bit, 16-bit, dan 32-bit untuk melakukan berbagai operasi.
Mikrokontroler AVR
Komunikasi Data Serial USART dalam Mikrokontroler AVR
USART adalah singkatan dari penerima dan pemancar sinkron dan asinkron universal. Ini adalah komunikasi serial dari dua protokol. Protokol ini digunakan untuk mentransmisikan dan menerima data sedikit demi sedikit sehubungan dengan pulsa clock pada satu kabel. Itu Mikrokontroler AVR memiliki dua pin: TXD dan RXD, yang khusus digunakan untuk mengirim dan menerima data secara serial. Setiap mikrokontroler AVR terdiri dari protokol USART dengan fitur-fiturnya sendiri.
Komunikasi USART dalam Mikrokontroler AVR
Fitur Utama AVR USART
- Protokol USART mendukung protokol dupleks penuh.
- Ini menghasilkan baud rate resolusi tinggi.
- Ini mendukung transmisi bit data serial dari 5 hingga 9 dan terdiri dari dua bit stop.
Konfigurasi Pin USART
USART AVR terdiri dari tiga Pin:
- RXD: Pin penerima USART (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
- TXD: Pin pemancar USART (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
- XCK: Pin jam USART (ATMega8 PIN 6 ATMega16 / 32 Pin 1)
Mode Operasi
Mikrokontroler AVR protokol USART beroperasi dalam tiga mode yaitu:
- Mode Normal Asinkron
- Mode Kecepatan Ganda Asinkron
- Mode Sinkron
Mode Operasi
Mode Normal Asinkron
Dalam mode komunikasi ini, data ditransmisikan dan diterima sedikit demi sedikit tanpa pulsa clock oleh baud rate yang telah ditentukan yang ditetapkan oleh register UBBR.
Mode Kecepatan Ganda Asinkron
Dalam mode komunikasi ini, data yang ditransfer dua kali lipat baud rate diatur oleh register UBBR dan bit U2X di register UCSRA. Ini adalah mode kecepatan tinggi untuk komunikasi sinkron untuk mengirim dan menerima data dengan cepat. Sistem ini digunakan di mana pengaturan baud rate yang akurat dan jam sistem diperlukan.
Mode Sinkron
Dalam sistem ini, pengiriman dan penerimaan data sehubungan dengan pulsa clock diatur UMSEL = 1 dalam register UCSRC.
Konfigurasi USART Pada mikrokontroler AVR
USART dapat dikonfigurasi menggunakan lima register seperti tiga register kontrol , satu register data dan register pemilihan baud-rate, seperti UDR, UCSRA, UCSRB, UCSRC dan UBRR.
7 Langkah untuk Menyusun Program
Langkah 1: Hitung dan Tetapkan Baud Rate
Tingkat baud USART / UART ditetapkan oleh pencatat UBRR. Register ini digunakan untuk menghasilkan transmisi data pada kecepatan tertentu. UBRR adalah register 16-bit. Karena AVR adalah mikrokontroler 8-bit dan ukuran registernya adalah 8-bit. Oleh karena itu, di sini register UBRR 16-bit terdiri dari dua register 8-bit seperti UBRR (H), UBRR (L).
Rumus dari baud rate adalah
BAUD = Gelap / (16 * (UBBR + 1))
Rumus register UBRR adalah
UBRR = Gelap / (16 * (BAUD-1))
Frekuensi mikrokontroler AVR adalah 16MHz = 16000000 Mari kita asumsikan baud rate 19200Bps, lalu
UBRR = 16000000 / (16 * (19200-1))
UBRR = 16000000 / (16 * (19200-1))
UBRR = 51,099
Akhirnya temukan baud rate
BAUD = 16.000.000 / (16 * (51 + 1))
UBRR = 19230bps
Langkah 2: Pemilihan Mode Data
Modus transmisi data, bit start dan stop bit dan ukuran karakter diatur oleh kontrol dan status register UCSRC.
Pemilihan Mode Data
Step3: Pemilihan Mode Transmisi Data
Mode sinkron dan asinkron dipilih oleh bit UMSEL dari register status kontrol. Jika kami memberikan UMSEL = 0, maka USART beroperasi dalam mode asinkron, jika tidak beroperasi dalam mode sinkron.
Pemilihan Mode Transmisi Data
Step4: Mulai Bit dan Hentikan Bit
Bit start dan stop bit adalah cara untuk mengirim dan menerima data secara serial. Umumnya setiap ketenaran data terdiri dari satu bit stat dan satu bit stop, tetapi mikrokontroler AVR memiliki satu bit awal dan dua bit stop untuk memproses data. Bit stop ekstra dapat berguna untuk menambahkan sedikit waktu pemrosesan penerimaan ekstra. Ini sangat berguna untuk kecepatan transfer data yang tinggi, sedangkan kecepatan transfer datanya sangat tinggi, sehingga kami tidak mendapatkan data yang sesuai. Dengan demikian, kita dapat meningkatkan waktu pemrosesan dengan menggunakan dua bit stop untuk mendapatkan data yang tepat.
Mulai Bit dan Hentikan Bit
Jumlah bit stop dipilih oleh bit USBS UCSRC - register status kontrol. USBS = 0, untuk bit satu stop, dan USBS = 1, untuk dua bit stop.
Step5: Atur Ukuran Karakter
Seperti halnya dengan mikrokontroler dasar mengirim dan menerima byte data (8-bit) sekaligus, baik dalam mikrokontroler AVR, kita dapat memilih format bingkai data di setiap bingkai dengan bit UCSZ dari register UCSRC.
Format Bingkai Data
Step6: Simpan Data yang Diterima
Mikrokontroler AVR terdiri dari register buffer UDR untuk mengirim dan menerima data. UDR adalah register buffer 16-bit dimana 8-bit digunakan untuk menerima (RXB) data dan bit lainnya digunakan untuk mentransmisikan data (TXB). Register buffer data transmisi akan menjadi tujuan register UDR untuk data tertulis di lokasinya. Menerima register buffer data akan mengembalikan konten register UDR.
Step7: Pemancar dan Penerima Diaktifkan
Data yang dikirimkan dan diterima akan diizinkan oleh pin RXC dan TXC mikrokontroler yang diatur oleh register UCSRA dari mikrokontroler. Bit flag ini ditetapkan oleh mikrokontroler agar data diselesaikan dengan menerima dan mengirimkan (TXC = RXC = 1).
Gandakan Tingkat Baud
Kita dapat menggandakan kecepatan transfer komunikasi USART dari AVR mikrokontroler dari 16 bit menjadi 8-bit efektif oleh U2X –bit di register UCSRA. Efek bit ini hanya pada operasi asinkron. Jika kita dapat mengatur bit ini (U2X = 1), itu akan mengurangi kecepatan baud dari 16-bit menjadi 8-bit secara efektif menggandakan kecepatan transfer untuk komunikasi sinkron.
Ini adalah fitur lanjutan dari mikrokontroler AVR untuk pemrosesan data yang cepat.
Program USART
Setiap mikrokontroler ditentukan sebelumnya dengan IDE tertentu, dan berdasarkan IDE ini, mikrokontroler diprogram dengan C tertanam atau bahasa assembly. Pemrograman mikrokontroler AVR dikembangkan oleh studio AVR. Selanjutnya, Jika Anda menginginkan informasi tambahan tentang langkah-langkah untuk membangun proyek berbasis mikrokontroler , atau informasi rinci tentang topik ini, Anda dapat menghubungi kami dengan memberikan komentar di bawah.