회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
536 Analog & Mixed-Signal 설계 HOT220V를 DC5V로 하는 회로인데 동작이 제대로 안 되요.5 컴맹9506 2936 2011.08.30
535 전기전자 아무거나 HOT485통신에대한 궁금증2 카나데 2627 2011.08.20
534 Analog & Mixed-Signal 설계 HOTSIF신호 다룰수있으신분요 도와주세요..2 하늘날다 2311 2011.08.18
533 드론/로봇/라인트레이서 HOTADC 하이패스에 관하여 질문드립니다.2 mystyle_me 2227 2011.07.09
532 전기전자 아무거나 HOT로봇 청소기 반도체 소자 어떤게 들어가나여??2 다보기 1512 2011.06.30
531 Analog & Mixed-Signal 설계 HOT안녕하세요 왕초보의 피스파이스 질문입니다1 choieman 1897 2011.06.30
530 전기전자 아무거나 HOT적외선 센서1 흐기미 1786 2011.06.29
529 전기전자 아무거나 HOT그래픽 LCD 관련 질문드립니다! 랜시스 1492 2011.06.24
528 Sensor 설계 HOT콘덴서 인덕터 코일 단위와 관련한 질문입니다.1 windjick 2961 2011.06.21
527 Analog & Mixed-Signal 설계 HOT비교기 질문있습니다.5 신카레라이스 2633 2011.06.06
526 Analog & Mixed-Signal 설계 HOTpspice.,,3 약곰탱이 1701 2011.06.02
525 전기전자 아무거나 HOT윈도우 7인데요,,,pspice가,,,1 약곰탱이 2740 2011.06.02
524 전기전자 아무거나 HOT레벨메타로 전압, 데시벨 읽는 방법이 궁금 합니다. 슈팅 2406 2011.06.01
523 Analog & Mixed-Signal 설계 HOT회로도를 설계하려하는데요,,,,,5 약곰탱이 1938 2011.05.31
522 Analog & Mixed-Signal 설계 HOT디지털 인수분해기 회로도 입력에대해서 회로구함 1596 2011.05.26
521 전기전자 아무거나 HOTPspice를 이용해서1 멋진하나 1751 2011.05.26
520 Analog & Mixed-Signal 설계 HOT긴급긴급 !!!!!!!ㅜ eeffoc 2358 2011.05.25
519 Analog & Mixed-Signal 설계 HOTpspice 이용한 회로설계 eeffoc 2202 2011.05.25
518 Analog & Mixed-Signal 설계 HOT스피커 앰프 선정 방법 좀 알려주세요... 헌터 1939 2011.05.06
517 Analog & Mixed-Signal 설계 HOT차단주파수설정에 관한 질문드립니다. 유감 2507 2011.05.03
Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 39 Next
  • 거짓말은 눈덩이와 같다 오래 굴릴수록 커진다.
    - 마르틴루터
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.