질문게시판 > 답변 : 답변 : 답변 : ATmega128_V20.h 헤더파일 관련하여...

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 답변 : 답변 : ATmega128_V20.h 헤더파일 관련하여...

페이지 정보

작성자 master 작성일18-12-06 16:39 조회13,699회 댓글2건

본문

 

 

// DateTime : 2018-12-06 오후 10:54:13
// by Ok-Hyun Park
//
#define  F_CPU 16000000UL // 16 MHz
#include <avr/io.h>
#include <stdio.h>
#include <avr/interrupt.h>
#include <util/delay.h>
//
char str[30];
//--------------------------------------------------------------------
#define LCD_DB_PORT  PORTA // LCD_DATABUS
#define LCD_DB_DDR   DDRA
#define LCD_CMD_PORT PORTC // LCD_COMMAND
#define LCD_CMD_DDR  DDRC
//
void LCD_cmd(char c){
  LCD_DB_PORT=cLCD_CMD_PORT=1_delay_us(1); LCD_CMD_PORT=0_delay_ms(3);
}
//
void LCD_data(char d){
  LCD_DB_PORT=dLCD_CMD_PORT=3_delay_us(1); LCD_CMD_PORT=2_delay_us(50);
}
//
void LCD_str(char *s){ while(*s)LCD_data(*s++); }
//
void LCD_init(void){
  _delay_ms(50);
  LCD_cmd(0x38); // Function set(data length-8bit,2행,5x8dote)
  LCD_cmd(0x0C); // Display on/off control(화면출력 ON,커서표시&커서깜빡임 OFF)
  LCD_cmd(0x06); // Entry mode set(커서 오른쪽 이동,화면이동 OFF)
  LCD_cmd(0x01); // Clear display
}
//--------------------------------------------------------------------
ISR(TIMER0_OVF_vect){ // 9.984ms
  static int ms10=0static char key=0;
  //
  TCNT0=100;
  //
  if((PINB&1)==0)key=1// PB0(key1)
  //
  if(key){       // key=1이 되면
    PORTB|=0x20// led켜짐
    if(++ms10==500){ ms10=0PORTB&=0x0Fkey=0; } // 5000ms뒤 리셋, LED OFF
  }
}
//
int main(){
  int i=0//,a=0,b=0,j=0,k=0,adresult[2];
  //DDRB=0xF0; // LED(PB4~PB7) // KEY(PB0)
  //DDRG=0x08; // 부저
  _delay_ms(50);
  LCD_init();
  TCNT0=100TCCR0=7TIMSK=1// 9.984ms
  ADCSRA=0xE7;
  SREG=0x80;
  while(1){
    ADMUX=0x46_delay_ms(1); i=ADC// PF6
    LCD_cmd(0x80);
    if(i<500){ PORTB&=~0x10sprintf(str,"Detecting %4d",i); } // 가변저항
    else     { PORTB|=0x10;  sprintf(str,"alarming  %4d",i);
               PORTG|=8_delay_ms(50); PORTG&=~8;          // alarm 부저
    }
    LCD_str(str);
    //
    ADMUX=0x47_delay_ms(1); i=ADC// PF7
    LCD_cmd(0xc0);
    if(i<600){ PORTB&=~0x40sprintf(str,"Dark  %4d",i); }
    else     { PORTB|=0x40;  sprintf(str,"Light %4d",i); }
    LCD_str(str);
    //
    _delay_ms(50);
  }
}

 

LCD 동작 확인하고

스위치와 부저 LED 등은 어려운 것이 아니니 직접 만들어보세요

 

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

댓글 : 2

조회수 : 13,699

답이없넹님의 댓글

답이없넹 작성일

네 LED도 있긴 한데 주신 소스에서 ERROR가 뜨네요 ...

master님의 댓글

master 댓글의 댓글작성일

컴파일 오류 수정했습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[31] master  17-10-29
질문 ATmega4809 nRF24L01 모듈을 이용한 무선… 댓글[3] Ahri  24-06-12
질문 atmega128에 dht11 왜 측정을 못하죠? 댓글[1] 탈북한시민  24-06-11
질문 atmega128이 실행이 되지 않습니다 댓글[1] 첨부파일니굴  24-06-10
질문 아트메가 128 쓰는디 while 문이 안먹혀요 댓글[1] 수히  24-06-09
질문 atmega128 UART통신으로 FND출력 Rion  24-06-09
답변 답변 : atmega128 UART통신으로 FND출력 댓글[1] master  24-06-10
질문 atmega128 라인트레이서 코드와 회로도 질문...… 댓글[2] 첨부파일왕두일  24-06-06
답변 답변 : atmega128 라인트레이서 코드와 회로도 … master  24-06-07
질문 atmega128을 이용한 LCD 사용에 문제가 발생했… 댓글[3] 네넴  24-06-05
질문 Co 센서 값에 따른 ppm을 계산하려는데 댓글[1] 라칸  24-06-05
질문 17HS4401, A4988 스텝모터 제어 댓글[1] jhbaik  24-06-03
질문 코드비전avr을 이용한 아두이노 우노 제어 댓글[1] gkstntjd  24-05-29
질문 Energia 시리얼 모니터에 아무것도 출력되지않습니다… 댓글[1] 김의공  24-05-22
질문 아두이노 스위치, 에어펌프 연결 댓글[1] 첨부파일존존  24-05-20
질문 MSP430런치패드를 이용한 LCD 코딩 관련 질문 댓글[1] 뀨쥰이  24-05-16
질문 생활 속 가스 센서 첨부파일Fosen  24-05-13
질문 atmega128A로 초음파센서 바밤  24-05-13
답변 답변 : atmega128A로 초음파센서 master  24-05-13
질문 eeprom 값 출력이 다르게 나옵니다 댓글[5] 첨부파일idghte  24-05-05
답변 답변 : eeprom 값 출력이 다르게 나옵니다 master  24-05-05
질문 센서나 블루투스에서 조건문이 실행이 느립니다. 현아  24-05-03
답변 답변 : 센서나 블루투스에서 조건문이 실행이 느립니다. master  24-05-03
질문 님들 MG811 이산화탄소 센서를 쓰는데 라칸  24-05-03
답변 답변 : 님들 MG811 이산화탄소 센서를 쓰는데 master  24-05-03
질문 아두이노와 디지털 홀센서 사용 중 sampling ra… 첨부파일fjur564  24-05-03
답변 답변 : 아두이노와 디지털 홀센서 사용 중 sampli… master  24-05-03
질문 OP AMP 댓글[1] 첨부파일창원거북이  24-05-02
질문 라즈베리파이 라우팅 테이블을 영구 추가하려는데 라칸  24-04-30
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전