หน่วยที่1 พอร์ทio

30
ครูศักดิ์สิทธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สิทธิ์ แกล้วกล้า วิทยาลัยเทคนิค จันทบุรี จันทบุรี การควบคุมพอร์ท การควบคุมพอร์ท MCS-51 MCS-51

Upload: saksit-klawkla

Post on 12-Jul-2015

308 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การควบคุมพอรท์การควบคุมพอรท์MCS-51MCS-51

Page 2: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

อุปกรณ์อ ินพุทเอาท์พ ุทเบ ื้องต ้นอ ุปกรณ์อ ินพุทเอาท์พ ุทเบ ื้องต ้น

• อุปกรณ์ในการเชือ่มต่อภาย (Peripheral Device) หรืออุปกรณ์อินพุท- เอาท์พุท (I/O Device) เป็นอุปกรณ์ที่นำาข้อมูลเข้าออกของ

คอมพิวเตอร์ เชน่ สวิทซ์, หลอด LED , จอ CRT , เครื่องพิมพ์ , โมเด็ม ( Modem) คยี์บอร์ด

เป็นต้น เนื่องจากความเร็วและคณุลักษณะเฉพาะของอุปกรณ์เหล่านี้มีความแตกต่างจากไมโครโปรเซสเซอร์(CPU) มาก จึงไม่สามารถ

เชือ่มต่อเข้ากับ CPU โดยตรงได้ จึงต้องมี อุปกรณ์อินเตอร์เฟส ระหว่างซีพียูและอุปกรณ์

ภายนอกเพื่อให้สามารถรับ-ส่งข้อมูลระหว่างกัน ได้

Page 3: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

แสดงการอ ินเตอร ์เฟสแสดงการอ ินเตอร ์เฟส

CPU I/O INTERFACE I/O DeviceControl

Data

Handshake

Port

Page 4: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

โครงสร ้างของพอร ์ท โครงสร ้างของพอร ์ท MCS-51MCS-51

• ไมโครคอนโทรลเลอร์ MCS-51 จะมีพอร์ทที่ใช้ งานอยู่ 4 พอร์ท คอื

• PORT 0 ( P0.0 - P0.7 ) ** ไม่มีR pull-up

• PORT 1 ( P1.0 - P1.7 )

• PORT 2 ( P2.0 - P2.7 )

• PORT 3 ( P3.0 – P3.7 )

ภายในแต่ละพอร์ท มีขนาด 8 บทิ

Page 5: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

พอร์ทของ พอร์ทของ MCS-51MCS-51

MCS-51

P0.0 - 0.7

P2.0 - 2.7

P3.0 - 3.7

P1.0 - 1.7

X-TAL 12MHz

Reset

X1

X2

+5V

Page 6: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

โครงสร ้างภายในพอร ์ท โครงสร ้างภายในพอร ์ท MCS-MCS-5151

D Q LATCHCL Q

P1.X

Vcc

Internal

Pull-up

INT.BUS

WRITE

TOLATCH

LEAD

LATCH

READPIN

Page 7: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การทำางานพอร ์ทเป ็นอ ินพุทการทำางานพอร ์ทเป ็นอ ินพุท

D Q LATCHCL Q

P1.X

Vcc

Internal

Pull-up

Logic “1”

TOLATCH

LEAD

LATCH

READPIN

INPUT

Logic “0”

“0”

OFF

Page 8: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การทำางานพอร ์ทเป ็นเอาท์การทำางานพอร ์ทเป ็นเอาท์พ ุทพุท ((Logic “0”)Logic “0”)

D Q LATCHCL Q

P1.X

+Vcc

Internal

Pull-up

Logic “0”

TOLATCH

LEAD

LATCH

READPIN

OUTPUT

Logic “0”

“1”

ON

0 v

Page 9: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การทำางานพอร ์ทเป ็นเอาท์พ ุท การทำางานพอร ์ทเป ็นเอาท์พ ุท((Logic “1”)Logic “1”)

D Q LATCHCL Q

P1.X

+Vcc

Internal

Pull-up

Logic “1”

TOLATCH

LEAD

LATCH

READPIN

OUTPUT

Logic “1”

“0”

OFF

+vcc

Page 10: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

7.1 7.1 การทำางานของหลอดแสดงผล การทำางานของหลอดแสดงผลLEDLED

+5 V R 220

i 10-30 mA

0 V R 220

i=0 mA

Page 11: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

7.2 7.2 วงจรขยายสญัญาณวงจรขยายสญัญาณ

Page 12: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

7.3 7.3 การเช ือ่มต ่อไมโครคอนโทรลเลอร ์การเช ือ่มต ่อไมโครคอนโทรลเลอร ์ก ับหลอดแสดงผลกับหลอดแสดงผลLEDLED

การเชือ่มต่อไมโครคอนโทรลเลอร์กับ หลอดแสดงผล LED จะใช้ไมโคร คอนโทรลเลอร์เบอร์ AT89C2051 ซึ่งเป็น

ไมโครคอนโทรลเลอร์ขนาดเล็กมี 20 ขาต่อ ออกพอร์ต P1 ที่ขา 11 ถึงขา 19 ผ่านไอซี

บฟัเฟอร์เบอร์ 74244 เพื่อขยายกระแสไป ขับหลอดแสดงผล LED

Page 13: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

7.3 7.3 การเช ือ่มตอ่ไมโครคอนโทรลเลอร ์การเช ือ่มตอ่ไมโครคอนโทรลเลอร ์ก ับหลอดแสดงผลกับหลอดแสดงผลLEDLED

Page 14: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การต่อพอร ์ทของ การต่อพอร ์ทของ MCS-51 MCS-51 กับ กับLEDLED

P2.0

MCS-51

“ 0 ”

+5V

Rled

Rled = Vcc – Vled

I led(max)

= 5v – 2v

15mA

= 200 R #

Isource=10 mA

ติด

Page 15: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การต่อพอร์ทของ การต่อพอร์ทของ MCS-51 MCS-51 กับ กับLEDLED

P1.0

MCS-51

“ 1 ”

+5V

Rled

Rled = Vcc – Vled

I led

= 5v – 2v

15mA

= 200 R #

ดับ

Page 16: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การต่อพอร ์ทของ การต่อพอร ์ทของ MCS-51 MCS-51 กับ กับLEDLED

P1.0

MCS-51

“ 1 ”

GND

Rled

Rled = Vcc – Vled

I led

= 5v – 2v

15mA

= 200 R #

ติด

Page 17: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การต่อพอร ์ทของ การต่อพอร ์ทของ MCS-51 MCS-51 กับ กับLEDLED

P1.0

MCS-51

“ 0 ”

GND

Rled

Rled = Vcc – Vled

I led

= 5v – 2v

15mA

= 200 R #

ดับ

Page 18: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตัวอย ่างการเข ียนโปรแกรมตัวอย ่างการเข ียนโปรแกรม ควบคุม ควบคุม LEDLED

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

LED 0

LED 7

Page 19: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตัวอย ่างการเข ียนโปรแกรมตัวอย ่างการเข ียนโปรแกรม ควบคุม ควบคุม LEDLED

P2.0 “1”P2.1 “1”P2.2 “1”P2.3 “1”P2.4 “1”P2.5 “1”P2.6 “1”P2.7 “1”

P2 = FFH

LED 0

LED 7

Page 20: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตัวอย ่างการเข ียนโปรแกรมตัวอย ่างการเข ียนโปรแกรม ควบคุม ควบคุม LEDLED

P2.0 “0”P2.1 “0”P2.2 “0”P2.3 “0”P2.4 “0”P2.5 “0”P2.6 “0”P2.7 “0”

P2=00H

Page 21: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ผังงานโปรแกรมไฟกระพริบผังงานโปรแกรมไฟกระพริบSTART

P2 = 11111111 B

DELAY

P2 = 00000000 B

DELAY

Page 22: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ไฟกระพริบไฟกระพริบ#include <sfr51.inc>ORG 0000H

MAIN: MOV P2,#0FFH ; ส่งค ่า 11111111B ไปที่ Port2 ACALL DELAY ; หน่วงเวลา

MOV P2,#00H ; ส่งค ่า 00000000B ไป ที่ Port2·

ACALL DELAY ; หน่วงเวลา SJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RETEND

Page 23: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ผังงานโปรแกรมไฟว่ิงซ้ายผังงานโปรแกรมไฟว่ิงซ้าย,,ขวาขวาSTART

A = 00000001B

OUT PORT (P2)

Rotate L,R

SJMP

Page 24: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตยตย..โปรแกรมไฟว่ิงไปทางซ้ายมอืโปรแกรมไฟว่ิงไปทางซ้ายมอื ORG 0000H

MOV A,#00000001B ; 01HMAIN: MOV P2,A

RL ALCALL DELAYLJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RETEND

Page 25: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตยตย..โปรแกรมไฟว่ิงไปทางขวามอืโปรแกรมไฟว่ิงไปทางขวามอื ORG 0000H

MOV A,#10000000B ; 80HMAIN: MOV P2,A

RR ALCALL DELAYLJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RETEND

Page 26: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตยตย..โปรแกรมไฟว่ิงไปทางซ้ายมอืโปรแกรมไฟว่ิงไปทางซ้ายมอืORG 0000H

MAIN: MOV R2,#08HMOV R3,#00H

NEXT: MOV DPTR,#TABLEMOV A,R3MOVC A,@A+DPTRMOV P2,ALCALL DELAYINC R3DJNZ R2,NEXTLJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RET

TABLE: DB 01H,02H,04H,08HDB 10H,20H,40H,80HEND

Page 27: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตยตย..โปรแกรมไฟว่ิงไปทางขวามอืโปรแกรมไฟว่ิงไปทางขวามอืORG 0000H

MAIN: MOV R2,#08HMOV R3,#08H

NEXT: MOV DPTR,#TABLEMOV A,R3MOVC A,@A+DPTRMOV P2,ALCALL DELAYDEC R3DJNZ R2,NEXTLJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RET

TABLE: DB 01H,02H,04H,08HDB 10H,20H,40H,80HEND

Page 28: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตยตย..โปรแกรมไฟว่ิงไปทางขวาและโปรแกรมไฟว่ิงไปทางขวาและซ้ายซ้าย

ORG 0000HMAIN: MOV R2,#16

MOV R3,#00HNEXT: MOV DPTR,#TABLEL

MOV A,R3MOVC A,@A+DPTRMOV P2,ALCALL DELAYINC R3DJNZ R2,NEXTLJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RET

TABLEL: DB 01H,02H,04H,08HDB 10H,20H,40H,80H

TABLER: DB 80H,40H,20H,10HDB 08H,04H,02H,01HEND

Page 29: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

การกำาหนดรูปแบบไฟว่ิงการกำาหนดรูปแบบไฟว่ิง

Page 30: หน่วยที่1 พอร์ทio

ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิค ครูศักดิ์สทิธิ์ แกล้วกล้า วิทยาลัยเทคนิคจันทบุรีจันทบุรี

ตยตย..โปรแกรมไฟว่ิงกลางไปริมโปรแกรมไฟว่ิงกลางไปริมORG 0000H

MAIN: MOV R2,#08MOV R3,#00H

NEXT: MOV DPTR,#TABLEMOV A,R3MOVC A,@A+DPTRMOV P2,ALCALL DELAYINC R3DJNZ R2,NEXTLJMP MAIN

DELAY: MOV R6,#0FFHDELAY1: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,DELAY1RET

TABLE: DB 18H,24H,42H,81HDB 81H,42H,24H,18H

END