41
Hanbat National University prof. Song Myoung Gy u 1 8051 IO-PORT 8051 IO-PORT 정정정정•정정정 정정정 정정정

8051 IO-PORT

  • Upload
    dava

  • View
    104

  • Download
    0

Embed Size (px)

DESCRIPTION

8051 IO-PORT. 정보통신 • 컴퓨터 공학부 송명규. 8051-I/O-Port 8051 시리즈 기능 비교표. Vcc. P1.0. 1. 40. P0.0(AD0). P1.1. 2. 39. P0.1(AD1). P1.2. 3. 38. P0.2(AD2). P1.3. 4. 37. 8051 & 8052. P0.3(AD3). P1.4. 5. 36. P0.4(AD4). P1.5. 6. 35. P0.5(AD5). P1.6. 7. 34. P0.6(AD6). P1.7. - PowerPoint PPT Presentation

Citation preview

Page 1: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

1

8051 IO-PORT8051 IO-PORT

정보통신 컴퓨터 공학부 송명규•

Page 2: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

2

8051-I/O-Port 8051 시리즈 기능 비교표

Page 3: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

3

8051-I/O-Port 8051 외부 Pin 신호 [1]

1234567891011121314151617181920

4039383736353433323130292827262524232221

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST

(RXD)P3.0(TXD)P3.1

(T0)P3.4(T1)P3.5

XTAL2XTAL1

GND

(INT0)P3.2(INT1)P3.3

(RD)P3.7(WR)P3.6

VccP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VPPALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)

8051&

8052

Page 4: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

4

8051-I/O-Port 8051 외부 Pin 신호 [2]

Page 5: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

5

8051-I/O-Port 8051 외부 Pin 신호 [3]

Pin 기 능RxD 시리얼 입력 포트TxD 시리얼 출력 포트INT0 외부 인터럽트 0

INT1 외부 인터럽트 1

T0 타이머 0 외부 입력T1 타이머 1 외부 입력WR 외부 데이터 메모리 출력 스트로브

RD 외부 데이터 메모리 입력 스트로브

RESET 시스템 리셋

ALE/PROG Address Latch Enable

PSEN Program Strobe ENable

EA/Vpp External Access Enable

XTAL 1,2 반전된 발진 증폭기에 대한 입력 , 출력P0~3 입출력 포트A0~A15 Address Bus

D0~D7 Data Bus

U?

8051

EA/VP31

X119

X218

RESET9

INT012

INT113

T014

T115

P1.01

P1.12

P1.23

P1.34

P1.45

P1.56

P1.67

P1.78

P0.039

P0.138

P0.237

P0.336

P0.435

P0.534

P0.633

P0.732

P2.021

P2.122

P2.223

P2.324

P2.425

P2.526

P2.627

P2.728

RD17

WR16

PSEN29

ALE/P30

TXD11

RXD10

Page 6: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

6

8051-I/O-Port 8051 외부 Pin 신호 [4]

I/O port 기능 P0

외부 프로그램 메모리와 데이터 메모리 연결 : 하위 어드레스 A0~A7 과 데이터 버스 D0~D7 로 사용 외부 메모리 차단 : 일반적인 입출력 포트로 사용

P1 사용자가 주변장치를 제어하는데 주로 사용

P2 외부 메모리 연결 : 상위 어드레스 A8~A15 로 사용 외부 메모리 차단 : 일반적인 입출력 포트로 사용 외부 메모리의 하위 어드레스 (A0~A7) 만 연결 : 일반적인 입출력 포트로 사용

P3 입출력 포트로 사용 (P1 과 동일 ) 비트 단위로의 다른 기능

사용되지 않는 비트는 입출력 포트로 사용RD WR T1 T0 INT1 INT0 TxD RxD7 6 5 4 3 2 1 0

read write Timerexternalinput

externalinterrupt

Transmitdata

receivedata

Page 7: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

7

8051-I/O-Port 8051 외부 Pin 신호 [5]

Page 8: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

8

8051-I/O-Port I/O Port 전반적인 개념도

Page 9: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

9

8051-I/O-Port I/O Pin 내부구조

Page 10: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

10

8051-I/O-Port 8051 I/O Port 내부구조

Page 11: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

11

8051-I/O-Port 8051 Port – 0 (P0.0 – P0.7) 구조 [1]

Page 12: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

12

8051-I/O-Port 8051 Port – 0 (P0.0 – P0.7) 특징 [2]

8 비트 오픈 드레인 (Open Drain)일반 포트 사용–외부메모리 사용 않 할 때입력으로 사용할 때는 1 을 출력하고 사용외부메모리 사용할 때 하위 어드레스 A0~A7 로 사용ALE=1 일 때 하위 어드레스 임을 나타내므로 74LS373

으로 래치 하여 사용어드레스 신호 (A0 – A7) 와 데이터 신호 (D0-D7) 겸용

Page 13: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

13

8051-I/O-Port 8051 Port – 0 (P0.0 – P0.7) [3]

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

8051

Vcc

10 K

Port 0

오픈 드레인 – 풀업 저항 필요

Page 14: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

14

8051-I/O-Port 8051 Port – 1 (P1.0 – P1.7) 구조 [1]

Page 15: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

15

8051-I/O-Port 8051 Port – 1 (P1.0 – P1.7) 구조 [2]

D Q

Clk Q

래치 읽기

핀 입력

래치에 쓰기 제어 신호

CPU 내부 데이터 버스

M1

P 1.X 핀

TB1

TB2Vcc

Load(L1)

LATCH

Page 16: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

16

8051-I/O-Port 8051 Port – 1 (P1.0 – P1.7) [3]

P1.0 ~ P1.7 8 비트 양방향 입출력 단자 내부 풀업 되어 있다

외부 풀업 저항이 필요 없다 범용 입출력으로 사용 한다 . 8052 에서는 P1.0 는 T2 기능 추가 8052 에서는 P1.1 는 T2EX 기능 추가 89S51(2) 에서는 P1 에 SPI 기능 추가로 ISP 기능 추가 - P1.5 = MOSI, P1.6 = MISO, P1.7 = SCK

Page 17: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

17

8051-I/O-Port 8051 Port – 1 (P1.0 – P1.7) [4]

Page 18: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

18

8051-I/O-Port 포트 1 – 출력 1 을 했을 때 [5]

D Q

Clk Q

래치 읽기

핀 입력

래치에 쓰기 제어 신호

CPU 내부 데이터 버스

M1

P 1.X 핀

LATCH

TB1

TB2Vcc

Pull up1. 핀에 1 을 출력2. 출력 Vcc

Off

1

0

0Z

0

Z

1

Page 19: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

19

8051-I/O-Port 포트 1 – 출력 0 을 했을 때 [6]

D Q

Clk Q

래치 읽기

핀 입력

래치에 쓰기 제어 신호

CPU 내부 데이터 버스

M1

P 1.X핀

TB1

TB2Vcc

Pull up1. 핀에 0 을 출력

2. 출력 GNDOn

0Z

0

Z

0

0

0 0

1LATCH

Page 20: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

20

8051-I/O-Port 포트 1 – 입력 1 [7]

D Q

Clk Q

래치 읽기

핀 입력

래치에 쓰기 제어 신호

CPU 내부 데이터 버스

M1

P 1.X 핀

TB1

TB2Vcc

Pull up1. 핀에 1 출력 2. 외부 핀

=High

1

1

11

0Z

1 1

0OffLATCH

Page 21: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

21

8051-I/O-Port 포트 1 – 입력 0 [8]

D Q

Clk Q

래치 읽기

핀 입력

래치에 쓰기 제어 신호

CPU 내부 데이터 버스

M1

P 1.X 핀

TB1

TB2Vcc

Pull up

3. 내부버스로 전달

2. 외부 핀 =0V

0

1

00

0Z1. 핀에 1 출력

1 1

0 OffLATCH

Page 22: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

22

8051-I/O-Port 8051 Port – 2 (P2.0 – P2.7) [1]

Page 23: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

23

8051-I/O-Port 8051 Port – 2 (P2.0 – P2.7) [2]

P2.0 ~ P2.78 비트 양방향 입출력 단자내부 풀업 되어 있다

외부 저항이 필요 없다범용 입출력으로 사용 한다 .외부 메모리 사용할 때는 A8~A15 로 사용

Page 24: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

24

8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [1]

Page 25: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

25

8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [2]

Page 26: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

26

8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [3]

Page 27: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

27

8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [4]

P3.0 ~ P3.78 비트 양방향 입출력 단자내부 풀업 되어 있다다른 기능과 선택적으로 사용

시리얼 통신 신호: RxD, TxD외부 인터럽트 신호: /INT0, /INT1타이머의 클럭 입력: T0, T1외부 메모리 액세스 신호: /WR, /RD

Page 28: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

28

8051-I/O-Port 8051 Port – 3 다른기능 (P3.0 – P3.7) [5]

P3 비트 기능 핀 번호 설 명

P3.0 RxD 10 수신 데이터 입력

P3.1 TxD 11 송신 데이터 출력

P3.2 INT0 12 외부 인터럽트 0 입력

P3.3 INT1 13 외부 인터럽트 1 입력

P3.4 T0 14 외부 클록 0 입력

P3.5 T1 15 외부 클록 1 입력

P3.6 WR 16 외부 데이터 메모리 라이트 제어신호

P3.7 RD 17 외부 데이터 메모리 리드 제어신호

Page 29: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

29

8051-I/O-Port 8051 시험 Kit [1]

MDA-WIN8051

Page 30: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

30

8051-I/O-Port 8051 시험 Kit [2]

8051 인터페이스

Page 31: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

31

8051-I/O-Port 8051 시험 Kit [3]

디코더 및 메모리 인터페이스

0

fc

48

1

Page 32: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

32

8051-I/O-Port 8051 시험 Kit [4]

I/O 실험 및 외부 커넥터 회로

Page 33: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

33

Decoder 내부 회로

f

111111

0

0

c 1

1

0

입력핀 설명

0xfc00I/O1

PIN 15

8051-I/O-Port 8051 시험 Kit [5]

Page 34: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

34

Decoder 1 내부 회로

4

0000

8부터

b

1

1

0

I/O0PIN 20

0xfc48 – 0xfc4b

입력핀 설명

0

0 00

10

0

8051-I/O-Port

8051 시험 Kit [6]

Page 35: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

35

8051-I/O-Port 8051 시험 Kit [7]

74LS573 (LATCH) 내부 블럭도

Page 36: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

36

8051-I/O-Port 8051 시험 Kit [8]

74LS244 (BUFFER) 내부 블럭도

Page 37: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

37

8051-I/O-Port 8051 시험 Kit [9]

MDA-WIN8051 메모리 맵

Page 38: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

38

8051-I/O-Port 8051 시험 Kit [10]

I/O port 실험 회로도

0

1

1

1

1

0

0

1

0

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1 1 1 1

1 1 1 1

5V 5V

5V

LATCH1 의 Q5,6 은 7-seg 의 소수점에 사용

Page 39: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

39

실습 1 : I/O port 를 이용한 LED 점등

8051-I/O-Port 8051 시험 Kit [11]

[LED 점등순서 ]

P13 P12 P11 P10

[P1 값에 따른 LED 동작 ]

pin P1 = led Led <<= 1 Led |= 0xf1

P10 0xfe(1111 1110)0xfc(1111 1100)0xfd(1111 1101)

P11 0xfd(1111 1101)0xfa(1111 1010)0xfb(1111 1011)

P12 0xfb(1111 1011)0xf6(1111 0110)0xf7(1111 0111)

P13 0xf7(1111 0111)0xee(1110 1110)0xff(1111 1111)

Page 40: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

40

실습 1-1 : I/O 포트를 이용한 LED 점등 (led1-1.c)

8051-I/O-Port 8051 시험 Kit [12]

SELECT = 0x9e

P1 = led

일정시간 지연

led = led << 1

led = led | 0xf1

지역 변수 led 선언led = 0xfe

Led = 0xfe

led == 0xff ?No

Yes

LED 초기 점등값 저장

포트 선택 어드레스 설정

P1 으로 출력

LED 의 점등을 눈으로확인할 만큼의 시간 지연

LED 점등값 1bit left shift

상위 4 비트는 “ 1111” 로 마스크

P13 LED 까지점등되었는지 확인

초기값 저장

#include <win51.h>#define SELECT (*(unsigned char *)(0x2fc48))

Void delay (int del){ while(del--); }

Void main(void){ unsigned char led=0xfe // led on 초기값 SELECT = 0x9e // led 가 연결된 I/O 선택 do{ P1 = led; // led 점등 delay(30000); led <<=1; // led on 상태를 1bit left shift led |= 0xf1; // 상위 4 비트는 1111 로 마스크 if(led==0xff) led=0xfe; } while(1); // 무한루프}

Page 41: 8051 IO-PORT

Hanbat National University prof. Song Myoung Gyu

41

실습 1-2 : I/O 포트를 이용한 LED 점등 (led1-2.ass)

8051-I/O-Port 8051 시험 Kit [13]

A reg. ← 11111110B

P1 ← A reg.

일정시간 지연

A reg. 1bit left shift

A reg. OR (11110001B)

A reg. ← 11111110B

A == FF ?No

Yes

LED 초기 점등값 저장

P1 으로 출력

LED 의 점등을 눈으로확인할 만큼의 시간 지연

LED 점등값 1bit left shift

상위 4 비트는 “ 1111” 로 마스크

P13 LED 까지점등되었는지 확인

초기값 저장

SELECT EQU 2fc48; I/O 선택 어드레스IO/SEL EqU 10011110 ; I/O 선택값 ; 8051 이 리셋되었을 경우 처음 시작번지 ORG 0 SJMP START ; 메인 프로그램으로 점프 ; 메인 프로그램 시작START: MOV SP, #60H ; 스택 지정 MOV A, #IO_SEL ; 포트선택 어드레스 설정 MOV DPTR, #SELECT ; LATCH1 어드레스 MOVX @DPTR, A MOV A, #11111110B ; LED ON 초기값LP1: MOV P1, A ; LED ON CALL DELAY ; LED ON 지연시간 RL A ; LED ON 상태를 왼쪽으로 1 비트 이동 ORL A, #0F0H ; 상위 4 비트는 1111 로 마스크 CJNE A, #0FFH, LP1 ; P13 까지 ON 되었는지 검사 MOV A, #11111110B ; P13 까지 ON 이면 LED ON 초기값 저장 SJMP LP1 ; 무한 루프 ; LED 점등 시간DELAY : MOV R0, #2 ; R0 레지스터에 2 를 저장DELAY1 : MOV R1, #0 ; R1 레지스터에 0(256) 을 저장DELAY2 : MOV R2, #0 ; R2 레지스터에 0(256) 을 저장DELAY3 : NOP DJNZ R2, DELAY3 ; R2=R2-1 값이 0 이 아니면 DELAY3 로 점프 DJNZ R1, DELAY2 ; R1=R1-1 값이 0 이 아니면 DELAY2 로 점프 DJNZ R0, DELAY1 ; R0=R0-1 값이 0 이 아니면 DELAY1 로 점프 RET END