-
20140403 (TTL, AND gate, putchar, fputc, getchar, fgetc)부산IT학원/스마트컨트롤러 2014. 4. 3. 14:31
34일차
--------------------
디 지 털 회 로
--------------------
--- 트랜지스터
- NPN : 소량의 입력 전류와 양의 전압을 Base에 인가하면 (Vb > Ve) Collector에서
Emitter로 다량의 전류가 흐를 수 있게 된다.
- PNP : 소량의 출력 전류와 음의 전압을 Base에 인가하면 (Vb < Ve) Emitter에서
Collector로 매우 다량의 전류가 흐를 수 있게 된다.
트랜지스터끼리 조합하여 논리회로를 구성함.
--- TTL (Transistor Transistor Logic)
주로 5V 사용.
논리회로 종류로 트랜지스터 트랜지스터 구조를 말한다.
74XX 시리즈로 유명해졌다.
- 실제 생김새
빨강색 글씨로 1,7,8,14의 의미는
옆에 가닥가닥 각각 번호이다.
14 13 12 11 10 9 8
1 2 3 4 5 6 7
빨강색으로 줄 친 부분이 이 칩의 모델명이다.
데이터 시트 (AND Gate)
A, B로 입력
Y로 출력
--- 실습
- AND Gate
오른쪽 밑 부분 노란줄 두 개가 파란라인에 꽂혀있다.
A B Y
0 0 0 ( G : 0 , + : 1 , 1이 나오면 LED에 불이 들어옴)
A B Y
1 0 0
A B Y
0 1 0
A B Y
1 1 1
----------------
C 언어
----------------
-------------------
--- putchar, fputc
- int putchar(int c)
인자에 정수를 받아 한 문자만 아스키코드로 출력한다.
- int fputc(int c, FILE * stream)
인자에 정수를 받아 stream으로 한 문자만 아스키코드로 출력한다.
- 두 함수 리턴값은 출력된 문자(정수값)이고 에러시 EOF(-1)를 리턴.
--- getchar, fgetc
- int getchar(void)
한 문자만 입력 받는다.
- int fgetc(FILE * stream)
한 문자만 stream으로 부터 입력 받는다.
- 두 함수 리턴값은 입력된 문자(정수값)이고 에러시, 파일 끝에 도달시 EOF(-1)를 리턴.
ex) 예제
#include <stdio.h>
int MyPutchar(int);
int Mygetchar();
int main()
{
int iNum;
iNum = MyPutchar('A');
printf("\n%d \n", iNum);
iNum = fputc('A', stderr);
printf("\n%d \n", iNum);
fprintf(stderr, "EOF : %d\n", EOF);
iNum = Mygetchar();
fflush(stdin);
printf("%c \n", iNum);
iNum = getchar();
fflush(stdin);
printf("%c \n", iNum);
iNum = fgetc(stdin);
printf("%c \n", iNum);
return 0;
}
int MyPutchar(int iNum)
{
return fputc(iNum, stdout);
}
int Mygetchar()
{
return fgetc(stdin);
}위의 예제를 보면
putchar, getchar는 제법 편리하고 꼬름하다는 것을 볼 수 있다.
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140407 (반가산기 XOR없이, 회로도 최적화 공식, typedef, strlen, strcpy, strcat) (0) 2014.04.07 20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush) (0) 2014.04.04 20140402 (main 인자전달, stream) (0) 2014.04.02 20140401 (함수 포인터, void 포인터) (0) 2014.04.01 20140331 (2차원 배열, 이중포인터, 배열포인터) (0) 2014.03.31