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
Hanbat National University prof. Song Myoung Gyu
1
8051 IO-PORT8051 IO-PORT
정보통신 컴퓨터 공학부 송명규•
Hanbat National University prof. Song Myoung Gyu
2
8051-I/O-Port 8051 시리즈 기능 비교표
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
Hanbat National University prof. Song Myoung Gyu
4
8051-I/O-Port 8051 외부 Pin 신호 [2]
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
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
Hanbat National University prof. Song Myoung Gyu
7
8051-I/O-Port 8051 외부 Pin 신호 [5]
Hanbat National University prof. Song Myoung Gyu
8
8051-I/O-Port I/O Port 전반적인 개념도
Hanbat National University prof. Song Myoung Gyu
9
8051-I/O-Port I/O Pin 내부구조
Hanbat National University prof. Song Myoung Gyu
10
8051-I/O-Port 8051 I/O Port 내부구조
Hanbat National University prof. Song Myoung Gyu
11
8051-I/O-Port 8051 Port – 0 (P0.0 – P0.7) 구조 [1]
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) 겸용
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
오픈 드레인 – 풀업 저항 필요
Hanbat National University prof. Song Myoung Gyu
14
8051-I/O-Port 8051 Port – 1 (P1.0 – P1.7) 구조 [1]
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
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
Hanbat National University prof. Song Myoung Gyu
17
8051-I/O-Port 8051 Port – 1 (P1.0 – P1.7) [4]
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
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
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
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
Hanbat National University prof. Song Myoung Gyu
22
8051-I/O-Port 8051 Port – 2 (P2.0 – P2.7) [1]
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 로 사용
Hanbat National University prof. Song Myoung Gyu
24
8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [1]
Hanbat National University prof. Song Myoung Gyu
25
8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [2]
Hanbat National University prof. Song Myoung Gyu
26
8051-I/O-Port 8051 Port – 3 (P3.0 – P3.7) [3]
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
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 외부 데이터 메모리 리드 제어신호
Hanbat National University prof. Song Myoung Gyu
29
8051-I/O-Port 8051 시험 Kit [1]
MDA-WIN8051
Hanbat National University prof. Song Myoung Gyu
30
8051-I/O-Port 8051 시험 Kit [2]
8051 인터페이스
Hanbat National University prof. Song Myoung Gyu
31
8051-I/O-Port 8051 시험 Kit [3]
디코더 및 메모리 인터페이스
0
fc
48
1
Hanbat National University prof. Song Myoung Gyu
32
8051-I/O-Port 8051 시험 Kit [4]
I/O 실험 및 외부 커넥터 회로
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]
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]
Hanbat National University prof. Song Myoung Gyu
35
8051-I/O-Port 8051 시험 Kit [7]
74LS573 (LATCH) 내부 블럭도
Hanbat National University prof. Song Myoung Gyu
36
8051-I/O-Port 8051 시험 Kit [8]
74LS244 (BUFFER) 내부 블럭도
Hanbat National University prof. Song Myoung Gyu
37
8051-I/O-Port 8051 시험 Kit [9]
MDA-WIN8051 메모리 맵
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 의 소수점에 사용
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)
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); // 무한루프}
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