AVR 따라하기 > 002 - [LED-0] 1개 점멸

TODAY1,074 TOTAL430,674
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | AVR 따라하기 | 2015년 강좌 | 002 - [LED-0] 1개 점멸

페이지 정보

작성자 키트 작성일2017-08-23 14:14 조회776회 댓글0건

본문

	

 

 
3660040649_5Zco7bTE_25C125A625B825F1_25BE25F825C025BD.PNG3Ftype3Dw740
LED와 저항은 직렬 연결이므로 왼쪽이나 오른쪽이나 같은 회로입니다.
LED1번만 켜볼까요?
//CVAVR
#include <mega128.h>
#include <delay.h>
//
void main(void){
    DDRA=0x01// LED
    while(1){
        PORTA=0x01// LED1 ON
        delay_ms(1000);
        PORTA=0x00// LED1 OFF
        delay_ms(1000);
    }
}
 
//AVRstudio
#define F_CPU 16000000UL  // 16 MHz
#include <avr/io.h>
#include <util/delay.h>
//
int main(void){
    DDRA=0x01// LED
    while(1){
        PORTA=0x01// LED1 ON
        _delay_ms(1000);
        PORTA=0x00// LED1 OFF
        _delay_ms(1000);
    }
}
cs
포트 출력 1에서 켜지고, 0에서 꺼집니다.
위는 코드비젼(CVAVR) 소스
아래는 AVRstudio 소스입니다.
//--------------------------------------------------------------------------------------
3660040649_QMdoWqGi_25C125A625B825F1_25BE25F825C025BD.PNG3Ftype3Dw740
마찬가지로 왼쪽과 오른쪽은 같은 회로이며
위 회로와 다른 점은 LED 극성을 반대로 하고 GND가 아닌 Vcc(5V)에 연결했습니다.
회로가 달라졌으니 소스코드도 회로에 맞게 조금 변경 되어야합니다.
포트 출력 0에서 켜지고, 1에서 꺼집니다.
//CVAVR
#include <mega128.h>
#include <delay.h>
//
void main(void){
    DDRA=0x01// LED
    while(1){
        PORTA=0x00// LED1 ON
        delay_ms(1000);
        PORTA=0x01// LED1 OFF
        delay_ms(1000);
    }
}
 
//AVRstudio
#define F_CPU 16000000UL  // 16 MHz
#include <avr/io.h>
#include <util/delay.h>
//
int main(void){
    DDRA=0x01// LED
    while(1){
        PORTA=0x00// LED1 ON
        _delay_ms(1000);
        PORTA=0x01// LED1 OFF
        _delay_ms(1000);
    }
}
cs
c를 공부한 분이라도 DDRA, PORTA 이런 레지스터명은 생소 할겁니다.
포트 레지스터에 관한 설명은 차차 하겠습니다.^^
//----------------------------------------------------------------------------

3660040649_wW2vUQme_8051portPin.GIF

8051 경우에는 포트 특성 상 소스전류가 거의 없고 싱크 전류가 크므로
3660040649_7SFbsyJ4_488857491d14d

 LED 극성은 이 방향만 사용합니다.

3660040649_zMTceQxR_inside_AVR_IO_port.jpg
AVR은 소스든 싱크든 전류가 크므로 어느 방향이든 상관없습니다.

댓글 0

조회수 776

등록된 댓글이 없습니다.

AVR 따라하기HOME > AVR 따라하기 > 전체 목록

AVR 따라하기 목록
제목 작성자 작성일 조회
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은 질문게시판에서만 작성 가능합니다. 스태프 19-01-15 129
공지 사이트 이용 안내 댓글[5] 이미지 master 17-10-29 5122
171 2015년 강좌 106 - [타이머인터럽트-19] 누른시간 & 뗀시간 & 더블클릭 체크 키트 17-08-23 894
170 2015년 강좌 105 - [타이머인터럽트-18] 스위치 누르는 시간 & 스위치 누르지 않는 시간 체크 댓글[3] 키트 17-08-23 1297
169 2015년 강좌 WS2812B [1개]- 테스트 - AVRstudio 키트 17-08-23 632
168 2015년 강좌 delay_us()보다 더 짧은 딜레이 함수 - 2 키트 17-08-23 885
167 2015년 강좌 delay_us()보다 더 짧은 딜레이 함수 - 1 키트 17-08-23 945
166 2015년 강좌 104 - [부저] 회로내장형 키트 17-08-23 1006
165 2015년 강좌 103 - [타이머인터럽트-17] 스위치 누르는 시간 체크 키트 17-08-23 1024
164 2015년 강좌 102 - [타이머인터럽트-16] 스위치 누를 때마다 1칸씩 좌우시프트 키트 17-08-23 1086
163 2015년 강좌 101 - [타이머인터럽트-15] 스위치 8개 SRAM에 읽어서 LED에 출력 키트 17-08-23 698
162 2015년 강좌 100 - [타이머인터럽트-14] 스위치 8개 읽어서 LED에 출력 (포트 다이렉트) 키트 17-08-23 850
161 2015년 강좌 099 - [타이머인터럽트-13] 스위치 1개 SRMA에 읽어서 LED에 출력 키트 17-08-23 491
160 2015년 강좌 098 - [타이머인터럽트-12] 스위치 1개 읽어서 LED에 출력 키트 17-08-23 700
159 2015년 강좌 096 - [타이머 CTC 토글-3] 스위치 8개 피아노 키트 17-08-23 660
게시물 검색

2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기