Selasa, 20 Oktober 2015



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