반응형

ITStory 116

[BPS]업무일지-20100526-임종현

오전수업 어제부터 했던 실습. ---------------------------------------------------------- #define PORTC (*(volatile unsigned char *)0x35) //출력 설정 #define DDRC (*(volatile unsigned char *)0x34) //입출력 설정 #define PINC (*(volatile unsigned char *)0x33) #define DDRF (*(volatile unsigned char *)0x61) #define PORTF (*(volatile unsigned char *)0x62) //입출력 설정 int main(void) { DDRC = 0x00; //LED연결 PORTC = 0x00; DDRF = ..

School Study 2010.05.26

[BSP]업무일지-20100525-임종현

오전수업 실습1 ----------------------------------------------------- #define PORTC (*(volatile unsigned int*)0x35) //출력 설정 #define DDRC (*(volatile unsigned int*)0x34) //입출력 설정 int main(void) { int flag = 0; int flag1 = 1000; unsigned int us = 0; //10^-6 unsigned int ms = 0; //10^-3 PORTC = 0x00; //PORT의 초기화 while(1) //반복되는 코드가 들어가는 부분의 시작 { us=us+1; if(us>=1000) { ms=ms+1; us=0; } if(ms>=flag1) { if(..

School Study 2010.05.25

[BSP]업무일지 - 2005024 - 임종현

오전수업 DK128을 이용하여 다이오드(LED)에 불이 들어오게 하는 실습. while문을 이용하여 프로그램을 코딩해봄. FOR문과 같은 반복문이지만 더 간단하다고 생각하면 되겠다. 다음은 역시 반복문을 이용하여 좀더 새밀하게 짠것이다. if - else문을 넣어 다이오드가 깜빡거릴수 있게 하고 us-ms을 이용하여 깜빡이는 속도를 조절했다. * flag - Flag 란 TRUE, FALSE 로 값을 저장하여 여러가지 용도로 사용되는 것을 말함. DDR : 데이터 방향 설정(Data Direction Register) 해당포트를 입력용으로 쓴건지 출력용으로 쓸건지를 설정하는 것이다. 쉽게 말하자면 MCU 부품의 각 다리가 입력용으로 쓰이는지 출력용으로 쓰이는지 설정하는 것이다. DDR에서 입력or출력으로..

School Study 2010.05.24

[BSP]업무일지 -20100519-임종현

오전수업 DK128보드 사진의 외쪽부분이 메인보드이다. 메인보드에서는 연산과 제어를 담당하게 되어있으며 오른쪽부분의 확장보드는 입출력을 담당하게 된다. 카운터와 다이오드 신호를 줄수 있는 스위치등이 있으며 메인보드에 프로그램은 Write해주면 주면 제어할수 있게된다. 프로그램은 페러럴포트나 시리얼포트를 연결해 전송 하는데 전송된 프로그램은 MCU인 ATmega128에서 받아 확장보드를 제어하게 된다. 전송을 하거나 컴퓨터와 연결을 하기위해서는 프로그램이 필요한데 winAVR과 EEPROM Wirter인 ponyplog2000이 필요하다. winAVR을 설치하고 나면 Mfile 프로그램이 같이 설치되는데 프로그램을 이용하여 Makefile을 생성할 수 있다. 본 파일을 이용해 Project note 프로그..

School Study 2010.05.19

[BSP]업무일지 - 20100518 - 임종현

오전수업 컴퓨터 시스템의 개요. 1. 시스템의 구성 1) 하드웨어(Hardware) 중앙처리장치(연산장치, 제어장치), 주기억장치, 입출력장치, 보조기억장치 등으로 구성된다. 2) 소프트웨어(Software) 컴퓨터 시스템을 작동시키거나 또는 컴퓨터 시스템을 활용하여 일련의 문제를 처리하는 데 필요한 방법이나 기술을 말한다. 프로그램이라고도 함. ① 시스템 소프트웨어(System software) 컴퓨터를 효율적으로 운영하고 제어하기 위한 프로그램. 하드웨어와 응용 소프트웨어 사이에서 교량적인 역할을 담당하며, 제어프로그램과 처리프로그램으로 구분된다. * Operating System -> 사용자가 컴퓨터 시스템을 쉽고 편리하게 사용할 수 있도록 도와주고 컴퓨터 시스템 자원을 효율적으로 관리할 수 있도..

School Study 2010.05.19

[BSP]업무일지-20100517-임종현

오전수업 실습1 FND와 multiplexer를 이용한 회로. FND500를이용하여 출력. S0, S1, S2 로 입력하여 Y0, Y1, Y2.....Y7출력 한다. demultiplexer시에는 Z를 출력값으로 잡는다. 예)Z = Y0 Z = Y1 Z= Y2 ◎통신의예 통신의 예로 보면 A라는 Data를 MUX를 통해 1:N 방식으로 전송하게된다. 반대로 Demux 를 통해 Data를 전송받을수 있다. A라는 데이터를 전송할때 '010'이라고 하면 Y2가 전송을 받게된다. Demux 실습. 오후수업 아스키코드 위의 예제를 보면 123 이 입력이되어있다.(본래는 문자를 넣어한다. 소스에보면 1C(문자형으로 출력하라)라고 되어 있다. 1자리 문자라는 뜻인데 123을 입력하여 1만 인식되어 49라는 결과 ..

School Study 2010.05.17

[BSP]업무일지 -20100514 - 임종현

오전수업 바로실습으로 진행. 트랜지스터를 이용한 실습. 스위치를 눌렀을 경우 불이 들어와야한다. 다음은 트렌지스터 2기를 이용한 실습. 트렌지스터 2기아 스위치를 사용한 실습이다. 오후수업 scanf - scanf를 사용하게되면 쉽게 말해 입력을 할수 잇게 만들어준다. 원하는 숫자를 입력하게되면 출력되는 방식이다. 다은은 16진수로의 출력이다. d(dev) 부분을 x(hex)로 바꾸어주면 16진수로의 출력도 가능하다. 여기서 중요한것이 있는데 &(엔퍼센트)의 값을 빼게되면 전혀 엉뚱한 값이 나온다는것이다. 엔퍼센트는 int로 number를 선언하게되면 메모리는 번지을 만들게된다. 그안에 원하는 값을 넣어야하나 그번지에는 원래 있던 쓰레기값이라는것이 있다. &를 지정하지 않으경우 그 쓰레기값이 번지가되어 ..

School Study 2010.05.14

업무일지 - 0513

오전수업 오전수업은 논리회로와 트렌지스터를 이용한 실습진행. 복잡한 회로를 조금더 단순하게 정리할수 있는 방식이있다. 표를 보면 조금더 이해를 쉽게 할수있다. 논리 게이트 : NOT, OR, AND, XOR등 기본이 되는 논리 연산을 수행하는 것이다. 덧붙여서 일반적인 논리 회로 설계를 하는 기술자는 수학의 논리 연산 기호와 다른 기호를 사용하여 논리식을 기술하는 경우가 많다. 이것은 카르노맵이라고하는 다른방식의 계산법이다. 일단 카르노 맵을 사용하는 이유는. 동일한 기능을 하는 회로를 최적화해서 만들수 있게 해준다는데 있다. 얻을 수 있는 이점은 책을 뒤져보면 알겠지만. 신뢰성향상 - 소자가 적어지니까 고장나도 쉽게 찾을 수 있다.다른말로 회로의 신뢰성 향상 소형화 - 소자가 적게 드니까 작아지지. ..

School Study 2010.05.13

코딩 및 컴파일 과정

소스 #include int main() { printf("the first C Program example.\n"); return 0; } 아래 그림은 like.c 소스 파일이 있을 때 gcc가 like.c 파일을 어떤 과정을 통해 컴파일하는지에 대해서 그림으로 나타낸 모습. 그림에서 gcc는 cpp0(C PreProcesser)를 호출하여 전처리 과정을 거쳐 like.c 파일을 like.i 파일로 만든다. like.i 파일은 C 컴파일러인 cc1에 의하여 어셈블리 코드인 like.s로 컴파일되고 이후 like.s는 as 어셈블러에 의해 어셈블 과정을 거쳐 like.o 오브젝트 파일로 만들어진다. 예제

C 2010.05.12
반응형