slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
2006 년도 uP 자동화 교육 PowerPoint Presentation
Download Presentation
2006 년도 uP 자동화 교육

Loading in 2 Seconds...

play fullscreen
1 / 102

2006 년도 uP 자동화 교육 - PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on

2006 년도 uP 자동화 교육. 기간 : 2006 년 월 일 ~ 월 일. 교 육 진 행 표. 디지털 논리 회로 이론. 순 서. 1-1. 수의 표현 ① 2 진법 : 0 과 1 의 2 개의 숫자로만 정수를 표현 . ② 2 진화 10 진부호 (BCD) : 10 개의 숫자 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 를 각각 4 자리 수의 2 진법 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001 로

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

2006 년도 uP 자동화 교육


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript
    1. 2006년도uP 자동화 교육 기간 : 2006년 월 일 ~ 월 일

    2. 교 육 진 행 표

    3. 디지털 논리 회로 이론 순 서 1-1. 수의 표현 ① 2진법 : 0과 1의 2개의 숫자로만 정수를 표현. ② 2진화 10진부호(BCD) : 10개의 숫자 0, 1, 2, 3, 4, 5, 6, 7, 8, 9를 각각 4자리 수의 2진법 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001로 바꾸어 10진수를 나타내는 방법. ③ 8진법 : 8개의 숫자 0∼7을 이용해서 정수를 나타내는 방법. ④ 16진법 : 16을 밑으로 하는 정수표현 방법. 10진수의 10, 11, 12, 13, 14, 15에 대응하는 숫자에 A, B, C, D, E, F로 대신해서 나타냄. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    4. 디지털 논리 회로 이론 순 서 1-2. 2진-10진수 변환과 2진수의 사칙 연산 (1) 2진수의 뺄셈 (2) 2진수의 덧셈 디지털 논리 회로 이론 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 0 Microprocessor 개론 8051구조와 기능 C 언어의 기초 (3) 2진수의 뺄셈 ① 1의 보수 : 0을 1로, 1을 0으로 변환시키는 것. ② 2의 보수 : 1의 보수에 1을 더한 값. 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    5. 디지털 논리 회로 이론 순 서 1-3. 기본 논리 소자 • (1) AND 소자 • ① 논리식 : F=A·B 또는 F=A∩B    ③ 진리표 디지털 논리 회로 이론 ② 논리기호 : Microprocessor 개론 ④ 논리동작 : A가 1이고, B가 1일 때에만 F는 1이다. 8051구조와 기능 C 언어의 기초 (2) OR 소자 ① 논리식 : F=A+B 또는 F=A∪B   ② 논리기호 : ③ 진리표 실험장비 소개 및 사용법 컴파일러 사용법 ④ 논리동작 : A가 1또는 B가 1이면 F는 1이다. 실험 실습

    6. 디지털 논리 회로 이론 순 서 1-3. 기본 논리 소자 (3) NOT 소자 ③ 진리표 디지털 논리 회로 이론 ① 논리식 : ② 논리기호 : Microprocessor 개론 ④ 논리동작 : A가 1이면 F는 0으로 되고, A가 0이면 F는 1로 된다. 8051구조와 기능 (4) NAND 소자 C 언어의 기초 ① 논리식 : ③ 진리표 ② 논리기호 : 실험장비 소개 및 사용법 ④ 논리동작 : A가 1이고, B가 1일 때에만 F는 0이다. 컴파일러 사용법 (5) NOR 소자 ③ 진리표 ① 논리식 실험 실습 ② 논리기호 : ④ 논리동작 : A가 1또는 B가 1이면 F는 0이다.

    7. 디지털 논리 회로 이론 순 서 1-4. 조합 논리 소자 (1) 배타적 논리합 소자(exclusive-OR): 디지털 논리 회로 이론 ① 논리식 ③ 진리표 Microprocessor 개론 ② 논리기호 : 8051구조와 기능 ④ 논리동작 : 입력 A, B의 어느 한쪽만이 1일 때 출력 F가 1이 되고, 입력 A, B가 모두 0 또는 1일 때 출력 F가 0이 된다. C 언어의 기초 (2) 선택 게이트 ① 멀티플렉서 : 복수개의 입력 중에서 필요한 입력 하나를 선택하는 회로. ② 디멀티플렉서 : 복수개의 출력 중에서 필요한 출력 하나를 골라내는 회로. 실험장비 소개 및 사용법 컴파일러 사용법 (3) 디코더와 인코더 ① 디코더 : 복수개의 입력 단자와 복수개의 출력단자를 가지고, 입력 패턴에 대응해서 1개의 출력이 얻어지는 회로. 복호기 ② 인코더 : 복수개의 입력 단자와 복수개의 출력단자를 가지며, 입력 단자의 어느 것 1개에 입력이 가해져 그것에 대응하는 출력 형태가 얻어지는 회로. 부호기 실험 실습

    8. Microprocessor의 구성 Microprocessor의 역사

    9. Microprocessor의 구성 비트단위 입출력 uP Port A

    10. 인터럽트 처리 Interrupt

    11. 특별한 장치 내장 Micorprocessor ADC DAC PWM 카운터 LCD제어기

    12. 타이머 내장

    13. 저 전력

    14. 8051 구조와 기능 순 서 ⇒ 8비트 원칩(one-chip) 마이크로컴퓨터 ⇒ 8비트 단위의 4개의 입출력 포트 ⇒ 클록 발진기 내장 (클럭 발생 회로 일부 내장. 실제 클럭을 발생시키는 크리스탈은 들어 있지 않다.) ⇒ 4개의 모드로 사용 가능한 2개의 16비트 타이머/카운터(T0, T1) ⇒ 1개의 시리얼 통신 포트(또한, I/O 확장 모드 사용가능 : I/O 포트로 사용) ⇒ 우선순위를 프로그램으로 설정 가능한 5개의 인터럽트 ⇒ 4k바이트의 내부 프로그램 메모리(8031은 내부 프로그램 메모리 없음) ⇒ 64k바이트의 외부 프로그램 메모리 확장 영역 ⇒ 64k바이트의 외부 데이터 메모리 확장 영역 ⇒ 광범위한 불(Boolean) 명령 가능한 프로세서 (bit단위의 연산(부울 대수)과 제어에 뛰어나다) 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    15. 8051 구조와 기능 순 서 1) Vcc ; 전원 입력단자 2) Vss : 회로의 접지단자 3) PORT 0 : PORT 0는 하나의 9비트 Open Drain의 쌍방향성 I/O 포트이다. 외부 메모리의 데이타를 Accese할 때 포트 0은 데이타 버스와 어드레스버스의 하위 8비트의 Multiplexor의 역할을 하는데 이러한 상황에서 "1"신호를 출력할 때 내부의 풀업회로를 사용 한 것이다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 4) PORT 1 : PORT 1역시 8비트 내부에 풀업회로를 갖고 있는 쌍방향성 I/O이다. 포트 1에 "1"을 써넣고자 할때 그 핀의 "L" 레벨는 내부의 풀업회로에 의해 "H"레벨로 되며, 포트1의 핀은 외부회로에 의해 "L"레벨로 된다. 5) PORT 2 : PORT 2역시 8비트 내부에 풀업회로를 갖고 있는 쌍방향성 I/O이다. 외부 16비트메모리를 Accese할 때 포트 2는 상위 8비트의 어드레스 신호를 출력하게 된다. 컴파일러 사용법 실험 실습

    16. 8051 구조와 기능 순 서 6) PORT 3: PORT 3역시 8비트 풀업회로를 갖고 있는 쌍방향성 I/P이다. P3.0 RXD (시리얼 입력 포트) P3.1 TXD (시리얼 출력 포트) P3.2 INT0 (0번째 인터럽트) P3.3 INT1 (1번째 인터럽트) P3.4 T0 (0번째 타이머의 외부 입력단자) P3.5 TI (1번째 타이머의 외부 입력단자) P3.6 WR (외부 데이타 메모리의 WRITE 신호) P3.7 RD (외부 데이타 메모리의 READ 신호) 7) RST : RESET 입력단자로서 오실레이터 작업을 할 때 이핀에서는 2머신 사이클의 고전위을 유지하게 되어 CPU를 RESET할 수 있다. 8) ALE/PROG : ALE는 오실레이터 주파수의 1/6정도의 출력펄스로서 CPU가 외부 메모리를 엑세스하지 않을 때에도 정상적으로 출력한다. 그래서 이 핀은 외부 펄스 소스로 사용할 수 있다. 그러나 외부 데이타 메모리를 엑세스할 때는 한 ALE주기를 뛰어 넘게 된다. EPROM Writing 할때는 Writing 펄스의 입력단자로서의 작용을 한다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    17. 8051 구조와 기능 순 서 9) PSEN(PROGRAM STORE Enable) : 외부 프로그램의 Read strobe 신호로서 CPU가 외부 프로그램 메모리로 실행할 때 PSEN은 주기마다 2회씩 동작하게 된다. 그러나 내부프로그램 메모리를 실행할 때 PSEN은 동작하지 않는다. 10) EA/Vpp : EA거 고전위일 때 CPU는 내부 프로그램 메모리를 실행하게 된다. EA가 저전위일때 프로그램 카운터의 값이 얼마인가에 관계없이 일률적으로 CPU는 외부 프로그램 메모리의 명령을 실행하게 된다. 11) XTAL1 : 반전된 발진 증폭기에 대한 입력단자 12) XTAL2 : 반전된 발진 증폭기에 대한 출력단자 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    18. 8051 구조와 기능 순 서 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    19. 8051 구조와 기능 순 서 ◆ 중앙연산처리장치(CPU) ⓐ 명령 디코더(CU : Control Unit) 혹은 명령 해독기 → CPU의 명령 디코더는 각 명령을 해독하여, 실제로 그 명령을 실행해서 완료할 때까지 필요한 CPU 내부 신호를 만들어서, 주어진 기능을 완료시키는 부분. ⓑ 프로그램 카운터(PC : Program Counter) → 프로그램 카운터는 프로그램 메모리에 저장되어 있는 명령군의 실행순서를 정하는 16비트 레지스터이며, 실행시킬 명령이 기억되어 있는 어드레스를 가리키고 있다. ⓒ ALU(Arithmetic Logic Unit) → 8비트 산술 및 논리 연산을 하는 곳이다.    - 캐리 없는 덧셈, 캐리 있는 덧셈/뺄셈 처리 연산 - +1 증가, -1 감소 연산 - 곱셈/나눗셈 연산 - AND, OR, XOR, 로테이트 연산 - 보수화 연산 - 니블 단위의 데이터 교환 연산 - 조건 브랜치(점프) 처리 ⓓ 어큐뮬레이터(ACC : Accumulator) → A로도 표기한다. 가장 많이 사용되는 레지스터(A Register)    - 산술 논리 연산에서 연산자로 사용 - 논리, 연산, 명령 등의 오퍼런드로도 사용 - 데이터 참조 등에서 테이블 번지의 오프셋(offset)으로 사용 - 외부 확장 데이터 RAM과 데이터 전송에 사용 - 프로그램 메모리에서 데이터를 읽을 때도 사용.    - 로테이트, 패리티 계산, 제로 테스트 등의 명령 등에서도 사용. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    20. 8051 구조와 기능 순 서 ⓔ PSW(Program Status Word) → 프로그램의 수행 결과에 따라서 연산 처리 결과를 나타내는 레지스터이다. PSW 디지털 논리 회로 이론 - C(Carry flag)  ․ 덧셈, 뺄셈 연 산시 올림 수나 내림수가 발생할 때 셋된다.  ․ 1비트 논리 연산시에 비트 처리용으로 사용 ․ DA명령어에서 결과 값이 99를 넘어가면 셋된다. - AC(Auxiliary carry flag)  ․ 보조 캐리로 사용된다. - F0(사용자 범용 플래그)  ․ 사용자가 임의로 사용 가능한 플래그이다. - OV(Overflow flag)  ․ 부호 있는 정수연산에서, 오버플로가 검출되면 셋 된다.  ․ 2의 보수 연산을 할 수 있다. - P(Parity flag)  ․ 한 명령을 실행한 후, 어큐뮬레이터의 데이터에서 1의 개수가 짝수면 리셋 되고 홀수면 셋 된다. - RS1, RS2(Register bank Select 1, 0)  ․ 레지스터 뱅크를 선택하는 데 사용 ․ 현재 사용되는 범용 레지스터 R0~R7이 4개의 뱅크 중 어느 뱅크에 있는지를 가리키며 또한 값의 변경을 통하여 선택할 수 있다. Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    21. 8051 구조와 기능 순 서 ⓕ 기타 레지스터 - B 레지스터 ․ 8비트 크기로 곱셈/나눗셈에서는 A레지스터와 함께 16비트 레지스터를 만든다. ․ 그 연산의 결과를 일시적으로 저장하는 데 사용한다. - SP(Stack Pointer) ․ 8비트 크기로, 스택을 가리키는데 사용한다. - DPTR(Data Pointer) ․ 16비트로 구성된 레지스터 ․ 레지스터 간접 점프에서 점프할 어드레스를 저장. ․ 테이블 참조 명령에서는 베이스 레지스터로 사용. ․ 외부 RAM과 데이터 전송할 때는 외부 RAM의 어드레스 포인터로 사용. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    22. 8051 구조와 기능 순 서 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    23. 8051 구조와 기능 순 서 8051은 하드웨어적으로 분리된 어드레스 구성과 전용 제어신호를 갖는 어드레스 영역   ① 8051에 내장된 데이터 메모리   ② 8051에 내장된 특수 기능 레지스터   ③ 8051에 내장된 프로그램 메모리   ④ 외부 확장 프로그램 메모리   ⑤ 외부 확장 데이터 메모리 1) 내부 데이터 메모리 ◆ 128바이트의 데이터 메모리    ⇒ 256바이트의 내부 메모리 공간은 두 가지로 나누어진다.      ․ 128바이트의 사용자 메모리 영역(데이터 RAM 영역)      ․ 128바이트의 특수 기능 레지스터(SFR : Special Function Register) 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    24. 8051 구조와 기능 순 서 1) 레지스터 뱅크 0~3   → 메모리 어드레스 00H~1FH로 할당이 되어 있으며, 8개씩을 하나로 묶어서 뱅크라 부른다. 각 뱅크에서는 절대 어드레스를 사용하지 않고, R0~R7이라는 범용 레지스터의 이름을 사용한다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 2) Bit 어드레스 영역 → 메모리 어드레스 20H~2FH까지 16바이트는 비트 어드레스 영역으로 128바이트를 각각 비트 번지로 제어 가능한 영역이다. 따라서 비트 단위로 처리하기 위한 데이터는 이 번지 영역에 설정하여 사용한다. 3) 30H~7FH → 단순한 데이터 메모리로 사용된다. 실험 실습

    25. 8051 구조와 기능 순 서 4) 특수기능레지스터(SFR)   → 80H~FFH까지의 상위 128바이트 ◆128바이트의 특수 기능 레지스터 (SFR : Special Function Register) 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 SFR 메모리 맵 I/O Port 컴파일러 사용법 Control 실험 실습 Other

    26. 8051 구조와 기능 * 비트 번지 지정 가능 순 서 특수 기능 레지스터에서 각 니모닉 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    27. 8051 구조와 기능 순 서 8051은 8비트씩 4개(P0, P1, P2, P3)의 포트로 구성되어 있다. 이 각각의 I/O 라인은 입력 또는 출력 양방향의 입출력으로 사용할 수 있도록 소프트웨어로 지정할 수 있다. 또, 비트 처리 혹은 바이트 처리가 가능하며 브랜치 명령을 이용할 수도 있다. 1. Port 0(P0.0 ~ P0.7) 포트 0은 출력 포트로 사용할 경우에는 오픈 드레인(open drain)형의 출력 단자가 되고, 확장용 버스로 사용할 경우에는 3스테이트 출력 구동회로가 된다. 포트 0의 출력회로는 표준 TTL 2개(8개 LS TTL)를 구동할 수 있는 충분한 전류능력을 가고 있다. ◆ 포트 0의 기능 ․ 외부에 프로그램 메모리와 데이터 메모리를 인터페이스 하였을 때 하위 어드레스 A0~A7과 데이터 버스로 사용된다. ․ 8751을 라이트할 때는 데이터 버스로 사용된다. 이때는 외부 풀업(pull up) 저항을 연결하여야 한다. ․ 외부에 메모리를 인터페이스하지 않았을 때는 범용 I/O 포트로 사용할 수 있다. 이때도 마찬가지로 외부에 풀업 저항을 연결하여야 한다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 2. Port 1(P1.0 ~ P1.7) 내부 풀업이 되어 있는 8비트 유사 양방향(quasi directional)포트이다. 이 포트는 1개의 표준 TTL(4개의 LS TTL)을 구동시킬 수 있다. ◆ 포트 1의 기능 ․ 8751을 라이트할 때는 어드레스 버스 A0~A7으로 사용.  ․ 범용 I/O 포트로 사용. 실험 실습

    28. 8051 구조와 기능 순 서 3. Port 2(P2.0 ~ P2.7) 내부 풀업을 갖는 8비트 유사 양방향 입출력단자이다. 범용 I/O 포트로 사용할 경우에는 1개의 표준 TTL(4개의 LS TTL)를 구동시킬 수 있다. ◆ 포트 2의 기능 ․ 외부 프로그램 메모리 혹은 데이터 메모리와 데이터 전송시, 상위 어드레스 A8~A15로 사용된다.  ․ 8751을 라이트할 때는 상위 어드레스 버스로 사용한다.  ․ 외부에 8비트 어드레스만을 사용하는 기억소자를 인터페이스 하였을 경우에는 원래의 목적대로 포트 2로 사용할 수 있다.  ․ 외부에 메모리를 인터페이스하지 않았을 때는 범용 I/O 포트로 사용할 수 있다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 4. Port 3(P3.0 ~ P3.7) 내부 풀업을 갖는 8비트 유사 양방향 입출력 단자이다. 포트 3은 범용 I/O를 사용할 경우에는 표준 TTL 2개(LS TTL 4개)를 구동시킬 수 있다. ◆ 포트 3의 기능 ․ 범용 I/O 포트로 사용할 수 있다.   ․ 범용 I/O 포트의 기능이 아닌 기능으로도 사용할 수 있다. 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    29. IE : Interrupt Enable Register 8051 구조와 기능 순 서 • 종류 • 외부 인터럽터 0 • 타이머/카운터 0 • 외부 인터럽터 1 • 타이머/카운터 1 • 시리얼 포트 • IE와 IP의 두 개의 레지스터로 제어 동일 우선 순위 IE0     최우선순위 TF0       IE1       TF1       RI 또는 TI       TF2 또는 EXF1 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 IP: Interrupt 우선순위 Register C 언어의 기초 EA -- ET2 ES ET1 EX1 ET0 EX0 -- -- -- PS PT1 PX1 PT0 PX0 실험장비 소개 및 사용법 - EA : 전체 인터럽터 - ES : 시리얼 포트 인에이블 - ET1 : 타이머 1 인터럽터 - EX1 : 외부 인터럽터 1 - ET0 : 타이머 0 인터럽터 - EX0 : 외부 인터럽터 0 - 0 = Disabled. - 1 = Enabled. - PS : 시리얼포트 인터럽터 - PT1 : Timer 1. - PX1 : 외부 인터럽터 1 - PT0 : Timer 0. - PX0 : 외부 인터럽터 0 -‘1’로 하면 인터럽터 우선 순위가 높은 레벨로 된다. 컴파일러 사용법 실험 실습

    30. TCON : Counter/Timer Control Register 8051 구조와 기능 순 서 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 디지털 논리 회로 이론 Microprocessor 개론 - TF1, TF0 : 타이머/카운터 인터럽터 플래그 ‘0’ : 인터럽터를 받으면 오토 리셋 ‘1’ : 타이머/카운터가 오버플로가되면 세트 - TR1, TR0 : 제어 비트 ( ‘1’은 카운터 시작, ‘0’은 카운터 정지) - IE1, IE0 : 외부 인터럽터 1 에지 플래그 (에지트리거의 경우만 INT1 = L에서 1로 세트) - IT1, IT0 : 외부 인터럽터 Type 플래그 (‘1’은 에지 트리거,‘0’은 레벨트리거) 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    31. GATE C/T M1 M0 GATE C/T M1 M0 Timer 1 Timer 0 TMOD : Counter/Timer Mode Register 8051 구조와 기능 순 서 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 - GATE :외부에서의 타이머/카운터 제어플래그 TR1=‘1’, GATE=‘1’일 때 INT..=‘1’에서 카운터 시작, INT..=‘0’에서 카운터 정지 - C/T : 내부/외부 클럭 설정(1’:T1단자 입력 클럭(외부),‘0’: XTAL/12 클럭(내부)) - M1, M0 : 모드 설정 00 : 8비트 타이머/카운터 01 :16비트 타이머/카운터 10 : 8비트 Auto-Reload 모드 11 :Timer/Counter 0 : 두개의 독립된 8-bit 타이머/카운터 Timer/Counter 1 : 1개의 16비트 타이머/카운터 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    32. 8051 구조와 기능 순 서 SCON(시리얼 포트 제어 레지스터) : SERIAL PORT CONTROL REGISTER  ADDR : (98H) 디지털 논리 회로 이론 SM0    SCON.7 : 시리얼 포트 모드 선택 SM1    SCON.6 : 시리얼 포트 모드 선택 SM2    SCON.5 : 시리얼 포트에서 모드 2, 3일 때 ENABLE 멀티마이크로 프로세서 통신의 기능을 한다. 모드 2 또는 3에서 SM2=1일 때, 수신된 9번째 비트가 0일 때 RI는 동작하지 않는다. 모드 1에서 SM2=1일 때 수신된 정지비트가 정확치 않을 때 RI 역시 동작하지 않는다. REN    SCON.4 : 소프트 웨어에의해 설정 또는 소거된다. TB8    SCON.3 : 모드 2 또는 3일 때 송신된 9번째 비트. 소프트웨어에 의해 제어된다. RB8    SCON.2 : 모드 2와 3에서 수신된 9번째 비트를 이 비트에 넣는다. 모드 1에서 SM2=0이면 RB8은 수신된 정지비트로서 모드 0에서는 RB8은 사용하지않는다. T1     SCON.1 : 송신 인터럽터 플래그. 모드 0에서 8번째 비트 완료시 하드웨어에 위해 1로 설정된다. 이 비트는 반드시 소프트웨어에 의해 소거된다. R1     SCON.0 : 수신 인터럽트 플래그. 모드 0에서 8번째 비트 완료시 하드웨어는 이를 1로 설정하고, 기타 모드에서는 정지비트의 절반일 때 하드웨어에 의해 설정된다. 이 비트 역시 소프트웨어에 의해 소거된다. Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    33. 8051 구조와 기능 순 서 BAUD RATE의 발생방법 직렬로 비트를 전송하는데 기준이 되는 신호를 시리얼 클럭이라 하고 1비트를 만드는데 필요한 클럭수를 보(BAUD)라 한다.8051에서는 모드 0에서는 1비트를 전송하는데 클럭 1 주기가 필요하지만 모드 1,2,3인 경우에는 1비트를 만드는데 16개의 클럭이 필요하게 된다. - 모드 0 에서의 보레이트는 다음과 같이 고정이 되어 있다. 모드 0에서의 보레이트 = (시스템 클럭)/12 - 모드 2에서는 PCON 레지스터에 있는 SMOD비트와 관계가 있다. SMOD=0인 경우에는 보레이트는 (시스템 클럭)/64이고 SMOD=1인 경우에는 보레이트는 (시스템 클럭)/32이 된다. 즉, 모드 2에서 보레이트 = (시스템 클럭)*2SMOD / 64 - 모드 1,3에서 보레이트는 타이머/카운터 1의 오버플로에 의해서 결정이 된다. 모드 1,3에서 타이머/카운터 1을 보레이트 발생기로 사용하는 경우에는 타이머/카운터 1의 오버플로 레이트(즉 TH1,TL1의 시정수)와 SMOD로 결정한다. 모드1,3에서 보레이트 = 2SMOD/32*(타이머/카운터 1의 오버플로 레이트) 모드1,3에서 보레이트 = 2SMOD/32*(시스템 클럭)/[12*{256-(TH1)}] 또, 타이머을 사용하여 보레이트를 결정한다. 모드1,3에서 보레이트 = (타이머2의 오버플로 레이트)/16 모드1,3에서 보레이트 = (발진 주파수)/[32*{65535-(RCAP2H,RCAP2L)}] 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    34. C언어 기초 순 서 2-1. C언어 소개 디지털 논리 회로 이론 C언어는 벨 연구소의 데니스리치가 B라는 언어를 발전시켜 1972년에 만든 언어입니다 C언어의 장점은 '강력하면서도 유연하다'는 점입니다. 이런 장점 때문에 지구상에 설치된 컴퓨터 중에서 가장 많은 컴퓨터가 지원하는 컴퓨터언어가 되었습니다. Microprocessor 개론 C++의 ++은 증가 연산자의 의미로 C++의 원래 이름은 'C with Class'입니다 C++은 C언어와 호환성이 있도록 만든 컴퓨터언어로 보통 C언어가 가진 기능에 새로운 개념과 문법내용이 추가된 언어입니다. 8051구조와 기능 C 언어의 기초 C 언어의 기초 2-2. 프로그램 작성 과정 ① C언어 문법에 맞게 작문합니다. 다른 말로 소스 파일을 짠다고 합니다. 편집기를 이용하여 소스 파일을 만들며 그 결과 확장자가 C인 문서파일이 만들어집니다. 실험장비 소개 및 사용법 컴파일러 사용법 ②컴파일러 프로그램을 이용하여 소스 파일을 컴파일 합니다. 그 결과 확장자가 C인 파일이 확장자가 OBJ인 중간 목적 파일로 만들어집니다. 소스 파일은 문서 파일이었지만 목적 파일은 기계어 파일입니다. 실험 실습 ③컴파일 과정을 통해 만들어진 목적 파일들을 링커를 이용해 연결합니다. 링커는 목적 파일을 연결시키는 일을 하는데 그 결과 확장자가 EXE인 실행 파일이 만들어집니다.

    35. C언어 기초 순 서 2.3. C언어의 중요 기본 문법 1. 소스 파일의 이름은 마음대로 정해도 되지만 확장자는 C로 정합니다. 2. 소스 파일은 반드시 main() 이라는 이름을 가진 함수를 가지고 있어야 합니다. 3. 소스 파일의 첫머리에는 프로그램 실행 때 필요한 헤더 파일을 적어주어야 합니다. 헤더 파일을 적어주는 형식은 '#include <헤더 파일이름>'입니다. 헤더 파일은 확장자가 h입니다. 4. 함수를 알리는 함수 선언문이라면 이름 뒤에 둥근 괄호를 열고 닫습니다. 5. 함수의 본체 시작을 알리는 기호는 {이고, 함수 본체의 끝을 알리는 기호는 } 입니다. 함수는 본체를 가질 수도 있지만 안 가질 수도 있습니다. 6. 함수 안에 또 다른 함수를 사용할 수 있습니다. 7. 명령어나 함수는 명령의 끝을 알리기 위해 명령문의 끝에 ;기호를 넣어주어야 합니다. 8. 프로그램 실행과 관련은 없지만 프로그램의 내용을 쉽게 알아볼 수 있도록 주석(comment)을 달 수 있는데, 주석의 시작을 알리는 기호는 /* 이고, 끝을 알리는 기호는 */ 입니다. 주석문은 소스 파일의 어느 곳에 적어도 상관 없습니다. 9. 함수는 계산 결과를 되돌림 값으로 돌려줄 수 있습니다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    36. C언어 기초 순 서 /* test.c, 메카트로닉스 기능사 대비 연습 */ // #include <at89c51rb2.h> /* 헤더 파일을 포함시키라는 명령문 */ int Calc (char n, char m); void main(void) /* main() 함수의 시작 */ { /* main 함수 본체 시작 기호 */ char i; i = Calc(1, 2); } /* main 함수 본체 끝 기호 */ int Calc (char a, char b) /* 두개의 매개변수 a,b를 더한 값을 리턴해주는 함수*/ { char c; c = a + b; return c; // 결과 값을 되돌려 준다 } 디지털 논리 회로 이론 함수의 prototype 선언 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    37. C언어 기초 순 서 C언어 함수의 기본 구조 C언어에서 사용하는 함수의 기본 구조는 다음과 같습니다. [함수의 기본 구조] 함수형지정자 함수 이름(매개변수 리스트) { 각종 명령문; return 되돌림값; } [보기] int Calc (char a, char b) { char c; c = a + b; return c; } 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 int는 함수의 자료형을 지정하는 명령어입니다. 함수 이름 뒤에는 ()를 붙입니다. C 언어의 기초 C 언어의 기초 Calc(char a, char b)의 a, b은 매개변수 이름입니다. 함수 본체는 { 기호로 시작합니다. 실험장비 소개 및 사용법 함수 속에 또 다른 함수를 포함시킬 수 있습니다. C언어는 모든 명령 뒤에 ;기호로 문장의 끝을 알림 컴파일러 사용법 되돌림값은 함수에서 수행한 명령의 결과를 이용해 함수를 호출한 곳에 돌려주는 값입니다. 실험 실습 { 기호로 시작한 함수 본체는 } 기호로 닫아주어야 합니다. C51 컴파일러는 CPU 레지스터를 통해 함수인자(argument)를 3개 까지 사용할 수 있습니다.

    38. C언어 기초 순 서 C언어의 자료형 종류(C51에서는 8바이트 크기의 Double이 없음) 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습 기본 정수형은 2바이트로 표현하므로 65536개의 숫자를 표시할 수 있습니다. unsigned형에서 음수를 사용하면 자동으로 양수로 변환하는 오버플로우가 발생합니다.

    39. C언어 기초 순 서 정수형 상수 : 0x,0X로 시작하면 16진 상수이고 O으로 시작하면 8진수 둘다 아닐 경우 10진수이다.숫자 끝에 L,l을 붙이면 long int형이고 U,u를 붙이면 unsigned int형이며 UL,ul을 붙이면 unsigned long int형이다. ex)1234l(long int형),123456U(unsigned int형) 소수점을 찍어 정수부와 실수부로 나누는 고정 소수점상수(1234.56)과 e나 E로 분리해서 표기하는 부동소수점 표기 방법이 있다. 실수형 상수 : 실수형 상수는 double형으로 내정되어 있어 4byte인 float형으로 표현하고 싶을 때는 접미사 f,F를 붙인다.문자열 상수문자열 상수의 끝에는 문자열의 끝을 나다내는 /0(zero)가 포함되어 있어 문자열 상수의 크기는 이 \0 때문에 1byte가 크다. C언어는 문자로 표시할수 없는 아스키코드를 확장열이라는 표현 방식으로 표기한다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    40. C언어 기초 순 서 1.산술 연산자 (*,/,=,-,++,--) ? ․두피연산자가 모두 정수면 아무리 그 결과가 실수가 되도 소숫점 이하는 자른다. ex)7 / 2 == 3 ․정수가피연산자라면 소수점 아래 버림의 방향은 0을 향한다.그림1 ex)-13 % 5 == -3 /*-13의 부호를 따라 -3이 된다.반면에 13 % -5는 13의 부호에 따라 3이 된다. */․++,--가 왼쪽에 붙어 있으면 먼저 변수의 값을 중가 시키고 변수의의 값을 사용하고,오른쪽에 붙을 경우 변수의 현재값을 이용한뒤 증가 시킨다. ꏩ ++,-- 사용시 주의사항 1.어떤 변수가 어떤 함수안에 매개 변수로 2번이상 쓰이면 사용하지 않는다. 2.한변수가 수식내에 2번 이상 쓰이면 중감연산자를 쓰지 않는다. 3.2개 항을 필요로하는 연산자(&&,||,?:제외)는 컴파일러가 상황에 따라 어느항을 먼저 처리할지 결정. 2.대입 연산자 (=,+=,-=,*=,/=,%=,&=,^=,|=,<<=,>>=) ․단순대입 연산자는 결합순서를 보면 우측에서 좌측으로 씌어진다. ex) x = y = z = p+q ⇔ x=(y=(z=p+q) ․혼합대입연산자 : [변수] [연산자]= [수식] ⇔ [변수] = [변수] [연산자] [수식] ․혼합대입연산자는 우측에서 좌측으로 쓰인다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    41. C언어 기초 순 서 3.관계,상등 연산자 (<,>,<=,>=,==,!=) ․참이면1 거짓이면 0을 갖는다. ․컴파이러는 a [연산자] b 를 a - b [연산자] 0 으로 해석한다. ․오른쪽에서 왼쪽으로 연산한다. ex) 3 < j < 5 ⇔ (3 < j) < 5 ․ x < x + y 와 0 < y는 때에 따라 같지 않다.x가 비교적 큰수이고 y는 상대적으로 작은 수일때 그러하다. 그 이유는 컴파일러는 무한한 정확도를 가지지 못하기 때문이다. 4.논리 연산자 (||,&&,!) ․!(논리 부정)는 수식이 0 값을 가질 때 1이 되고,0이 아닌 값을 가질때 0이 된다. ․!!5는 5가 아니라 !(!5) == !(0) == 1이 된다. ․char c = 'A'; 일 때 !c는 A의 아스키 코드값 65의 !65 == 0이 된다 ․&&가 ||보다 우선 순위가 높고 좌측에서 우측으로 결합한다 ․expr1 && expr2일때 expr1이 0값을 가지면 expr2를 처리하지 않고 0값을 가지며 ,expr1 || expr2일때 expr1이 1을 가지면 expr2를 처리하지 않는다. 이것을 short circuit라 한다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    42. C언어 기초 순 서 5.형변환 규칙과 캐스트 연산자 ․산술 수식에서 형변환 규칙 1.char,short는 int형으로 변환한다.   2.높은 순위의 피연산자 형으로 격상 (int < long < unsigned < unsigned long < float < double < long double) ․캐스트 연산자는 우측에서 좌측으로 결합하며 산술 연산자 +보다 우선 순위가 높다. 6.조건 연산자 (?:) ․expr1 ? expr2 : expr3 일때 expr1의 계산이 0이 아니면(참이면) expr2를 0이면 (거짓이면) expr3를 연산한다. ․대입 연산자 보다 우선 순위가 높고 우측에서 좌측으로 결합된다. 7.비트 연산자 (~,&&,||,^,<<,>>) 논리연산자  :  보수(~), 논리곱 (&), 논리합 (|), 적 논리합 (^) 쉬프트 연산자 :  왼쪽 쉬프트변수      << 왼쪽으로 이동시킬 비트의 개수                 오른쪽 쉬프트변수    >> 오른쪽으로 이동시킬 변수의 개수 ․unsigned형을 오른쪽으로 쉬프트 시키면 혼자 이동하지만 int형은 계속 사인 비트를 1로 유지하며 이동한다. ex)10000 >> 2 이고 int형이면 11100,unsigned형이면 00100이 된다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    43. C언어 기초 순 서 (1) If문과 블록 If (조건식) { 문장1; … } else { 문장2; } - if (조건식) 문장; if (i==10) num=1; 디지털 논리 회로 이론 - If (조건식) 문장1; else 문장2; If (i==10) num=1; else num=0; Microprocessor 개론 - If (조건식1) 문장1; else if (조건식2) 문장2; else 문장3; If (i==10) num=0; else if (i>10) num=1; else num=-1; 8051구조와 기능 C 언어의 기초 C 언어의 기초 % C는 0은 거짓으로 0이외의 정수는 참으로 간주한다. 실험장비 소개 및 사용법 (2) For 순환문 sum = 0; for (i=0;i<1000;i++) { sum += I; if (sum > 1000) break; } - for (초기식;조건식;증감식) 문장 컴파일러 사용법 • for (;;) { // 무한 루프 • if (조건식) Break // for문에서 탈출 • } 실험 실습

    44. C언어 기초 순 서 (3) While 문 - while (조건식) 문장; i = 1; sum=0; while (i<=100) { sum += i; i++; } i = 1; sum = 0; do { i++; sum += i; } while (i<=100) 디지털 논리 회로 이론 - do 문장 while (조건식) Microprocessor 개론 8051구조와 기능 for문은 일정횟수 루프를 돌아야 할 경우 일반적으로 사용하며 while문은 조건이 맞지 않을 경우 한번도 수행되지 않으나 do while문은 무조건 한번은 수행된다. C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    45. C언어 기초 순 서 (4) Switch 문 switch (num) { case 0 : ch = ‘a’; break; case 1 : ch = ‘b’; break; case 2 : ch = ‘c’ break; case 4 : case 8 : ch = ‘d’ break; default : ch = ‘n’ break; } switch (변수) { case 값1 : 문장1; break; case 값2 : 문장2; break; … default : 문장n; break; } 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 변수값과 같은 값을 갖는 case로 건너띄어 그 밑의 문장을 실행한다. 변수값은 정수형이나 문자형 변수만을 사용해야 한다. 변수값과 같은 case가 없으면 default를 수행한다. case의 뒤에 오는 값은 반드시 상수이어야 한다. 범위를 지정해야 할때는 if-else문을 사용해야 하며 그렇지 않을 경우에만 switch문을 사용한다. 실제 switch문은 stack 소모가 큼으로 사용을 자제한다. 컴파일러 사용법 실험 실습

    46. C언어 기초 순 서 선행처리기 (Preprocessor) : 컴파일 하기 전에 소스를 재작성하는 것을 의미한다. (1) #define ․목적 : 전처리기 부분만 바꾸면 소스 전체를 바꾸는 효과가 있다. ․#define [대표문자] [바뀌는문자]  #define PI 3.141592 기억하기 힘든 수치나 데이타를 알아 보기 쉽게 하기 위해서도 사용한다. ․#undef [define 되었던 대표 문자]  #undef PI define를 해제한다. (2) 매크로 함수 ․#define SQ(x) ((x)*(x)) SQ는 매크로 함수명이고 (x)는 형식 매개 변수이며 괄호로 묶인다는 것에 주의하자! (3) #include ․#include <파일이름> #include "파일이름" <>는 include 디렉토리에서 파일을 찾고 ""는 현재 디렉토리에서 파일을 찾는다. "" 안에 풀패스를 적을 때 '\\' 두개를 적어서는 안되고 '\'하나만 적어야 한다. 디지털 논리 회로 이론 Microprocessor 개론 8051구조와 기능 C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    47. 0 1 2 … N-1 ar[0] ar[1] ar[2] ar[3] ar[4] C언어 기초 순 서 배열 (Array) : (1) 배열의 선언 디지털 논리 회로 이론 int ar[5]; C 에서는 정수형 변수 5개를 저장할 수 있는 메모리를 확보 한다. type 배열명 [크기]; Microprocessor 개론 (2) 배열의 특징 8051구조와 기능 . 배열의 처음은 첨자가 0으로 시작된다. . 배열의 크기가 N으로 정의될 때 최대 첨자는 N-1이다 . 배열 선언에 의해 초기화되지 않다. (초기화 필요) . 배열의 끝을 점검하지 않는다. C 언어의 기초 C 언어의 기초 실험장비 소개 및 사용법 (3) 배열의 초기화 type 배열명 [크기]={초기화 값들,…,}; int ar[5] = {1,1}; 컴파일러 사용법 초기화를 하지 않으면 쓰레기 값이들어 있게 된다. . 초기화 값이 개수가 배열 크기와 같으면 문제없이 초기화 됨 . 초기화 값의 개수가 배열크기보다 작으면 나머지는 0으로 초기화 됨 . 초기화 값의 개수가 배열크기보다 많으면 에러 발생 됨 . 배열의 크기 생략시 초기화 값의 개수 만큼 배열의 크기가 자동 생성됨 실험 실습

    48. C언어 기초 순 서 배열과 포인터 : 디지털 논리 회로 이론 int ar[7] = {8,9,0,6,2,9,9}; Int *ptr; ptr=ar; Microprocessor 개론 배열명이 단독으로 쓰이면 배열의 시작 위치를 나타내는 포인터 값이다. 8051구조와 기능 C 언어의 기초 C 언어의 기초 포인터 변수의 가감, 증감은 포인터 변수의 데이터형의 바이트 수만큼 이루어진다. 포인터 변수 ptr이 배열의 ar의 선두 번지값을 가질때 다음은 모두 동일한 데이터를 나타낸다. *(ptr+i)=ar[i]=prt[i] 실험장비 소개 및 사용법 컴파일러 사용법 실험 실습

    49. ED-4510 소개 • 시리얼 포트를 이용하여 89C51, AVR(ATmega8535), PIC(PIC16F874)등을 프로그램하는 ISP 기본내장 • 모든 I/O port를 실험 및 LED S/W를 이용하여 다양한 실험 실습이 가능하다. • Dot matrix, LCD(16*2),7Segment,Buzzer,Motor 등의 실험이 가능하다 • 사용자의 회로구성에 영향을 미치지 않는 Dot matrix, LCD(16*2), 7Segment, Buzzer, Motor회로 구성 • 사용하기 편한 제품 구성 • (실습 공간을 중심으로 한 부품 배치) • Mechatronics 실험에 적합한 전원 구성 • Mechatronics 엑츄에이터들을 손쉽게 연결 가능