페이지

2026년 4월 25일 토요일

6.3.2. 전가산기(Full-Adder) 실습 (3-입력 2-출력)






CODE 6.2 | 전가산기 실습
01void setup() {
02  pinMode(10, OUTPUT); // 합(Sum) 출력 핀
03  pinMode(11, OUTPUT); // 출력 자리올림수(Cout) 핀
04  pinMode(2, INPUT_PULLUP); // 입력 A
05  pinMode(3, INPUT_PULLUP); // 입력 B
06  pinMode(4, INPUT_PULLUP); // 입력 Cin (하위 자리올림)
07}
08 
09void loop() {
10  // 버튼 입력을 논리 상태(1/0)로 변환
11  int A = (digitalRead(2) == LOW);
12  int B = (digitalRead(3) == LOW);
13  int Cin = (digitalRead(4) == LOW);
14  // [전가산기 논리 판별 과정]
15  // 1. 합(S): 세 입력의 배타적 논리합(XOR)
16  int S = A ^ B ^ Cin;
17  // 2. 출력 자리올림수(Cout): A, B가 모두 1이거나, 한쪽이 1이면서 Cin이 1일 때 발생
18  int Cout = (A && B) || (Cin && (A ^ B));
19  // 결과 출력
20  digitalWrite(10, S);
21  digitalWrite(11, Cout);
22}



 

댓글 없음:

댓글 쓰기