2018년 10월 28일 일요일

레포트 전자회로실험 LED,스위치 연동실험 예비

레포트 전자회로실험 LED,스위치 연동실험 예비
[레포트] 전자회로실험 LED,스위치 연동실험 예비.hwp


본문
실험에 관한 공부를 하려면 저에게 제일 공부해야 될 내용은
C언어라고 생각되어서 C에 관한 자료들을 보았습니다.
기본적인 C언어 문법
제어문에는 조건문과 반복문이 있다.
조건문에는 if와 switch~case가 있고, 반복문에는 for와 while이 있다.
① if(조건식)

수행문;

ex-1) if(x<0) x++;
ex-2) if(x<0) x++;
else x ;
ex-3) if(x<0) x++;
else if(x>10) x ;
else x=0;
② for(초기치;조건식;증감치)

수행문;

ex-1) int i;
for(i=0;i<1;i++) x++;
for(i=10;i>0;i ) x ;
③ while
while(조건식)

수행문;

ex-1) int i;
while(i>10) x++;
ex-2) while(1) //무한 반복. 가장 많이 사용됨.

x++;

④ do~while
do

수행문;

while(조건식);
ex-1) int i;
do
x++;
while(i>10)
ex-2) int i;
do
x++;
while(1)
④ switch~case
switch(수식)

case 상수식1: 수행문; break;
case 상수식2: 수행문; break;
case 상수식3: 수행문; break;

⑤ return
int function( )

수행문;
return 리턴값;

한 Port는 8개의 핀으로 구성되어 있고 우리는 한 Port 전체를 동시에 제어할 수도 있고, 각각을 제어할 수 도 있다. Port 출력 시 주의 할 점은 한번 출력한 값은 다음번 명령이 있기 전까지 유지된다는 점이다. 즉 하나의 Pin에 1 값을 출력하면, 해당 핀에서는 다음 명령이 0으로 들어오기 전에는 계속 5V가 출력 되고 있게 된다. 따라서 프로그램을 잘못 작성할 경우 MCU에 무리를 주게 되고, 회로 전체가 오동작 하는 원인이 될 수 있다.
예제 : Port1 전체 LED에 불이 깜박이는 프로그램
delay 함수는 우리가 만들어 사용해야 하는 경우가 많다. 물론 타이머 기능을 이용하거나 따로 구현하여져 있는 함수를 호출하여 사용하는 경우도 있으나 for문이나 while문을 이용하여 간단히 구현 할 수 있다. 즉 "for(i=0;i<20000;i++); 와 같은 문장을 이용하면 된다. 자세히 보면 for문의 가장 끝에 ';'이 찍혀 있는 것을 볼 수 있다. 따라서 이 문장은 20,000번을 스스로 계속 돌게 된다. 다만 한 가지 주의 할 사항은 정수 i의 범위가 일반적인 PC용 C언어의 범위보다 작기 때문에 값을 너무 크게 하면 오동작 할 수 있다. 즉 i의 최대값이 65536(2 Byte)인데 최소 100,000번 동안 기다려야 한다면 i<100000 이 아니라 문장을 두 개로 나누어 사용한다. 즉 다음과 같이 작성하면 100,000번 동안 delay 시킬 수 있다.
int i,j;
for(i=0;i<2;i++)
for(j=0;j<50000;j++);
delay 가 중요한 이유는 앞에서 언급 한 것처럼, 한 번 출력된 값은 다음 출력 때까지 바뀌지 않기 때문이다. 이 말은 delay 없이 출력을 하면 최대 속도로 값들이 바뀜을 의미한다. 예를 들어 LED 출력과 같은 경우에는 변화하는 속도가 너무 빨라 우리에게 변화 되는 것이 보이지 않을 수도 있다.

하고 싶은 말
좀 더 업그레이드하여 자료를 보완하여,
과제물을 꼼꼼하게 정성을 들어 작성했습니다.

위 자료 요약정리 잘되어 있으니 잘 참고하시어
학업에 나날이 발전이 있기를 기원합니다 ^^
구입자 분의 앞날에 항상 무궁한 발전과 행복과 행운이 깃들기를 홧팅

키워드
수행문, 출력, 전체, C언어, 경우, 다음

댓글 없음:

댓글 쓰기