Upload
eadoin
View
182
Download
0
Embed Size (px)
DESCRIPTION
8051 구조. 목 차. 1. 기본 구조 및 핀 기능 2. 8051 메모리 구조 3. MCS-51 기본 설계. 8051 의 기본 특징 ① 8bit CPU 로 최적화된 응용에 적합 ② 5V 단일 전원에서 동작하며 , HMOS 기술을 이용하여 전력소비가 작다 . ③ 비트단위로 조작 , 제어할 수 있는 강력한 부울함수 프로세싱이 가능 ④ 4Kbyte 의 내부 프로그램 메모리 (ROM) 를 내장 ( 단 , 8031 은 제외 ). - PowerPoint PPT Presentation
Citation preview
8051 구조
Slide 1 (of 21)
1. 기본 구조 및 핀 기능2. 8051 메모리 구조3. MCS-51 기본 설계
목 차
Slide 2 (of 21)
• 8051 의 기본 특징
① 8bit CPU 로 최적화된 응용에 적합
② 5V 단일 전원에서 동작하며 , HMOS 기술을 이용하여 전력소비가 작다 .
③ 비트단위로 조작 , 제어할 수 있는 강력한 부울함수 프로세싱이 가능
④ 4Kbyte 의 내부 프로그램 메모리 (ROM) 를 내장 ( 단 , 8031 은 제외 ).
⑤ 128byte 의 내부 데이터 메모리 (RAM) 와 128byte 의 특수 기능 레지스터를 내장• 4 개의 레지스터 뱅크 (register bank)
• 128bit 의 bit flag ( 직접 어드레싱 가능 )
• 128byte 의 특수 기능 레지스터 (SFR : Special Function Register)
⑥ 외부 프로그램 메모리와 데이터 메모리를 각각 64Kbyte 까지 확장 가능 ( 단 , 프로그램 메모리의 하위 4Kbyte 는 자체 내장 )
⑦ 4 개의 8bit 입출력 포트 내장• 32 개 (=48bit) 의 양방향 입출력 포트가 외부장치를 제어
Slide 3 (of 21)
• 8051 의 기본 특징 ( 계속 )
⑧ 16bit 타이머 /카운터가 2 개 내장 (8032 와 8052 는 3 개 내장 )
⑨ 데이터 통신용 완전 전이중 방식의 직렬 포트 (full duplex UART) 가 내장
⑩ 2 중 우선순위구조를 갖는 5 개의 인터럽트 소스 (8032 와 8052 는 6 개 )
⑪ 발진회로 및 클록회로가 칩에 내장
• 1~12MHz( 내부에서 12 분주 ), 제조회사 모델에 따라 32MHz 까지 사용 가능
⑫ 칩 내에 EEPROM 이 내장 ( 아트멜사의 AT89S 시리즈 ).
⑬ SPI 직렬 인터페이스와 watch dog timer 가 내장 ( 아트멜사의 AT89S 시리즈 ).
⑭ 파워 콘트롤 모드 (Idle 과 power-down 모드 ) 제공
Slide 4 (of 21)
• 8051 Family
명칭 내부 메모리
인터럽트 소스 타이머 / 카운터 비고 프로그램 (ROM) 데이터 (RAM)
8031AH none 128 8 5 216bit 8051AH 4K8 ROM 128 8 5 216bit8751H 4K8 EPROM 128 8 5 216bit
8032AH none 256 6 6 316bit8052AH 8K8 ROM 256 6 6 316bit8752BH 8K8 EPROM 256 6 6 316bit89C51 4K8 Flash 128 8 5 216bit Atmel
89C2051 2K8 Flash 128 8 5 216bit Atmel
Slide 5 (of 21)
• 8051 의 핀 구조 및 기능
PDIP 형 PLCC 형
Slide 6 (of 21)
• 포트 0(P0) ( 핀번호 : 32~39)
기본적인 기능으로 8 비트 양방향성 입 / 출력 포트로 사용 P0 포트의 모든 핀은 오픈 드레인처럼 구성되어 있기 때문에 입출력
포트로 사용할 경우에는 반드시 풀업 (pull-up) 저항을 연결 8 개의 LS-TTL 을 구동 가능 (fan-out : LS-TTL 8 개 ). 8751(EPROM) 을 사용할 경우에는 프로그램 write 시 데이터 버스 (D0
∼D7) 로 사용 2 차 기능으로 외부 메모리 (ROM, RAM) 를 액세스하는 경우 메모리의
하위 어드레스 (A0-A7) 와 데이터 버스로 사용
Slide 7 (of 21)
• 포트 1(P1) ( 핀번호 : 1~8) 기본적인 기능으로 8 비트 양방향성 입 / 출력 포트로 사용되며 ,
내부에서 풀업되어 있음 8 개의 LS-TTL 을 구동 가능 (fan-out : LS-TTL 8 개 ). 8751(EPROM) 을 사용할 경우에는 프로그램 write 시 하위 어드레스
(A0~A7) 로 사용
•포트 2(P2) ( 핀번호 : 21~28) 기본적인 기능으로 8 비트 양방향성 입 / 출력 포트로 사용되며 ,
내부에서 풀업되어 있음 8 개의 LS-TTL 을 구동 가능 (fan-out : LS-TTL 8 개 ). 외부 메모리 (ROM, RAM) 확장 시 상위 어드레스 (A8~A15) 로 사용 8751(EPROM) 을 사용할 경우에는 프로그램 write 시 상위 어드레스
(A8~A15) 로 사용
Slide 8 (of 21)
• 포트 3(P3) ( 핀번호 : 10~17) 기본적인 기능으로 8 비트 양방향성 입 / 출력 포트로 사용되며 ,
내부에서 풀업되어 있음 4 개의 LS-TTL 을 구동 가능 (fan-out : LS-TTL 8 개 ). 2 차 기능으로 타이머 / 카운터 , 직렬포트 , read, write 제어기능을
포트설정에 따라 자동으로 이루어짐
핀 ( 핀 번호 ) 명칭 기 능
P3.0( 핀 10 번 ) RxD 직렬통신에서 수신단자 ( 입력 )
P3.1( 핀 11 번 ) TxD 직렬통신에서 송신단자 ( 출력 )
P3.2( 핀 12 번 ) 외부 인터럽트 0
P3.3( 핀 13 번 ) 외부 인터럽트 1
P3.4( 핀 14 번 ) T0 외부 타이머 인터럽트 0( 입력 )
P3.5( 핀 15 번 ) T1 외부 타이머 인터럽트 1( 입력 )
P3.6( 핀 16 번 ) 외부 데이터 메모리 출력 스트로브 (strobe)
P3.7( 핀 17 번 ) 외부 데이터 메모리 입력 스트로브 (strobe)
INT0
INT1
WR
RD
Slide 9 (of 21)
시스템 리셋 (RST) ( 핀번호 : 9)
시스템 리셋은 모든 동작 조건에 우선하며 , RST 핀을 적어도 2 기계사이클(24 클록 시간 ) 동안 high 상태로 함으로써 이루어진다
레지스터 내용 레지스터 내용PC 0000H TCON 00HAcc 00H T2CON 00HB 00H TH0 00H
PSW 00H TL0 00HSP 07H TH1 00H
DPTR 0000H TL1 00HP0 0FFH TH2 00HP1 0FFH TL2 00HP2 0FFH RCAP2H 00HP3 0FFH RCAP2L 00HIP XX000000B SCON 00HIE 0X000000B SBUF 부정
TMOD 00H PCON 0XXX0000B
리셋 후 내부 레지스터 값
Slide 10 (of 21)
power on 리셋회로
7414 를 이용한 회로
MCS-51
4.7k
10uF
Vcc
9 RST
20
40Vcc
Vss
+
10uF
+5V
4.7kRST
+
7414
3CT
SEN
RESIN
7
2
+5V
4.7k
0.1uF
4.7uF+
0.1uF
REF
RST
RST1
6
5
TL7705
RST
TL7705 reset IC 를 이용한 회로
Slide 11 (of 21)
클록 오실레이터 (XTAL 2, XTAL 1) ( 핀번호 : 18, 19)
1 8
1 9
C 2
M C S -5 1
X T A L 1
X T A L 2
C 1
1 8
1 9
M C S -5 1
X T A L 1
X T A L 2
외부클록신호
1 8
1 9
M C S -5 1
X T A L 1
X T A L 2외부클록신호
18
19
MCS-51
XTAL1
XTAL2
외부클록신호
NC
클록 오실레이터 연결방법
외부 클록신호를 연결하는 방법Slide 12 (of 21)
( 핀번호 : 29)
ROM 에 저장되어 있는 데이터를 읽을 때 사용된다 . 데이터 메모리 (RAM)에서 데이터를 읽을 때에는 동작하지 않는다 .
( 핀번호 : 30)
하위 어드레스 (A0~A7) 를 외부의 래치소자에 래치시키기 위해 제공되는 신호이다 .
( 핀번호 : 31)
내부 ROM 이 있는 형태의 CPU(87C51, 89C51) 에서 내부 ROM 을 사용할 경우에는 high(Vcc) 에 연결하고 , 내부 ROM 이 없는 형태의 CPU(80C31, 80C32) 이거나 내부에 ROM 이 있어도 사용하지 않는 경우에는 low( 접지 , ground, GND) 에 연결한다 .
Vss( 핀번호 : 20), Vcc ( 핀번호 : 40)
직 류 전 원 을 연 결 하 는 단 자 이 며 , 공 급 전 원 Vcc=5V, 전 원 접 지 Vss=GND=0V 를 연결한다 .
PSEN
PROG/ALE
VPP/EA
Slide 13 (of 21)
8051 메모리 구조
Bank 0 (R0~R7)
비트 단위로 처리가 가능한
영역
Bank 1 (R0~R7)
Bank 2 (R0~R7)
Bank 3 (R0~R7)
사용자 데이터 메모리 영역
특수 기능레지스터
FFH
80H7FH
30H
2FH
20H1FH18H17H10H0FH08H07H00H
ROM내부혹은
ROM외부
ROM외부
FFFFH
1000H0FFFH
0000H
외부 데이터메모리
FFFFH
0000H
내부 RAM 및 SFR 프로그램 메모리 데이터 메모리
Slide 14 (of 21)
특수기능 레지스터 영역 (SFR:Special Function Register) 범용 레지스터의 기능과 각종 칩 내장 장치들을 위한 기능을 수행
F8 FF
F0 B F7
E8 EF
E0 ACC E7
D8 DF
D0 PSW D7
C8 CF
C0 C7
B8 IP BF
B0 P3 B7
A8 IE AF
A0 P2 A7
98 SCON SBUF 9F
90 P1 97
88 TCON TMOD TL0 TL1 TH0 TH1 8F
80 P0 SP DPL DPH PCON 87
Slide 15 (of 21)
기 호 명 칭 주 소 ACC Accumulator( 누산기 ) E0HB B Register F0HPSW Program Status Word D0HDPTR(DPL) Data Pointer Register : Low Byte 82HDPTR(DPH) Data Pointer Register : High Byte 83HP0 Port 0 80HP1 Port 1 90HP2 Port 2 A0HP3 Port 3 B0HIP Interrupt Priority Control B8HIE Interrupt Enable Control A8HTMOD Timer/Counter Mode Control 89HTCON Timer/Counter Control 88HTH0 Timer/Counter 0 High Byte 8CHTL0 Timer/Counter 0 Low Byte 8AHTH1 Timer/Counter 1 High Byte 8DHTL1 Timer/Counter 1 Low Byte 8BHSCON Serial Control 98HSBUF Serial Data Buffer 99HPCON Power Control 87H
특수 기능 레지스터 영역에 존재하는 레지스터들의 기호와 기능
Slide 16 (of 21)
프로그램 메모리 (ROM)
내부 ROM 의 사용 여부는 를 사용하여 선택 .
ROM내부혹은 ROM외부
ROM외부
외부 데이터메모리
0000H
FFFFHFFFFH
0000H
0FFFH1000H
EA
프로그램 메모리 데이터 메모리
HEA
LEA
내부 ROM 사용
내부 ROM 사용하지 않음
이 경우 1000H 번지이상을 읽으면자동적으로 외부 ROM 을 액세스
Slide 17 (of 21)
• 외부 프로그램 메모리 인터페이스
ALE 는 외부메모리에 어드레스를 래치하기 위해 사용 은 외부 프로그램 메모리를 선택함을 나타낸다 .
래 치
어 드 레 스16비 트
(A15~A8)어 드 레 스
AD7~AD0
8051
P SEN
내 부프 로 그 램
메 모 리
4 K
0
2포 트
0포 트
A LEA7~A0
O E
외 부프 로 그 램
메 모 리
6 4 K
RO M
(8 )메 모 리 내 용 비 트
5 V
EA
4 K
PSEN
Slide 18 (of 21)
외부 데이터 메모리
내부 RAM 과는 별도로 최대 64K Byte 까지 사용 가능
외부 확장 데이터 메모리 인터페이스
래 치
어 드 레 스16비 트
(A15~A8)어 드 레 스
AD7~AD0
8051
2포 트
0포 트
A LEA7~A0
C S
외 부데 이 터메 모 리
6 4 K
RAM
(8 )데 이 터 비 트 0
O E
W RR D
W R
M O V X A ,@ D P T RM O V X @ D P T R ,A
래 치AD7~AD0
8051
P 2 .0
0포 트
A LE
C S
외 부데 이 터메 모 리
F F
RAM
(8 )데 이 터 비 트 0 0
O E
W RR D
W R
M O V X A ,@ R iM O V X @ R i,A
(8 )어 드 레 스 비 트
256 번지 이하의주소를 사용할 경우
Slide 19 (of 21)
MCS-51 기본 설계 Flash ROM (89C5x) Type 의 최소 디자인
20pF
4.7K
10uF
+5V
12M H z
A T 89C 51
1
V cc
X TA L2
X TA L1
+
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
V ccR ESET
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA/VPTX D
R X D
IN T0
IN T1
T0
T1
W R
R D
X 2
X 1
V ss20pF
ALE/P
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
V CC
회로상의 를 VCC 로 연결하여내부 프로그램 메모리를 사용 .89C51 의 내부 프로그램 메모리는4kbyte 인데 그 이상이 되면 당연히 으로 외부 프로그램 메모리를 액세스한다 .
EA
PSEN
Slide 20 (of 21)
ROM less(80C3x) type 의 최소 디자인
20pF
4.7K
10uF
+5V
12M H z
80C 31
1
V cc
+
234567891011121314151617
181920
4039383736353433323130292827262524232221
V ccR ESE T
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P0.0P0.1P0.2P0.3P0.4P0.5P0.6
P0.7EA/VPT X D
R X DIN T0IN T1T 0T 1W RR DX TA L 2X TA L 1V ss20pF
ALE/PPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
V C C
74H C 573
A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7
A 15A 14A 13A 12A 11A 10A 9A 8
A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7
23456789
A D 0A D 1A D 2A D 3A D 4A D 5A D 6A D 7
A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10A 11A 12A 13A 14A 15
A 0A 1A 2A 3A 4A 5A 6A 7
AD
0~AD
7 A8~A
15
A D 0~A D 7
A 8~A 15
1918171615141312
20 A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 10A 11A 12A 13A 14A 15
I/O 0I/O 1I/O 2I/O 3I/O 4I/O 5I/O 6I/O 7
1918171615141332
311
1245
11
2122232526272829
O EW EC E
V cc 8
24G N D
V cc
A T 29C 512
111
20
LEOEV cc
V cc
V cc
1D2D3D4D5D6D7D8D
1Q2Q3Q4Q5Q6Q7Q8Q
10G N D
Slide 21 (of 21)