PORTA에 연결된 LED 시프트
PORTA0 ~ PORTA7 에 연결된 LED 를 시프트하는 예제입니다.
< 시작화면: PA0의 LED 를 ON 합니다. >
< 500mS 경과: PA1의 LED 가 ON 됩니다. >
< 2500mS 경과: PA5의 LED 가 ON 됩니다. >
< 7500mS 경과: PA7의 LED 가 ON 됩니다. >
< 8000mS 경과: PA0의 LED 가 ON 됩니다. – 초기 상태와 동일 >
전체 소스 CodeVision 1.24.0 용
/********************************************* LED 이동하기 PORTA ==> LED 연결 PA0 -> PA7 시프트
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 +
#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) { char byteA=0xFE;
DDRA=0xFF; PORTA = byteA;
while (1) { Delay_ms(500); byteA = (byteA<<1) | 0x01; if(0xff == byteA) byteA=0xFE;
PORTA = byteA; } } |
주요 부품
ATMEGA128 - 1EA LED – 8EA POWER 5V/1A |
실행파일 다운로드
이번 예제가 추가되면서 실행파일이 업데이트 되었습니다.
이 예제를 사용하기 위해서는 최신 버전(0.2.1.1 이상)으로 패치 하시기 바랍니다.
실행파일:
프로젝트 파일(소스 포함):
'CodeVision 용 소스' 카테고리의 다른 글
PORTC 에 연결된 LED 좌우/상하로 무한히 이동 (0) | 2011.06.27 |
---|---|
PORTB 에 연결된 LED 교차 ON/OFF (0) | 2011.06.24 |
4개의 키를 각각 누를 때마다 누른 횟수 증가 하는 예제 (0) | 2011.05.11 |
Switch 4개의 상태에 따른 LED ON/OFF 변화 (0) | 2011.02.21 |
Character LCD Control (0) | 2011.02.18 |