본문 바로가기

ATMEGA12813

[Harman 세미콘 아카데미] 27일차 - ATmega128(LCD_8bit, LCD_4bit, LCD_I2C) [LCD] PIN Description Instruction Table #define 으로 정의해놓고 사용하면 편하다. 0x01 Clear All Display 0x02 Cursor Position -> Return home Entry_Mode_Set_Options Cursor_Display_Shift_Options 0x04 커서 좌측 이동, 화면 이동 없음 0x10 커서 선택, 커서 좌측 이동 0x05 커서 좌측 이동, 화면 이동 0x14 커서 선택, 커서 우측 이동 0x06 커서 우측 이동, 화면 이동 없음 0x18 화면 선택, 화면 좌측 이동 0x07 커서 우측 이동, 화면 이동 0x1C 화면 선택, 화면 우측 이동 Display_Option Function_ Set_Options 0x08 화면 O.. 2023. 7. 25.
[Harman 세미콘 아카데미] 24일차 - ATmega128(PWM 활용, Servo Motor) [참조] https://rangvest.tistory.com/manage/newpost/101?type=post&returnURL=https%3A%2F%2Frangvest.tistory.com%2Fmanage%2Fposts https://rangvest.tistory.com/manage/newpost/101?returnURL=https%3A%2F%2Frangvest.tistory.com%2Fmanage%2Fposts&type=post rangvest.tistory.com https://rangvest.tistory.com/manage/newpost/73?type=post&returnURL=https%3A%2F%2Frangvest.tistory.com%2Fmanage%2Fposts%3Fcategory%3D.. 2023. 7. 20.
[Harman 세미콘 아카데미] 23일차 - ATmega128(FND count, PWM, Buzzer, Motor driver) [FND Count] ※ 기능 추가 + FND overfolw 시, LED_Bar로 출력 + Up / Down Count #define F_CPU 16000000UL #include #include #include #defineFND_DATA_DDRDDRA // 데이터 포트 #defineFND_SELECT_DDRDDRF // 셀렉트 포트(자릿수 선택) #defineFND_DATA_PORTPORTA // 0 ~ 7 #defineFND_SELECT_PORTPORTF // 0 ~ 4 // 디스플레이 함수 선언 // void FND_Display(uint16_t data); // 8bit면 255까지밖에 없기 때문에, 4자리 다 쓰려고 16bit volatile uint32_t time_tick; uint16_.. 2023. 7. 19.
[Harman 세미콘 아카데미] 22일차 - ATmega128(FND 활용) [FND 활용] 0~9까지 카운팅(No interrupt) #define F_CPU 16000000UL #include #include #include // Segment 배열 선언 // uint8_t seg_arr[] ={ 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x67 }; int main() { int count = 0; DDRA = 0xff; while(1) { PORTA = seg_arr[count]; count = (count+1)%10; // 10으로 나눴을 때 나머지는 0~9이므로 _delay_ms(500); } } 0~9999까지 Count(No interrupt) #define F_CPU 16000000UL #include #in.. 2023. 7. 18.