본문 바로가기

프로그래밍/임베디드17

[AVR] Avr Studio Flash Memory 사용법 LCD에서 Font를 사용하거나, 엄청난 양의 변수(배열)이 선언이 필요할 때, Flash Memory에 변수를 저장한다. 다만 Flash Memory에 저장한 뒤는 값을 수정 할 수 없다. 아래는 Codevision의 Flash Memory 사용법이다. flash unsigned int A[5] = { 0, 1, 3, 6, 7 }; 변수 선언 앞에 flash라는 단어만 붙혀주면 된다. 저장된 변수를 읽어올 때도 기존과 동일하게 사용하면 된다. 아래는 Atmel Studio의 Flash Memory 사용법이다. #include PROGMEM const unsigned int A[5] = { 0, 1, 2, 3, 4 }; int main(void) { for(int i = 0; i < 5 ; i++) { .. 2021. 1. 4.
[전자회로] 스위치의 Pull-UP, Pull-Down 아두이노나 Atmega를 이용한 DIY시 스위치를 많이 쓰게된다. 결론부터 얘기하겠다. PULL UP 저항 OPEN 시 : 5V -> PB0 따라서 PB0는 HIGH CLOSE 시 : 5V -> GND, PB0 -> GND 따라서 PB0는 LOW PULL DOWN 저항 OPEN 시 : PB0 -> GND 따라서 PB0는 LOW CLOSE 시 : 5V -> PB0 따라서 PB0는 HIGH Floating 현상을 나타낸 회로도이다. CLOSE 시 : PB0는 HIGH OPEN 시 : PB0는 LOW? HIGH도 LOW도 아닌 애매한 전압이 입력이 됨. 2021. 1. 3.
[AVR] GLCD Font.h 생성 프로그램 www.mikroe.com/glcd-font-creator GLCD에서 사용가능한 Font.h 파일을 쉽게 생성 할 수 있는 프로그램이다. 2021. 1. 3.
[AVR][Atmega8] KS0108 GLCD 제어 GLCD 제어를 위해서는 DataSheet가 필수적이다. -------------------------- 사용 Chip : Atmega8 사용 Program : Microchip Studio(Ver - 7.0.2542) Proteus 8 Professional -------------------------- KS0108은 5개의 제어핀, 8개의 Data핀으로 구성되어 있다. CS1 = 0 && CS2 = 1 -> NT1707C(Left) IC를 사용하겠다는 코드이다. CS1 = 1 && CS2 = 0 -> NT1708C(Right) IC를 사용하겠다는 코드이다. CS1 = 0 && CS2 = 0 -> 2개의 IC가 활성화 되어 Data를 출력 시 Left , Right 동시에 글자가 입력됨. DI or .. 2021. 1. 3.
[AVR] OR, AND 연산자를 통한 출력 Atmel Studio (Microchip Studio)의 OUTPUT 방식이다. -------------------------- 사용 Chip : Atmega8 사용 Program : Microchip Studio(Ver - 7.0.2542) Proteus 8 Professional -------------------------- Atmel Studio Code : #include #define F_CPU 8000000UL #include #define GLCD_CTRL_PORT PORTC #define GLCD_CPORT_DIR DDRC #define RS PC0 int main(void) { GLCD_CPORT_DIR = 0xFF; while (1) { GLCD_CTRL_PORT |= (0 2021. 1. 2.