PORTB0 ~ PORTB7 에 연결된 LED 를 교차 ON/OFF 하는 예제입니다.
< 시작화면: PB1, PB3, PB5, PB7 의 LED 를 ON 합니다. >
< 100mS경과: PB0, PB2, PB4, PB6 의 LED 를 ON 합니다. >
전체 소스 CodeVision 1.24.0 용
/********************************************* LED 교차 점소등하기
PA0, PA2, PA4, PA6 이 점등되면 PA1, PA3, PA5, PA7 이 소등되어 교차 점소등 함
PORTB ==> LED 연결
Tools : Codevision
http://avr128.com *********************************************/
#include <mega128.h>
// time delay for us void Delay_us(char time_us) { register char i; for(i = 0; i < time_us; i++) { #asm PUSH R0 ; // 2 cycle + POP R0 ; // 2 cycle + PUSH R0 ; // 2 cycle + POP R0 ; // 2 cycle + PUSH R0 ; // 2 cycle + POP R0 ; // 2 cycle +
#endasm } }
// time delay for ms void Delay_ms(unsigned int time_ms) { register unsigned int i; for(i = 0; i < time_ms; i++) { Delay_us(250); Delay_us(250); Delay_us(250); Delay_us(250); } }
void main(void) {
// 포트 B 를 출력으로 설정 DDRB=0xFF;
// PB1, PB3, PB5, PB7 의 LED 를 ON PORTB = 0x55;
while (1) { Delay_ms(100); // PB0, PB2, PB4, PB6 의 LED 를 ON PORTB = 0xAA;
Delay_ms(100); // PB1, PB3, PB5, PB7 의 LED 를 ON PORTB = 0x55; } } |
주요 부품
ATMEGA128 - 1EA LED – 8EA POWER 5V/1A |
실행파일 다운로드
이번 예제가 추가되면서 실행파일이 업데이트 되었습니다.
이 예제를 사용하기 위해서는 최신 버전(0.2.1.2 이상)으로 패치 하시기 바랍니다.
실행파일:
프로젝트 파일(소스 포함):
'CodeVision 용 소스' 카테고리의 다른 글
PORTC 에 연결된 LED 좌우/상하로 무한히 이동 (0) | 2011.06.27 |
---|---|
PORTA에 연결된 LED 시프트 (0) | 2011.06.06 |
4개의 키를 각각 누를 때마다 누른 횟수 증가 하는 예제 (0) | 2011.05.11 |
Switch 4개의 상태에 따른 LED ON/OFF 변화 (0) | 2011.02.21 |
Character LCD Control (0) | 2011.02.18 |