BASIC4MCU | 질문게시판 | 답변 : atmega128A로 초음파센서
페이지 정보
작성자 master 작성일2024-05-13 19:53 조회354회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23741
본문
#include <avr/io.h>
#define F_CPU 16000000UL // 16 MHz
#include <util/delay.h>
#include <stdio.h>
//
#define Trig_1 PORTB|=1 // 초음파 트리거 PB0
#define Trig_0 PORTB&=~1 // 초음파 트리거
#define Echo (PIND&1) // 초음파 에코 PD0
//
unsigned int range;
//
void getEcho(){
while(!Echo); TCCR1B=2;
while( Echo); TCCR1B=0;
range=TCNT1/116; // Cm
}
//
void U1_TX (char d){ while(!(UCSR1A&0x20)); UDR1=d; }
void U1_STR(char *s){ while(*s)U1_TX(*s++); }
//
int main(){
char str[30];
DDRB=0x01; // PB0 TRIG 출력
UBRR1L=103; UCSR1B=0x18;
while(1){
Trig_1; _delay_us(10); Trig_0; // 10uS
getEcho();
sprintf(str,"%d cm \r\n",range); U1_STR(str);
_delay_ms(100);
}
return 0;
}
댓글 0
조회수 354등록된 댓글이 없습니다.