Upload
saksit-klawkla
View
307
Download
3
Embed Size (px)
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