PowerPoint Presentationcourseware.npru.ac.th/admin/files/20181009145814_fa7d470... · 2018. 10....
Transcript of PowerPoint Presentationcourseware.npru.ac.th/admin/files/20181009145814_fa7d470... · 2018. 10....
1
2
รายวชา 6562213 ไมโครโพรเซสเซอร 1
โดย
ผชวยศาสตราจารย ธระ กาญจนสนธ
วท.ม.(ฟสกส) วท.บ.(ฟสกส)
บทเรยนออนไลน
6562213 Microprocessor 1
มหาวทยาลยราชภฏนครปฐม
ยนดตอนรบส...
คณะวทยาศาสตรและเทคโนโลย
6562213 ไมโครโพรเซสเซอร 1
จดประสงคการเรยนรของรายวชา 6562213 ไมโครโพรเซสเซอร 1
3
1) เพอใหผเรยนสามารถออกแบบและพฒนาฮารดแวรทมไมโครคอนโทรลเลอร หรอชปตระกล MCS-51เปนหนวยประมวลผล
2) เพอใหผเรยนสามารถพฒนาซอฟตแวรภาษาซ
ในการควบคมการท างานของฮารดแวรทตอวงจรรวม กบชปตระกล MCS-51
3) เพอใหผเรยนสามารถพฒนาเจตคตและมจรรยาบรรณในการคดคนและพฒนาสงประดษฐ โดยใชชปตระกลMCS-51 เปนหนวยประมวลผล
6562213 ไมโครโพรเซสเซอร 1
หวขอส าคญของรายวชา 6562213 ไมโครโพรเซสเซอร 1 บทท 1-6
4
บทท 1 สถาปตยกรรมไมโครโพรเซสเซอรและไมโครคอนโทรลเลอรพนฐาน
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
บทท 3 ชดค าส งแยกตามประเภทการใชงาน
บทท 4 ตวอยางการเขยนโปรแกรมเบองตนและโปรแกรมใชงาน
บทท 5 การออกแบบวงจรหนวยความจ าและอปกรณตอรวม
บทท 6 การประยกตใชงานไมโครคอนโทรลเลอร
5
6562213 ไมโครโพรเซสเซอร 1
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
6
รายวชา 6562213 ไมโครโพรเซสเซอร 1
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
โดยผชวยศาสตราจารยธระ กาญจนสนธ
คณะวทยาศาสตรและเทคโนโลย
มหาวทยาลยราชภฏนครปฐม
6562213 ไมโครโพรเซสเซอร 1 7
บทน า
ในบทน มเนอหาเกยวกบ MCU ตระกล MCS-51 ใหความรลกลงในชปทยอดนยม ไดแก AT89xx ของ Atmel
โดยกลาวถงคณสมบตส าคญตางๆ เชนหนวยความจ าขอมลและหนวยความจ าโปรแกรมชองทางสอสารแบบขนานขนาด 8 บต สพอรตและชองทางสอสารแบบอนกรม รวมถงทามเมอร-เคานเตอร นอกจากนยงกลาวถงเรจสเตอรส าคญหลายตวของAT89xx ทสนบสนนการท างาน
เนอหาในบทน มสวนส าคญมากตอการพฒนานวตกรรมใหมทอ านวยความสะดวก..และเปนตนแบบใชศกษาเปรยบเทยบกบชป MCU อนๆ
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ความเขาใจเกยวกบการจดการหนวยความจ าภายในชป AT89xx ในสวนทเปนหนวยความจ าโปรแกรมและหนวยความจ าขอมล สงผลใหเขาใจการท างานของเรจสเตอรตางๆ
6562213 ไมโครโพรเซสเซอร 1 8
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
2.2 หนวยความจ าภายใน
(Internal Memory ) MCS-51
2.3 ผงหนวยความจ าเกบโปรแกรมในระบบ
AT89C52 : กรณสมมต
2.5 ตวอยางชปของ MCS-51
2.6 คณสมบตของ MCS-51
2.4 หนวยความจ าขอมลภายในชป AT89xx (RAM)
2.1 การระบขนาดและต าแหนง
หนวยความจ า
2.8 AT89xx : การตดตอหนวยความจ า
โปรแกรม2.7 ต าแหนงขาของ MCS-51 : AT89xx
2.9 AT89xx :วงจรพนฐาน
ในบทเรยนน... นกศกษาจะศกษาเกยวกบ
6562213 ไมโครโพรเซสเซอร 1 9
บทท 1 สถาปตยกรรมไมโครโพรเซสเซอรและไมโครคอนโทรลเลอรพนฐาน
1.6 สถาปตยกรรมของ MCU ตระกล MCS-51
MCU กบหนวยส าคญตางๆทอยภายในชป (ตวอยางชป: AT89C51)
ROM: ทเกบโคดทพฒนาใชงาน
RAM:ทเกบขอมล register/
ชองทางตดตอกบอปกรณภายนอก: P0, P1, P2, P3
จดเชอมตอการสอสารอนกรมกบอปกรณภายนอก (serial port)
สวนสรางฐานเวลาเพอการนบและการจบเวลา
สวนควบคมบสขอมล บสต าแหนง และบสควบคม
สวนควบคมการขดจงหวะ
สวนก าเนดความถในการท างาน
ALU + CU
10
6562213 ไมโครโพรเซสเซอร 1 11
2.1 การระบขนาดและต าแหนงหนวยความจ า
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
Fh + 1h = ?
+1
F
1 0
F
การนบเลข ฐานสบหก
0 1
10 11
2 3
12 13
4 5
14 15
6 7
16 17
8 9
18 19
A B
1A 1B
C D
1C 1D
E F
1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
การบวกเลข ฐานสบหก7Ch + 5h = ?
+5
7 C
1
C
D
E F 10
1 1
1
8
10
1FFh + 1h = ?
+1
1 F F
0
F
1 0
1
0
1
2
ทบทวน การนบเลข การบวกเลข...ฐานสบหก
00
0102
03
124
125126
127
1516
6562213 ไมโครโพรเซสเซอร 1 12
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
RAM 128 Byte
128)_____16
8 0
12810 =
เศษ)_____16
0 เศษ 8
8016
RAM 80
Byte16
Total Address in dec.
……
..……
8016
- 116
7F16
กรณน... RAM 128 ไบตสมมตใหอางองหนวยความจ าต าแหนงแรก(first address)ท 0
จะพบวาหนวยความจ าต าแหนงสดทาย(last address)จะอยท 128-1= 127
รวมต าแหนงหนวยความจ า(total address)เทากบ 128 ไบต
12810
- 110
12710
00
0102
03
7C
7D7E
7F
F10
in hex.
……
..……
Last Address in dec. in Hex.
ตวอยาง
หรอหนวยความจ าต าแหนงสดทายจะอยท 80h-1h= 7Fh
2.1 การระบขนาดและต าแหนงหนวยความจ า
2.1 การระบขนาดและต าแหนงหนวยความจ า
ROM 4
Kilo Byte
ROM 1000Byte
16
00
0102
03
4092
40934094
4095
1516
6562213 ไมโครโพรเซสเซอร 1 13
ROM 4 KB
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
4 KB =4x1024
4096
0
409610 =
)_____16
256 เศษ16
100016
Total Addr. in dec.
……
..……
100016
- 116
FFF16
กรณน... ROM 4KB = 4096 ไบตสมมตใหอางองหนวยความจ าต าแหนงแรก(first address)ท 0
จะพบวาหนวยความจ าต าแหนงสดทาย(last address)จะอยท 4096-1= 4095
รวมต าแหนงหนวยความจ า(total address)เทากบ 4096 ไบต
409610
- 110
409510
00
0102
03
FFC
FFDFFE
FFF
F10
in hex.
……
..……
Last Address in dec. in hex.
=4096 B
16)_____
เศษ 0)_____16
1 เศษ 016 )_____เศษ0 1
14
6562213 ไมโครโพรเซสเซอร 1 15
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ภายในชป MCU: MCS-51...มหนวยความจ า 2 สวน
2.2 หนวยความจ าภายใน (Internal Memory of MCU) : MCS-51
Internal Memory Area
AT89C51 AT89C52
ROM 4 KB
... สวนท 1 RAM หนวยความจ าขอมล (int.Data Memory)
... สวนท 2 ROM หนวยความจ าโปรแกรม(int.Program Memory)
RAM 128B
ROM 8 KB
RAM 256B
ชป AT89C51 มหนวยความจ าขอมลขนาด 128 ไบตชป AT89C52 มหนวยความจ าขอมลขนาด 256 ไบต
ชป AT89C51 มหนวยความจ าโปรแกรมขนาด 4 กโลไบตชป AT89C52 มหนวยความจ าโปรแกรมขนาด 8 กโลไบต
นยาม หนวยความจ าขอมล เปนทเกบขอมล...ของเรจสเตอรแบงค(32B)...ของขอมลทก าหนดระดบบต/ไบตได(16B)...ของขอมลทก าหนดระดบไบตเทานน(18B)...ของเรจสเตอรหนาทพเศษ(SFRs)
นยาม หนวยความจ าโปรแกรมเปนทเกบโปรแกรมควบคมการท างานของอปกรณรายรอบAT89C51(4KB), AT89C52(8KB)
16
AT89C51
FFFFh1000h +EFFFh =
ROM 4 KB(000h- FFFh)
AT89C51
6562213 ไมโครโพรเซสเซอร 1 17
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
60 KB =60x1024
61440
0
6144010 =
)_____16
3840 เศษ240
F00016
Total Memory 64KB.
F00016
- 116
EFFF16
สมมตใหอางองหนวยความจ าตอจาก 4 KB แรกต าแหนงสดทายของ 4 KB อยทต าแหนง FFFh
จะพบวาต าแหนงแรกของ 60 KB ถดมา อยท... FFFh + 1h =
6144010
- 110
6143910
00010203
FFCFFDFFEFFF
F10
… …… …
in hex.=61440 B
16)____
เศษ 0)_____1615 เศษ 016)_____
เศษ0 15=FROM60KB
ROM 4 KB
(000h-FFFh)
(000h-EFFFh)
1000h
และค านวณต าแหนงสดทายของ 60 KB ถดมา อยท...
ROM 60 KB(1000h- FFFFh)
1000100110021003
FFFCFFFDFFFEFFFF
100F1010
…………..……………………
… …
กรณนเพมROM 60 กโลไบต =61440 ไบต=F00016
AT89C51 : int.ROM 4KB + ext.ROM 60KB
2.3 ผงหนวยความจ าเกบขอมลในระบบ AT89C52 : กรณสมมต
AT89C52
ใหอางองหนวยความจ า ROM 56 KBอยท ...2000hต าแหนงสดทายของ ROM 56 KB อยท ...
ROM 8 KB
(0000h- 1FFFh)
AT89C52
6562213 ไมโครโพรเซสเซอร 1 18
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
Total Memory 64KB.
ต าแหนงแรกของROM 8 KBอยท... 0000h1FFFh
00010203
1FFC1FFD1FFE1FFF
F10
… …… …
ROM56KB
ROM 8 KB
(000h-1FFFh)
(000h-DFFFh)
และต าแหนงสดทายของ 8 KB อยท...
2000h +DFFFh = FFFFhFFFFh
ROM 56 KB(2000h- FFFFh)
2000200120022003
FFFCFFFDFFFEFFFF
200F2010
…………..……………………
… …
สมมตเพมROM 56 กโลไบต =57344 ไบต=E00016
8052 : int.ROM 8KB + ext.ROM 56KB
200016- 116
1FFF16
Last addr.in hex.
ROM 8KB =8x1024 =8192 B
819210 = 200016
00
2
81920
)_____16
512 เศษ32
16)____
เศษ)_____162 เศษ16)_____
เศษ0
RAM 56KB =56x1024=57344 B
573440
819210 =
)_____16
3584เศษ224
E00016
E00016- 116
DFFF16
Last addr.in hex.
16 )____
เศษ 0)_____1614 เศษ 016)_____
เศษ0 E
2.3 ผงหนวยความจ าเกบขอมลในระบบ AT89C52 : กรณสมมต
AT89C52
FFFFh0000h +FFFFh =
RAM 256 B(00h- FFh)
AT89C52
6562213 ไมโครโพรเซสเซอร 1 19
2.3 ผงหนวยความจ าเกบขอมลในระบบ AT89C52 : กรณสมมต
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
64 KB =64x1024
655360
6553610 =
)_____164096 เศษ256
1000016
Total Memory 64KB.
1000016- 116
FFFF16
สมมตใหอางองหนวยความจ าต าแหนงสดทายของ 4 KB อยทต าแหนง FFFh
ต าแหนงแรกของ ext.RAM 64 KB อยท..
6553610
- 110
6553510
00010203
FCFDFEFF
F10
… …… …
in hex.=65536 B
16)____
เศษ 0)_____16
16 เศษ 016)_____
เศษ1 0RAM64KB
RAM 256 B
(00h-FFh)
(000h-FFFFh)
0000h
และค านวณต าแหนงสดทายของ 64 KB อยท...
Ext.RAM 64 KB(0000h- FFFFh)
0000000100020003
FFFCFFFDFFFEFFFF
000F0010
…………..……………………
… …
กรณนเปน ext.RAM 64 กโลไบต =65536 ไบต
=1000016
8052 : int.RAM 256B + ext.RAM 64KB
)_____160 1เศษ
20
0001
02
03
06
07
Reg.Bank0
04
05
6562213 ไมโครโพรเซสเซอร 1 21
2.4 หนวยความจ าขอมลภายในชป AT89xx (RAM): AT89C52
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ถกจดเปนทพกคาขอมลขณะทประมวลผลหรอค านวณค าสง-ขอมล ซงด าเนนการโดยระบบภายใน MCU หรอโดยผพฒนานวตกรรม
Reg.Bank0(00-07h)
MCS-51:AT89C52 จดพนทความจ าขอมลภายใน เปนทพกเรจสเตอร(R0, R1, R2, R3, R4, R5, R6, และ R7 )อยใน 4 Memory Banks
ไดแก Registers Bank 0, 1, 2, 3
Reg.Bank1(08-0Fh)
Reg.Bank2(10-17h)
Reg.Bank3(18-1Fh)
R0R1
R2
R3
R6
R7
R4
R5
0809
0A
0B
0E
0F
Reg.Bank1
0C
0D
R0R1
R2
R3
R6
R7
R4
R5
1011
12
13
16
17
Reg.Bank2
14
15
R0R1
R2
R3
R6
R7
R4
R5
1819
1A
1B
1E
1F
Reg.Bank3
1C
1D
R0R1
R2
R3
R6
R7
R4
R5
00010203
0607
0405
R0R1R2R3
R6R7
R4R5
08090A0B
0E0F
0C0D
R0R1R2R3
R6R7
R4R5
10111213
1617
1415
R0R1R2R3
R6R7
R4R5
18191A1B
1E1F
1C1D
R0R1R2R3
R6R7
R4R5
Internal Memory Address(00-FFh)
AT89Cxx
RAM 256B
(00h-FFh)
6562213 ไมโครโพรเซสเซอร 1 22
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ทต าแหนงหนวยความจ า 20-2F (16 ไบต) ...เปนทอยของขอมลทเปลยนระดบบตได
Reg.Bank0(00-07h)
ทต าแหนงหนวยความจ า 00-1F (32 ไบต) ...เปนทอยของเรจสเตอร R0-R7 ...ม 4 ชดๆ ละ 8 ไบต
Reg.Bank1(08-0Fh)
Reg.Bank2(10-17h)
Reg.Bank3(18-1Fh)
0001
02
03
06
07
Reg.Bank0
04
05
R0R1
R2
R3
R6
R7
R4
R5
0809
0A
0B
0E
0F
Reg.Bank1
0C
0D
R0R1
R2
R3
R6
R7
R4
R5
1011
12
13
16
17
Reg.Bank2
14
15
R0R1
R2
R3
R6
R7
R4
R5
1819
1A
1B
1E
1F
Reg.Bank3
1C
1D
R0R1
R2
R3
R6
R7
R4
R5
00 01 02 03 04 05 06 07Bank 0
08 09 0A 0B 0C 0D 0E 0FBank 1
10 11 12 13 14 15 16 17Bank 2
18 19 1A 1B 1C 1D 1E 1FBank 3
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
Internal Memory Area
20 21 22 23 24 25 26 27
28 29 2A 2B 2C 2D 2E 2F16 bytes for Bit Addressable
ทต าแหนงหนวยความจ า 30-7F (=50h=80 ไบต) ...เปนทอยของเรจสเตอรใชงานทวไป
30 31 32 33 34 35 36 37
38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47
48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57
58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67
68 69 6A 6B 6C 6D 6F6E
70 71 72 73 74 75 76 77
78 79 7A 7B 7C 7D 7E 7F
80 bytes for General
Purpose Registers
32 bytes for Register Banks
2.4 หนวยความจ าขอมลภายในชป AT89xx (RAM): AT89C52
6562213 ไมโครโพรเซสเซอร 1 23
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ทต าแหนงหนวยความจ า 20-2F (16 ไบต) ...เปนทอยของขอมลทเปลยนระดบบตได
Reg.Bank0(00-07h)
ทต าแหนงหนวยความจ า 00-1F (32 ไบต) ...เปนทอยของเรจสเตอร R0-R7 ...ม 4 ชดๆ ละ 8 ไบต
Reg.Bank1(08-0Fh)
Reg.Bank2(10-17h)
Reg.Bank3(18-1Fh)
00 01 02 03 04 05 06 07Bank 0
08 09 0A 0B 0C 0D 0E 0FBank 1
10 11 12 13 14 15 16 17Bank 2
18 19 1A 1B 1C 1D 1E 1FBank 3
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
20 21 22 23 24 25 26 27
28 29 2A 2B 2C 2D 2E 2F16 bytes for Bit Addressable
ทต าแหนงหนวยความจ า 30-7F (=50h=80 ไบต) ...เปนทอยของเรจสเตอรใชงานทวไป
30 31 32 33 34 35 36 37
38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47
48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57
58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67
68 69 6A 6B 6C 6D 6F6E
70 71 72 73 74 75 76 77
78 79 7A 7B 7C 7D 7E 7F
80 bytes for General
Purpose Registers
ทต าแหนงหนวยความจ า 80-FF (=80h=128ไบต) ...เปนทอยของเรจสเตอร ฟงกชนพเศษ
88 89 8A 8B 8C 8D 8E 8F
80 81 82 83 84 85 86 87
F8 F9 FA FB FC FD FE FF
F0 F1 F2 F3 F4 F5 F6 F7
128 bytes for Special
Function Registers
32 bytes for Register Banks
Internal Memory Area
2.4 หนวยความจ าขอมลภายในชป AT89xx (RAM): AT89C52
6562213 ไมโครโพรเซสเซอร 1 24
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ท E0h...เปนทอยของ Accumulator (Acc)
00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17
18 19 1A 1B 1C 1D 1E 1F
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
R0 R1 R2 R3 R4 R5 R6 R7
20 21 22 23 24 25 26 27
28 29 2A 2B 2C 2D 2E 2F16 bytes for Bit Addressable
30 31 32 33 34 35 36 37
38 39 3A 3B 3C 3D 3E 3F
40 41 42 43 44 45 46 47
48 49 4A 4B 4C 4D 4E 4F
50 51 52 53 54 55 56 57
58 59 5A 5B 5C 5D 5E 5F
60 61 62 63 64 65 66 67
68 69 6A 6B 6C 6D 6F6E
70 71 72 73 74 75 76 77
78 79 7A 7B 7C 7D 7E 7F
64 bytes for General
Purpose Registers
ทต าแหนงหนวยความจ า 80-FF(=80h=128ไบต) ...เปนทอยของเรจสเตอรฟงกชพเศษ
88 89 8A 8B 8C 8D 8E 8F
80 81 82 83 84 85 86 87
F8 F9 FA FB FC FD FE FF
F0 F1 F2 F3 F4 F5 F6 F7
32 bytes for Register Banks
SFRs: Special Function Registers
128 bytes for Special
Function Registers
88 89 8A 8B 8C 8D 8E 8F
80 81 82 83 84 85 86 87
98 99 9A 9B 9C 9D 9E 9F
90 91 92 93 94 95 96 97
A8 A9 AA AB AC AD AE AF
A0 A1 A2 A3 A4 A5 A6 A7
B8 B9 BA BB BC BD BE BF
B0 B1 B2 B3 B4 B5 B6 B7
C8 C9 CA CB CC CD CE CF
C0 C1 C2 C3 C4 C5 C6 C7
D8 D9 DA DB DC DD DE DF
D0 D1 D2 D3 D4 D5 D6 D7
E8 E9 EA EB EC ED EE EF
E0 E1 E2 E3 E4 E5 E6 E7
F8 F9 FA FB FC FD FE FF
F0 F1 F2 F3 F4 F5 F6 F7
128 bytes for Special
Function Registers
Acc
ท F0h...เปนทอยของ Reg.B
B
ท D0h...ทอยของ Reg.PSW
PSW
ท 81h...ทอยของ Reg.SP
SP
ท 82h...ทอยของ Reg.DPL
ท 83h...ทอยของ Reg.DPH
DPL DPH
2.4 หนวยความจ าขอมลภายในชป AT89xx (RAM): AT89C52
6562213 ไมโครโพรเซสเซอร 1 25
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
ท E0h...เปนทอยของ Accumulator (Acc)
ทต าแหนงหนวยความจ า 80-FF(=80h=128ไบต) ...เปนทอยของเรจสเตอรฟงกชพเศษ
88 89 8A 8B 8C 8D 8E 8F
80 81 82 83 84 85 86 87
98 99 9A 9B 9C 9D 9E 9F
90 91 92 93 94 95 96 97
A8 A9 AA AB AC AD AE AF
A0 A1 A2 A3 A4 A5 A6 A7
B8 B9 BA BB BC BD BE BF
B0 B1 B2 B3 B4 B5 B6 B7
C8 C9 CA CB CC CD CE CF
C0 C1 C2 C3 C4 C5 C6 C7
D8 D9 DA DB DC DD DE DF
D0 D1 D2 D3 D4 D5 D6 D7
E8 E9 EA EB EC ED EE EF
E0 E1 E2 E3 E4 E5 E6 E7
F8 F9 FA FB FC FD FE FF
F0 F1 F2 F3 F4 F5 F6 F7
Acc
ท F0h...เปนทอยของ Reg.B
B
ท D0h...ทอยของ Reg.PSW
PSW
ท 81h...ทอยของ Reg.SP
SP
ท 82h...ทอยของ Reg.DPL
ท 83h...ทอยของ Reg.DPHDPL DPH
ท 80h...ทอยของ P0
P0
P1
ท 90h...ทอยของ P1
ท A0h...ทอยของ P2
ท B0h...ทอยของ P3
P2
P3
ท B8h...ทอยของ IP
IP
ท A8h...ทอยของ IE
IE
TMOD
ท 89h...ทอยของ TMOD
TCON
ท 88h...ทอยของ TCON
ท 8Ch...ทอยของ TH0
TH0
ท 8Ah...ทอยของ TL0
TL0ท 98h...ทอยของ SCON
SCON
ท 99h...ทอยของ SBUF
SBUF
PCON
ท 87h...ทอยของ PCON
SFRs: Special Function Registers
2.4 หนวยความจ าขอมลภายในชป AT89xx (RAM): AT89C52
26
6562213 ไมโครโพรเซสเซอร 1 27
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
เบอร
2.5 ตวอยางชป...ของ MCU : MCS-51
AT89C51
AT89C52
AT89C1051
AT89C2051
87C51H
87C52
Int.Program memory
4KB-flash
8KB-flash
1KB-flash
2KB-flash
4KB-EPROM
8KB-EPROM
Int.Datamemory(RAM)
128B
256B
64B
128B
128B
256B
Timer/Counter
2
3
1
2
2
3
I/O ports
32
32
15
15
32
32
Pins
40
40
20
20
40
40
28
Timer/Counter 16 บต (T0, T1)
6562213 ไมโครโพรเซสเซอร 1 29
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
CPU8 bit
CPU 8 bit: AT89C51
หนวยความจ าขอมล RAM 128 ไบต
RAM 128 ไบต
หนวยความจ าโปรแกรม ROM 4 กโลไบต
Flash ROM 4 กโลไบต
หนวยรบ-สงขอมล 4 พอรตๆละ 8บตรวม 32บต
4 I/O ports
Timer/Counter 16 บต (T0, T1)
Interruptcontrol
Interrupt control (int0, int1)
Serial port
Serial port (full duplex)
TxD RxD P0 P1 P2 P3
Ext.Int.ตวอยาง Int1Int0
Bus Control
Bus control (EA, Rst, Psen, ALE) EA Rst Psen ALE
2.6 คณสมบต...ของ MCU : AT89C52
Timer/Counter 16 บต
(T0, T1, T2)
6562213 ไมโครโพรเซสเซอร 1 30
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
CPU8 bit
CPU 8 bit: AT89C52
2.6 คณสมบต...ของ MCU : AT89C52
หนวยความจ าขอมล RAM 256 ไบต
RAM 256 ไบต
หนวยความจ าโปรแกรม ROM 8 กโลไบต
Flash ROM 8 กโลไบต
หนวยรบ-สงขอมล 4 พอรตๆละ 8บตรวม 32บต
4 I/O ports
Timer/Counter 16 บต (T0, T1, T2)
Interruptcontrol
Interrupt control (int0, int1)
Serial port
Serial port (full duplex)
TxD RxD P0 P1 P2 P3
Ext.Int.ตวอยาง Int1Int0
Bus Control
Bus control (EA, Rst, Psen, ALE) EA Rst Psen ALE
31
6562213 ไมโครโพรเซสเซอร 1 32
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
CPU 8 bit: AT89xx
2.7 ต าแหนงขา...ของ MCS-51 : AT89xx
ชองสอสาร...กบอปกรณภายนอก
Port P0 (P0.0-P0.7)
Reset…ขารเซตใหระบบเรมท างานใหม
Port P2 (P2.0-P2.7)
Vcc…ขาไฟเลยง
ตวอยาง AT89xx1234567891011121314151617181920
4039383736353433323130292827262524232221
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
Port P1 (P1.0-P1.7)
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
Port P3 (P3.0-P3.7)Reset
Gnd…ขากราวดVcc
Gnd.
EA(ext.Access)…ขาเลอกตดตอกบ (ext. / int.) Program
PSEN(Program Store ENable)…ขาระบการอานขอมลExt.Program
EA
ALE(Address Latch ENable)…ขาควบคมการคงคาใน Ext.Program
ALE
Xtal1-2 ...ขารบสญญาณนาฬกาจากผลกความถภายนอกXtal1Xtal2
PSEN
6562213 ไมโครโพรเซสเซอร 1 33
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
CPU 8 bit: AT89xx
ชองสอสาร...กบอปกรณภายนอก
Port P0 (P0.0-P0.7)
Reset…ขารเซตใหระบบเรมท างานใหม
Port P2 (P2.0-P2.7)
Vcc…ขาไฟเลยง
ตวอยาง AT89xx1234567891011121314151617181920
4039383736353433323130292827262524232221
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
Port P1 (P1.0-P1.7)
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
Port P3 (P3.0-P3.7)Reset
Gnd…ขากราวดVcc
Gnd.
EA(ext.Access)…ขาเลอกตดตอกบ (ext. / int.) Program
PSEN(Program Store ENable)…ขาระบการอานขอมลExt.Program
EA
ALE(Address Latch ENable)…ขาควบคมการคงคาใน Ext.Program
ALE
Xtal1-2 ...ขารบสญญาณนาฬกาจากผลกความถภายนอกXtal1Xtal2
PSEN
2.7 ต าแหนงขา...ของ MCS-51 : AT89xx
34
6562213 ไมโครโพรเซสเซอร 1 35
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
AT89xx ตดตอกบหนวยความจ าโปรแกรม(ROM)
EA(ext.Access)…ขาเลอกตดตอกบ… (ext. / int.) Program
AT89xx
Reset
1234567891011121314151617181920
4039383736353433323130292827262524232221
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
Vcc
Gnd.
EAALE
Xtal1Xtal2
PSEN
กรณทตอวงจรให EA=1(ปอนไฟเลยง)AT89C51
ROM 4 KB
(000h-FFFh)
AT89xx
Int.ROM4 KB
ROM60KB
(1000h-FFFFh)
Ext.ROM
Ext.ROM60KB
ระบบจะอานโปรแกรม...จากหนวยความจ า 4KB ภายในชป AT89Cxx (000h-FFFh) กอน
ภายหลง จง...อานหนวยความจ า 60 KB ภายนอกชป (1000h-FFFFh)
2.8 AT89xx : การตดตอหนวยความจ าโปรแกรม
6562213 ไมโครโพรเซสเซอร 1 36
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
EA(ext.Access)…ขาเลอกตดตอกบ… (ext. / int.) Program
AT89xx
Reset
1234567891011121314151617181920
4039383736353433323130292827262524232221
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
Vcc
Gnd.
EAALE
Xtal1Xtal2
PSEN
กรณทตอวงจรให EA=0(ปอนกราวด)AT89C51
AT89xx
Int.ROM0 KB
ROM64KB
(0000h-FFFFh)
Ext.ROM
Ext.ROM64KB
ระบบจะอานโปรแกรม...จากหนวยความจ า 64KB ภายนอกชป AT89Cxx (0000h-FFFFh) โดยตรง
AT89xx ตดตอกบหนวยความจ าโปรแกรม(ROM)
2.8 AT89xx : การตดตอหนวยความจ าโปรแกรม
6562213 ไมโครโพรเซสเซอร 1 37
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
EA(ext.Access)…ขาเลอกตดตอกบ… (ext. / int.) Program
AT89xx
Reset
1234567891011121314151617181920
4039383736353433323130292827262524232221
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
Vcc
Gnd.
EAALE
Xtal1Xtal2
PSEN
AT89C51
AT89xx
Int.ROM0 KB
ROM64KB
(0000h-FFFFh)
Ext.ROM
Ext.ROM64KB
AT89xx ตดตอกบหนวยความจ าโปรแกรม(ROM)
PSEN(Program Store Enable)…ขาสงสญญาณพลซ..กรณระบบจะอานหนวยความจ าโปรแกรมภายนอก
ALE(Address Latch Program)…ขาสงสญญาณพลซ..กรณระบบจะระบต าแหนงหนวยความจ าโปรแกรมภายนอกทจะอาน/โปรแกรม
2.8 AT89xx : การตดตอหนวยความจ าโปรแกรม
38
6562213 ไมโครโพรเซสเซอร 1 39
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
XTAL1, XTAL2…ขาตอไปยงผลกก าเนดความถเพอก าหนดจงหวะของระบบ AT89xx
AT89xx1234567891011121314151617181920
4039383736353433323130292827262524232221
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0
P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7
Vcc
Gnd.
EAALE
Xtal1Xtal2
PSEN
Reset
2.9 AT89xx : วงจรพนฐาน
วงจรพนฐานของ AT89xx ทพรอมใชงาน จ าเปนตองประกอบดวย...
2)วงจรก าเนดความถ
1)วงจรรเซต
12 MHz.
2x30 pF
11.0592 MHz.
Reset…ขาตอไปยงวงจรรเซตโดยกดสวตชเพอ...เรมตนท างานใหม1 uF
10 KΩ
6562213 ไมโครโพรเซสเซอร 1 40
บทท 2 โครงสรางภายในของไมโครคอนโทรลเลอร
2.2 ระบ...หนวยความจ าภายใน (Internal Memory of MCU) : MCS-51
2.3 ระบ...ผงหนวยความจ า
เกบโปรแกรมในระบบ AT89C51& AT89C52
2.5 ระบตวอยางชป...ของ
MCU : MCS-51
2.6 บอกถง..คณสมบต ของ MCU :
AT89C51&AT89C52
2.4 อธบาย..หนวยความจ าขอมลภายในชป AT89xx
(RAM)
2.1 มความเขาใจ...
การระบขนาดและต าแหนงหนวยความจ า
2.8 อธบาย...AT89xx : การตดตอหนวยความจ าโปรแกรม
2.7 บอกถง..ต าแหนงขาของ
MCS-51 : AT89xx
2.9 อธบาย...AT89xx :วงจรพนฐาน
เมอจบบทเรยนนแลว... นกศกษาควรมสมรรถนะดงน
41