회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
4704 구인구직 HOT하드웨어 및 기구물 Design 등 Total Solution (알바구직) bobby 3087 2012.09.12
4703 개발용역 HOT하드웨어(PCB Artwork, FPGA, Micom, 각종회로) 및 기구물 Design 등 Total Solution으로 제품 개발 해 드립니다. bobby 13064 2012.09.12
4702 펌웨어 & 코딩언어 c언어 질문인데요..3 하하하하히 389 2012.09.10
4701 ECAD 아무거나 orcad usb 관련 질문인데요 하하하하히 288 2012.09.08
4700 PADS HOTPADS Verify design 질문이여2 미미이르 701 2012.09.08
4699 구인구직 HOT영상처리 회로,f/w개발 제임스리 3133 2012.09.07
4698 전기전자 아무거나 개발자1 세사조 285 2012.09.05
4697 Allegro & OrCAD HOTORCAD초보인데요ㅠㅠ 고수분들 ORCAD좀 질문할게요ㅠ1 하하하하히 2569 2012.09.02
드론/로봇/라인트레이서 HOT센서부 소스코드 입니다. 잘안되네요... JHJ 655 2012.09.02
4695 마이크로프로세서 HOTPIC24fv32k301 프로그램 카운터 질문 ㅜㅜ 납땜신동동 408 2012.08.31
4694 개발용역 HOT제품개발 해드립니다. 회로설계,펌웨어,아트웍 장마 6271 2012.08.30
4693 PADS HOT■ PADS 기초 구조 문의3 막보드 1025 2012.08.29
4692 Allegro & OrCAD HOTcadence allegro 크랙 파일 찾습니다.. 쉬리 808 2012.08.28
4691 자유주제 HOT정모 언제..5 세사조 24488 2012.08.23
4690 구인구직 HOT한국문화기술(주) - [강남구소재-티켓포털,예매] 웹개발자, 응용프로그래머 모집 쭈니닷 4385 2012.08.23
4689 자유주제 HOT흔한 부부들의 대화........9 rightstone 35544 2012.08.23
4688 PADS pads logic 에러체크가 보고서가 안생깁니다.. (용장군님답변보고 수정)1 고기 392 2012.08.22
4687 자유주제 HOT치열한 생존의 현장(2)5 견우7 1468 2012.08.21
4686 자유주제 HOT치열한 생존의 현장(1)1 견우7 1527 2012.08.21
4685 Allegro & OrCAD PCB editor는 빈페이지 같은거 없나요?1 아둘란 272 2012.08.17
Prev 1 ... 55 56 57 58 59 60 61 62 63 64 ... 295 Next
  • 천재란 인내에 대한 위대한 자질 이외에는 아무것도 아니다.
    - 뷰퐁
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.