질문게시판 > 답변 : 답변 : 답변 : avr studio, (atmega128) lcd랑 키패드 질문드립니다!!

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

답변 : 답변 : 답변 : avr studio, (atmega128) lcd랑 키패드 질문드립니다!!

페이지 정보

작성자 master 작성일18-12-18 14:40 조회4,006회 댓글0건

본문

 

// DateTime : 2018-12-18 오후 2:45:46
// by Ok-Hyun Park
//
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
#define F_CPU 16000000UL // 16 MHz
#include <util/delay.h>
//
#define Trigger_1      PORTF|=1 //초음파 트리거
#define Trigger_0      PORTF&=~1 //초음파 트리거
#define Echo(PINF&2)//초음파 에코
//
unsigned char pw[4];
//
int range=0,password=0;
char check=0,run=0;
//
char keyin(){
        PORTC=~0x80_delay_us(1);
        if(!(PINC&8))return(1);
        PORTC=~0x40_delay_us(1);
        if(!(PINC&4))return(0);
        PORTC=~0x20_delay_us(1);
        if(!(PINC&8))return(9);
        if(!(PINC&4))return(6);
        if(!(PINC&2))return(7);
        if(!(PINC&1))return(8);
        PORTC=~0x10_delay_us(1);
        if(!(PINC&8))return(5);
        if(!(PINC&4))return(2);
        if(!(PINC&2))return(3);
        if(!(PINC&1))return(4);
  return(10);
}
//
void HC_SR04(){
    _delay_ms(100);
    Trigger_1_delay_us(10); Trigger_0// 10uS
    while(!Echo); TCNT1=0TCCR1B=2;
    whileEcho); TCCR1B=8;
    range=TCNT1/116// Cm
}
//
ISR(TIMER1_COMPA_vect){ // 1ms // 세그먼트
  unsigned char x[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0,1,2,3,4,5,6,7,8,9
  unsigned char open[]={0xbf,0xc0,0x8c,0x84,0xc8}; //{-,o,p,e,n}
  strtic char c=0;
  PORTA=0;
  if(run){
    if(check){ PORTE=x[pw[c]]; }
    else     { PORTE=open[c]; }
    PORTA=8>>c;
    if(++c>3)c=0;
  }
}
//
int main(){
  char key;
  DDRF=1;                // PF0 ouput Trigger,PF1 input Echo
  PORTC=0x0FDDRC=0xF0// keypad
  DDRE=0xFF;  DDRA=0x0F// 세그먼트
  TCCR0=0x0COCR0=249TIMSK=2//16000000/64/(1+249),1ms
  SREG=0x80;
  while(1){
    //--------------------------------------------------------
    HC_SR04();
    if(run<50){ run=1;          } // 50cm 이내로 접근하면 동작
    else      { run=0check=0; } // 멀어지면 off
    //--------------------------------------------------------
    if(run){
      for(i=0;i<4;i++)pw[i]=0// 버퍼 초기화
      key=10;
      while(key>9){ // 1번째 키 입력 대기
        key=keyin();
        HC_SR04();
        if(run>50)continue// 멀어지면 종료
      }
      pw[0]=key;
      //
      key=10;
      while(key>9){ // 2번째 키 입력 대기
        key=keyin();
        HC_SR04();
        if(run>50)continue// 멀어지면 종료
      }
      pw[1]=key;
      //
      key=10;
      while(key>9){ // 3번째 키 입력 대기
        key=keyin();
        HC_SR04();
        if(run>50)continue// 멀어지면 종료
      }
      pw[2]=key;
      //
      key=10;
      while(key>9){ // 4번째 키 입력 대기
        key=keyin();
        HC_SR04();
        if(run>50)continue// 멀어지면 종료
      }
      pw[3]=key;
      //---------------------
      if(pw[0]=1 && pw[1]=2 && pw[2]=3 && pw[3]=4)check=1else check=0;
      for(i=0;i<4;i++)pw[i]=0// 버퍼 초기화
    }
  }
}

 

LCD 빼고 나머지로 만들어봤습니다.

 

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 0

조회수 : 4,006

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum 새글 22-06-26
질문 음전압 ADC 댓글[1] 412904 새글 22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master 새글 22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmeg128 질문이요 댓글[1] 첨부파일공대생er  22-06-18
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다… 댓글[1] 따랑해영  22-06-18
답변 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 ..… 댓글[1] 첨부파일따랑해영  22-06-19
답변 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 .… 첨부파일따랑해영  22-06-19
질문 서보모터와 초음파센서 댓글[1] 브링미히어  22-06-17
질문 LCD 도와주세요 ㅜㅠㅠㅠ 댓글[2] 첨부파일dentist22  22-06-17
질문 안녕하세요 atmega128 질문드리고 싶습니다. (자… 댓글[3] dlcldl  22-06-17
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전