본문 바로가기

반응형

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

PC제어프로그램 7일차 (20.05.28) - 기본코딩2 조건문 성적 평가 %f를 %0.2f로 수정해보자 소수 둘째 자리까지 출력된다. 키워드 else 조건문 if에서 else를 사용하여 조건 표현식이 거짓인 경우 else 문이 실행된다. 홀수 짝수 구분 현업에서 쓰는 if ~ else 구문의 활용 예입니다. 정수의 덧셈 곱셈 두 정수의 0 판정 두 정수의 1~45 여부 판정 더보기
PC제어프로그램 7일차 (20.05.28) - 기본코딩 단축연산 비트 연산자 &와 | 는 논리연산자로 이용할 수 있다. &&와 || 은 단축 연산을 수행한다. 단축 연산은 먼저 수행하는 피연산자의 결과가 결정되면 뒤에 오는 피연산자는 평가하지 않는다. 일반연산 프로그램 단축연산 프로그램 조건 연산자 조건연산자는 C언어 중 유일한 3개의 피연산자를 갖는 삼항 연산자. exp1 ? exp2 : exp3 연산식 exp1이 0이 아닌 값(참)으로 평가되면, 삼항 연산자의 평가값은 두 번째 연산식인 exp2의 값으로 평가된다. 연산식 exp1이 0(거짓)으로 평가되면, 삼항 연산자의 평가값은 세 번째 연산식인 exp3의 값으로 평가된다. 변수 x의 절대값을 변수 absolute에 저장 absolute = (x 0001(2) 7(10) -> 0111(2) 5(10) -.. 더보기
visual studio c++ 프로그래밍 코드를 웹에서 테스트 할 수 있다. http://cpp.sh/ C++ Shell cpp.sh 이 사이트는 한글입력이 되지 않는 것 같다. https://www.onlinegdb.com/ GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++ Online GDB is online compiler and debugger for C/C++. You can compile, run and debug code with gdb online. Using gcc/g++ as compiler and gdb as debugger. Currently C and C++ languages are supported. www.onlinegdb.com 이 사이트는 한글이 깨지는 오류가 있다. v.. 더보기
PC제어프로그램 6일차 (20.05.21) - 기본코딩1 키워드 typedef 전처리기 지시자가 아닌 문장이다. integer를 fullname으로 쓰면 프로그램에서 인식이 안된다. int로 써야 프로그램에서 인식이 된다. /* 파일 : typedef.c */ #include typedef int integer; int main(void) { integer a=10; int b=20; printf("a -> %d, b -> %d\n", a, b); return 0; } 입력함수 scanf() 읽을 줄 안다. scanf("%d", &age); /*파일 scanf.c */ #include int main(void) { int age = 0; printf("나이 입력 : \n"); scanf("%d", &age); printf("---> 입력한 당신의 나이는 %d입.. 더보기
윈도우 7 이상에서 Visual Studio 6.0 설치 윈도우 7에서 비주얼스튜디오 6.0 버전을 설치해 본다. 다운로드 (3가지 방법으로 설명되어 있음. 용량은 ) https://sasix.tistory.com/5 [VB6.0] 비주얼스튜디오6 다운로드 비주얼 스튜디오 다운로드 링크입니다. Visual Studio 6.0 : Download ( Click ) 시리얼 넘버는 1111111111 적어주시면 됩니다! sasix.tistory.com Microsoft Visual Studio 6.0 Enterprise Edition 다운받은 iso파일을 압축 풀기를 한다. 폴더 안의 SETUP.EXE 파일을 마우스 우클릭 - 속성을 들어간다. SETUP.EXE를 마우스 우클릭 후 관리자권한으로 실행을 누른다. 설치 중간에 아래와 같은 창이 뜨면 '프로그램실행'을 .. 더보기
PC제어프로그램 5일차 (20.05.14) - 기본코딩2 변수 선언 연습 /*파일: year.c 변수 선언 연습*/ #include #include int main(void) { time_t t=time(NULL); struct tm tm = *localtime(&t); int year; int month; int date; year = 2020; month = tm.tm_mon+1; // month = 5; date = 14; printf("오늘 날짜는 %d년 %d월 %d일 입니다.\n", year, month, date); printf("now: %d-%d-%d %d:%d:%d\n", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec); return 0; } 문자형 변수 선.. 더보기
PC제어프로그램 5일차 (20.05.14) - 기본코딩1 /*printf2.c 정수표현식 출력1 */ #include int main(void) { printf("%d \n", 1234); return 0; } /* print2_1.c */ #include int main(void) { printf("%d %d \n",10,20); return 0; } /* printf3.c 정수표현식 3 */ #include int main(void) { printf("Hello Everybody \n"); printf("%d \n", 1234); printf("%d %d \n", 10, 20); return 0; } 콘솔창을 보면 Debug 창에 아래와 같이 표시된다. --------------------Configuration: printf3 - Win32 Debug--.. 더보기
Visual C++ 6.0 단축키 Visual C++ 6.0 에서 자주 쓰는 단축키 Tab 들여쓰기,자동완성 Shift+Tab 내어쓰기 블록 설정 >> Tab 선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용 블록 설정 >> Shift+Tab 선택된 블록의 문자열을 일괄적으로 내어쓰기 적용 F2 설정된 북마크로 이동 F2 설정된 다음 북마크로 이동 F3 다음 단어 찾기 F4 다음 에러메세지로 이동 F5 Debugging 모드로 작동 F9 현재 라인에 BreakPoint를 설정/해제 F10 Debugging 모드로 작동하되 엔트리 포인트부터 시작 F12 마우스 오른쪽 버튼 눌렀을때 go to definition 단축기 Ctrl+Up/Down Arrow 커서는 고정시키고 화면만 스크롤 시키기 ctrl+*(맨오른쪽 부분) 위에서 F12.. 더보기
PC제어프로그램 4일차 (20.05.12) - Visual C++ 사용하기 Microsoft Visual C++ 실행을 한다. 프로젝트를 만들고 프로그래밍 작업을 하면 '프로젝트명-작업 파일명'에 작성한 프로그램이 만들어진다. 프로젝트/파일 (hellow/hellow) file-new 선택하면 Projects탭이 활성화되어 있음 file-new 선택하면 Files탭이 활성화되어 있음 이제 프로그램 명령어를 입력한다. 대소문자 구분하고 숫자 '0'과 영문자 'o'와 구분한다. /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0; } 프로그램 코드를 입력하고 Comfile을 해준다. 컴파일은 고급언어를 기계어로 바꾸는 과정이다. Ctrl+F7을 누르고 F7을 누르고 옆에 느낌표(!)를 누르면 실행.. 더보기
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바퀴정도로 감소시킨다. (각도 제어도 가능하다) 안에 작은기어에 큰기어를 걸어서 속도를 줄여준다. 큰기어에 모터 걸고 판을 만들어 구멍을 뚫는다. 빛을 쏘아 센서로 확인.. 더보기
PC제어프로그램 3일차 (20.05.07) - 진수의 연산, 뺄셈 ■ 진수의 연산 7(10) +8(10) 15(10) 1(2) +1(2) 10(2) 1(2) +1(2) +1(2) 11(2) ◆ 10진수 6+5를 2진수로 변환시켜 계산해보자. 6(10) +5(10) ? -> 0110(2) +0101(2) 1011(2) 검산: 2진수 1011는 10진수로 11이다. ■ 뺄셈 ◆ 초기의 컴퓨터는 직접 뺄셈을 수행 ◆ 뺄셈을 보수에 의한 덧셈으로 한다. ■ 보수를 사용하는 목적은 뺄셈을 하기 위한 방법 -> 뺄셈을 덧셈으로 용이하게 하는 방법 ■ 1의 보수 / 2의 보수 1의 보수 - 각 자리의 0을 1로, 1을 0으로 변환 110100(2)의 1의 보수는 001011(2) 1011(2) 2의 보수는 1의 보수에 1을 더한다. 1011(2) + 1(2) = 1100(2) ex.. 더보기
PC제어프로그램 3일차 (20.05.07) - 소수점 진법변환(8 <-> 2 <->16) 5. 수의 변환 응용 (암산으로 변환) 2^3 2^2 2^1 2^0 32 16 8 4 2 1 A:10, B:11, C:12, D:13, E:14, F:15 ■ 10진수를 2진수로 변환 ◆ ■ 2진 정수를 8진, 16진으로 변환 ◆ 8진수로 변환은 3자리씩 ■ 8진수를 2진, 16진수로 변환 ◆ 8진수에서 16진수로의 직접 변환은 없다 ◆ 8진수에서 2진수, 2진수에서 16진수로 변환할 수 있다. A:10, B:11, C:12, D:13, E:14, F:15 37.24 (8) 011111.010100 (2) 1F.50 (16) 26.37(8) 010110.011111(2) 16.7C(16) 52.71(8) 101010.111001(2) 2A.E4(16) 64.53(8) 110100.101011(2) 34... 더보기
PC제어프로그램 2일차 (200423) 멀티플레서 https://m.blog.naver.com/asd7979/30109725011 멀티플렉서(Multiplexer) 이 포스트를 보기전에 아래 버튼(View on)을 꾹 눌러주시길 바랍니당 ^^ 재생하기 바로보기가 지원되지 않... blog.naver.com ALU https://opentutorials.org/module/2719/15503 ALU(Arithmatic Logic Unit) 만들기 - 1 - 개발자가 꼭 알아야 할 컴퓨터 하드웨어 ALU(Arithmatic Logic Unit) 만들기 - 1 2017-03-04 00:57:48 opentutorials.org 1. 마이크로프로세서의 정의 마이크로프로세서 ■ 컴퓨터의 산술논리연산기, 레지스터, 프로그램카운터, 명령디코더, 제어회로 .. 더보기