질문게시판 > 답변 : 도어락 소스코드 오류수정 부탁드려요..

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 도어락 소스코드 오류수정 부탁드려요..

페이지 정보

작성자 master 작성일18-12-18 22:59 조회6,949회 댓글3건

본문

 

 

// DateTime : 2018-12-18 오후 11:31:08
// by Ok-Hyun Park
//
#include <mega128.h>
#include <delay.h>
#include <stdio.h>
#include <alcd.h>
//
#define  BYTE unsigned char
//
unsigned char key;
int  key_IN[4];                        //입력되는 키값 저장배열
int  sec_num[4]={0x33,0x31,0x32,0x31}; //비밀번호
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[3]={0xbf,0xbf,0xbf};
//---------------------------------------
//
unsigned char KeyCheck(void){
  PORTE=0x10delay_ms(1);
  //
  if     (PINE.4)return 0x30// 0
  else if(PINE.5)return 0x34// 4
  else if(PINE.6)return 0x38// 8
  else if(PINE.7)return 0x41// A
  //
  PORTE=0x20delay_ms(1);
  //
  if     (PINE.4)return 0x31// 1
  else if(PINE.5)return 0x35// 5
  else if(PINE.6)return 0x39// 9
  else if(PINE.7)return 0x42// B
  //
  PORTE=0x40delay_ms(1);
  //
  if     (PINE.4)return 0x32// 2
  else if(PINE.5)return 0x36// 6
  else if(PINE.6)return 0x2a// *
  else if(PINE.7)return 0x43// C
  //
  PORTE=0x80delay_ms(1);
  //
  if     (PINE.4)return 0x33// 3
  else if(PINE.5)return 0x37// 7
  else if(PINE.6)return 0x23// #
  else if(PINE.7)return 0x44// D
  //
  return 0xff;
}
//
void sec_test(){
  if(arr_cnt==8){
    for(g=0g<8g++){
      if(key_IN[g]==sec_num[g])right++;
    }
    if(right==8){
      lcd_clear(); lcd_gotoxy(0,0); lcd_puts("open"); delay_ms(500);
      lcd_clear(); lcd_gotoxy(0,0); lcd_puts("password");
      PORTC=seg_data[1]; PORTD=FND_selector[2];
      arr_cnt=1right=1g=0s=0i=0;
    }
    else{
      lcd_clear(); lcd_gotoxy(0,0); lcd_puts("RETRY"); delay_ms(500);
      lcd_clear(); lcd_gotoxy(0,0); lcd_puts("password"); // LCD의 첫번째 라인
      PORTC=seg_data[2]; PORTD=FND_selector[2];
      arr_cnt=1right=1g=0s=0i=0;
    }
  }
}
//
interrupt[EXT_INT4]void RETRY(void){ lcd_clear(); lcd_puts("password"); }
interrupt[EXT_INT5]void sw5(void){ lcd_gotoxy(0,0); lcd_puts("1"); }
interrupt[EXT_INT6]void sw6(void){ lcd_gotoxy(0,1); lcd_puts("2"); }
interrupt[EXT_INT7]void sw7(void){ lcd_gotoxy(0,2); lcd_puts("3"); }
//
void main(void){
  PORTA=0xFFDDRA=0xFF// PORTA 출력
  PORTC=0xFFDDRC=0xFF// PORTC 출력
  PORTD=0xFFDDRD=0xFF// PORTD 출력
  lcd_clear();
  lcd_gotoxy(0,0); lcd_putsf("password");  delay_ms(100);
  DDRE=0xff;
  //
  EICRB=0xffEIFR|=0xf0EIMSK=0x0f// 상승 에지
  SREG=0x80;
  while(1){
    key=KeyCheck();
    if(key!=0xff){
      lcd_gotoxy(i,1);  delay_ms(1000);
      lcd_putchar(key); delay_ms500);
      if(i<15)i++;
      sec_test();
    }
  }
}

 

PE4~PE7은 키 스캔 입력, 키스캔 출력, 외부인터럽트 등 몇군데에서 사용하고 있습니다.

출력에 스위치를 연결하면 고장납니다.

회로도 참고해서 수정하세요

다른 부분도 잘 체크하세요

 

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

댓글 : 3

조회수 : 6,949

rkdeh님의 댓글

rkdeh 작성일

Error: C:\Users\user\Desktop\Debug\List\b.asm(1735): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1736): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1758): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1759): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1762): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1765): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1767): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1769): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1778): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1779): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1781): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1788): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1792): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1799): Undefined symbol: __lcd_port
Error: C:\Users\user\Desktop\Debug\List\b.asm(1865): Undefined symbol: __lcd_port
----------------------------------------------------------------------------------------------
이렇게 에러가 나오면서 error ocurred during assembly 라고 뜨는데 어떻게 처리해야 될까요??

master님의 댓글

master 댓글의 댓글작성일

프로젝트옵션/c컴파일러/라이브러리/LCD 라이브러리에서
체크하고
LCD 포트를 지정해줘야합니다.

master님의 댓글

master 댓글의 댓글작성일

평가버전이라면 라이브러리 사용하지 못합니다.
왼쪽 카테고리에서 디스플레이/LCD 게시판에서 LCD 예제를 참고하세요

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 빵판없이 디스플레이 넣을 수 있을까요? 댓글[2] 첨부파일오소로롯 새글 22-06-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum  22-06-26
질문 음전압 ADC 댓글[2] 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
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전