==========================================================================================

제어

=======================================================================================

=논리연산자

&& : AND

|| : OR


A

 B

 AND

(둘다 참이면 참)

OR

(둘중 하나가 참이면 참)

 0

 0

 0

 0

 0

 1

 0

 1

 1

 0

 0

 1

 1

 1

 1

 1

==제어문

*0이 아니면 참


=조건문

if

if ~ else

if ~

else if ~

.

.

else if ~

(else)-생략가능


#include <stdio.h>

int main()
{
  
int iNum;
  scanf(
"%d",&iNum);

  
if(100==iNum)
  {
    printf(
"1\n");
  }
  
else if(200==iNum)
  {
    printf(
"2\n");
  }
  
else
  {
    printf(
"3\n");
  }

  
return 0;
}




=윤년 계산


윤년의 조건

  -4로 나누어지면서

  (-100으로 나누어 떨어지지 않는 년 이거나

  -400으로 나누어 떨어지는 년.)

 (윤년은 2월에 하루가 더 많아지는 해이다.)


평년의 조건

  -4로 나누어지지 않거나

  (-100으로 나누어지고

  -400으로 나누어지지 않는 년)


        //if(((uiYear%400 == 0) || (uiYear%100 != 0)) && (uiYear%4 == 0)) // 윤년

        //if(((uiYear%400 != 0) && (uiYear%100 == 0)) || (uiYear%4 != 0)) // 평년


1.문제파악








#include <stdio.h>

int main()
{
  
unsigned int uiYear;
  
  printf(
"연도를 입력하세요\n");
  scanf(
"%d",&uiYear);


/*    
  if((uiYear%100) 
== 0)
  {
    if((uiYear%400) 
== 0)
    {
      printf("%d는 윤년입니다\n", uiYear);
    }
    else
    {
      printf("%d는 평년입니다\n", uiYear);
    }    
  }
  else if((uiYear%4) 
== 0)
  {
    printf("%d는 윤년입니다\n", uiYear);    
  }
  else
  {
    printf("%d는 평년입니다\n", uiYear);
  }
*/


   if((uiYear%400== 0)
  {
    printf(
"%d는 윤년입니다\n", uiYear);    
  }
  
else if((uiYear%100== 0)
  {
    printf(
"%d는 평년입니다\n", uiYear);    
  }
  
else if((uiYear%4== 0)
  {
    printf(
"%d는 윤년입니다\n", uiYear);
  }
  
else
  {
    printf(
"%d는 평년입니다\n", uiYear);      
  }


   
return 0;

}






#include <stdio.h>

int main()
{
  
unsigned int uiNum;
  
  printf(
"숫자를 입력하세요\n");
  scanf(
"%d",&uiNum);
    
  
if((uiNum%2== 0)
  {
    printf(
"%d는 짝수입니다\n", uiNum);    
  }
  
else
  {
    printf(
"%d는 홀수입니다\n", uiNum);
  }

  
return 0;

}






*알고리즘

암호화 공인인증서


=반복문

for(처음 딱한번만 수행(보통 초기값) ; 참인동안 반복 ; 반복구역 수행 후 할 일)

{

}


=1 ~ 10까지 출력


#include <stdio.h>

int main()
{
  
unsigned int uiNum;

  
for(uiNum=1; uiNum<=10 ; uiNum=uiNum+1)
  {
    printf(
"[%d]\n",uiNum);
  }

  
return 0;
}





=1~10까지 중 홀수만 출력


#include <stdio.h>

int main()
{
  
unsigned int uiNum;

  
for(uiNum=1; uiNum<=10 ; uiNum=uiNum+1)
  {
    
if((uiNum%2)!=0)
    {
      printf(
"[%d]\n",uiNum);
    }
  }

  
return 0;
}






==========================================================================================

회로

=======================================================================================


==ORCAD

회로도 작성을 위한 준비부터


=회로도 : 회로의 동작을 다른 사람에게 전달하거나 동일한 것을 만들 수 있도록 하기 위한 것

        : 설계자의 의도를 표현


*전원입구 브릿지 다이오드 : 극 바꿔도 고장 나지 않도록

*커패시터 - 전원의 안정적인 공급위해


=회로도의 기본적인 요소

-부품의 명칭, 종류

-부품의 정수

-부품사이의 접속 관계


=접속과 교차

-회로도에서 부품사이 접속 관계: 직선으로 표시

1.T자형 교차점은 접속된 것

2.+자형 교차점에 저이 있으면 접속된 것

3.+자형 교차점에 반원이 있으면 접속되지 않은 것

--2항과 3항은 한 회로도에서 중복되지 않음

4.Ω기호 생략



=

전기정수 기호 의미 읽는 법 예




보조 단위




=CAPTURE의 기능 및 특징

-Capture program은 회로도 (schematic)분석을 쉽게 하고 , 상징적인 전자회로 도면을 그려서 이를 인쇄회로 기판으로 실제적인 작업을 하기위한 최종의 Netlist file을 생성하는 것


-기구 설계프로그램과 연계하기 위한 AutoCAD,Genertic CAD등에 필요한 DXF파일을 Netlist작성시에 생성할 수 있으며, EDIF,VHDL(희소성있다),Verilog HDL과 다른 전자회로 설계  프로그램으로도 Netlist 파일을 생성할 수 있다.


-Pspice Livrary를 포함/ 약 44000개 이상의 많은 library를 내장

-새롭게 부품 혹은 심볼을 생성하기가 쉽다.

-Wire, Bus등 연결점의 자동 표현(Auto junction),macro 기능 지원드의 기능 외에도 비트맵 이미지 등의 logo file또한 불러들일 수 잇다

-명령어의 빠른 접근을 위한 toolbar와 tool palettte제공, 부품목록, 도면 정보 등의 문서화 시켜서 이를 database화 할 수 있다.

-한글 windows상에서의 한글 서체지원, 작성한 회로도면의 미리보기기능 지원, 사용으리 편지성을 위한 온라인 help와 interactive tutorial제공, Excel, Lotus등 각종 스프레드시트 등과 파일 호환 기능 있다.


=시작 orcad_10.5 capture cis






=프로젝트 생성








1. 아날로그 / 디지털 혼합회로 설계 => 시뮬레이션 O


2. Layout 설계용 OrCad layout을 사용하기 위한 것


3. CPLD, FPGA 디자인, 디지털 시뮬레이트용 OrCAD Express를 사용하기위한 것


4. 회로도 작성용 Capture를 사용하기 위한 것 => 시뮬레이션 X


=KEY POINT =>  오른쪽 마우스 버튼 활용


=Excel처럼 스프레드시트 형태로 제공


=확장자

-.opj - 프로젝트와 프로그램을 link시켜주는 파일

-.dsn - 실제 회로도 디자인 파일

-.olb - (library) 파트와 심볼 정보

-.upd - (update) 부품안에 파트의 속성을 포괄적으로 집어넣을 때 사용

-.swp - (back annotate) layout 상에서 변경된 정보를 capture상에 적용시키는 것

-.drc -(design rule check report) rule의 검사결과 저장

-.bom - (bill of material) 부품 목록

-.xrf -(cross reference part report ) part의 정보를 담고 있는 파일

-.mnl - (Netlist)핀과 핀간의 연결 정보와 footprint정보를 담고있는 파일



=단축키

-Zoom in : I

-zoom out :O

-zoom center :C

-Ctrl + C

-Ctrl + V

-Ctrl + F

-repeat : F4

-Any angle Wire : shift + Mouse

-V

-H

-Rotate : R

-only move part : Alt + Mouse

-redraw(refresh) : F5

-Select Copy : Ctrl + Mouse




*AT89C52


1. 단면구조




-한 장의 도면으로만 구성

-부품의 어떤 pin과 연결될 다른 pin간에는 보통 wire를 사용하여 연결

-거리가 먼 경우나 도면을 깔끔하게 구성하기위해 Bus나 Net Alias(label)를 사용




--Net Alias 기능



--BUS, BUS ENTRY





2. 평면계층구조




--OFF-PAGE CONNECTOR


                                                            


3. 계측구조 : 회로도의 임의의 영역을 다른 계층의 도면으로 관리하는 경우 사용

        Project manager 창의 Schematic폴더 아래에 또 다른 Schematic 폴더가 존재하는 형태로 나타남.

-1. Hierarchical Block

-2. Hierarchical Pin

-3. Hierarchical Port




        a. 단순계층

        b. 복합계층






<Hierarchical  구조 + flat 구조 + one sheet 구조>


주의> 위의 모든 구조가 사용가능 하지만 flat또는 one SHEET에 계층구조 Port사용시ㅏ DRC확인 시 상호 연결 Checking 되지 않음

-평면도면 -> OFF-PAGE connector 사용




=PROJECT PANAGER WINDOW

-Design 파일 생성, open, 상위 하위 도면 연결구조 상태, lib 보고서 파일, 도면 정보검사파일 등의 파일들을 포함


=SCHEMATIC PAGE EDITOR WINDOW

-회로설계의 작성이 이루어지는 창

-MANAGER창이 활성화 되었을 때와 SCHEMATIC창이 활성화 되었을 때 각각 메뉴 항목이 달라지게 됨


=SESSION LOG WINDOW

-도면 완성후 작업이 진행된는 내용을 표시하는 창

-부품의 참조명칭(U1,U2...)을 결정하는 Annotate(Update Part Reference-이름중복)의 내용과 도면 검사 기준설정일 ERC(Error Rules Check)에 따른 도면 검사(DRC : Design Rules Check-두패턴간 최소거리 지정)를 실행한 결과 기록, Netlist생성에 따른 내용 등을 나타낸다.


=BAR

1.TITLE BAR

2.MENU BAR

3.TOOL BAR

4.BOOL PALETTE

5.STATUS BAR




-Annotate(Update Part Refrence) : 부품의 참조명칭 부여

-Back Annotate : 회로도의 gate와 pin의 교체

-Design Rules Check(DRC) :회로도의 디자인 규칙 위반 사항 검사

-Create Netlist : 회로도의 부품과 선 연결정보 file 작성(여러가지 포맷 제공)

-Cross Reference Part : 회로도의 부품 사용 경로와 각 정보를 포함하는 교차 참조 보고서 file 작성

-Bill of materials :회로도에 사용된 부품의 개수, 종류, 수량, 부품 값 등을 포함하는 부품 목록 보고서 file 작성


=TOOL BAR

-----------------------------------

-객체 선택

-PLACE PART : P 부품 넣기

-PLACE WIRE : W WIRE 연결

-Place net alias : LABEL부여

-BUS

-접속점

-BUS ENTRY

-POWER : F

-GROUND : G

-BLOCK : 계층구조의 블록 설정

-PORT

-PIN

-CONNECTOR

-NO CONNECT

----------------------------------

-LINE

-POLYLINE

-RECTANGLE

-ECLLIPSE

-ARC

-TEXT

----------------------------------












=SEARCH PART







=Design1.net

alias 


=AC / DC

AC 220V 60Hz


1. AC-DC Converter (Adapter)

2. TRANS (220:5 로 감아서) 강압 -> 정류회로적용 -> 레귤레이터(정전압 IC)


USB2.0 0.5A DC 5V

USB3.0 1A   DC 5V


==정류회로

=반파정류회로 - 다이오드 1개



=전파정류회로 - 다이오드 4개




'2015 스마트 콘트롤러 > 업무일지' 카테고리의 다른 글

20150212  (0) 2015.02.12
20150211  (0) 2015.02.11
20150209  (0) 2015.02.09
20150206  (0) 2015.02.06
20150205  (0) 2015.02.05
Posted by ahj333
,