일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- soc 설계
- uart 통신
- gpio
- Algorithm
- Linked List
- vivado
- i2c 통신
- pwm
- D Flip Flop
- LED
- test bench
- BASYS3
- DHT11
- ring counter
- Pspice
- prescaling
- FND
- ATMEGA128A
- half adder
- Edge Detector
- stop watch
- java
- hc-sr04
- KEYPAD
- dataflow modeling
- behavioral modeling
- atmega 128a
- Recursion
- verilog
- structural modeling
- Today
- Total
목록Embedded Programming (AVR) (30)
거북이처럼 천천히

서론 Timer/Counter는 디지털 논리 회로에서 주기를 갖는 신호를 측정 및 생성할 때 필요한 기능 및 회로이다.Timer/Counter를 통해 특정 주파수를 갖는 출력 신호를 생성하여 특정 주기마다 이벤트를 발생하도록 설계하거나 외부에서 들어오는 신호의 길이를 측정할 수 있다. 따라서 Timer / Counter는 MCU에서 주변 기기들을 정확한 타이밍에 동작시키는 데 있어 중요한 개념이라고 할 수 있다. 이번 게시글을 통해 Timer / Counter에 대한 기본 개념을 알아보자. 본론 Timer와 Counter는 하나의 세트로 묶어 사용하기 때문에 Timer와 Counter에 대해서 개념 차이를 잘 모르는 경우가 있다. Timer와 Counter의 차이는 다음과 같다 Timer Time..
해당 게시글은 MCU(Microcontroller)를 공부하다가 부정확한 용어들을 간략하게 정리한 글이다.필요에 따라 계속해서 수정해 나아가면서 업데이트 할 예정이다. Q) 컴퓨터에서 클럭 신호, 클럭 싸이클은 구체적으로 무엇인가?A) 클럭 신호는 CPU와 같은 디지털 회로내에서 동작 타이을 결정하는데 사용되는 주기적인 신호이다. 클럭 신호를 보게 되면 주기를 갖으며, 일박적으로 사각형 형태를 띈다. 클럭 싸이클 ( Clock cycle) 은 클럭 신호의 한 주기를 의미한다. 클럭 신호가 완전한 하나의 파형 ( Rising edge 에서 다음 Rising edge 까지 or Falling edge 에서 다음 Falling edge 까지 ) 을 완료하는데 걸리는 시간을 의..

서론 4-FND (Flexible numeric display)는 4개의 FND를 모아 하나의 단일 소자로서 각각의 FND는 LED의 출력을 위해 동일한 8개의 핀을 공유하여 사용하지만, 아래와 같이 4개의 핀 ( 12핀, 9핀, 8핀, 6핀 )을 이용하여 각 자리의 FND의 출력을 제어하게 된다. 본론 이번에는 아래와 같은 회로 및 환경을 구현하여 4-FND에 대해서 알아보겠으며, 특히 4-FND을 이용하여 서로 다른 자리에 서로 다른 숫자들을 동시에 출력함으로서 C언어에 대한 이해 및 FND에 대한 지식 및 활용 능력을 쌓도록 하겠다. 4-FND을 연결한 뒤, for문을 이용하여 0 ~ 9까지 순차적으로 단순히 출력하도록 하겠다.0 ~ 9999 까지 동시 출력하도록 설계하도록 하겠다. 구현 ..

서론 FND (Flexible Numeric Display) 은 아래의 그림와 같이 여러 개의 LED를 이용하여 10진수 숫자 또는 16진수용 문자를 표시하는 소자이다. 이를 7-segement , Flexible Numeric Dispaly 이라고 한다. 이번 구현에 사용할 FND는 5161AS의 Data sheet를 보게 되면 다음과 같이 구성되어 있으며, 특히 아래 그림과 같이 Common cathode 로 구성되어 있다. 이는 3, 8핀의 GND을 모든 다이오드들이 공유하기 때문에 각각 다이오드가 연결된 핀에 전압을 인가하게 되면 전위차에 의해 전류는 다이오드를 통해 GND로 흐르게 되며, 이를 통해 다이오드에 불이 들어오게 된다. 본론 이번에는 다음과 같은 구현을 함으로서 FND..

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의 ..