'2015/03/13'에 해당되는 글 2건

  1. 2015.03.13 1차원 배열의 입력과 출력
  2. 2015.03.13 Flip Flop회로(latch 회로, RS, D Flip Flop)

스마트 컨트롤러 - 1차원 배열의 입력과 출력


학습목표

 

C에서 배열이 어떻게 구동하는지 이해할 수 있다.

 

1차원 배열

 

p/257

 

배열에서 3개의 변수를 만들었지만 그 이상의 변수를 초기화하여도 에러가 발생하지 않는다. compiler는 문법적 오류를 검사하기 때문에 경우에 따라서는 문제가 발견되지 않을 수 있다.

 

//visual studio에서는 배열을 생성할 때 사용자가 배열의 범위를 침범하여 코딩하는 경우를 대비하여 배열 사이를 12byte로 띄워놓았다.

 

First In Last Out으로 자료를 넣고 빼는 것이 stack 메모리의 출력 형식이다.

 

QueueFirst In First Out 형식이다. ex) 키보드, 마우스 입력

//순서가 중요시 되는 작업에는 First In First Out형식을 쓴다.

 

Stack구조는 자주 사용하는 것을 다시 쓴다는 규칙을 바탕으로 자주 쓰는 것을 쉽게 꺼내 쓸수 있는 곳에 보관하는 것이다. ->가장 최근에 만든 함수/변수가 가장 먼저 사용될 가능성이 높다!

 

p/259 예제 - 배열의 길이 계산)

 

배열을 만들 때 변수의 개수를 세기 귀찮을 때 개수를 넣지 않아도 compiler에서 자동으로 개수만큼 변수를 생성해준다.

 

초기화시키지 않은 배열의 값에는 0이 들어간다.

 

p/262 예제 - 문자열)

 

 

 

%s 는 시작 문자의 주소점에서 시작해서 0이 나올 때 까지 출력한다.

 

코드를 짜다가 아스키코드의 번호가 필요한 경우가 있다. 이 때 %c‘ ’을 활용하여 아스키 코드를 알아볼 수 있다.

 

p/263 scanf 함수를 이용한 문자열의 입력

 

scanf를 사용하여 문자열을 입력할 때 띄워쓰기를 하게 되면 띄워쓰기 전까지만 출력된다.

 

/* visual studio에서 scanf를 제한하는가?

 

위에 선언된 str변수는 buffer이기 때문에 사용자가 입력하는 내용을 변수의 용량이 넘치더라도 그대로 입력해준다.

 

위의 str변수의 크기를 8로 지정하였는데도 scanf로 인해 그 이상이 입력되는 상황이 발생한다. 때문에 visual studio에서는 scanf를 사용하지 못하게 한다. => scanf는 경계체크를 하지 않는다.

 

 

%s를 사용하지 않고 문자열을 출력하게 코딩할 수 있다.



 

 

반응형
Posted by newind2000
Busan IT/디지털 제어2015. 3. 13. 13:35

디지털 제어 - Flip Flop회로(latch 회로, RS, D Flip Flop)

 

NOR/NAND latch 회로 복습

 

학습목표

 

7402를 활용하여 NOR회로를 만들 수 있다.

7400을 활용하여 NAND회로를 만들 수 있다.

NAND회로를 활용하여 RS Flip Flop 회로를 만들 수 있다.

7474회로로 D Flip Flop 회로를 만들 수 있다.

 

지난 시간에 만들었던 NOR/NAND latch회로를 만들어보자!

 

 





 

latchS-R 플립플롭의 가장 큰 차이는 클럭 공급의 차이이다.

클럭 공급으로 인해 데이터의 입출력이 연속이 아니라 클럭 공급의 형태로 바뀐다.

값이 1(S) 1(R)일 때 부정 값을 보완해주기 위해 나온 것이 D플립플롭이다.

 

/* 카르노 맵 그리는 법!

 

비트 2개가 한꺼번에 바뀌는 것을 방지하기 위해 SR값은 00 01 11 10으로 나열해 준다.

Q에는 2비트 값(0,1)을 기입해준다.

 

실습 - 클록형 S-R 플립플롭(NAND) 만들기






클럭의 high부분에서만 데이터가 처리되는 것을 레벨(level)트리거 라고 한다. 이 때 high부분에서 전압이 일정하지 않고 잡음이 발생하여 오동작이 발생할 수 있다. 때문에 high에서 low low에서 high로 바뀌는 부분에서 동작할 수 있도록 만든 것이 에지(edge) 트리거라고 한다.

//프로테우스에서 시뮬레이션 해보면 지연이 표시되지 않기 때문에 펄스 전이 검출기 회로에서의 지연 값을 볼 수 없다.



//파란색 구간은 부정을 표시한다.







 

//Q(t+1) 입력의 Q와 출력의 Q를 표시해주기 위한 표시.






 

반응형
Posted by newind2000