Siapkan bahan2 sesuai skematik berikut ini :
dan jangan lupa programmer AVR nya ...
PROJECT 1 LED BLINK
#define F_CPU 1000000UL // frekuensi clock internal
#include <avr/io.h> // definisi standar io port
#include <util/delay.h> // definisi include untuk delay
int main(void)
{
DDRB=0b1 ; // Inisialisasi bahwa port B0 adalah output , jika pake port B5 ya inisialisai jadi DDRB=0b100000;
while(1)
{
PORTB=0b1; //port B0 = 1 atau nyala
_delay_ms(1000); //delay
PORTB=0b0; //port B0 = 0 atau mati
_delay_ms(1000); //delay
}
return 0;
PROJECT 2 LED BLINK
Gunakan 2 LED di port B#0 dan B#5
Kita akan memperkenalkan operasi bit untuk inisialisasi rangkap
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB5)|(1<<PB0) ; // inisialisai menggunakan operasi bit
PORTB |= (1<<PB5) ; // operasi bit PORT B#5 = 1
PORTB &= ~(1<<PB0) ; //operasi bit PORT B#0 =0
while(1)
{
PORTB ^=(1<<PB5) ; // operasi bit toggle atau NEGASI/KEBALIKAN dari posisi bit sebelumnya
PORTB ^=(1<<PB0) ;
_delay_ms(1000);
}
return 0;
}
PROJECT - MEMBACA TOMBOL
kali ini kita akan membaca tombol dan kita gunakan untuk mengatur nyala matinya LED
kita memanfaatkan syntax " if (bit_is_set(PIN#, PIN##)) "
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB5)|(1<<PB0) ; //inisialisasi port B#5 & B#0 sebagai output
DDRB &= ~(1<<PB1) & ~(1<<PB2) ; //inisialisasi port B#1 & B#2 sebagai input
PORTB |= (1<<PB5) | (1<<PB0); //kita SET LED NYALA semuanya
while(1)
{
if (bit_is_set(PINB, PINB1)) // membaca jika port input B#1 di set atau HIGH / 1 ( posisi awal di ground /LOW )
{
PORTB ^=(1<<PB5) ; //TOGGLE LED di PORT B#1
_delay_ms(500);
}
if (bit_is_set(PINB, PINB2)) // membaca jika port input B#2 di set atau HIGH / 1 ( posisi awal di ground /LOW )
{
PORTB ^=(1<<PB0) ; //TOGGLE LED di PORT B#2
_delay_ms(500);
}
}
return 0;
}
Senin, 01 Agustus 2011
Home »
attiny2313
,
dasar
,
Input Output
,
microcontroller
,
paket belajar
,
project
» BASIC OUTPUT & INPUT dengan ATTINY 2313
posting mantab...
BalasHapusmohon bantuan petunjuk mcu attny2313 mas.
1. saya punya tabel sinus 4 bit dalam bentuk array 64 data.
2. dengan DAC R2R ingin saya isi keluargan tabel tersebut pada PORTD dengan frekuensi 19KHz.
kendala saya tidak bisa menentukan frekuensi 19KHz.
mengeluakan sinus 19KHz pada PORTD
BalasHapusDirimu bisa membuat outputnya ber "timer" ...saya ada penjelasannya di posting tertentu. Karena seri avr memiliki fasilitas PWM ..jadi tentunya untuk bikin sinus dari pwm lebih gampang ...sangat mudah hanya beberapa baris code saja. Source nya bisa dilihat dari berbagai sumber di google
BalasHapus