- atmega 128
- atmega 128a
- Set
- interrupt
- 4bit parallel adder
- structural modeling
- interface
- behavioral modeling
- structure
- behavior modeling
- gpio
- ATMEGA128A
- sequential logic circuit
- Linked List
- half adder
- ctc mode
- Comparator
- MUX
- Algorithm
- dataflow modeling
- 8bit timer/counter
- Recursion
- normal mode
- verilog
- full adder
- fast pwm mode
- Method
- timer / counter
- java
- LED
목록Embedded Programming/Atmega 128A (실습) (20)
거북이처럼 천천히
Button 3개를 통해 서로 다른 Interrupt을 설정하여 LED를 컨트롤하기 1) 목표: PORT D 에 PD0, PD1, PD2에 스위치, PORT A 에 LED를 연결한 뒤, 서로 다른 interrupt을 설정하여 각각의 버튼을 눌렀을 때, 서로 다른 Interrupt 때 LED를 컨트롤 할 수 있게끔 설계하기PD0 : Low-level sensitive 에서 Interrupt를 발생하도록 설계 LED가 짝수 핀들에 다이오드 전부 불이 들어오도록 한 뒤, 짝수 번째 다이오드에 전부 불이 들어오면 홀수 핀들에 다이오드 전부 불이 들어오도록 설계한다.PD1 : Rising-edge sensitive 에서 Interrupt를 발생하도록 설계 LED의..
Button 3개를 통해 LED를 컨트롤1) 목표: PORT D에 PD0, PD1, PD2 각각 Button을 연결 한 뒤, PORT A에 연결된 LED를 컨트롤하기. PD0 : LED 에서 0, 2, 4, 6번째 다이오드를 출력 PD1 : LED 7번째 다이오드부터 0번째 다이오드까지 shift하면서 출력 PD2 : LED 0번째 다이오드부터 7번째 다이오드까지 shift하면서 출력 2) 선행 지식 : 해당 회로는 Pull-Up 구조 회로를 구성했기 때문에 Switch를 누르기 전에는 5V 전압이 들어오 다가Switch 를 누르면 GND로 short되어 전류는 더이상 Pin쪽으로 향하지 않고, ..
1. 환경 : Microchip Studio2. 목표 : 1) PD0에 버튼을 연결, 2) Pull-UP 회로 구성 3) PORTF에 LED의 연결 한 뒤, 3번째 핀만 출력으로 사용 ==> 버튼을 누르기 전 상태는 LED가 꺼져 있지만, 버튼을 누르면 LED가 켜지도록 설계3. 선행 지식- 프로그래밍 하기전, 회로를 구성함에 따라 동작 결과는 전혀 다르게 나타나기 때문에 회로에 대한 기초 지식이 필요하다.- Floating, Pull-up, Pull-down 에 대해서 이해할 필요가 있다.- https://jbhdeve.tistory.com/147 Floating, Pull-up, Pull-down목표) 다음과 같은 궁금증을 알아보도록 하겠다. ..
1. 환경 : Microchip Studio2. 목표 :DDR 전체를 출력/입력으로 설정하는 것이 아닌 Bit 단위로 설정하여 효율적으로 LED를 출력하도록 설계구조체(Structure)를 이용하여 구현함으로서 구조체의 기본 지식 정비 및 기본 활용 공부3. 큰 그림: 이전까지는 DDRD = 0xff로 선언하여 PORTD의 8핀 전체를 출력으로 사용하거나 DDRF = 0x00으로 선언하여 PORTF의 8핀 전체를 입력으로 사용했다.하지만, 이는 비효율적으로 하드웨어를 제어 하는 것이기 때문에 bit 단위로 입력/출력을 설정함으로서효율적으로 하드웨어를 제어하도록 설계하겠다.ex) DDRD = 0x18→ PORTD에서 3번째, 4번째만 출력으로 사용하겠다는 의미구조체를 정의하여 구조체 내에 1) PORT의 ..
※ 정리 할 내용이 추가 될 수 있음. Q) 왜 #define F_CPU 16000000UL를 작성해야 하며, 이는 어떤 의미를 갖는가?- define 전처리기를 이용하여 16000000UL를 F_CPU로 정의한 이유는 avr studio에 내장된 delay 함수를 사용하기 위해 클럭을 재정의하는 것이다.#define F_CPU 16000000UL#include - delay.h 헤더파일에서 클럭의 기본 설정은 아래와 같이 클럭을 1000000UL, 1MHz로 설정된 상태이다.#ifndef F_CPU/* prevent compiler error by supplying a default */# warning "F_CPU not defined for "/** \ingroup util_del..