본문 바로가기

Embedded Programming (AVR)/Atmega 128A (실습)

(23)
LCD Display (HD44780U) - (3, I2C 통신) 1. I2C 통신을 이용하여 HD44780U LCD 모듈과 통신하기지난 게시글에서는 4bit, 8bit 모드로 HD44780U LCD 모듈과 직접 연결하여 통신을 하였다.4bit, 8bit 모드 와이어를 직접 연결하기 때문에 상대적으로 I2C 통신과 속도 측면에서 비교하였을 때, 빠르다는 장점을 가지지만, 와이어를 직접 연결하는 만큼 핀에 대한 자원 낭비가 심하다는 단점을 갖고 있다.그에 반면에 I2C 통신은 SCL, SDA 와이어만으로 LCD 모듈과 통신이 가능하기 때문에 속도가 상대적으로 느리지만, 핀에 대한 자원을 효율적으로 사용할 수 있다는 장점을 갖는다.이번에는 HD44780U LCD 모듈을 8574칩을 매개체로 I2C 통신을 구현해보도록 하겠다.I2C 통신에 대한 자세한 내용이 궁금하다면 아래..
LCD Display (HD44780U) - (2, 4bit mode) 1. 4bit mode를 이용하여 HD44780U LCD 모듈과 통신하기지난 게시글에서는 8bit mode를 이용하여 HD44780U LCD 모듈과 통신을 하였다.HD44780U LCD 디스플레이 모듈은 8bit mode 외에도 4bit mode를 지원한다.4bit mode는 8bt mode와 달리 4개의 데이터 버스를 이용하여 MCU와 LCD 디스플레이 모듈간에 데이터를 주고 받는다. 따라서 8bit 모드과 비교하였을 때, 4개의 와이어를 통해 데이터를 주고 받을 수 있어 자원을 효율적으로 줄일 수 있지만, 데이터 송수신 시간이 8bit 모드 대비 상대적으로 많이 소요된다.4bit 모드를 통해 LCD 디스플레이 모듈과 통신 이론은 아래 게시글을 참고하길 바란다.Verilog RTL 설계(8월 22일 -..
LCD Display (HD44780U) - (1, 8bit mode) 1. 8bit mode를 통해 LCD 디스플레이 모듈인 HD44780U와 직접 연결하여 통신하기이전 게시글에서는 I2C 통신을 이용하여 HD44780U, LCD 디스플레이 모듈과 통신하였다.이번에는 HD44780U 모듈과 직접 연결하여 8bit mode로 통신해보도록 하겠다.HD44780U, LCD 디스플레이 모듈에 대해서 궁금하다면 아래 게시글을 참고하길 바란다.Verilog RTL 설계(8월 22일 - 1, I2C 통신을 통한 LCD 컨트롤 - (1)) (tistory.com) Verilog RTL 설계(8월 22일 - 1, I2C 통신을 통한 LCD 컨트롤 - (1))1. I2C Master 모듈을 통한 LCD 디스플레이 모듈 컨트롤이번에는 I2C 통신을 통해 LCD 디스플레이 모듈과 Basys3 ..
8bit Timer / counter - Phase Correct Fast PWM Mode 서론  이번에는 CTC (Clear timer compare match) Mode, Normal Mode, Fast PWM (Pulse Width Modulation) Mode 에 이어 Phase Correct Fast PWM mode에 대해서 공부하겠다. 특히 기존에 다루었던 Fast PWM Mode와 비교하며, 공부하겠다.   본론💡 1. Dual Slope와 Single Slope의 차이 Single Slope는 TCNT Register 값이 MAX값에 도달하면 0으로 초기화된다.Dual Slope는 TCNT Register 값이 Max값에 도달하면 바로 0으로 초기화되지 않고, MAX값에서부터 시작해서 1씩 줄어가며, Counter의 bottom값이 0으로 카운트한다.그래서 Dual Slope에..
Structure 서론  이번 구현 실습에는 버튼 3개를 통해 LED를 제어하는데, 이 과정에서 구조체와 포인터, 열거형(enum) 을 사용하여 구현하도록 하겠다. 해당 실습을 통해 구조체, 포인터에 대한 이론 및 활용을 공부하고, enum에 대해서 공부하도록 하겠다.   본론 이번 구현 환경은 다음과 같다. 1. 연결된 상태PORT F 의 8핀을 모두 사용하여 LED를 연결PD0, PD1, PD2 에 버튼 연결각 버튼들은 Pull-up 회로 연결된 상태이다.- 버튼을 누르기 전까지는 회로가 open 상태이기 때문에 5V 전압이 인가된다.- 버튼을 누르면 회로가 short되면서 0V 전압으로 변환된다. 2. 동작PD0 버튼을 누르면 LED가 켜진다.PD1 버튼을 누르면 LED가 꺼진다.PD2 버튼을 누르면 LED가 Tog..
다양한 파형 생성 실험 (8bit Timer/Counter) 서론  해당 게시물은 CTC Mode와 Normal Mode, Fast PWM Mode를 공부하면 궁금해 했던 점에 대해서 실험(?)하는 게시물이다. 따라서 CTC Mode와 Normal Mode, Fast PWM Mode에 대해서 궁금하다면 각 게시글을 참고하기 바란다.  본론 (CTC Mode)1. 8bit Timer/Counter 2, 256분주, OCRn (=Output Compare Register n) = 224  → OC2 = 138.8888889Hz   1) Output Compare Match Interrupt가 발생하면 OC2 signal을 Toggle 한다. 2) 초기 전압은 0V이지만, Output Compare Match Interrupt가 발생하면 5V로 Set된다. 3) 초기 ..
8bit Timer / counter - Fast PWM Mode 서론  이전 게시글에서는 CTC Mode ( Clear Timer on Compare Match ) Mode와 Normal Mode에 대해서 다양한 파형을 만들어 봄으로서 공부하였고, 이번에는 duty ratio를 컨트롤 할 수 있는 Fast PWM Mode에 대해서 살펴보도록 하겠다.   본론 (Fast PWM  Mode에 대한 이론)💡 Q) Fast PWM Mode란 무엇인가? 이전에 살펴보았던 CTC Mode와 Normal Mode에 대해서 정리하면 다음과 같다. CTC (Clear Timer on Compare Match) ModeOCRn (Output Compare Register n) 을 설정해줌으로서 Counter가 카운트한 값(TCNT0)이 OCRn 값과 Match가 되면 Output C..
8bit Timer / counter - Normal Mode 서론  이전 게시글에서 8bit Timer / Counter CTC Mode를 활용하여 1kHz 주파수를 갖으며, Output Compare Match Interrupt가 발생하면 Toggle이 발생하도록 하는 출력신호를 만들었다. 이번에는 8bit Timer / Counter Normal Mode를 활용하여 새로운 출력 신호를 만들 것이며, 이를 통해 Normal Mode에 대해서 알아보도록 하겠다.   본론 (Normal Mode에 대한 이론) 💡 Q) Normal Mode란 무엇인가? 이전 게시글에서 정리한 CTC Mode (Clear Time on Compare Match Mode)는 OCRn(Output Compare Register n)을 설정함으로서 Counter의 Count 값(=TCNT..