회원가입 ID/PW 찾기
AA

#include <mega128.h>
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>  
#include <delay.h>
#include <stdio.h>

#define sen_on()        PORTA = 0xff
#define sen_off()       PORTA = 0x00
#define SENSOR_MODE_ON  1
#define SENSOR_MODE_OFF  2

typedef  unsigned char byte;
typedef  unsigned int word;
typedef  unsigned long dword;

word  sensor_input[8];
byte sensor_mode;
int sensor_cnt = 0;
#define ADC_VREF_TYPE 0x00


// ADC interrupt service routine
interrupt [ADC_INT] void adc_isr(void)
{  
    sensor_input[sensor_cnt] = ADCW;
    sensor_cnt++;
   switch(sensor_cnt)
    {
        case 0:  ADMUX = 0x00;  break;
        case 1:  ADMUX = 0x01;  break;
        case 2:  ADMUX = 0x02;  break;
        case 3:  ADMUX = 0x03;  break;
        case 4:  ADMUX = 0x04;  break;
        case 5:  ADMUX = 0x05;  break;
        case 6:  ADMUX = 0x06;  break;
        case 7:  ADMUX = 0x07;  break;
        default: sensor_cnt=0; break;
    }                
   // ADMUX = 0x02; // adc cheannel select
   //if(sensor_cnt>=8) sensor_cnt=0;          
}

interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
   
    if(sensor_mode == SENSOR_MODE_ON)      //초기값은 sensor_mode 애  SENSOR_MODE_ON값이 들어가있음.
    {                         // 60us  
        sen_on();     //발광 on
        delay_us(3);  //2~3적당.
        ADCSRA|=0x40; 
        sensor_mode = SENSOR_MODE_OFF;     //스위칭 변수.                       
        TCNT3H = 0xff; //start timer     
        TCNT3L = 0xf1;
       
    }
    else if(sensor_mode ==  SENSOR_MODE_OFF)
    {  
                             // 180us  
        sen_off();     //발광 off
        sensor_mode = SENSOR_MODE_ON;      // 스위칭 변수.
        TCNT3H = 0xff;
        TCNT3L = 0xdd; //start timer         
    }
                              

}
void adc_init(void)
{   
  ADCSRA = 0x00; //disable adc
  ADMUX = ADC_VREF_TYPE;  // VRef
  ACSR  = 0x80;
  ADCSRA = 0x8E; // ADC Prescaler 128
}


void main(void)
{              
  char lcd_buf[16];
  DDRA = 0b11111111;
    
   
  DDRF = 0x00;

        lcd_init(16);
       
   TIMSK = 0x04;
   TCCR1A = 0x00;
   TCCR1B = 0x03; //start timer2, prescale 64   
   TCNT1H = 0x00;
   TCNT1L = 0x00;
  
   //ETIMSK = 0x40; //timer2  compare interupt
   sensor_mode = SENSOR_MODE_ON;
   adc_init();
   #asm("sei");
      
    while (1)
    {  
        lcd_clear();
        lcd_gotoxy(0,0);
        sprintf(lcd_buf, "%d",sensor_input[3]);
        lcd_puts(lcd_buf);
        lcd_gotoxy(4,0);
        sprintf(lcd_buf, "%d",sensor_input[1]);
        lcd_puts(lcd_buf);
        lcd_gotoxy(8,0);
        sprintf(lcd_buf, "%d",sensor_input[2]);
        lcd_puts(lcd_buf); 
        lcd_gotoxy(0,1);
        sprintf(lcd_buf, "%d",sensor_input[7]);
        lcd_puts(lcd_buf);
        lcd_gotoxy(4,1);
        sprintf(lcd_buf, "%d",sensor_input[6]);
        lcd_puts(lcd_buf);
        lcd_gotoxy(8,1);
        sprintf(lcd_buf, "%d",sensor_input[5]);
        lcd_puts(lcd_buf);
       
       
        delay_ms(500); // 0.5초 지연
      };
}

 

이렇게소스코드를짜보았는데 수광부쪽테스트를해봐도 반응이없네요... 소스쪽문제일까요 ㅠㅠ?

JHJ
댓글 0

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

search
번호 분류 제목 글쓴이 조회 수 날짜
616 전기전자 아무거나 HOT포토커플러에 대해서 문의드려요3 꼬기 596 2013.01.23
615 Analog & Mixed-Signal 설계 HOTCCD의 무선 전송(지그비) 로미옹 404 2013.01.07
614 Analog & Mixed-Signal 설계 HOTOPAMP와 TR통해서 전류증폭관련 질문입니다. 조신율 2303 2012.11.29
613 드론/로봇/라인트레이서 MB LineMouse 전원 쪽 질문있습니다~1 윤건 337 2012.11.20
612 Analog & Mixed-Signal 설계 HOT로또 추첨기 회로1 광돌이 830 2012.11.07
611 Sensor 설계 IC 칩 추천 및 질문이요~.~1 꼬기 351 2012.10.30
610 전기전자 아무거나 HOT꼭좀요 성의껏1 세사조 401 2012.10.21
609 Analog & Mixed-Signal 설계 리셋관련된 이상동작2 칼라무지게 355 2012.10.11
608 Analog & Mixed-Signal 설계 HOTBJT와 MOSFET의 쓰임새1 알파친노 1127 2012.10.11
607 Analog & Mixed-Signal 설계 HOT제너 다이오드의 쓰임새1 알파친노 567 2012.10.11
606 Sensor 설계 HOT배터리 모니터링 IC칩 찾아요2 다리미 468 2012.10.04
605 드론/로봇/라인트레이서 HOT라인트레이서 소스 질문이요!1 졸작.. 742 2012.09.24
604 Sensor 설계 콘덴서 를 찾습니다. 얀이 312 2012.09.22
603 전기전자 아무거나 IMP525 대체품을 찾습니다.1 windjick 245 2012.09.18
602 전기전자 아무거나 HOT조도센서에 대해서2 파란박스 620 2012.09.13
601 전기전자 아무거나 개발자1 세사조 283 2012.09.05
드론/로봇/라인트레이서 HOT센서부 소스코드 입니다. 잘안되네요... JHJ 654 2012.09.02
599 전기전자 아무거나 HOTPADS 9.3.XXX 버젼과 PADS2005 버젼이 비슷한건가요?2 하하하하히 400 2012.08.06
598 전기전자 아무거나 회로4 세사조 379 2012.08.03
597 전기전자 아무거나 HOT공통 게이트 증폭기 회로를 공부하던중 수학때문에요...;;1 행복한인생 434 2012.06.30
Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 39 Next
  • 그 사람됨을 알고자 하면 그의 친구가 누구인가를 알아보라.
    - 터키 속담
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.