basic-51 course chapter3 (thai)
DESCRIPTION
เรียน-เล่น-ใช้ ไมโครคอนโทรลเลอร์ MCS-51 ด้วยโปรแกรมภาษาเบสิก ตอนที่ 3 ใช้งานพอร์ตอินพุตเอาต์พุตTRANSCRIPT
72 The Prototype Electronics
Prot
o Te
ch -
Ser
ies
Embedded System
ศกดชยผางสาเนยง
ไมโครคอนโทรลเลอร MCS-51 ดวยโปรแกรมภาษาเบสกµÍ¹·Õè 3 : 㪌§Ò¹¾ÍõÍÔ¹¾ØµàÍÒµ¾ØµµÍ¹·Õè 3 : 㪌§Ò¹¾ÍõÍÔ¹¾ØµàÍÒµ¾ØµµÍ¹·Õè 3 : 㪌§Ò¹¾ÍõÍÔ¹¾ØµàÍÒµ¾Øµ
เพมเงอนไขในการควบคมพอรต
เอาตพตดวยการอานคาจากพอรต
อนพต อกหนงการทดลองสาหรบ
การเรยนรเพอใชงานพอรตอนพต
เอาตพตของไมโครคอนโทรลเลอร
P89V51RD2
เรยน-เลน-ใช
เกยวกบ¾อร ตอน¾Øตของไมâครคอนâทรลเลอร P89V51RD2 ในการกาหนดใหเปนพอรตของไมโครคอนโทรลเลอร P89V51RD2ทางานเปนพอรตอนพต ตองเรมตนดวยการเขยนขอมล "1" มาทแตละบตของพอรตทตองการใชงานเปนอนพต เพอหยดการทางานของเฟตทใชในการขบสญญาณเอาตพตของบตนน ๆ ทาใหขาสญญาณของพอรตเชอมตอเขากบวงจรพลอปภายในโดยตรง สงผลใหขาพอรตนนมลอจกเปน "1"สามารถรบสญญาณลอจก "0" จากอปกรณภายนอกไดงาย สญญาณขอมลจากอปกรณภายนอกจะถกสงเขามาแลวเกบไวในวงจรบฟเฟอรภายในพอรต แลวรอใหซพยมาอานคาเขาไป เมอเปนเชนน อปกรณภายนอกทเชอมตอกบพอรตอนพตของไมโครคอนโทรลเลอรMCS-51แบบแฟลชควรกาหนดใหทางานในสภาวะลอกจ "0" จะดและสะดวกทสดซงในปจจบนอปกรณอนพตทเชอมตอไมโครคอนโทรลเลอรแทบทงหมดทางานทลอจก"0"อยแลว
ในรปท 3-1 แสดงโครงสรางอยางงายของขาพอรตทงหมดในไมโครคอนโทรลเลอรMCS-51มาตรฐาน
การท´ลองท 2 อ‹านค‹าอน¾Øตเ¾อควบคØมเอาต¾Øต การทดลองท 1 เราสามารถทาให LED ตดดบตามเวลาทกาหนดไดแลวในการทดลองนจะเปลยนการวธควบคมLEDโดยมาใชสวตชแทนในโปรแกรมของการทดลองนจะทาใหเมอกดสวตชครงแรก LED จะตด และเมอกดอกครง LED จะดบ อปกรณทตองใชในการทดลองนแสดงในรปทL2-1สวนวงจรทดลองเปนดงรปทL2-2
(L2.1) เปดโปรแกรม Bascom-8051 ขนมา เขยนโปรแกรมท L2-1บนทกชอเปนInOutPort.bas
(L2.2)คอมไพลและดาวนโหลดโปรแกรมลงไปยงบอรดTPE-51โดยใชซอฟตแวรFlashMagic
(L2.3)รนโปรแกรมดวยการกดสวตชRESETจากนนทดลองกดสวตชS1หากทกอยางถกตอง LED ตองตดสวาง จากนนทดลองกดสวตช S1 อกครงLED ตองดบ
รปท L2-1 แสดงอปกรณทงหมดทใชในการทดลองน
ab
cd
(a) LED ขนาด 5 มม. สแดงหรอสอนตามตองการ
(b) ตวตานทาน 510Ω 1/4W 5% หรอ 1%
(c) สวตชกดตดปลอยดบ
(d) สายตอวงจร
72 The Prototype Electronics
The Prototype Electronics 73
รปท 3-1 โครงสรางของขาพอรตในไมโครคอนโทรลเลอร MCS-51
$regfi le = "89C51RD.DAT
$default Xram
$ramstart = 0 ‘ เรมตนการทำางานทตำาแหนงแรก
$ramsize = 1024 ‘ กำาหนดใหใชหนวยความจำาแรม 1024 ไบต
$crystal = 11059200 ‘ ใชความถสญญาณนาฬกา 11.059200MHz
Lamp Alias P0.0 ‘ กำาหนดใหคำาวา Lamp คอขาพอรต P0.0
Switch Alias P0.1 ‘ กำาหนดให switch คอขาพอรต P0.1
Lamp = 1 ‘ กำาหนดสภาวะเรมตนให Lamp มคาเปน “1”
Do ‘ จดเรมตนการวนรอบไมรจบ
Debounce Switch , 0 , Controllamp , Sub
‘ ตรวจสอบการกดสวตช ถาเปน “1” แสดงวายงไมมการกดสวตช
‘ ถาเปน “0” แสดงวา มการกดสวตชใหกระโดดไปทำางานทโปรแกรมยอย Controllamp
Loop ‘ จดสนสดของการวนรอบไมรจบ
Controllamp: ‘ จดเรมตนโปรแกรมยอย Controlleamp
If Lamp = 1 Then ‘ การตรวจสอบเงอนไข ถา Lamp มคาเปน “1”
Lamp = 0 ‘ ใหเปลยนคา Lamp เปน “0”
Else ‘ ถา Lamp ไมไดมคาเปน “1”
Lamp = 1 ‘ เปลยนคา Lamp ใหเปน “1”
End If ‘ จดสนสดการตรวจสอบเงอนไข
Return ‘ ยอนกลบ ในทนคอกลบไปท Do...Loop
โปรแกรมท L2-1 ไฟล InOutPort.bas โปรแกรมอานคาจากพอรตอนพตเพอใชในการควบคมพอรตเอาตพตอยางงาย (คาอธบายโปรแกรมภาษาไทยไมตองพมพ)
The Prototype Electronics 73
74 The Prototype Electronics
www.tpemagazine.com
จากโปรแกรมท L2-1 มคำาสงใหม 2 คำาสง และรปการเขยนโปรแกรมยอยเพมขนมา
คำาสงท 1 คอ คำสง Debounce เปนคำาสงทออกแบบมาเพอตรวจสอบการกดสวตชโดยเฉพาะเพอปองกนสญญาณรบกวนจากหนาสมผสของสวตชทยงไมนง เมอมสญญาณเขามา โปรแกรมจะไมทำางานทนท แตจะรออก 25 มลวนาทจงตรวจสอบอกครง หากยงมสญญาณเขามาอย แสดงวา ไมใชสญญาณรบกวน โปรแกรมจงทำางานตามเงอนไขทเขยนไว
คำาสง Debounce มวธการใชอย 2 รปแบบ คอ
Debounce Switch , 0 , โปรแกรมยอย, Sub
' ใหไปทโปรแกรมยอย Controllamp เมอ Switch มคาเปน "0"
Debounce Switch , 1 , โปรแกรมยอย , Sub
' ใหไปทโปรแกรมยอย Controllamp เมอ Switch มคาเปน "1"
คำาสงท 2 คอ คำสง IF...Then เปนคำาสงตรวจสอบเงอนไขวาเปนจรงหรอไมจรง หากเปนจรงใหไปทำาตามเงอนไขทอยหลง Then หากไมจรงใหไปทำาตามเงอนไขทอยหลง Else แทน รปแบบการใชงานทไมซบซอนมอย 2 แบบคอ IF..Else..Then และ IF...Then
กรณ IF..Then...Else
IF A <> B Then
[เงอนไขเปนจรง - ใหกระทำาคำาสงในบลอกน]
Else
[เงอนไขไมเปนจรง - ใหกระทำาคำาสงในบลอกนแทน]
End if
กรณ IF... Then
IF A <> B Then
[เงอนไขเปนจรง - ใหกระทำาคำาสงในบลอกน]
[เงอนไขไมเปนจรง - ใหขามการทำางานไป]
ในโปรแกรมท L2-1 เลอกใชการตรวจสอบในแบบ IF...Then...Else เมอการตรวจสอบเงอนไขเปนจรง จะทำางานอยางหนง ถาหากไมเปนจรงกจะทำางานอกอยางหนง
ในขณะทคำาสง IF...Then จะเกดการทำางานตามทกำาหนดกตอเมอเงอนไขในการตรวจสอบเปนจรงเทานน หากไมจรง โปรแกรมกจะเพกเฉยเพราะไมไดวางเงอนไขคำาสงไว
โปรแกรมยอยเปนการสรางโปรแกรมขนมาเพอทำางานเฉพาะ โดยโปรแกรมยอยทสรางขนในโปรแกรมท L2-1 เรยกวา โปรแกรมยอยแบบไมเปนทางการ กลาวคอ สามารถสรางขนมาไดเลย โดยไมตองประกาศเปนโปรแกรมยอยกอนลวงหนา ตองมเครองหมายโคลอน : อยหลงชอของโปรแกรมยอยเสมอ เชน Controllamp: เปนตน
ส วนโปรแกรมยอยแบบเปนทางการตองมการประกาศชอของโปรแกรมยอยไวทสวนหวของโปรแกรม กอนเขาสโปรแกรมหลก ดงตวอยาง
Declare Sub Controllamp 'ประกาศชอของโปรแกรมยอย Controllamp
..............
.............. [รหสคำาสงของโปรแกรมหลก]
..............
Sub Controllamp () 'จดเรมตนของโปรแกรมยอย Controllamp
.......................... [รหสคำาสงของโปรแกรมยอย]
...........................
End sub 'จดสนสดของโปรแกรมยอย Controllamp
จากการทดลองทผานมาดวยคาสงเพยงไมกบรรทด ซงทาความเขาใจไดงาย กทาใหเราเขยนโปรแกรมควบคมการตดดบของ LED ดวยการใชสวตชไดแลว นคอการเรมตนสรางระบบควบคมงายจากอปกรณอนพตหนงตวควบคมอปกรณเอาตพตหนงตว การทดลองใน BASIC-51 Course จะคอยๆ เรมทวความนาสนใจเพมขนกบอปกรณทหลากหลาย และแนนอนนกทดลองมอใหมสามารถทาความเขาใจตามไปไดไมยากอยางแนนอน
2 The Prototype Electronics
SHOPÍØ»¡Ã³ãËÁ‹ÊÓ ËÃѺ¹Ñ¡»ÃдÔÉ°áÅйѡ·´Åͧ¨Ò¡ËŒÍ§·´Åͧ¢Í§ The Prototype Electronic
คณสมบตทางเทคนค
• ใชไมโครคอนโทรลเลอร P89V51RD2 จาก NXP หนวยความจาโปรแกรมแบบแฟลช 64 กโลไบต ความถสญญาณนาฬกาทใชคอ 11.0592MHz
• มจดตอพอรตครบทกขา และมจดบดกรตวตานทานพลอปไดดวย
• เชอมตอพอรต USB เพอการดาวนโหลดและสอสารขอมลกบคอมพวเตอร เนองจากบนบอรดตดตงชปแปลงสญญาณพอรต USB เปนพอรตอนกรมเบอร MCP2200 ของ Microchip
• มจดตอโมดล LCD 16 ตวอกษร 2 บรรทด รองรบทงแบบธรรมดาและแบบมไฟสองหลง
• สวตช RESET การทางาน
• รบแรงดนไฟเลยง 9 ถง 12V มวงจรควบคมไฟเลยงคงทท +5V 500mAชดสาเรจพรอมใชงาน (มโมดล LCD ,มาตรฐานพรอมสาย USB และซอฟตแวร) @1,070 บาท
ชดคต (มโมดล LCD ,มาตรฐานพรอมสาย USB และซอฟตแวร) @749 บาท
เฉพาะแผนวงจรพมพและไอซ MCP2222 @321 บาท
อปกรณเสรม :
สาย IDC1MF @20 บาท (ม 5 เสน) สาย IDC1FF @20 บาท (ม 5 เสน)
TPE-51 ºÍôäÁâ¤Ã¤Í¹â·ÃÅàÅÍà MCS-51 ÊÓ ËÃѺ§Ò¹·´ÅͧáÅоѲ¹Òâ¤Ã§§Ò¹
• ราคาสนคาทงหมดรวม VAT 7 % แลว
• คาจดสง ฟร
• สมาชก TPE ลด 15 %
EMS คดคาสงเพม 100 บาท
บรษท อนโนเวตฟ เอกเพอรเมนต จากด108 ซอยสขมวท101/2 ถ.สขมวท แขวงบางนา เขตบางนา กรงเทพฯ 10260 โทรศพท : 0-2747-7001 ถง 4 โทรสาร : 0-2747-7005 website : www.inex.co.th หรอ www.tpemagazine.com
ÃØ‹¹Áҵðҹ SM-S4312M SM-S4312M
เปนเซอรโวมอเตอรแบบอะนาลอกมาตรฐาน ดบเบลบอลแบรง ใชเฟองโลหะทงตว มมของแกนหมน 120
ขนาด : 41.3 x 20.7 x 40 มม.หรอ 1.63 x 0.81 x 1.57 นว นาหนก : 60 กรม
แรงบด : 10.3 กโลกรม.เซนตเมตร @4.8V และ 11.1 กโลกรม.เซนตเมตร @6V
@963 บาท
ÃØ‹¹àÅ¡ SM-S3317M SM-S3317M
เปนเซอรโวมอเตอรแบบอะนาลอกขนาดเลก ดบเบลบอลแบรง ใชเฟองโลหะทงตว มมของแกนหมน 120
ขนาด : 31.3 x 16.5 x 28.6 มม. หรอ 1.23 x 0.65 x 1.13 นว นาหนก : 27 กรม
แรงบด : 2.4 กโลกรม.เซนตมเตร @4.8V และ 2.9 กโลกรม.เซนตเมตร @6V
@428 บาท
ÃØ‹¹»ÃѺᵋ§ SM-S4309RSM-S4309R
เปนเซอรโวมอเตอรแบบอะนาลอกทปรบแตงหมนไดรอบตว 360
ดบเบลบอลแบรง ใชเฟองโลหะทงตว ขนาดเทากบรน SM-S4312M
ขนาด : 41.3 x 20.7 x 40 มม.หรอ 1.63 x 0.81 x 1.57 นว
นาหนก : 56 กรม
แรงบด : 7.7 กโลกรม.เซนตเมตร @4.8V และ 8.7 กโลกรม.เซนตเมตร @6V
@963 บาท
SM-S4505B
เปนเซอรโวมอเตอรแบบอะนาลอก ดบเบลบอลแบรง ใชเฟองโลหะผสมกบเฟองพลาสตก ราคาประหยด มมของแกนหมน 120
ขนาด : 40.3 x 20.2 x 36 มม. หรอ 1.59 x 0.80 x 1.42 นว นาหนก : 39 กรม
แรงบด : 3.5 กโลกรม.เซนตมเตร @4.8V และ 4.3 กโลกรม.เซนตเมตร @6V
@642 บาท
à«ÍÃâÇÁÍàµÍÃÊÓ ËÃѺ§Ò¹àÁ¤Ò·Ã͹ԡʢ¹Ò´àÅ¡ ÃØ‹¹Áҵðҹ SM-S4505B
Ἃ¹¾ÅÒʵԡ PVC ÊÓ ËÃѺ§Ò¹»ÃдÔÉ°เปนแผนพลาสตกขนาด A4 หนา 3 มม. สเทา ตดเจาะงาย ไมแตก ประกอบหรอเชอมตอไดดวย
กาวตราชางหรอนายาประสานพลาสตกแบบเดยวกบทใชกบแผนอะครลก ทาสไดงาย
@97 บาท
PVC
TPE-51TPE-51
74 The Prototype Electronics