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

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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

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

CPU I/O INTERFACE I/O DeviceControl

Data

Handshake

Port

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

โครงสร ้างของพอร ์ท โครงสร ้างของพอร ์ท 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 บทิ

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

พอร์ทของ พอร์ทของ 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

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

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

D Q LATCHCL Q

P1.X

Vcc

Internal

Pull-up

INT.BUS

WRITE

TOLATCH

LEAD

LATCH

READPIN

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

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

D Q LATCHCL Q

P1.X

Vcc

Internal

Pull-up

Logic “1”

TOLATCH

LEAD

LATCH

READPIN

INPUT

Logic “0”

“0”

OFF

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

การทำางานพอร ์ทเป ็นเอาท์การทำางานพอร ์ทเป ็นเอาท์พ ุทพุท ((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

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

การทำางานพอร ์ทเป ็นเอาท์พ ุท การทำางานพอร ์ทเป ็นเอาท์พ ุท((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

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

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

+5 V R 220

i 10-30 mA

0 V R 220

i=0 mA

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

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

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

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

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

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

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

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

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

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

การต่อพอร ์ทของ การต่อพอร ์ทของ 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

ติด

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

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

P1.0

MCS-51

“ 1 ”

+5V

Rled

Rled = Vcc – Vled

I led

= 5v – 2v

15mA

= 200 R #

ดับ

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

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

P1.0

MCS-51

“ 1 ”

GND

Rled

Rled = Vcc – Vled

I led

= 5v – 2v

15mA

= 200 R #

ติด

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

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

P1.0

MCS-51

“ 0 ”

GND

Rled

Rled = Vcc – Vled

I led

= 5v – 2v

15mA

= 200 R #

ดับ

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

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

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

LED 0

LED 7

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

ตัวอย ่างการเข ียนโปรแกรมตัวอย ่างการเข ียนโปรแกรม ควบคุม ควบคุม 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

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

ตัวอย ่างการเข ียนโปรแกรมตัวอย ่างการเข ียนโปรแกรม ควบคุม ควบคุม 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

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

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

P2 = 11111111 B

DELAY

P2 = 00000000 B

DELAY

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

ไฟกระพริบไฟกระพริบ#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

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

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

A = 00000001B

OUT PORT (P2)

Rotate L,R

SJMP

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

ตยตย..โปรแกรมไฟว่ิงไปทางซ้ายมอืโปรแกรมไฟว่ิงไปทางซ้ายมอื 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

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

ตยตย..โปรแกรมไฟว่ิงไปทางขวามอืโปรแกรมไฟว่ิงไปทางขวามอื 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

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

ตยตย..โปรแกรมไฟว่ิงไปทางซ้ายมอืโปรแกรมไฟว่ิงไปทางซ้ายมอื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

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

ตยตย..โปรแกรมไฟว่ิงไปทางขวามอืโปรแกรมไฟว่ิงไปทางขวามอื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

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

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

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

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

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

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

ตยตย..โปรแกรมไฟว่ิงกลางไปริมโปรแกรมไฟว่ิงกลางไปริม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

Recommended