준비
- 프로그램 설치: http://whiteat.com/260
(WinAVR, AVRStudio 가 설치되어 있어야 ATMEGA128에 프로그램을 할 수 있습니다.)
- 프로그램 라이팅 방법: 다운로드
(직접 작성한 프로그램을 ATMEGA128 에 라이팅 하는 방법입니다.)
- ATMEGA128 초급 키트 (http://kit128.com/goods/view?no=57 )
LED 회전 ON/OFF
PORTE에 연결된 8개의 LED 가 ON/OFF 하면서 시계방향으로 회전하는 예제입니다.
이 예제는 EX_01_01과 동일합니다. (http://whiteat.com/57204 참조)
/* EX_01_01.c
PORTE에연결된LED 순차적으로ON 하기
AVRStudio 4.18 2012-01-08
홈페이지: http://whiteat.com MCU자료실: http://avr128.com 쇼핑몰: http://kit128.com
*/
#include <avr/io.h>
// 일정시간딜레이(약1초) void Delay() { register unsigned long i; for(i = 0; i < 300000; i++) { asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); } }
int main() { DDRE = 0xFF; // ALL OUTPUT PORTE = 0xFE; // PORTE.0 LED ON
while(1) { Delay();
if(PORTE == 0x7F) // 마지막LED 가ON 되었다면. { // 처음LED ON 되게 PORTE = 0xFE; // PORTE.0 LED ON } else // 그렇지않다면 { PORTE <<= 1; // 한칸이동(PORTE = PORTE<<1; 와동일) PORTE |= 1; // 마지막LED 는OFF (PORTE = PORTE | 0x01; 와동일) } } } |
LED 반복 ON/OFF
PORTA에 연결된 8개의 LED 를 교대로 ON/OFF 하는 예제입니다.
#include <avr/io.h>
// 일정시간딜레이(약초) void Delay() { register unsigned long i; for(i = 0; i < 300000; i++) { asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); asm volatile(" PUSH R0 "); asm volatile(" POP R0 "); } }
int main() { DDRA = 0xFF; PORTA = 0x55; // 0, 2, 4, 6 bit LED OFF
while(1) { PORTA = 0x55; // 0, 2, 4, 6 bit LED OFF Delay();
PORTA = 0xAA; // 1, 3, 5, 7 bit LED OFF Delay();
} }
|
ATMEGA128 로 LED 를 ON/OFF 하는 예제를 다루어 보았습니다.
감사합니다.
- [2015/03/19] android studio default activity not found (8333)
- [2015/03/09] Line Number (917)
- [2015/01/08] Character LCD 예제 (3103)
- [2014/11/28] 간단한 유니폴라 스텝모터 구동 (3141)
- [2014/11/28] 컴퓨터-아두이노 간의 블루투스 통신 (채팅) (3907)
- [2013/12/30] C++, C# 간단한 기능 비교 (5271)
- [2013/04/11] WAT-AVR128_PLUS 모듈 ()
- [2012/12/03] WAT-AVR128 EXT (AVR128용 확장보드) ()
- [2011/10/27] WAT-USB AVR ISP ()
- [2011/10/27] WAT-AVR128 모듈 ()