질문게시판 > 도어락 코드입니다.

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

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

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

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

BASIC4MCU > 질문게시판

도어락 코드입니다.

페이지 정보

작성자 rkdeh 작성일18-12-19 18:43 조회3,979회 댓글1건

본문

#include <mega128.h>

#include <delay.h>

#include <stdio.h>

#include <lcd.h>

//

#define  BYTE unsigned char

//

 

int  key_IN[4];                        //입력되는 키값 저장배열

int  sec_num[4]={0x32,0x32,0x32,0x32}; //비밀번호

int  arr_cnt=1,right=1;                //비밀번호 검사를 위한 변수 선언

int  g=0,s=0;                          //비밀번호 검사를 위한 변수선언

char i=0;                              //LCD출력을 위한 변수

//flash BYTE seg_hexfont[2]={0xc0,0xbf};

BYTE FND_selector[3]={0xBF,0xDF,0xEF};

BYTE seg_data[2]={0xC0,0xbf};

 #asm

        .equ __lcd_port=0x1b

    #endasm

//---------------------------------------

//

//

unsigned char KeyCheck(void){

  PORTD=0x10; delay_ms(1);

  //

  if     (PIND.0)return 0x30; // 0

  else if(PIND.1)return 0x34; // 4

  else if(PIND.2)return 0x38; // 8

  else if(PIND.3)return 0x41; // A

  //

  PORTD=0x20; delay_ms(1);

  //

  if     (PIND.0)return 0x31; // 1

  else if(PIND.1)return 0x35; // 5

  else if(PIND.2)return 0x39; // 9

  else if(PIND.3)return 0x42; // B

  //

  PORTD=0x40; delay_ms(1);

  //

  if     (PIND.0)return 0x32; // 2

  else if(PIND.1)return 0x36; // 6

  else if(PIND.2)return 0x2a; // *

  else if(PIND.3)return 0x43; // C

  //

  PORTD=0x80; delay_ms(1);

  //

  if     (PIND.4)return 0x33; // 3

  else if(PIND.5)return 0x37; // 7

  else if(PIND.6)return 0x23; // #

  else if(PIND.7)return 0x44; // D

  //

  return 0xff;

}

void sec_test(){

  if(arr_cnt==8){

    for(g=0; g<8; g++){

      if(key_IN[g]==sec_num[g])right++;

    }

    if(right==8){

      lcd_clear(); lcd_gotoxy(0,1); lcd_puts("open"); delay_ms(500);

      lcd_clear(); lcd_gotoxy(0,0); lcd_puts("password");

      PORTE=seg_data[0]; PORTB=FND_selector[2];

      arr_cnt=1; right=1; g=0; s=0; i=0;

    }

    else{

      lcd_clear(); lcd_gotoxy(0,1); lcd_puts("RETRY"); delay_ms(500);

      lcd_clear(); lcd_gotoxy(0,0); lcd_puts("password"); // LCD의 첫번째 라인

      PORTE=seg_data[1]; PORTB=FND_selector[2];

      arr_cnt=1; right=1; g=0; s=0; i=0;

    }

  }

}

 

void main(void){

  PORTA=0xFF; DDRA=0xFF; // PORTA 출력

  PORTB=0xFF; DDRB=0xFF; // PORTC 출력

  PORTD=0x0F; DDRD=0x00; // PORTD 출력

  lcd_init(16);

  lcd_gotoxy(0,0); lcd_puts("password");  delay_ms(100);

  DDRE=0xff;

  //

  EICRA=0xff; EIFR|=0xf0; EIMSK=0x0F; // 상승 에지

  SREG=0x80;

  while(1){

   

      sec_test();

    }

  }

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

저희가 키패드가 없이 외부인터럽트로 선언을 해서 도어락을 구성하려고 하는데  LCD판에 인터럽트를 누르면 입력이 되지 않네요

그리고 번호가 맞으면 SEGMENT에 불이 들어오게 하고 싶은데 그것도 잘 되지 않는데 도와주세요ㅜㅜ

 

컴파일러는 코드비젼 입니다

 

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

댓글 : 1

조회수 : 3,979

master님의 댓글

master 작성일

회로도를 첨부해보세요

게시물 검색

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버전