일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hc-sr04
- atmega 128a
- test bench
- gpio
- Algorithm
- ATMEGA128A
- LED
- half adder
- uart 통신
- Linked List
- behavioral modeling
- Edge Detector
- i2c 통신
- DHT11
- java
- ring counter
- soc 설계
- Recursion
- Pspice
- stop watch
- structural modeling
- prescaling
- D Flip Flop
- vivado
- FND
- BASYS3
- dataflow modeling
- pwm
- verilog
- KEYPAD
- Today
- Total
목록Embedded Programming (AVR) (30)
거북이처럼 천천히
1. I2C 통신을 이용하여 HD44780U LCD 모듈과 통신하기지난 게시글에서는 4bit, 8bit 모드로 HD44780U LCD 모듈과 직접 연결하여 통신을 하였다.4bit, 8bit 모드 와이어를 직접 연결하기 때문에 상대적으로 I2C 통신과 속도 측면에서 비교하였을 때, 빠르다는 장점을 가지지만, 와이어를 직접 연결하는 만큼 핀에 대한 자원 낭비가 심하다는 단점을 갖고 있다.그에 반면에 I2C 통신은 SCL, SDA 와이어만으로 LCD 모듈과 통신이 가능하기 때문에 속도가 상대적으로 느리지만, 핀에 대한 자원을 효율적으로 사용할 수 있다는 장점을 갖는다.이번에는 HD44780U LCD 모듈을 8574칩을 매개체로 I2C 통신을 구현해보도록 하겠다.I2C 통신에 대한 자세한 내용이 궁금하다면 아래..
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일 -..
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 ..
Verilog을 공부하면서 머리 속에서 잊어버린 AVR에 대해서 다시 공부하기 위해 LED와 버튼을 이용한 게임을 만들었다. 게임은 간단하다. 두 명의 플레이어가 두 개의 버튼을 가지고, 누가 먼저 4번을 누르는지를 대결하는 게임이다. 각각 Player1, Player2이 하나의 버튼을 할당 받고, 대결한다. 1. 환경PORTD 0번째, 1번째에 Button 연결Button 0 : Player1, Button 1 : Player2PORTF에 LED 연결Button은 Pull-up 저항과 함께 Pull-up 형태 연결단, Interrupt 사용없이 PIN Register를 사용하여 버튼이 눌렀는지 여부를 확인 2. 동작Player1은 PORTD0, Player1은 PORTD1의 버튼을 사용한다.Pla..
그 동안 Verilog를 공부하면서 AVR 에 대한 지식이 머리속에서 점차 사라지는 것 같았다.따라서 LED를 가지고 이것저것하면서 AVR 에 관한 지식 및 감(?)을 쌓기 위해 "LED을 통한 뱀(?)을 출력" 하는 것을 해보았다. 1. 환경PORT F에 LED(KR-1008SR)을 연결 2. 동작LED에 일렬로 LED를 키는데, 이는 유한한 길이를 갖는다. 따라서 유한한 길이를 갖고, 일직선 형태를 갖기 때문에 뱀(?)이라고 하겠다.뱀의 길이는 define 키워드를 사용하여 상수로 지정하였고, 원하는 뱀의 길이로 조정 가능뱀의 머리가 LED에 나타났다가 뱀의 꼬리가 LED에서 사라지면 그제서야 다시 뱀이 LED에 나타난다.( 이해가 되지 않는다면 구현 영상을 보는 것을 추천 ) 3. 구현 영상 ..
서론 이번에는 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에..
Verilog를 공부하면서 ATmega에 대한 감각과 지식을 점차 사라지는 것을 느꼈다.... 그래서 Verilog 1차 정리를 다한 뒤, 8bit timer / counter 0, 2와 다양한 모드을 이용해 펄스파형을 출력하고,관찰함으로서 ATmega 128의 timer/counter를 다시 정리 및 상기하도록 하겠다. 1. 8bit Timer / Counter 0 (CTC Mode)환경) PB4(OC0)을 파형 출력핀으로 설정 Prescaler, N : 128Output Compare Register 0, OCR0 : 174Frequency of output compare 0 Signal, foc0 : 357.1428571Hz 설명) CTC Mode의 Time diagram은 다음과 같다. T..
서론 이번 구현 실습에는 버튼 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..