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

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

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

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

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

BASIC4MCU > 질문게시판

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

페이지 정보

작성자 master 작성일18-12-18 22:59 조회7,717회 댓글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

조회수 : 7,717

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
질문 아두이노코딩 질문사항 kai5439 새글 22-08-16
질문 해석좀 해주세요 댓글[1] bubu  22-08-14
질문 lcd 1602에 특수문자를 출력하는 방법을 알고싶습니… 댓글[3] dndktn  22-08-12
질문 stm32 wifi 파일전송 댓글[3] 하리  22-08-11
질문 회로 구성 수정 댓글[2] 첨부파일픽공부  22-08-11
질문 아두이노 와이파이통신 질문 있습니다 댓글[1] 학생  22-08-11
질문 포토다이오드와의 연결 질문합니다. 댓글[7] 첨부파일박윤모  22-08-10
질문 회로 구성 댓글[4] 픽공부  22-08-10
질문 아두이노 센서, 와이파이, 블루투스 연결 댓글[1] pattern  22-08-10
질문 PIC 블루투스 연결 댓글[19] 픽공부  22-08-09
질문 PIC18F452 블루투스 연결 댓글[4] 마이컴  22-08-08
질문 아두이노 코드 해석을 못하겠습니다... 댓글[2] 김가헌  22-08-08
질문 아두이노 코드를 avr로 변환해 주세요 ...ㅠ 댓글[3] 옹냥냥  22-08-08
질문 아두이노 녹음-스피커모듈 관련 질문있습니다 ㅠㅠ 댓글[2] 방귀뿡뿡  22-08-08
질문 Serial EEPROM 실수값 저장.. 댓글[2] 첨부파일광이  22-08-07
질문 STM32 Live Expression 값들이 깜빡이는… 댓글[3] 둠둠  22-08-05
질문 아두이노 ESP32 wifi module 댓글[1] Yoon  22-08-03
질문 atmega128과 dht11, lcd를 연결했는데 0… 댓글[1] 고양이33  22-08-02
질문 ATMEGA 128 코드를 합치려고 하는데 어렵네요 댓글[2] 고양이33  22-08-02
질문 서보모터 제어에 대해 질문있습니다. 댓글[2] 첨부파일뉴비에오  22-07-30
질문 적외선 통신 알려주실분있나요 ㅠㅠ 댓글[1] hkjsj10  22-07-30
질문 아두이노 관련 궁금합니다. 댓글[1] 뱝뱝  22-07-28
질문 아두이노 우노 MCP4725 댓글[3] opqr  22-07-27
질문 레오나르도 인체감지센서 알림 안옴 면지지  22-07-24
답변 답변 : 레오나르도 인체감지센서 알림 안옴 master  22-07-25
질문 Uno에서 엔코더값 놓치는 이유가 뭘까요... 댓글[3] MAKTUB  22-07-24
질문 아두이노 압력센서 연동 질문 댓글[4] dbice  22-07-23
질문 아두이노 버튼 누르기 문의 댓글[1] 김형근  22-07-23
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전