p1.5 p1.4 p0.4 / ad4 p0.3 / ad3 + 5 v a0 - a7 d0 - d7 p1.6...

18
บทที2 ทฤษฎีที่เกี่ยวข้อง 2.1 ไมโครคอนโทรลเลอร์ 2.1.1 สถาปัตยกรรมไมโครคอนโทรลเลอร์ MCS-51 ไมโครคอนโทรลเลอร์แบบชิพเดี่ยวตระกูล MCS-51 มีอยู่ด้วยกันหลายเบอร์ เช่น 80C31, 80C32, 80C51, 80C52, 89C51, 89C52 เป็นต้น ซึ ่งการจัดเรียงขาของ ไมโครคอนโทรลเลอร์แสดงดังรูปที2.1 P0.0 -P0.7 D0 - D7 A0 - A7 P1.0 - P1.7 R + 5 V 9 18 19 20 XTAL P2.0 - P2.7 A8 - A15 P3.0 - P3.7 1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 Reset P3.0 / TXD P3.1 / RXD P3.2 / INT0 P3.3 / INT1 P3.4 / T0 P3.5 / T1 P3.6 / WR P3.7 / RD XTAL2 XTAL1 GND P2.0 / A8 P2.1 / A9 P2.2 / A10 P2.3 / A11 P2.4 / A12 P2.5/ A13 P2.6 / A14 P2.7/ A15 ALE PSEN EA P0.7 / AD7 P0.6 / AD6 P0.5 / AD5 P0.4 / AD4 P0.3 / AD3 P0.2 / AD2 P0.1 / AD1 P0.0 / AD0 + VCC Microcontroller MCS- 51 Microcontroller MCS- 51 C C C รูปที่ 2.1 การจัดเรียงขาของไมโครคอนโทรลเลอร์ จากรูปที2.1 ประกอบด้วยพอร์ตที่ใช้งานอยู4 พอร์ตได้แก่ พอร์ต 0 พอร์ต 1 พอร์ต 2 และพอร์ต 3 มีรายละเอียดแต่ละพอร์ตดังนี - พอร์ต 0 ( P0.0 P0.7) เป็นอินพุทหรือเอาท์พุทพอร์ต ถ้ามีการขยายหน่วยความจาภายนอก หรืออินพุท / เอาท์พุทภายนอกจะใช้เป็น Data Bus (D0-D7) และ Address Bus (A0- A7) - พอร์ต 1 (P1.0-P1.7) เป็นอินพุทหรือเอาท์พุทพอร์ต - พอร์ต 2 (P2.0-P2.7) เป็นอินพุทหรือเอาท์พุทพอร์ต ถ้ามีการต่อหน่วยความจาภายนอกจะใช้ เป็น Address Bus (A8-A15)

Upload: others

Post on 19-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

บทท 2

ทฤษฎทเกยวของ

2.1 ไมโครคอนโทรลเลอร 2.1.1 สถาปตยกรรมไมโครคอนโทรลเลอร MCS-51

ไมโครคอนโทรลเลอรแบบชพเดยวตระกล MCS-51 มอยดวยกนหลายเบอร เชน 80C31, 80C32, 80C51, 80C52, 89C51, 89C52 เปนตน ซงการจดเรยงขาของไมโครคอนโทรลเลอรแสดงดงรปท 2.1

P0.0 -P0.7D0 - D7A0 - A7

P1.0 - P1.7

R

+ 5 V

9

18

19

20

XTALP2.0 - P2.7A8 - A15

P3.0 - P3.7

1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21

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

ResetP3.0 / TXDP3.1 / RXDP3.2 / INT0P3.3 / INT1

P3.4 / T0P3.5 / T1

P3.6 / WRP3.7 / RD

XTAL2XTAL1

GND P2.0 / A8P2.1 / A9P2.2 / A10P2.3 / A11P2.4 / A12P2.5/ A13P2.6 / A14P2.7/ A15

ALEPSEN

EAP0.7 / AD7P0.6 / AD6P0.5 / AD5P0.4 / AD4P0.3 / AD3P0.2 / AD2P0.1 / AD1P0.0 / AD0+ VCC

Mic

roco

ntr

olle

r M

CS

- 5

1

Mic

roco

ntr

olle

r M

CS

- 5

1

C

CC

รปท 2.1 การจดเรยงขาของไมโครคอนโทรลเลอร

จากรปท 2.1 ประกอบดวยพอรตทใชงานอย 4 พอรตไดแก พอรต 0 พอรต 1 พอรต 2

และพอรต 3 มรายละเอยดแตละพอรตดงน - พอรต 0 ( P0.0 –P0.7) เปนอนพทหรอเอาทพทพอรต ถามการขยายหนวยความจ าภายนอกหรออนพท / เอาทพทภายนอกจะใชเปน Data Bus (D0-D7) และ Address Bus (A0- A7) - พอรต 1 (P1.0-P1.7) เปนอนพทหรอเอาทพทพอรต - พอรต 2 (P2.0-P2.7) เปนอนพทหรอเอาทพทพอรต ถามการตอหนวยความจ าภายนอกจะใชเปน Address Bus (A8-A15)

Page 2: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

4

- พอรต 3 (P3.0-P3.7) เปนอนพทหรอเอาทพทพอรต ถาไมใชใหเปนอนพท/เอาทพทกสามารถท าหนาทตามชอหลงไดดงน - P3.0/TxD (Transmit Data) ใชเปนขาเอาทพทส าหรบสงขอมลจากการสอสารแบบอนกรม - P3.1/RxD (Receive Data) ใชเปนขาอนพทส าหรบรบขอมลจากการสอสารแบบอนกรม - P3.2/ 0INT (Interrupt 0) รบสญญาณขดจงหวะจากภายนอก No. 0 - P3.3/ 1INT (Interrupt 1) รบสญญาณขดจงหวะจากภายนอก No. 1 - P3.4/T0 (Timer/Counter0) สามารถโปรแกรมไดวาจะใหเปน Timer หรอ Counter ถาใชสญญาณClock จากภายนอกเขามาจะเปน Counter ถาใชสญญาณ Clock จากภายในจะเปน Timer - P3.5/T1 (Timer/Counter1) ท าหนาทท านองเดยวกบ T0 - P3.6/ WR (Write) สงสญญาณควบคมการเขยนขอมลจาก MCS-51ไปยงภายนอก - P3.7/ RD (Read) สงสญญาณควบคมการอานขอมลจากภายนอกเขามายง MCS-51 - Reset เปนขาอนพท Active High เรมตนท างานขา Reset จะไดรบลอจก “1” ซงจะท าให PC=0000H, P0=P1=P2=P3=FFH, SP=07H และรจสเตอรทกตวเปนศนย - XTAL 1 และ XTAL 2 เปนขาทใชส าหรบตอกบตวครสตอล เพอสรางสญญาณนาฬกาในการก าหนดจงหวะ การท างานของไมโครคอนโทรลเลอรใชในยานความถ 11-16 MHz - EA (External Access) เปนขาอนพทถารบลอจก “0” ใชโปรแกรมจดระบบจากภายนอก ถารบ ลอจก “1” ใชโปรแกรมจดระบบจากภายในเชน MCS-51 เบอร AT89C51, AT89C52 - ALE (Address Latch Enable) ขานจะสงสญญาณทมความถ 1 / 6 เทาของสญญาณนาฬกาจาก ครสตอลมาตลอดเวลา ยกเวนกรณทตองการตดตอกบหนวยความจ าภายนอก ขานจะเปนลอจก “1” แลวจะสง Address 8 บต (A0- A7) มาท P0.0-P0.7 ชวขณะแลวเปลยนเปน Data Bus (D0-D7) - PSEN (Program Store Enable) ขานจะสงสญญาณ Active Low ออกมา 2 ครง ในแตละแมชชนไซเคล เมอตองการอานโปรแกรมจากภายนอก แตถาตองการอานโปรแกรมจากภายในจะไมมสญญาณทขาน - +Vcc เปนขาทใชส าหรบตอไฟเพอเลยงวงจร DC +5V - GND (Ground) เปนขากราวดส าหรบตอกบกราวดของระบบ DC 0V

2.1.2 การจดหนวยความจ า -Program Memory (ROM) เกบโปรแกรมจดระบบงาน

-Data Memory (RAM) เกบขอมลหรอโปรแกรมทมการเปลยนแปลงแกไขได เชน Set Point ตางๆ

Address ของ Program Memory แสดงดงตารางท 2.1

Page 3: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

5

ตารางท 2.1 Address ของ Program Memory

หรอ

0000H

0FFFH

1FFFH

FFFFH

External ROM 64 kbytes

FFFFH

0000H

External ROM

60 k/56 kbytes

Internal ROM

8 kbytes(89C52)

Internal ROM

4kbytes(89C51)

Address ของ Data Memory แสดงดงตารางท 2.2

ตารางท 2.2 Address ของ Data Memory

Address ส าหรบการบรการการขดจงหวะ

0003H จากอนเทอรรป INT00013H จากอนเทอรรป INT10023H จากอนเทอรรปของการสอสารแบบอนกรม000BH จากอนเทอรรปของ T0001BH จากอนเทอรรปของ T1002BH จากอนเทอรรปของ T2

Page 4: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

6

Internal RAM Address 00H-7FH (128 Bytes) แสดงดงตารางท 2.3 ตารางท 2.3 Internal RAM Address 00H-7FH (128 Bytes)

MSB LSB

7F 7E 7D 7C 7B 7A 79 78

77 76 75 74 73 72 71 70

6F 6E 6D 6C 6B 6A 69 68

67 66 65 64 63 63 61 60

5F 5E 5D 5C 5B 5A 59 58

57 56 55 54 53 52 51 50

4F 4E 4D 4C 4B 4A 49 48

47 46 45 44 43 42 41 40

3F 3E 3D 3C 3B 3A 39 38

37 36 35 34 33 32 31 30

2F 2E 2D 2C 2B 2A 29 28

27 26 25 24 23 22 21 20

1F 1E 1D 1C 1B 1A 19 18

17 16 15 14 13 12 11 10

0F 0E 0D 0C 0B 0A

Register Bank 3

Register Bank 2

Register Bank 1

Register Bank 0

07 06 05 04 03 02 01 00

0809

ยานการใชงานทวไป

R0-R7 (8 Bytes)R0-R7 (8 Bytes)R0-R7 (8 Bytes)

R0-R7 (8 Bytes)

7FH30H

2EH

2CH2DH

2BH2AH

28H29H

27H26H25H24H23H

21H22H

10H-17H18H-1FH

08H-0FH00H-07H

20H

ยาน20H-2FH ใชค าสงเขาถงขอมลในระดบบทไดทงหมด128 บท (16 Bytes)

2FH

2.1.3 รจสเตอร (Register) หรอตวแปร

1 รจสเตอรใชงานทวไป (R0-R7 Address 00H-07H) 2 รจสเตอรใชงานเฉพาะ (SFR Address 80H-FFH)

เมอ SFR: Special Function Register AT89C51 ม SFR 22 ตว สวน AT89C52 AT89SXX ม SFR 28 ตว แสดงรายละเอยดดงตารางท 2.4

ตารางท 2.4 รจสเตอรใชงานเฉพาะ

Symbol Name of Register Address *A Accumulator E0H *B B F0H SP Stack Pointer 81H

Page 5: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

7

ตารางท 2.4 รจสเตอรใชงานเฉพาะ (ตอ)

Symbol Name of Register Address DPL Data Pointer Low 82H DPH Data Pointer High 83H *P0 Port 0 80H *P1 Port 1 90H *P2 Port 2 A0H *P3 Port 3 B0H

SBUF Serial Data Buffer 99H TL0 Timer/Counter Low 0 8AH TH0 Timer/Counter High 0 8BH TL1 Timer/Counter Low 1 8CH TH1 Timer/Counter High 1 8DH

PCON Power Control 87H *SCON Serial Control 98H *TCON Timer/Counter Control 88H TMOD Timer/Counter Mode Control 89H

*IE Interrupt Enable Control A8H *IP Interrupt Priority Control B8H

*PSW Program Status Word D0H

สวนรจสเตอรทแสดงดงตารางท 2.5 เปน Register 6 ตวทมอยใน AT89C52, AT89SXX ตารางท 2.5 รจสเตอรเพมเตมของ AT89C52, AT89SXX

Symbol Name of Register Address TL2 Timer/Counter Low 2 CCH TH2 Timer/Counter High 2 CDH

RCAP2L Capture Register Low CAH RCAP2H Capture Register High CBH T2CON Timer/Counter Control 2 C8H T2MOD Timer/Counter Mode Control 2 C9H

Page 6: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

8

Note: PC (Program Counter) ไมม Address ประจ าตว * เปนรจสเตอรทเขาถงในระดบบตได ตารางชอประจ าบตของรจสเตอรทเขาถงในระดบบตได แสดงดงตารางท 2.6

ตารางท 2.6 ตารางชอประจ าบตของรจสเตอรทเขาถงในระดบบตได

Symbol ชอประจ าบตของรจสเตอร Register Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

A ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0 B B.7 B.6 B.5 B.4 B.3 B.2 B.1 B.0 P0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P3 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0

SCON SM0 SM1 SM2 REN TB8 RB8 TI RI TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

IE EA - ET2 ES ET1 EX1 ET0 EX0 IP - - PT2 PS PT1 PX1 PT0 PX0

PSW C AC F0 RS1 RS0 OV F1 P ค าอธบาย Special Function Register : SFR Accumulator :ACC, A

ใชเปนตวตงและเกบผลลพธจากการกระท าทางคณตศาสตรและลอจก หรอเปนตวรบ/สงขอมลระหวางไมโครคอนโทรลเลอรกบอปกรณภายนอก

Register: B ใชงานไดทวไปหรอใชเปนตวคณหรอตวหารในค าสง MUL AB, DIV AB Stack Pointer: SP ใชเปนตวชต าแหนงของ Stack ในค าสง PUSH, POP, CALL, RET

Page 7: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

9

Port Register : P0, P1, P2, P3 ใชเปน Input/Output Port เพอตดตอกบอปกรณรอบนอกในกรณทมการตอหนวยความจ าหรอ

หนวยอนพท/เอาทพทภายนอกเพมเตม P0 ใชเปน A0-A7 และ D0-D7 P2 ใชเปน A8-A15 P3.6 เปน WR (Write Data) P3.7 เปน RD (Read Data)

Serial Data Buffer : SBUF ใชในการเกบขอมลทสงออกทขา TxD หรอรบขอมลเขามาจากขา RxD ในการรบ/สงขอมล

แบบอนกรม Timer/Counter Register : T0 (TH0, TL0) T1 (TH1, TL1) T2 (TH2, TL2) ใชในการสรางฐานเวลา จบเวลา หรอนบจ านวนพลสมขนาด 16 บต Capture Register: RCAP2 (RCAP2H, RCAP2L) ใชงานเมอก าหนดให T2 ท างานในโหมดแคปเจอร ซงเปนโหมดทก าหนดให

ไมโครคอนโทรลเลอรท าการตรวจจบการเปลยนแปลงสถานะทางลอจกทขา T2EX เพอใชประโยชนในการวดคาบเวลา ความถ และการเปลยนแปลงของสญญาณทขา T2EX มขนาด 16 บต

Control Register มทงหมด 6 ตวไดแก

Power Control : PCON ใชในการก าหนดอตราการรบ/สงขอมลแบบอนกรมและก าหนดการท างานในโหมดประหยด

พลงงาน Serial Control : SCON ใชในการควบคมการท างานของวงจรสอสารแบบอนกรมภายในไมโครคอนโทรลเลอร Timer/Counter Control : TCON, T2CON ใชในการควบคมการท างานของวงจร Timer / Counter ภายในไมโครคอนโทรลเลอร Timer/Counter Mode Control : TMOD, T2MOD ใชในการก าหนดโหมดหรอลกษณะการท างานของ Timer/Counter ภายใน

ไมโครคอนโทรลเลอร Interrupt Enable Control : IE ใชในการก าหนดลกษณะการตอบสนองการอนเตอรรปต Interrupt Priority Control : IP ใชในการก าหนดล าดบความส าคญของการตอบสนองการบรการอนเตอรรปตวาจะให

ตอบสนองการเกดอนเตอรรปตในลกษณะใดกอน

Page 8: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

10

Program Counter: PC ใชเปนตวชต าแหนงของโปรแกรมท CPU จะไปประมวลผลเมอ Reset จะท าให PC=0000H

(16 บต) แลวจะเปลยนแปลงอตโนมตตามค าสงทประมวลผล Program Status Word : PSW ใชเปนตวแสดงสภาพของผลลพธจากกระท าทางคณตศาสตรหรอลอจกและยงใชเปนตวเลอก

ให R0-R7 อยใน Register Bank ใดๆ

2.1.4 หลกการเขยนโปรแกรมภาษาแอสเซมบล ภาษาคอมพวเตอรแบงเปน 2 ระดบ

1. ภาษาระดบสง (High Level Language) เชน C, VB 2. ภาษาระดบต า (Low Level Language) ไดแก ภาษาเครองและภาษาแอสเซมบล

ภาษาเครอง เขยนแทนดวยรหสเลขฐานสองหรอฐาน 16 เชนตองการใหคาของ A=5DH ภาษาเครองคอ 745DH หรอ 0111, 0100, 0101, 1101B ภาษาแอสเซมบล เขยนแทนดวยรหสยอตามทบรษทผผลตไมโครคอนโทรลเลอรหรอไมโครโปรเซสเซอรเบอรนนๆเปนผก าหนดเชนตองการใหคาของ A=5DH ภาษาแอสเซมบลคอ MOV A, #5DH รปแบบของโปรแกรมภาษาแอสเซมบล แบงเปน 4 Fields ไดแก 1 Label 2 Mnemonic 3 Operands 4 Comment DELAY: MOV R1,#50H ;R1=50H LOOP: MOV R2,#60H ;R2=60H HERE: DJNZ R2,HERE ;R2-1 UNTIL=00H DJNZ R1,LOOP ;R1-1 1F 00H GO LOOP RET ;IF R1=00H RETURN

1. Label เปนจดทบอกใหรต าแหนงการกระโดดไปหรอการเรยกโปรแกรมยอยนนๆ การเขยน Label ตองไมเวนวรรคปดทายดวยโคลอน (:)

2. Mnemonic เปนรหสค าสง บอกใหรวาตองการท าอะไรเขยนตามขอก าหนด 3. e s 1 คอมมา ( , )

( Mnemonic + Operands = Command, ค าสง ) 4. Comment ค าอธบายโปรแกรม ตองขนตนดวยเซมโคลอน( ; ) มหรอไมม C e t

ซงจะไมมผลตอโปรแกรม

Page 9: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

11

ตารางสญลกษณของคาตางๆในการเขยนโปรแกรมภาษาแอสเซมบล MCS-51 แสดงดงรปท 2.7

ตารางท 2.7 สญลกษณของคาตางๆในการเขยนโปรแกรมภาษาแอสเซมบล MCS-51 สญลกษณ ค าอธบาย

Rn R0-R7 อางองขอมลทเปนคาของ R0-R7 Direct หรอ Dadd

00H-0FFH อางองขอมลในหนวยความจ าภายใน ทก าหนดต าแหนงขนาด 8 บต แบบโดยตรง

@Ri @R0, @R1 อางองขอมลในหนวยความจ าภายใน โดยคาต าแหนงขนาด 8 บต ก าหนดดวยคาของ R0,R1 #data #00H-#0FFH ขอมลขนาด 8 บต #data16 #0000H-#0FFFFH ขอมลขนาด 16 บต Bit 00H-0FFH อางองขอมลทละบตใน Internal RAM,SFR Addr16(Cadd)

เปน Label หรอต าแหนงขนาด 16 บต อางองต าแหนง ของหนวยความจ าได 64 k (0000H-0FFFFH)

Addr11(Cadd)

เปน Label หรอต าแหนงขนาด 11 บต อางองต าแหนง ของหนวยความจ าได 2 k (0000H-07FFH นบจากจดทอย)

Rel (Cadd)

เปน Label หรอต าแหนงขนาด 8 บต อางองต าแหนง ของหนวยความจ าหางจากจดทอยในระยะ 00H-0FFH

2.1.5 การเขาถงขอมล ( Addressing Mode ) -Direct Addressing EX. MOV A,7FH ;A = ( 7FH ) -Indirect Addressing EX. MOV A,@R1 ;A = ( R1 ) -Immediate Addressing EX. MOV A,#7FH ;A = 7FH -Register Addressing EX. MOV A,R1 ;A = R1 -Index Addressing EX. MOVC A,@A+DPTR ;A = (A+DPTR) -Register Specific Instruction EX. INC A ;A A+1 Note : ( 7FH ) = ขอมลทอยใน Internal RAM Address 7FH ( R1 ) = ขอมลทอยใน Internal RAM Address ก าหนดโดยคาของ R1

Page 10: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

12

กลมค าสงเทยม ไมมอยในกลมค าสงของ MCS-51 แตใชในการเขยนโปรแกรมภาษาแอสเซมบล EX. ORG 8200H ; โปรแกรมเรมตนทต าแหนง 8200H

DB 20H,50H ; Define Byte คอการก าหนดขอมล 20H ลงในหนวยความจ าต าแหนง 8200H และก าหนดขอมล 50H ลงในหนวยความจ าต าแหนง 8201H (ถามมากกวานใหคนดวยเครองหมายคอมมา ( , ) ขนบรรทดใหมใหพมพ DB ) BUFFER EQU 0A300H ; ค าวา BUFFER มคาเทากบ 0A300H FORWARD EQU 90H ; ค าวา FORWARD มคาเทากบ 90H LED1 BIT P1.1 1 กบ P1.1 SJMP $ Label หรอต าแหนงทค าสงนนอย (กระโดดอยทเดม ) MOV LED1, C ; น าคา Carry Flag ไปออกท P1.1 MOV P2, #FORWARD ; น าคา 90H ไปออกท P2 MOV DPTR, #BUFFER ; DPTR = 0A300H กลมค าสงของ MCS-51 แบงเปน 5 กลมดงน

1. กลมค าสงการโอนยายขอมล ( Data Transfer ) 2. กลมค าสงการกระท าทางคณตศาสตร ( Arithmetic Operations ) 3. กลมค าสงการกระท าทางลอจก ( Logical Operations ) 4. กลมค าสงการกระท าครงละบต ( Boolean Variable Manipulation ) 5. กลมค าสงการกระโดด ( Program & Machine control )

2.2 วงจรขยายสญญาณ (Operational Amplifier)

วงจรขยายสญญาณ (Operational Amplifier) หรอเรยกสนๆวาออปแอมป (Op-Amp) เปนวงจรรวม (Integrated Circuit : IC) ทประยกตใชงานมากมายในปจจบนเนองจากราคาถก ใชงานงาย สามารถน ามาสรางเปนวงจรไดโดยไมจ าเปนตองมความรเกยวกบวงจรภายในของตวออปแอมปเลย ซงโครงสรางภายในประกอบดวยกลมของทรานซสเตอร กลมของตวตานทาน และอปกรณอนอกมากทตอกนอยางซบซอน ในทนจะไมกลาวถงรายละเอยด ส าหรบในโครงงานนไดน าออปแอมปมาประยกตใชเปนวงจรขยายสญญาณแบบไมกลบเฟส วงจรขยายสญญาณแบบผลตางและวงจรแปลงกระแสเปนแรงดนซงมรายละเอยดดงน

Page 11: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

13

2.2.1 วงจรขยายสญญาณแบบไมกลบเฟส (Non-Inverting Amplifier) วงจรขยายสญญาณแบบไมกลบเฟส แสดงดงรปท 2.2 ประกอบดวยออปแอมปและตว

ตานทานสองตวโดยทตวตานทาน 1R ตออยระหวางขาอนพทลบและกราวด สวนตวตานทาน 2R ตอปอนกลบจากเอาทพทกลบมายงอนพทลบ

1R

outV

2R

inV

1I

2IaV

รปท 2.2 วงจรขยายสญญาณแบบไมกลบเฟส

สมมตใหออปแอมปเปนอดมคต ซงในการหาอตราการขยายของวงจร หาไดโดยใชกฎกระแส

ของเคอรชอฟฟ (Kirchhoff’s Cu e t w : KCL ) ทโนด aV และใชคณสมบตของ ออปแอมปคอกระแสไหลเขาขาอนพทของออปแอมปทงสองขามคาเปนศนย และแรงดนทตกครอมระหวางขาอนพททงสองมคาเปนศนย หรอกลาวไดวาแรงดนขาอนพทขาบวกเทากบแรงดนขาอนพทลบของออปแอมป ดงนนทโนด aV จะได

ina VV

และ

00

0

21

21

R

VV

R

V

II

outinin

จะไดคาแรงดนเอาทพทเปน

inout VR

RV )1(

1

2 (2.1)

จากสมการ (2.1) จะเหนไดวาสญญาณเอาทพทและสญญาณอนพทมเฟสตรงกน โดยทอตรา

การขยายขนอยกบคาความตานทาน 1R และ 2R

Page 12: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

14

2.2.2 วงจรขยายผลตางของสญญาณ (Differential Amplifier) วงจรขยายผลตางของสญญาณ แสดงดงรปท 2.3 ประกอบดวยแรงดนอนพท 2

อนพทคอ 1inV , 2inV และตวตานทานตอรวมกนอย 4 ตว คอ 4321 , R, R, RR หาคาแรงดนเอาทพทไดดงน

1R

outV

2R

3R

4R

aV

bV

1inV

2inV

1I

3I

2I

4I

รปท 2.3 วงจรขยายผลตางของสญญาณ

จากคณสมบตของออปแอมปทางอดมคต จะได ba VV ใช KCL ทโนด aV

จะได

1

21

2

21

1

21

00

0

ina

aina

VRR

RV

R

V

R

VV

II

(2.2)

ใช KCL ทโนด bV จะได

2

3

4

3

43

43

2

43

0

0

inbout

outbinb

VR

RV

R

RRV

R

VV

R

VV

II

(2.3)

Page 13: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

15

แทนคาสมการ (2.2) ลงในสมการ (2.3) จะได

2

3

41

21

2

3

43 )( ininout VR

RV

RR

R

R

RRV

(2.4)

ถาก าหนดให คาความตานทานเปนดงน yx RRRRRR 4231 , แทนในสมการ (2.4) จะ

ได

)( 21 inin

x

y

out VVR

RV (2.5)

ถาก าหนดให คาความตานทานมคาเทากนทกตวนนคอ RRRRR 4321 แทนใน

สมการ (2.4) จะได

21 ininout VVV (2.6) จากสมการ (2.4), (2.5) และ (2.6) จะเหนไดวาแรงดนเอาทพทขนอยกบผลตางของแรงดน

อนพททงสองและคาความตานทานทตออย ดงนนในการเลอกใชสมการใดขนอยกบผใชงานทจะออกแบบเลอกใช

2.2.3 วงจรแปลงกระแสเปนแรงดน (Current to Voltage Converter)

วงจรแปลงกระแสเปนแรงดนท าหนาทในการแปลงกระแสทางอนพทใหไดเอาทพทเปนแรงดน ซงมวงจรพนฐานแสดงดงรปท 2.4

R

outV

I

รปท 2.4 วงจรแปลงกระแสเปนแรงดน

Page 14: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

16

จากรปท 2.4 จะเหนไดวาแรงดนทขวลบของออปแอมปจะมคาเทากบแรงดนทขวบวกของ ออปแอมปซงมคาเปนศนย จงท าใหแรงดนทขวลบของออปแอมปมคาเปนศนยดวย จะไดกระแสอนพท I เทากบกระแสทไหลผานตวตานทาน R เขยนสมการไดเปน

(2.7) จากสมการ (2.7) จะไดแรงดนเอาทพทจะขนอยกบคาของกระแสอนพท I คณกบคา ตว

ตานทาน R ทปอนกลบมายงอนพท ซงในการใชงานจะก าหนดใหคาความตานทาน R มคาคงท จะไดแรงดนเอาทพทจะแปรตามกระแสอนพททปอน ในวงจรนมขอจ ากดทการจายกระแสไปยงเอาทพทเกนขดจ ากดเพราะจะท าใหออปแอมปเกดการอมตว

2.3 วงจรแปลงสญญาณอนาลอกเปนสญญาณดจตอล (Analog to Digital Converter :ADC)

การแปลงสญญาณอนาลอกเปนสญญาณดจตอลเขยนยอเปน ADC เปนการเปลยนสญญาณทเปนอนาลอกไดแกสญญาณทมการเปลยนแปลงอยางตอเนอง เชนระดบของแรงดน หรอปรมาณกระแสไฟฟาใหกลายเปนสญญาณดจตอลทมอยในรปเลขฐานสองคอ 0 และ 1 เปนฟงกชนทไมขนกบเวลา วงจรแปลงสญญาณอนาลอกเปนสญญาณดจตอล แสดงดงรปท 2.5

VDD

P1.2,P1.3CLK

CH7

CH3CH5

CH0

CS

Din

P0.1

+5V

Dout

1310

11

Vref

IN P

UT

16

12

9

15

24

D-GND

6814

CH0CH4CH6CH8A-GND

1357

P1.1

รปท 2.5 วงจรแปลงสญญาณอนาลอกเปนสญญาณดจตอล MCP3208

จากรปท 2.5 ประกอบดวยไอซเบอร ADC MCP3208 ตวตานทานและตวเกบประจ ซงไอซเบอร ADC MCP3208 เปน ADC ทมเอาทพทเปน 12 บต โดยรบสญญาณอนพททมแรงดนอยในชวง 0- 5.00 V

Page 15: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

17

การท างานของวงจร ADC เปนดงนคอ ขา CS ตอเขากบ MCS เบอร89C51 ท P1.2 และP1.3 วงจร ADC กจะท างาน และเมอ ADC ก าลงท างานอย แลวเกดขดของหรอไมสามารถท างานไดตามปกต จะตองท าการรเซตไอซทกครง

หลกการค านวณหาคาสญญาณเอาทพทแบบดจตอลขณะทมอนพตเปนสญญาณอนาลอกใดๆ แสดงดงในตารางท 2.8

ตารางท 2.8 การค านวณคาสญญาณเอาทพทแบบดจตอลเมออนพทเปนสญญาณอนาลอก

อนพทแบบอนาลอก(โวลต) อนพท819 เอาทพทแบบดจตอล 0 0 00H

5.00( refV ) 4095 FFFH 4.00 3276 CCCH 3.00 2457 999H 2.00 1638 666H 1.00 819 333H

สตรทใชในการค านวณ นนคอ

ref

input

V

VDecimalOutputDigital

4095) ( (2.8)

เมอ Digital Output (Decimal) คอเอาทพทแบบดจตอลทอยในรปของเลขฐานสบ inputV คอแรงดนอนพททเปนสญญาณอนาลอก refV คอแรงดนอางองมคาเปน 5.00 โวลต

2.4 วงจรแปลงสญญาณดจตอลเปนสญญาณอนาลอก (Digital to Analog Converter :hDAC) การแปลงกลมของสญญาณดจตอลใหกลายเปนปรมาณของแรงดนหรอกระแสนนจะใช

วงจรแปลงสญญาณดจตอลเปนสญญาณอนาลอกหรอเขยนยอเปน DAC วงจรพนฐานของ DAC จะใช

Page 16: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

18

ออปแอมป เปนตวรวบรวมสญญาณ และ อาศยเทคนคใน การตอวงจรท อนพทของ ออปแอมป วงจรนเรยกวาวงจร R-2R Ladder แสดงดงรปท 2.6

fR

outV8

+5 V

A

B

C

D

R2

R2

R2

R

R

R

R2

R2

รปท 2.6 วงจร R-2R Ladder

จากวงจรในรปท 2.6 เขยนสมการแรงดนเอาทพทไดเปน

(2.9)

เมอ oV คอแรงดนเอาทพทของวงจรมหนวยเปนโวลต refV คอ แรงดนอางองทมคา 5.00 โวลตและ D เลขฐานสบทแปลงมาจากสญญาณดจตอล

ตวอยาง เมอมอนพทปอนเขาวงจร R-2R Ladder มคาเปน 0101 โดยท 50.2refV โวลต

ค านวณหาคา oV ไดเปนดงน

วธท า DV

Vref

o16

เมอ 50.2refV โวลต

1050101D

Page 17: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

19

จะได 78125.0516

50.2oV โวลต

วงจรแปลง DAC อกแบบหนงแสดงดงรปท 2.7 ประกอบดวย ไอซเบอร MC 1408 และ ออป

แอมป โดยทไอซเบอร MC 1408 เปนตวแปลงสญญาณดจตอล 8 บต ใหเปนกระแส แลวใชออปแอมปเบอร358 แปลงกระแสทไดเปนแรงดนทมคาอยในชวง 0-2.50 โวลต

A8

A2

A7

Vref(+)

A4A5

A3

A1

1211109876512

P1.0

P1.7

-5 V

+5 V

50 pF

3 16fR

fR13 oR

outV

50 pF

Vcc

EE V COMP

OUTPUT

Vref(-)

2

36

A6 14

4

15

รปท 2.7 วงจรแปลงสญญาณดจตอลเปนสญญาณอนาลอก จากวงจรในรปท 2.7 ค านวณหาคาแรงดนเอาทพทไดดงน

oo

f

cco DR

R

VV (2.10)

เมอ ccV คอไฟเลยงวงจรมคาเปน 5 โวลต fR คอตวตานทานทตออยระหวางขา 13 และ 14 ของไอซ MC 1408 oR คอตวตานทานปอนกลบของออปแอมป และ oD คอคาขอมล (Data) ขนาด 8 บต ตวอยาง เมอปอนสญญาณดจตอลใหกบวงจรตามรปทมคาเปน10101010 คาความตานทาน kR f 7.4 kRo 35.2 5ccV โวลต จงค านวณหาคาแรงดนเอาทพท วธท า จากสมการของแรงดนเอาทพทตามสมการ (2.10) จะได

Page 18: P1.5 P1.4 P0.4 / AD4 P0.3 / AD3 + 5 V A0 - A7 D0 - D7 P1.6 ...research-system.siam.edu/images/coop/BATTERY... · p1.0 - p1.7 r + 5 v 9 18 19 20 xtal p2.0 - p2.7 a8 - a15 p3.0 - p3.7

20

6932.1

664.055.2

)256

0

128

1

64

0

32

1

16

0

8

1

4

0

2

1(35.2

4.7

5

256

0

128

1

64

2

32

3

16

4

8

5

4

6

2

7(

DDDDDDDD

RR

VV o

f

cc

o

หลกการค านวณหาคาสญญาณเอาทพทแบบอนาลอกขณะทมสญญาณอนพตเปนดจตอลใดๆ

แสดงดงตารางท 2.9

ตารางท 2.9 การค านวณคาสญญาณเอาทพทแบบอนาลอกเมออนพทเปนสญญาณดจตอล อนพทแบบดจตอล อนพททเปนเลขฐาน10 เอาทพทแบบอนาลอก(โวลต)

00H 0 0 FFH 255 2.55( refV ) 0AH 10 0.1 33H 51 0.51 66H 102 1.02 99H 153 1.53 CCH 204 2.04

สตรทใชในการค านวณ

(2.11)

เมอ Decimal Input คออนพททเปนเลขฐานสบ ถาแรงดนอางอง 55.2refV โวลต แตละ Step ของสญญาณอนพทจะเทากบ 0.01 โวลต