회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
190 PADS HOTPADS 프로그램 어디서 다운하나여?1 bitbyte 992 2013.06.13
189 PADS HOTpads 단축키 질문입니다.1 finics 815 2013.06.13
188 PADS HOTPads9.2 설치 후 문제2 꼭지단 1422 2013.05.18
187 PADS HOTPADS 9.3 과 PADS 4.0 호환 질문입니다.1 스카이즈리밋 1649 2013.05.09
186 PADS HOTEdit decal 에서 Dimension 관련 질문2 야누스1세 937 2013.04.16
185 PADS HOTPADS2007을 사용중인데요...1 단순한바보 691 2013.03.28
184 PADS HOTpads 로직 메뉴 툴 설명1 탱구 1131 2013.03.12
183 PADS HOTpads 9.4 크랙설정법 에러뜨네요.ㅠ..2 소거기김밥 3122 2013.02.04
182 PADS HOT부품 배치에 관해 문의 아닌 문의 드립니다.3 불꽃처럼 729 2012.11.24
181 PADS HOTOpen Decal후 Rename Terminal 창 활성화 안돼 고생 중4 roijjaung 1892 2012.11.09
180 PADS HOTpads 에서 ARC 설정 어떻게 하나요?2 스코프 2023 2012.10.24
179 PADS HOTPADS Verify design 질문이여2 미미이르 965 2012.09.08
178 PADS HOT■ PADS 기초 구조 문의3 막보드 1427 2012.08.29
177 PADS HOTpads logic 에러체크가 보고서가 안생깁니다.. (용장군님답변보고 수정)1 고기 776 2012.08.22
176 PADS HOTPads 9.3.1 설치파일 가지고 계신분 있으세요?ㅠㅠ1 돼지토끼 1354 2012.08.13
175 PADS HOTPADS 9.3.1 셋팅창등 잘린모양으로 보이는 문제점 문의 건 sunbeelove 1462 2012.07.27
174 PADS HOT회로 이동 관련 질문1 웨라러브 645 2012.07.26
173 PADS HOTpads20051 오라이 724 2012.07.07
172 PADS HOTpads20072 오라이 766 2012.07.05
171 PADS HOTimport_시 단위선택1 오함마 716 2012.07.04
Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
  • 용기는 대단히 중요하다. 근육과 마찬가지로, 용기는 사용함으로써 강해진다.
    - 고든
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.