DASAR IO pada AVR Oleh SGO Aplikasi Mikrokontroler

  • Slides: 12
Download presentation
DASAR I/O pada AVR Oleh SGO Aplikasi Mikrokontroler (DTG 2 K 3)

DASAR I/O pada AVR Oleh SGO Aplikasi Mikrokontroler (DTG 2 K 3)

Perintah Dasar Output PORTX=data; Yaitu untuk mengirim data secara byte ke suatu Port INPUT

Perintah Dasar Output PORTX=data; Yaitu untuk mengirim data secara byte ke suatu Port INPUT data_in=PINX Mengambil data byte dari suatu PIN

DDR dan PORT Perlu diketahui, sebelum kita menggunakan port I/O ada beberapa hal yang

DDR dan PORT Perlu diketahui, sebelum kita menggunakan port I/O ada beberapa hal yang perlu di-setting supaya dapat digunakan sebagaimana mestinya DDR bit = 1 DDR bit = 0 PORT bit = 1 Output ; High Input ; R pull-up PORT bit = 0 Output ; low Input ; Floating Misal : …………. . PORTA=0 x. CC; DDRA=0 x 0 F; Dari DDR terlihat bahwa Port A 0 -3 sebagai output dan Port. A 4 -7 sebagai input. Sedangkan dari PORT terlihat bahwa PA 0 -1=low, PA 2 -3=High, PA 4 -5=tanpa R pull up, dan PA 6 -7=dengan pull-up

Contoh Rangkaian I/0 Port I/O untuk output hanya memberikan arus sebesar 20 m. A

Contoh Rangkaian I/0 Port I/O untuk output hanya memberikan arus sebesar 20 m. A

Contoh Program Pada Win. AVR Pada CAVR #include <avr/io. h> Int main(void) {unsigned char

Contoh Program Pada Win. AVR Pada CAVR #include <avr/io. h> Int main(void) {unsigned char i=0 x. A 5; DDRB=0 x. FF; for(; ; ) { PORTB=i; } return(0); } PORTB=0 x 00; DDRB=0 x. FF; Pada bagian utama program while (1) { PORTB=0 x. A 5; }; }

Input/Output Per-Bit � Output PORTX. bitn=data; Contoh : PORTB. 3=1; � Input data_in=PINX. bitn;

Input/Output Per-Bit � Output PORTX. bitn=data; Contoh : PORTB. 3=1; � Input data_in=PINX. bitn; Contoh : data_in=PINB. 3;

portb=0 b 00001010; � delay_ms(100); � portb=0 b 00000101; � delay_ms(100); �

portb=0 b 00001010; � delay_ms(100); � portb=0 b 00000101; � delay_ms(100); �

Penampil LCD

Penampil LCD

Setting LCD

Setting LCD

Setting LCD // Alphanumeric LCD Module functions #asm. equ __lcd_port=0 x 12 ; PORTD

Setting LCD // Alphanumeric LCD Module functions #asm. equ __lcd_port=0 x 12 ; PORTD #endasm #include <lcd. h> Blok ini harus disertakan (ini muncul setelah generate file). Arti dari script ini adalah setting LCD di PORT D kemudian akan me-link kan ke pustaka lcd. h yang didalamnya terdapat intruksi-intruksi untuk akses LCD.

Menampilkan Karakter ke LCD // LCD module initialization lcd_init(16); // inisialisasi LCD 16 x

Menampilkan Karakter ke LCD // LCD module initialization lcd_init(16); // inisialisasi LCD 16 x 2 lcd_gotoxy(0, 0); // menempatkan karakter awal di // kolom 0, baris 0 lcd_putsf("D 3 TT 3601") // menampilkan string D 3 TT 3502 lcd_gotoxy(0, 1); // menempatkan karakter awal di // kolom 0, baris 1 lcd_putsf("PALING_OKE") // menampilkan string // PALING_OKE

Menampilkan String yang Disimpan di SRAM Tambahkan library #include <stdio. h> // Declare your

Menampilkan String yang Disimpan di SRAM Tambahkan library #include <stdio. h> // Declare your global variables here char buf[33]; //deklarasi variabel buf untuk menyimpan string //yang akan ditampilkan ke LCD …… lcd_init(16); // inisialisasi LCD 16 x 2 lcd_gotoxy(0, 0); // menempatkan karakter awal di kolom 0, baris 0 lcd_putsf(“tes_SRAM") lcd_gotoxy(0, 1); Sprintf(buf, ”Angka %d”, 14); //menyimpan string ke SRAM lcd_puts(buf) // menampilkan ke LCD