MOTOR SERVO
Jenis Chip: ATmega8535
Jenis Program: Aplikasi
AVR Inti Jam frekuensi: 11.059200 MHz
Memory Model: Kecil
Ukuran RAM eksternal: 0
Data ukuran Stack: 128
************************************************** *** /
#include <mega8535.h>
#include <delay.h>
unsigned xcount char, lpwm, RPWM;
// Timer 0 meluap rutin layanan interupsi
mengganggu [TIM0_OVF] kekosongan timer0_ovf_isr (void)
{
// Tempatkan kode Anda di sini
xcount ++;
jika (xcount <= lpwm) {PORTD.4 = 1;}
else {PORTD.4 = 0;}
jika (xcount <= RPWM) {PORTD.5 = 1;}
else {PORTD.5 = 0;}
TCNT0 = 0xFF;
}
// Deklarasi variabel global Anda di sini
membatalkan maju ()
{
lpwm = 150; RPWM = 150;
PORTD.2 = 1; PORTD.3 = 0;
PORTD.6 = 1; PORTD.7 = 0;
}
membatalkan kiri ()
{
lpwm = 150; RPWM = 200;
PORTD.2 = 1; PORTD.3 = 0;
PORTD.6 = 1; PORTD.7 = 0;
}
membatalkan Kanan ()
{
lpwm = 200; RPWM = 150;
PORTD.2 = 1; PORTD.3 = 0;
PORTD.6 = 1; PORTD.7 = 0;
}
kekosongan Berhenti ()
{
PORTD = 0x00;
}
void main (void)
{
// Deklarasi variabel lokal Anda di sini
// Input / Output Port inisialisasi
// Port A inisialisasi
// Func7 = Dalam Func6 = Dalam Func5 = Dalam Func4 = Dalam Func3 = Dalam Func2 = Dalam func1 = Dalam Func0 = Dalam
// State7 = T State6 = T State5 = T State4 = T State3 = T State2 = T State1 = T = T State0
PORTA = 0x00;
DDRA = 0x00;
// Port B inisialisasi
// Func7 = Dalam Func6 = Dalam Func5 = Dalam Func4 = Dalam Func3 = Dalam Func2 = Dalam func1 = Dalam Func0 = Dalam
// State7 = T State6 = T State5 = T State4 = T State3 = T State2 = T State1 = T = T State0
PORTB = 0x00;
DDRB = 0x00;
// Pelabuhan C inisialisasi
// Func7 = Dalam Func6 = Dalam Func5 = Dalam Func4 = Dalam Func3 = Dalam Func2 = Dalam func1 = Dalam Func0 = Dalam
// State7 = T State6 = T State5 = T State4 = T State3 = T State2 = T State1 = T = T State0
PORTC = 0xFF;
DDRC = 0xFF;
// Port D inisialisasi
// Func7 = Dalam Func6 = Dalam Func5 = Dalam Func4 = Dalam Func3 = Dalam Func2 = Dalam func1 = Dalam Func0 = Dalam
// State7 = T State6 = T State5 = T State4 = T State3 = T State2 = T State1 = T = T State0
PORTD = 0x00;
DDRD = 0xFF;
// Timer / counter 0 inisialisasi
// Sumber Jam: Sistem Jam
// Nilai Jam: 11059.200 kHz
// Mode: normal atas = 0xFF
// OC0 keluaran: Terputus
TCCR0 = 0x01;
TCNT0 = 0x00;
OCR0 = 0x00;
// Timer / counter 1 inisialisasi
// Sumber Jam: Sistem Jam
// Nilai Jam: Timer1 Berhenti
// Mode: normal atas = 0xFFFF
// Output OC1A: DISCON.
// Output OC1B: DISCON.
// Kebisingan Canceler: Off
// Masukan Tangkap di Falling Ujung
// Timer1 Overflow Interrupt: Off
// Masukan Tangkap Interrupt: Off
// Bandingkan A Interrupt Pertandingan: Off
// Bandingkan B Pertandingan Interrupt: Off
TCCR1A = 0x00;
TCCR1B = 0x00;
TCNT1H = 0x00;
TCNT1L = 0x00;
ICR1H = 0x00;
ICR1L = 0x00;
OCR1AH = 0x00;
OCR1AL = 0x00;
OCR1BH = 0x00;
OCR1BL = 0x00;
// Timer / counter 2 inisialisasi
// Sumber Jam: Sistem Jam
// Nilai Jam: Timer2 Berhenti
// Mode: normal atas = 0xFF
// OC2 keluaran: Terputus
ASSR = 0x00;
TCCR2 = 0x00;
TCNT2 = 0x00;
OCR2 = 0x00;
// Eksternal Interrupt (s) inisialisasi
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR = 0x00;
MCUCSR = 0x00;
// Timer (s) / Counter (s) Interrupt (s) inisialisasi
TIMSK = 0x01;
// Inisialisasi USART
// USART cacat
UCSRB = 0x00;
// Analog Comparator inisialisasi
// Analog Comparator: Off
// Analog Comparator Masukan Tangkap oleh Timer / counter 1: Off
ACSR = 0x80;
SFIOR = 0x00;
// Inisialisasi ADC
// ADC dinonaktifkan
ADCSRA = 0x00;
// Inisialisasi SPI
// SPI cacat
SPCR = 0x00;
// Inisialisasi TWI
// TWI cacat
TWCR = 0x00;
// Global mengaktifkan interupsi
#asm ("sei")
sementara (1)
{
// Tempatkan kode Anda di sini
maju ();
delay_ms (500);
kiri ();
delay_ms (500);
Kanan ();
delay_ms (500);
Berhenti ();
Tidak ada komentar:
Posting Komentar