제목: [Intel] 엣지 AI SW 아카데미
부제목: 7일차
일정: 2023.11.03(금)
수업 내용:
- C언어 프로그래밍
- Micro Processor 원리
- Atmel사의 8bit Micro-controller
- KUT0128 Evaluation Board 기능과 특징
목표:
ATmega128 I/O(input/output) 포트 제어
I/O PORT의 특징
• 8비트 양방향 병렬 I/O포트 6개(A,B,C,D,E,F)와 5비트 양방향 병렬 I/O포트 (G)로
53개의 I/O포트
• 각 I/O핀은 보호용 다이오드와 20KΩ~100KΩ의 내부 풀업 저항을 가지며
• LED를 직접 구동할 수 있는 40mA 출력
※ 각 레지스터에서 x는 각 포트 A,B,C,D,E,F,G 를 나타낸다.
- PORTA는 PORTA7~PORTA0번까지 8개의 비트로 제어가 되며
- PORTG는 PORTG4~PORTG0번까지 5개의 비트로 제어된다.
LED ON/OFF 점멸 하기
#include <mega128.h> // LED 점멸하기(라이브러리 딜레이 함수 이용)
#include <delay.h> // delay_ms(), delay_us() 정의 헤더파일
void main(void)
{
DDRC = 0xFF; // 포트C 출력 설정
while(1){ // 무한 루프
PORTC = 0x55; // 0101 0101 출력
delay_ms(500); // 500ms 대기
PORTC = 0xAA; // 1010 1010 출력
delay_ms(500); // 500ms 대기
}
}
LED 쉬프트 하면서 순차 점멸하기
#include <mega128.h>
#include <delay.h> // 딜레이 함수 정의 헤더 파일
void main(void) // LED 순차 점멸하기(쉬프트 연산자)
{
int i;
unsigned char led;
DDRC = 0xFF; // 포트C 출력 설정
while(1){ // 무한 루프
led = 0xFE; // led 초기값
for(i = 0;i < 8;i++){ // 8회 실행
PORTC = led; // led 값 출력
delay_ms(500); // 500ms 딜레이
led = led << 1; // 1비트 왼쪽 쉬프트
}
}
}
'[Intel] 엣지 AI SW 아카데미 > 펌웨어 프로그래밍 75hour' 카테고리의 다른 글
[Intel] 엣지 AI SW 아카데미 12일차 (부산상공회의소 인력개발원) (0) | 2023.11.30 |
---|---|
[Intel] 엣지 AI SW 아카데미 11일차 (부산상공회의소 인력개발원) (1) | 2023.11.30 |
[Intel] 엣지 AI SW 아카데미 10일차 (부산상공회의소 인력개발원) (0) | 2023.11.30 |
[Intel] 엣지 AI SW 아카데미 9일차 (부산상공회의소 인력개발원) (0) | 2023.11.17 |
[Intel] 엣지 AI SW 아카데미 8일차 [Intel] 엣지 AI SW 아카데미 (0) | 2023.11.17 |