반응형

a31g123ml 9

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에 실시간 출력하기 — ADC + LCD 통합

📺 A31G123ML + Keil uVision — 센서값을 LCD에 실시간 출력하기이번 실습에서는 이전에 구현했던 ADC(센서값 읽기)와 LCD 출력을 결합하여, 센서 데이터를 실시간으로 캐릭터 LCD에 표시하는 시스템을 만들어봅니다.🧰 준비물 ABOV A31G123ML 보드 16x2 HD44780 캐릭터 LCD 가변저항 또는 조도센서 (ADC 입력) 브레드보드, 점퍼선🔌 회로 연결 LCD: RS~D7 → P1.0~1.5 (이전 편과 동일) 센서 출력 → AIN0 (P2.0)💻 코드 예시: ADC + LCD#include "A31G123.h"#include "lcd.h"#include void adc_init(void) { SYSCON->SYSAHBCLKCTRL |= (1 C..

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 : PWM 출력으로 LED 밝기/부저 음 조절하기 — TIMER16 활용

🎵 A31G123ML + Keil uVision — PWM으로 LED 밝기 & 부저 제어하기이번 실습에서는 ABOV A31G123ML의 TIMER16을 이용하여 PWM(Pulse Width Modulation) 신호를 생성하고, LED 밝기 조절이나 부저 음 조절에 활용해보겠습니다.🧰 준비물 ABOV A31G123ML 보드 LED or 부저 (Passive) 220Ω 저항 (LED)🔌 회로 연결 P1.0 → LED(애노드) → 220Ω → GND 혹은 부저 + GND 연결 (PWM 제어 가능)💻 코드 예시: PWM 듀티 변경#include "A31G123.h"void pwm_init(void){ // P1.0 = TIMER16_0 PWM 출력 PORT1->MODE |= (1..

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

Keil uVision으로 ABOV A31G123ML 첫 LED 깜빡이기

💡 Keil uVision으로 ABOV A31G123ML 첫 LED 깜빡이기이번 시리즈에서는 ABOV사의 A31G123ML MCU를 사용해 Keil uVision5 환경에서 직접 펌웨어를 작성하는 과정을 다룹니다.1편에서는 LED 깜빡이기를 통해 기본 GPIO 레지스터 제어와 프로젝트 세팅을 익혀봅니다.🧰 준비물 ABOV A31G123ML 보드 USB to UART 또는 JTAG 디버거 Keil uVision5 ABOV Device Pack (Keil Pack Installer에서 설치)🧱 프로젝트 생성 Keil → New Project → Device 선택: A31G123 Startup 코드 자동 생성 또는 ABOV SDK 참고 main.c 파일 추가💻 main.c 코드 예시P00..

ARM 2025.04.18
반응형