본문 바로가기

자동제어(PLC,PC,로봇) & 전장설계 & CNC/PC 제어

PC제어프로그램 4일차 - 문자 자료의 표현 외(20.05.12)

반응형

그레이(gray) 코드

int a,b;
int c=10, d=20;

연속된 수가 1개의 비트만 다름

비가중치 (non-weighted) 코드

A/D 변환기(analog-to-digital converter)에 사용

 

가중치 : 2진수 값이 10진수로 나타냈을때 대소가 확실히 알 수 있는것

1010(2) -> 10

0100(2) -> 4

0001(2) -> 1

 

그레이 코드 - DC모터를 (속도) 제어할 때 사용한다.

 

모터의 회전속도(RPM)은 1600~1800정도이다(초당 30바퀴정도 돈다. 눈으로 확인 어렵다)

감속기를 넣으면 초당 1~2바퀴정도로 감소시킨다. (각도 제어도 가능하다)

안에 작은기어에 큰기어를 걸어서 속도를 줄여준다.

 

큰기어에 모터 걸고 판을 만들어 구멍을 뚫는다. 빛을 쏘아 센서로 확인 가능하다.

구멍은 12개 뚫는다. 30도로 확인 가능 -> 30도로 제어 가능하다.

 


그레이(gray) 코드 변환 방법

2진수를 그레이 코드로 변환

  2진수의 첫 비트(MSB)는 그레이 코드의 첫 비트

  2진수의 이웃한 두 비트의 합(carry는 버림)을 취하여 다음의 그레이 비트로 정한다.

  위의 과정을 반복하여 다음 비트를 구한다.

그레이코드의 2진수 변환

  그레이 코드의 첫 비트(MSB)는 2진수의 첫 비트

  위의 과정에서 얻은 2진수의 첫번째 비트와 그레이 코드의 두번째 비트의 합(carry는 버림)을 취하여 2진수의 두번째 비트로 정한다.

  위의 과정을 반복하여 다음 비트를 구한다.

 

1 0 1 0 (2)

1 1 1 1 (G)

1 0 1 0 (2)


해밍(hamming) 코드

코드 전송시 발생하는 오류를 검출(detecting)하고 수정(correcting)이 가능한 코드

미국 Bell 연구소의 R.W.Hamming에 의하여 개발

 

 

3초과 코드 (생략) 보수 (생략)


수치 자료의 표현

수치 자료는 프로그램 실행 중 사칙연산이 가능한 자료

컴퓨터 내부에서 계산할 때만 사용하고, 그 결과는 문자로 출력

수치 자료의 표현 방식

  ◆ 정수 표현 : 고정(固定) 소수점 형식

  ◆ 10진 형식, 실수 표현 : 부동(浮動) 소수점 형식

 

         
    0 . 1
  0 . 1 3
  2 . 3 5
1 . 2 3 4

 


영상 및 음성자료의 표현

영상 자료의 표현

  ◆ 영상 자료는 화면에 그림 등이 수 많은 점의 집합으로 표현

  ◆ 그래픽스 (graphics) : 점들의 집합으로 그림을 나타내는 방식

칼라는 빛의 3원색(rgb)으로 표현

R G B

  ◆ 화소(pixel) :  그래픽스에 나타나는 각각의 점

     흑백화면 : 각 점을 화소에 2진수 0과 1을 대응시켜 명암을 표현

     칼라화면 : 3개 또는 그 이상의 비트를 이용하여 색과 명암을 표시

 

 

프로그래밍 언어

프로그래밍 언어란 무엇인가?

사람과 컴파일러(& 어셈블러)가 이해할 수 있는 약속된 형태의 언어

저급언어 - 컴퓨터가 이해하기 쉬운언어 ex) 어셈블리어

급언어 - 인간에게 친근한 언어 ex) C언어 외

 

Comp. CPU

기계어

(0,1의 조합)

해독기


컴파일러
어셈블러
프로그래밍 언어

고급언어
저급언어

 

어셈블리어

Mnemonic code에 명령어를 첨가한 것.

기계어의 명령부와 번지부를 사람이 이해하기 쉬운 기호와 1:1로 대응시켜 기호화한 프로그램 언어

Mnemonic code

프로그래밍의 비효율성 극복을 위해 기계어의 비트 형식을 연상코드화

심벌화로 프로그램의 이해와 작성이 쉽다

기계어로 직접 변환 가능

프로그램 작성이 쉽다.

Assemble

어셈블리어(Source) 프로그램을 기계어 (Object)로 바꾸는 것.

 

 

 

고급 수준 언어

FORTRAN

FORmula TRANslating system(수식번역 시스템)

가장 오래된 언어. 계산 위주로 단순, 간결.

기술 계산 분야에 사용

BASIC

COBOL

PASCAL

C

B언어에서 발전한 언어

1972년경 UNIX의 운영체제 개발을 위한 시스템 프로그래밍 언어로 설계

컴파일러나 많은 소프트웨어 TOOL들이 C로 개발됨

C언어를 기계어로 바꾸어주는 컴파일러도 C로 개발되었다

한글에서 프린터 아이콘 누르면 화면이 뜨는데, 그것도 C로 개발되었다

기계어에 가까워 하드웨어에 대한 확실한 통제 가능

이식성(portability)이 높다

풍부한 연산자와 데이터 type

범용 프로그래밍 언어와 응용소프트웨어 개발에 많이 사용

C++

객체지향 프로그래밍(OOP : Object-Oriented Program 독립적인 각각의 객체로 프로그램이나 시스템을 구성하는 일)을 지원하기 위한 언어

C언어의 장점을 계승하고 객체의 상속성의 개념을 추가하여 1983년 개발한 언어

독립적으로 실행하는 과정에서 다른 프로그램을 넣어서 돌릴 수 있다.

JAVA

 

 

컴파일

고급언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 역할을 하는 번역기

 

 

C로 장치를 액추에이터를 구동하기 때문에 깊이 있게 다룬다.

 

 

전처리기

컴파일을 하기 전에 먼저 읽어 삽입하는 역할

컴파일러는 전처리기의 처리 결과인 소스를 컴파일한다.

 

 

헤더파일

 

 

지시자 #include와 define

 

 

 

키워드와 식별자

 

 

변수

임시로 자료값을 저장하는 저장장소

사용전에 변수 선언을 해야 함

선언과 함께 초기값을 저장할 수 있다.

마지막 값만 저장한다.

int a,b;
int c=10, d=20;

 

 

 



출처: https://okcoding.tistory.com/457?category=899419 [생활코딩]