AVR mega16单片机智能循迹小车程序
时间:10-02
整理:3721RD
点击:
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
}
void timer1_init(void)
{
TCCR1B = 0x00;
TCNT1H = 0xFF;
TCNT1L = 0x01;
OCR1AH = 0x00;
OCR1AL = 0xFF;
OCR1BH = 0x00;
OCR1BL = 0xFF;
ICR1H = 0x00;
ICR1L = 0xFF;
TCCR1A = 0xF1;
TCCR1B = 0x0B;
}
void main(void)
{ uchar data;
port_init();
timer1_init();
DDRC = 0xff;
PORTC = 0x82;
DDRB=0x00;
DDRD = 0x30;
DDRA=0xff;
PORTA=0X55;
while(1)
{ data = PINB & 0xc0;
if( data == 0xc0 )
{PORTA=0x00;OCR1AL=0xba;OCR1BL=0Xb8;} //前
if(data == 0x80)
{PORTA=0x0f;OCR1AL=0x70;OCR1BL=0Xe0;} //左转
if(data == 0x40)
{PORTA=0xf0;OCR1AL=0xe0;OCR1BL=0X80;} //右转
if( data == 0x00)
{
PORTA=0x7E;OCR1AL=0xee;OCR1BL=0xee;
}
}
}
hhhhhhhhh呵呵呵呵呵呵呵
谢谢分享
好东西啊222222222
好像不是完整程序吧?都没测距 程序,什么红外,超声波之类的。小编大方点嘛
谢谢分享
不错的文档,很受用
