반응형

cortexm0 6

A31G123ML + Keil uVision10편: DHT11 센서로 온도/습도 측정 → LCD에 출력하기

🌡️ A31G123ML + Keil uVision — DHT11 온습도 센서 출력하기이번 편에서는 DHT11 디지털 온습도 센서를 이용해 온도와 습도 데이터를 측정하고, LCD에 실시간으로 출력🧰 준비물 ABOV A31G123ML 보드 DHT11 온습도 센서 16x2 HD44780 캐릭터 LCD 10kΩ 풀업 저항🔌 회로 연결 DHT11 DATA → P2.2 VCC → 5V / GND → GND LCD → P1.0~P1.5 (4-bit 모드)💻 코드 예시: DHT11 읽고 LCD에 출력// dht11.h, lcd.h 포함#include "A31G123.h"#include "dht11.h"#include "lcd.h"#include char buffer[20];int main(voi..

ARM 2025.04.18

A31G123ML + Keil uVision : 캐릭터 LCD (HD44780)로 문자 출력하기

🖥️ A31G123ML + Keil uVision — 캐릭터 LCD(HD44780) 출력하기이번 편에서는 ABOV A31G123ML MCU를 사용하여 16x2 캐릭터 LCD에 텍스트를 출력해보겠습니다.HD44780 기반 LCD는 병렬 방식으로 작동하며, 간단한 UI를 구현할 때 매우 유용하게 활용됩니다.🧰 준비물 ABOV A31G123ML 보드 16x2 캐릭터 LCD (HD44780 호환) 10kΩ 가변저항 (밝기 조절) 브레드보드, 점퍼선🔌 핀 연결 (4-bit 모드)LCD 핀MCU 핀RSP1.0ENP1.1D4~D7P1.2 ~ P1.5RWGND (쓰기전용)VSSGNDVDD5VVO가변저항 중간핀💻 코드 예시: Hello LCD 출력#include "A31G123.h"#include "l..

ARM 2025.04.18

A31G123ML + Keil uVision : ADC로 아날로그 센서값 읽기 — 가변저항/조도센서 측정

📊 A31G123ML + Keil uVision — ADC로 아날로그 센서값 읽기이번 편에서는 ABOV A31G123ML의 내장 ADC를 활용해 가변저항이나 조도센서(LDR) 등의 아날로그 입력값을 읽고, 그 결과를 UART로 시리얼 출력하는 실습을 진행합니다.🧰 준비물 ABOV A31G123ML 보드 가변저항 또는 LDR 조도센서 10kΩ 저항 USB to UART 모듈🔌 회로 연결 센서 출력 → AIN0 (P2.0) GND → 센서 하단 5V → 센서 상단💻 코드 예시: ADC 값 읽고 UART로 출력#include "A31G123.h"void uart_send(char c) { while (!(UART1->STAT & (1 TXD = c;}void uart_print(c..

ARM 2025.04.18

A31G123ML + Keil uVision : UART 통신으로 PC와 시리얼 데이터 주고받기

💻 A31G123ML + Keil uVision — UART로 시리얼 통신하기이번 편에서는 ABOV A31G123ML MCU를 사용해 UART 시리얼 통신을 구현하고, PC의 시리얼 터미널과 데이터를 주고받는 예제를 실습해봅니다.UART는 MCU와 외부 장치(PC, 모듈 등)를 연결하는 가장 기본적인 통신 방식입니다.🧰 준비물 ABOV A31G123ML 보드 USB to UART (FTDI, CP210x 등) 시리얼 터미널 (TeraTerm, RealTerm, PuTTY 등)🔌 연결 방법 TX(P1.4) → USB-UART RX RX(P1.5) → USB-UART TX GND → GND💻 코드 예시: "Hello UART!" 출력#include "A31G123.h"void uart_..

ARM 2025.04.18

A31G123ML + Keil uVision : 외부 인터럽트로 버튼 누르기 — EXINT 설정과 토글 제어

🔘 A31G123ML + Keil uVision — 외부 인터럽트로 버튼 누르기이번 실습에서는 버튼을 누르면 인터럽트가 발생하고, 그에 따라 LED가 토글되는 구조를 구성해보겠습니다.이는 CPU가 대기 없이 이벤트에 반응하는 구조이기 때문에, 실시간 시스템 개발에 매우 중요합니다.🧰 준비물 ABOV A31G123ML 보드 푸시버튼 1개 LED 1개 풀다운 저항 (10kΩ)🧱 회로 연결 버튼: P1.0 (입력 핀) → 5V / GND → 풀다운 LED: P0.0 (출력 핀)💻 코드 예시: 버튼 누르면 LED 토글#include "A31G123.h"volatile uint8_t led_state = 0;void EXINT0_IRQHandler(void){ if (EXINT->PEN..

ARM 2025.04.18

A31G123ML + Keil uVision - 타이머를 이용한 정밀 딜레이 만들기

⏱️ ABOV A31G123ML 타이머로 정밀 딜레이 만들기이전 편에서는 소프트웨어 루프를 이용한 단순 딜레이를 구현했었죠.이번에는 ABOV A31G123의 16비트 타이머(TIMER16)를 사용해 1ms 정밀 타이머 기반 딜레이 함수를 만들어볼 거예요.🧰 준비물 ABOV A31G123ML MCU 보드 Keil uVision5 개발환경 ABOV CMSIS Device Pack🧱 타이머 기본 개념타이머는 내부 클럭을 이용해 일정 주기마다 값을 증가시키는 하드웨어입니다.우리는 이걸 1ms 단위 인터럽트 발생용으로 구성할 거예요.💻 코드 예시: Timer16 기반 1ms 딜레이#include "A31G123.h"volatile uint32_t tick = 0;void TIMER16_0_IRQHan..

ARM 2025.04.18
반응형