ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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는 제법 편리하고 꼬름하다는 것을 볼 수 있다.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

Designed by Tistory.