회원가입 ID/PW 찾기
AA

거리 감시 측정해서 LED랑 LCD 창에 소거리값 계산해서 나오게 하고싶은데 제힘으로 는 부족한듯 싶네요

이소스로 구현할려고 하는데 안맞는게 많구 레지스터 값 손보다가 계속 산으로 가는것같아서 도움을 요청합니다.

포트는 D를 쓰고 INT 0,(에코)1(트리거) 쓰구 있구 LCD는 8*2 CLCD 입니다..

통신까지는 아직 무리겠고 LED 라도 어떻게 켜ㅂ봣으면 하는 바램입니다..

소스 올려드림 고수분들 부탁점 드릴게요

LED 출력은 PORTB 에 걸려잇습니다.

LCD 는 PORTA를 쓰구요


/******************************************************************************/
/* ULTRA SONIC CONTROL PROGRAM TEST */
/* HIPER TERMINEAL TEST PROGRAM */
/* */
/******************************************************************************/
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/delay.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

//트리거 출력 포트
#define DDR_SEND DDRB
#define PORT_SEND PORTB
#define PIN_SEND PINB

//에코 펄스 입력 포트
#define DDR_RECV DDRD
#define PORT_RECV PORTD
#define PIN_RECV PIND

#define CPU_CLOCK 16000000
#define TICKS_PER_SEC 1000000

#define BAUD_RATE 19200
#define BAUD_RATE_L (CPU_CLOCK / (16l *BAUD_RATE))-1
#define BAUD_RATE_H ((CPU_CLOCK / (16l *BAUD_RATE))-1)>>8

////////////////////////////////////////////[전역변수]//////////////////////////
volatile unsigned long int tic_time;
volatile unsigned long int tCnt = 0L;
unsigned char buf1[10];
unsigned long int start_time;
unsigned long int end_time;
unsigned long int total;


////////////////////////////////////////////[초기화]////////////////////////////
void MCU_init(void)
{
DDR_SEND = 0xFF;
PORT_SEND = 0x01;

UBRR1L =(unsigned char)BAUD_RATE_L;
UBRR1H =(unsigned char)BAUD_RATE_H;

UCSR1C = (0<<UPM1)|(0<<UPM0)|(0<<USBS)|(1<<UCSZ1)|(1<<UCSZ0);
UCSR1B = (1<<TXEN) | (1<<RXEN) | (0<<UCSZ2);//병렬통신

EICRA = (1<<ISC01)|(0<<ISC00); //상승 에지 체크
EIMSK = (1<<INT0); //인터럽트 0번 활성화

TCCR0 = (0<<CS02)|(0<<CS01)|(1<<CS00); //분주비 세팅(0)
TCNT0 = 256-(CPU_CLOCK/TICKS_PER_SEC); //타이머 초기화
TIMSK = (0<<OCIE0)|(1<<TOIE0); //PWM 세팅/카운터 활성화
sei();
}

////////////////////////////////////////////[딜레이 us]/////////////////////////
void delay(unsigned long int usec)
{
tic_time = 0L;
while(usec > tic_time);
}

////////////////////////////////////////////[하이퍼 전송]///////////////////////
void uart_send_byte(unsigned char byte)
{
while(!(UCSR1A &(1<<UDRE1)));
UDR1 = byte;
}

////////////////////////////////////////////[문자열 분석]///////////////////////
void uart_send_string(unsigned char *str, unsigned char len)
{
int i;
for(i=0; i<len; i++)
{
if(!(*(str+i)))
{
break;
}
uart_send_byte(*(str+i));
}
}

SIGNAL(SIG_OVERFLOW0)
{
tic_time++;
tCnt++;
TCNT0 = 256 - (CPU_CLOCK / TICKS_PER_SEC);
}

//에코 펄스 입력
SIGNAL(SIG_INTERRUPT0)//receive
{
end_time = tCnt; //카운터값 저장
tCnt = 0L; //카운터 초기화
total = ((end_time - start_time) / 10) + 3; //거리 계산
}

//트리거 출력
void send(void)
{
PORT_SEND = 0x00;
delay(10);
PORT_SEND = 0xFF;
tCnt = 0L;
start_time = tCnt;
}

int main(void)
{
MCU_init();
while(1)
{
send();
delay(50);
sprintf(buf1," [%ld]cm\t\t\t",total); //거리 산출
uart_send_string(buf1,sizeof(buf1));
delay(3000);
}
return 1;
}

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
21 Sensor 설계 HOT이더넷 transceiver ic추천1 lucius 457 2012.01.20
20 Sensor 설계 HOT레귤레이터 질문입니다.1 마모루 855 2012.01.12
19 Sensor 설계 HOT엔코더 값받는 LS7166 칩 사용하려 하는데..사용방법이 어떻게 되나요..?ㅠ ㅋ2 뚜치와뿌꾸뿌꾸 1966 2011.12.08
18 Sensor 설계 HOT스피커 66파이, 8오옴, 2와트 300개 구입요망 하늘노랑 1004 2011.11.25
17 Sensor 설계 HOT저잡음 증폭기와 고성능 전원 노이즈 필터 회로 구현 문의3 최고멋쟁이 2399 2011.10.24
16 Sensor 설계 HOTAC 모터 전류 제어1 컴맹9506 1783 2011.10.06
15 Sensor 설계 HOT음성 데이터를 저장 해서 스피커로 출력 하는 방법 컴맹9506 1403 2011.09.20
14 Sensor 설계 HOT콘덴서 인덕터 코일 단위와 관련한 질문입니다.1 windjick 2961 2011.06.21
13 Sensor 설계 HOT고휘도 LED 밝기 변화 질문이여!5 초보탈출!! 2808 2011.04.23
12 Sensor 설계 HOT저항 질문이요4 초보탈출!! 2811 2011.03.21
11 Sensor 설계 HOTPT100옴 4선식 또는 PT1000옴 4선식 구매 가능한 곳 알려주세요~ siwall 3531 2011.03.18
10 Sensor 설계 HOTTR에 관련된 질문입니다.1 windjick 1536 2011.03.11
9 Sensor 설계 HOT일반 릴레이와 파워 릴레이 차이점이 무엇인가요?2 초보탈출!! 2752 2011.03.07
8 Sensor 설계 HOTmux와 amp 질문 좀 드립니다용 마모루 1486 2011.03.04
7 Sensor 설계 HOT74LS 시리즈 질문이요1 초보탈출!! 1344 2011.02.24
6 Sensor 설계 HOTsot-23타입의 부품을 찾을때2 리아군 1664 2011.02.09
5 Sensor 설계 HOT비드란? 그 외 질문2 혈청 1801 2011.01.24
4 Sensor 설계 HOT오실레이터와 크리스탈 인공호흡1 다시 1504 2011.01.14
3 Sensor 설계 HOT다이오드 질문드립니다.. 정말 초보적인 문제인대요..^^;;4 얀이 1535 2010.12.17
2 Sensor 설계 HOT전류측정회로가 궁금합니다.1 고니77 2346 2010.12.04
  • 종교에 있어서는 무관심만큼 치명적인 것은 없다. 무관심이란 것은 적어도 반은 불신심이다.
    - 버크
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.