SlideShare a Scribd company logo
1 of 13
Download to read offline
การทดลองและการประยุกต์ใช้งาน
ไมโครคอนโทรลเลอร์เบอร์ PIC18F4550
ด้วยภาษาซี
ระบบการทํางาน
ไมโครคอนโทรลเลอร
บทที่
เนื้อหาในบท
1.1 ไมโครโพรเซสเซอร์
1.2 ไมโครคอนโทรลเลอร์
1.3 หน่วยประมวลผลกลางหรือซีพียู
1.4 หน่วยความจํา
1.5 คุณลักษณะของไมโครคอนโทรลเลอร์
1.6 สรุป
การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี2
1.1 ไมโครโพรเซสเซอร์ (Microprocessor)
ไมโครโพรเซสเซอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่สามารถคํานวณทางคณิตศาสตร์และลอจิก
ได้เป็นอย่างดี ภายในประกอบด้วย หน่วยประมวลผลกลาง, หน่วยคํานวณทางคณิตศาสตร์และ
ลอจิก บัสข้อมูลและแอดเดรสสําหรับติดต่อกับหน่วยความจําภายนอก และวงจรกําเนิดสัญญาณ
นาฬิกา ดังภาพที่ 1.1 ทําให้ไมโครโพรเซสเซอร์จะต้องเชื่อมกับหน่วยความจําโปรแกรมภายนอก ซึ่ง
ต้องมีไอซีหน่วยความจําเพิ่มขึ้นมา และหากไมโครโพรเซสเซอร์ต้องการเชื่อมต่ออุปกรณ์ อินพุต
หรือเอาต์พุต จําเป็นที่ต้องออกแบบวงจรเพื่อรองรับการเชื่อมต่อ โดยอาศัยอุปกรณ์ที่เรียกว่า ไอซี
ขยายพอร์ต (Port Expander)
จะเห็นได้ว่าการสร้างระบบควบคุมโดยใช้ไมโครโพรเซสเซอร์เป็นตัวประมวลผลกลางจะ
ต้องใช้อุปกรณ์จํานวนมาก พร้อมกับส่งผลให้วงจรและระบบใหญ่ขึ้นตาม แต่ไมโครโพรเซสเซอร์จะมี
การทํางานที่รวดเร็วเนื่องจากมีหน้าที่ไม่มากนัก นั่นคือมีการคํานวณทางคณิตศาสตร์ ลอจิกและทํา
การประมวลผลกลาง ซึ่งความเร็วมากหรือน้อยขึ้นอยู่กับสัญญาณนาฬิกาที่ป้อนให้กับ
ไมโครโพรเซสเซอร์ จะเห็นได้ว่าภายในเครื่องคอมพิวเตอร์ที่ใช้ไมโครโพรเซสเซอร์เป็นหัวใจหลักใน
การประมวลผลการทํางาน ทําให้สามารถเชื่อมต่อกับหน่วยความจําได้มากเป็นหน่วยกิกะไบต์ ขนาด
ของข้อมูลสูงถึง 64 บิตความเร็วสูงเป็นหลายร้อยเมกะเฮิรตซ์ เป็นต้น
หน่วยประมวลกลาง
( CPU )
หน่วยคํานวณทาง
คณิตศาสตร์และลอจิก
( ALU )
วงจรกําเนิด
สัญญาณนาฬิกา
หน่วยความจํา
ภายนอก
พอร์ตอินพุต/เอาต์พุต
ไมโครโพรเซสเซอร์
บัสข้อมูลและแอดเดรส
ภาพที่ 1.1 โครงสร้างพื้นฐานภายในไมโครโพรเซสเซอร์
ที่มา : วรพจน์ กรแก้ววัฒนกุล, ชัยวัฒน์ ลิ้มพรจิตรวิไล (ม.ป.ป. : 4)
1.2 ไมโครคอนโทรลเลอร์ (Microcontroller)
ไมโครคอนโทรลเลอร์เป็นอุปกรณ์ประมวลผลข้อมูลขนาดเล็ก มีความสามารถที่คล้ายคลึง
กับระบบคอมพิวเตอร์ที่คนส่วนใหญ่คุ้นเคย ไมโครคอนโทรลเลอร์มาจากคํา 2 คํารวมกันนั่นคือ
ระบบการทํางานไมโครคอนโทรลเลอร์ 3
ไมโคร (Micro) หมายถึงไมโครโพรเซสเซอร์ (microprocessor) ซึ่งเป็นอุปกรณ์ประมวลผลข้อมูล
ขนาดเล็ก และอีกคําหนึ่งคือ คอนโทรลเลอร์ (Controller) ซึ่งเป็นอุปกรณ์ในการควบคุม ดังนั้นทํา
ให้ไมโครคอนโทรลเลอร์จึงเป็นอุปกรณ์ที่ใช้ควบคุมขนาดเล็ก โดยที่สามารถเขียนโปรแกรมควบคุม
ได้อย่างอิสระ โครงสร้างภายในของไมโครคอนโทรลเลอร์ดังภาพที่ 1.2 จะเห็นได้อย่างชัดเจนว่า
ภายในไมโครคอนโทรลเลอร์มีอุปกรณ์พื้นฐานเหมือนกับไมโครโพรเซสเซอร์ หากแต่จะบรรจุหน่วย
ความจําโปรแกรม หน่วยความจําข้อมูล พอร์ตอินพุตและพอร์ตเอาต์พุตไว้ภายในพร้อม ผู้ใช้งาน
เพียงแต่เขียนโปรแกรมควบคุมลงไปในตัวไมโครคอนโทรลเลอร์ เพียงเท่านี้ก็สามารถใช้งานได้ หาก
แต่ไมโครคอนโทรลเลอร์ต้องการเชื่อมต่อกับอุปกรณ์หน่วยความจําภายนอก ก็สามารถดําเนินการได้
โดยพิจารณาหน่วยความจําภายนอกเป็นอุปกรณ์อินพุตเอาต์พุตตัวหนึ่ง ซึ่งสามารถใช้พอร์ตของ
ไมโครคอนโทรลเลอร์ควบคุมได้เลย (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 7)
หากต้องการควบคุมอุปกรณ์ไม่มากนักและสร้างระบบควบคุม ควรเลือกใช้ไมโคร
คอนโทรลเลอร์ในการประมวลผล
หน่วยประมวลกลาง
( CPU )
หน่วยคํานวณทาง
คณิตศาสตร์และลอจิก
( ALU )
วงจรกําเนิด
สัญญาณนาฬิกา
พอร์ตเอาต์พุต พอร์ตอินพุต
ไมโครคอนโทรลเลอร์
บัสข้อมูลและแอดเดรส
ไทเมอร์
และเคาน์เตอร์
หน่วยความจํา
โปรแกรม
หน่วยความจํา
ข้อมูล
ภาพที่ 1.2 โครงสร้างพื้นฐานภายในไมโครคอนโทรลเลอร์
ที่มา : วรพจน์ กรแก้ววัฒนกุล, ชัยวัฒน์ ลิ้มพรจิตรวิไล (ม.ป.ป. : 4)
1.3 หน่วยประมวลผลกลางหรือซีพียู (Central Processing Unit: CPU)
ซีพียูเป็นเสมือนมันสมองของไมโครคอนโทรลเลอร์ ทําหน้าที่ประมวลผลข้อมูลที่เข้ามาใน
ระบบ จากนั้นส่งต่อข้อมูลไปยังส่วนต่าง ๆ เพื่อควบคุมระบบการทํางานต่อไป จังหวะการทํางาน
ของซีพียูนั้นจะสัมพันธ์กับสัญญาณนาฬิกา
การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี4
การทํางานของซีพียูจะเป็นลักษณะการทํางานแบบไปป์ไลน์ (Pipe Line) มีด้วยกัน 2
จังหวะคือ เฟตช์ (Fetch) และเอ็กซิคิวต์ (Executed) โดยการทํางานจะเริ่มจากการเฟตช์ ซึ่งก็คือ
การเรียกหรือการเข้าถึงคําสั่ง แล้วทําการถอดรหัสเป็นภาษาเครื่องเพื่อเตรียมประมวลผล จากนั้นจะ
เป็นจังหวะของการเอ็กซิคิวต์ ซึ่งก็คือการกระทําตามคําสั่งที่กําหนดให้จนเสร็จสิ้น (ณัฏฐพล
วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 7)
ภาพที่ 1.3 Instruction Pipeline Flow
ที่มา : MICROCHIP (2009: 63)
จากภาพที่ 1.3 เป็นการทํางานแบบไปป์ไลน์ นั้นก็คือ เมื่อ CPU ทําการ Fetch คําสั่งที่ 1
ต่อจากนั้น CPU จะทําการ Execute คําสั่งที่ 1 นี้พร้อมกับการ Fetch เอาคําสั่งต่อไปคือคําสั่งที่ 2
ออกมา และในขณะที่ทําการ Execute คําสั่งที่ 2 ก็จะ Fetch เอาคําสั่งที่ 3 ออกมาโดยจะเป็นแบบ
นี้ไปเรื่อย ๆ ทําให้การประมวลผลที่ดูเหมือนกับใช้เวลา 2 ไซเคิล (TCY) กลายเป็นการใช้เวลาเพียง
ไซเคิลเดียว
1.4 หน่วยความจํา (Memory)
หน่วยความจําเป็นส่วนประกอบที่สําคัญสําหรับไมโครคอนโทรลเลอร์ หน่วยความจําในแต่
ละส่วนของไมโครคอนโทรลเลอร์นั้นจะช่วยให้การพัฒนาโปรแกรมใช้งานง่ายขึ้น ซึ่งไมโคร
คอนโทรลเลอร์ของบริษัทไมโครชิพ ตระกูล PIC จะมีหน่วยความจําภายใน โดยแบ่งออกเป็น 3 แบบ
ด้วยกันคือ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 9)
หน่วยความจําโปรแกรม (Program Memory)
หน่วยความจําข้อมูลแรม (Ram Data Memory)
หน่วยความจําข้อมูลอีอีพรอม (EEPROM Data Memory)
1.4.1 หน่วยความจําโปรแกรม (Program Memory)
หน่วยความจําโปรแกรมเป็นพื้นที่สําหรับเก็บข้อมูลคําสั่งของโปรแกรมที่ผู้ใช้ได้พัฒนาขึ้น
ซึ่งไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 มีการเก็บพื้นที่หน่วยความจําโปรแกรมแบบแฟลช
(Flash) มีขนาด 32 Kbytes สามารถลบและเขียนข้อมูลทับลงใหม่ได้ จํานวน 100,000 ครั้ง
ระบบการทํางานไมโครคอนโทรลเลอร์ 5
ซีพียูจะเข้ามาอ่านข้อมูลรหัสคําสั่งจากหน่วยความจําในส่วนนี้แล้วนําไปประมวลผล เพื่อ
ควบคุมการทํางานของระบบทั้งหมดต่อไป จะเห็นได้ว่าหน่วยความจําโปรแกรมมีความสําคัญอย่าง
มาก หากหน่วยความจําโปรแกรมมีขนาดมากเท่าใด ก็สามารถเขียนโปรแกรมได้มากเท่านั้น
ชนิดของหน่วยความจําโปรแกรมที่ใช้ในไมโครคอนโทรลเลอร์ในบริษัทต่าง ๆ ที่นิยม มีอยู่
3 แบบ คือ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 9)
1.4.1.1 อีพรอม (EPROM: Erasable Programmable Read-Only Memory) ยังแบ่ง
เป็น 2 แบบคือแบบโปรแกรมได้ครั้งเดียว หรือ OTP (One-time programmable) ไม่สามารถลบ
ได้ ตัวถังจะปิดมิดชิดเหมือนไอซีธรรมดา ในบริษัทไมโครชิพสังเกตได้จากเบอร์ของไมโคร
คอนโทรลเลอร์ จะถูกกํากับเป็น PICXXCXXX ซึ่งใช้อักษร C เป็นตัวบอกว่าเป็น OTP และแบบ
โปรแกรมได้หลายครั้ง โดยตัวถังของไมโครคอนโทรลเลอร์จะมีหน้าต่างกระจกติดอยู่บนของตัวถัง
สามารถมองเห็นชิปภายใน เวลาลบโปรแกรมเพื่อเขียนใหม่จะต้องลบด้วยแสงอัลตราไวโอเลต
จํานวนรอบในการโปรแกรมใหม่อยู่ระหว่าง 10-100 ครั้ง แต่เป็นแบบโปรแกรมได้ครั้งเดียว
1.4.1.2 อีอีพรอม (EEPROM: Electrically Erasable Programmable Read-Only
Memory) หน่วยความจําชนิดนี้ สามารถลบและเขียนใหม่ได้ด้วยสัญญาณไฟฟ้าได้เป็นร้อยรอบขึ้น
ไป บางตระกูลถึง 1 ล้านครั้งแต่ในปัจจุบันไม่เป็นที่นิยมใช้ในไมโครคอนโทรลเลอร์แล้ว เนื่องจาก
ต้นทุนสูง และมีไอซีที่เป็นอีอีพรอมเฉพาะ เช่น เบอร์ 24C16 ฯลฯ
1.4.1.3 แฟลช (Flash) เป็นหน่วยความจําโปรแกรมแบบที่สามารถเขียนและลบข้อมูล
ได้ด้วยสัญญาณไฟฟ้าได้เป็นร้อยครั้ง แต่แตกต่างกับอีอีพรอม เนื่องจากกระบวนการลบข้อมูลแบบ
แฟลชจะลบทั้งหมด ไม่สามารถเลือกลบเฉพาะเจาะจงบางแอดเดรสบางตําแหน่งได้ หน่วยความจํา
โปรแกรมแบบนี้ได้รับความนิยมอย่างมาก
1.4.2 หน่วยความจําข้อมูลแรม (Ram Data Memory)
หน่วยความจําข้อมูลแรมเป็นพื้นที่เก็บค่าเรจิสเตอร์และส่วนของตัวแปรที่ผู้พัฒนาได้เขียน
โปรแกรมขึ้น จะเห็นว่าทั้งค่าเรจิสเตอร์และตัวแปรจะต้องทํางานตลอดเวลาทําให้พื้นที่ของแรมจะ
ต้องทํางานทั้งในระหว่างการประมวลผลและหลังประมวลผล หน่วยความจําแรมมีอัตราในการอ่าน
และเขียนข้อมูลสูงมาก และไม่จํากัดจํานวนรอบในการอ่านและเขียน ซึ่งไมโครคอนโทรลเลอร์เบอร์
PIC18F4550 สามารถเก็บพื้นที่หน่วยความจําข้อมูลแรมขนาด 2048 ไบต์ (ณัฏฐพล วงศ์สุนทรชัย,
ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 10)
1.4.3 หน่วยความจําข้อมูลอีอีพรอม (EEPROM Data Memory)
หน่วยความจําข้อมูลอีอีพรอมเป็นการอ่านและเขียนด้วยสัญญาณไฟฟ้า หน่วยความจํา
ข้อมูลอีอีพรอมมีคุณสมบัติที่พิเศษนั่นคือการเก็บรักษาข้อมูลเอาไว้ได้ แม้ว่าจะไม่มีการจ่ายไฟเลี้ยง
ให้แก่ไมโครคอนโทรลเลอร์แล้วก็ตาม เช่น การทํางานของเครื่องปรับอากาศ จะเห็นว่าเมื่อเรากดรีโมต
การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี6
เพื่อเปลี่ยนอุณภูมิที่ตั้งไว้ จาก 25 องศา เป็น 20 องศา จากนั้นปิดไฟฟ้าทั้งระบบด้วยเบรกเกอร์
(Breaker) และเปิดเบรกเกอร์อีกครั้ง ระบบจะคงเก็บค่าอุณภูมิที่ตั้งไว้เป็น 20 องศา การทํางานแบบ
นี้จะต้องเขียนข้อมูลอุณหภูมิที่ตั้งไว้ลงในหน่วยความจําข้อมูลอีอีพรอมทุกครั้งที่เปลี่ยนอุณหภูมิ เมื่อ
ปิดระบบไฟฟ้าค่าอุณหภูมิที่ตั้งไว้ยังคงอยู่ จากนั้นเมื่อเปิดระบบไฟฟ้าไมโครคอนโทรลเลอร์จะทํา
การอ่านข้อมูลจากหน่วยความจําข้อมูลอีอีพรอมเพื่อมาประมวลผลอีกครั้ง ไมโครคอนโทรลเลอร์
เบอร์ PIC18F4550 สามารถเก็บพื้นที่หน่วยความจําข้อมูลอีอีพรอมได้ขนาด 256 ไบต์ จํานวนรอบ
ในการเขียนอ่านอยู่ 1,000,000 ครั้ง (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 11)
1.5 คุณลักษณะของไมโครคอนโทรลเลอร์
1.5.1 แหล่งจ่ายไฟฟ้า (Supply Voltage)
ไมโครคอนโทรลเลอร์ส่วนใหญ่จะทํางานในระดับแรงดันที่เป็นลอจิก นั้นก็คือ 5 โวลต์ แต่
อย่างไรก็ดีไมโครคอนโทรลเลอร์จะเริ่มทํางานขั้นต่ําที่แรงดัน 2.5 โวลต์ และระดับสูงที่ยอมรับได้คือ
6 โวลต์ ระดับแรงดันบริษัทผู้ผลิตจะแจ้งไว้ใน Data Sheet ที่ให้มาแล้ว หากเปรียบเทียบแหล่งจ่าย
ไฟฟ้าเป็นร่างกายมนุษย์จะเสมือนเส้นเลือดที่เลี้ยงร่างกาย
1.5.2 สัญญาณนาฬิกา (The Clock)
ไมโครคอนโทรลเลอร์ทุกรุ่นต้องการสัญญาณนาฬิกาหรือสัญญาณออสซิลเลเตอร์เพื่อการ
ทํางานของระบบ โดยใช้อุปกรณ์คริสทัล และตัวเก็บประจุ (Capacitor) ในการกําเนิดความถี่เหมือน
กับวงจรเรโซแนนซ์ (Resonance) ไมโครคอนโทรลเลอร์บางรุ่นมีวงจรสัญญาณนาฬิกาภายในตัวเอง
สัญญาณนาฬิกาจะเป็นตัวกําหนดความเร็วของการทํางานไมโครคอนโทรลเลอร์เนื่องจากจะเป็น
จังหวะในการเฟตช์และเอ็กซิคิวต์ตามการทํางานแบบไปป์ไลน์ดังภาพที่ 1.3 เป็นเสมือนหัวใจของ
ร่างกายที่ทําหน้าที่สร้างการเต้นของหัวใจ (สุเมธ มามาตย์, 2555 : 72)
1.5.3 วอตช์ด็อก (Watchdog)
เมื่อการทํางานของไมโครคอนโทรลเลอร์เกิดข้อผิดพลาด (Error) หรือล้มเหลว ส่วนใหญ่จะ
แก้ปัญหาโดยการกดปุ่มรีเซตหรือปิดไฟฟ้าแล้วเปิดไฟฟ้าใหม่อีกครั้ง เพื่อให้ระบบกลับสู่สภาพปกติ
อีกครั้งหนึ่ง เป็นวิธีหนึ่งในการแก้ไขปัญหาไมโครคอนโทรลเลอร์เกิด Error แต่แล้วไมโคร
คอนโทรลเลอร์ได้สร้างฟังก์ชันวอตช์ด็อกเพื่อแก้ปัญหาดังกล่าวให้ไมโครคอนโทรลเลอร์สามารถรีเซต
ด้วยตัวของไมโครคอนโทรลเลอร์เอง เช่น ไมโครคอนโทรลเลอร์ถูกสัญญาณรบกวนหรือสัญญาณ
Noise จากมอเตอร์หรือสัญญาณภายนอก อย่างรุนแรงเกินกว่ามาตรฐานของไมโครคอนโทรลเลอร์
จะรับได้ ไมโครคอนโทรลเลอร์จะหยุดการทํางานด้วยสัญญาณรบกวนดังกล่าว จากนั้นอีกสักพักหนึ่ง
ไมโครคอนโทรลเลอร์จะกลับมาทํางานอีกครั้งด้วยตัวของไมโครคอนโทรลเลอร์เอง
ระบบการทํางานไมโครคอนโทรลเลอร์ 7
วอตช์ด็อกเป็นไทเมอร์เพื่อรีเฟรช (Refreshed) โปรแกรมเมื่อไมโครคอนโทรลเลอร์เกิด
Error โดยปกติโปรแกรมจะทํางานวนอยู่ในลูปการทํางานของโปรแกรม จากนั้นหากเปิดการทํางาน
ของวอตช์ด็อก ถ้าโปรแกรมทํางานปกติจะต้องเคลียร์ไทเมอร์ของวอตช์ด็อกทุกครั้งของลูปเพื่อไม่ให้
ไทเมอร์ของวอตช์ด็อกวิ่งค่าไทเมอร์ถึงค่าที่วอตช์ด็อกตั้งค่าไทเมอร์ไว้ ที่จะรีเฟรชโปรแกรม ซึ่งแสดง
ให้เห็นว่าไมโครคอนโทรลเลอร์ยังทํางานปกติอยู่ แต่หากไมโครคอนโทรลเลอร์เกิด Error ไมโคร
คอนโทรลเลอร์จะค้างไม่สามารถวนที่ลูปได้ เมื่อไม่สามารถวนลูปได้ก็ไม่สามารถเคลียร์ไทเมอร์ของ
วอตช์ด็อก ทําให้ไทเมอร์ของวอตช์ด็อกวิ่งค่าไทเมอร์ไปเรื่อย ๆ และไปถึงค่าของไทเมอร์วอตช์ด็อกที่
ตั้งค่าไทเมอร์ไว้ ก็จะส่งผลให้ไมโครคอนโทรลเลอร์เกิดการรีเฟรชไมโครคอนโทรลเลอร์ ซึ่งจะทําให้
โปรแกรมเริ่มทํางานที่บรรทัดแรกของโปรแกรม ส่งผลให้ไมโครคอนโทรลเลอร์เริ่มกลับมาทํางาน
ใหม่อีกครั้งหนึ่งด้วยตัวของไมโครคอนโทรลเลอร์เอง
1.5.4 รีเซตอินพุต (Reset Input)
รีเซตอินพุต เป็นการรีเซตไมโครคอนโทรลเลอร์ด้วยปุ่มกดหรือสัญญาณภายนอก ทําให้
โปรแกรมกลับไปทํางานเริ่มต้นที่บรรทัดแรกของโปรแกรมหรือแอดเดรสที่ 0 ในไมโคร
คอนโทรลเลอร์เบอร์ PIC18F4550 อยู่ในตําแหน่งขา 1 จะทําการรีเซตด้วยลอจิก 0
1.5.5 เรจิสเตอร์ (Register)
เรจิสเตอร์เป็นหน่วยความจําพิเศษที่สําคัญของไมโครคอนโทรลเลอร์ โดยทําหน้าที่คือ เก็บ
ค่าข้อมูลการทํางานของไมโครคอนโทรลเลอร์ สถานะการทํางานต่าง ๆ การทํางานโมดูลย่อย ข้อมูล
อินพุต ข้อมูลเอาต์พุต โดยข้อมูลต่าง ๆ จะเก็บไว้ในเรจิสเตอร์ที่แตกต่างกันตามหน้าที่การทํางาน
เช่น เรจิสเตอร์ซีพียู เรจิสเตอร์ควบคุมพอร์ตอินพุตเอาต์พุตและเรจิสเตอร์แสดงสถานะ อย่างไรก็
ตาม ข้อมูลในเรจิสเตอร์จะคงอยู่ตราบเท่าที่ยังจ่ายไฟเลี้ยงให้แก่ไมโครคอนโทรลเลอร์ ซีพียูสามารถ
อ่านเขียนเรจิสเตอร์ได้ตลอดเวลา หากไม่มีไฟเลี้ยงแล้วข้อมูลในเรจิสเตอร์จะหายไป (ณัฏฐพล
วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 12)
1.5.6 สแต็ก (Stack)
สแต็กทําหน้าที่เก็บข้อมูล โดยการเก็บข้อมูลของสแต็กจะมีลักษณะเป็นระดับหรือเป็นชั้น
โดยข้อมูลที่เก็บเข้ามาก่อนแต่จะต้องอ่านออกทีหลัง หรือเป็นแบบ FILO (First In Last Out)
ไมโครคอนโทรลเลอร์มีขนาดของสแต็กมากเท่าไร ยิ่งช่วยให้การทํางานสะดวกขึ้น เพราะในการ
ประมวลผลมีโอกาสมากที่ต้องพักข้อมูลในเรจิสเตอร์หลัก เพื่อไปทํางานอื่นก่อน หลังจากนั้นจึงจะ
กลับมาอ่านข้อมูลในสแต็กเพื่อให้ทํางานต่อ โดยเฉพาะอย่างยิ่งกับงานที่มีการอินเตอร์รัปต์หรือขัด
จังหวะซีพียูบ่อย ๆ รวมถึงงานที่มีการกระโดดไปทํางานที่โปรแกรมย่อยจํานวนมาก เพราะเมื่อ
ต้องการกระโดดออกจากโปรแกรมหลักไปทํางานที่โปรแกรมย่อย ก็ต้องเก็บข้อมูลของเรจิสเตอร์
หลักที่ทํางานค้างอยู่ลงในสแต็ก หลังจากนั้นกระโดดไปทํางานที่ต้องการ เมื่อทํางานเสร็จสิ้นก็จะ
กลับเข้ามาอ่านค่าในสแต็กต่อ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 12)
การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี8
1.5.7 ไมโครคอนโทรลเลอร์ของบริษัทไมโครชิพ (Microchip)
ในปัจจุบันบริษัทที่ผลิตไมโครคอนโทรลเลอร์ที่ได้รับความนิยมมีด้วยกัน 4 บริษัทใหญ่ คือ
ไมโครชิพ (MICROCHIP) เอทเมล (ATMEL) รีเนสัส (RENESAS) และโมโตโรล่า (MOTOROLA) ทั้ง
4 บริษัทมีทั้งข้อดีและข้อด้อยที่แตกต่างกันออกไป ซึ่งในช่วงแรกของการศึกษาประเทศไทยนิยมใช้
ไมโครคอนโทรลเลอร์ MCS51 ของบริษัท ATMEL เนื่องจากราคาเครื่องมือในการพัฒนาผลิตภัณฑ์มี
ราคาถูกและหาได้ง่าย จากนั้นบริษัทต่าง ๆ ได้สร้างเครื่องมือพัฒนาออกมาแข่งขันอย่างมากมาย
และสามารถใช้งานได้ง่าย เพียงแค่สมัครสมาชิกก็สามารถดาวน์โหลดโปรแกรมและเครื่องมือต่าง ๆ
จากเว็บไซต์ของบริษัทมาใช้งานได้เลย (สุเมธ มามาตย์, 2555 : 78)
บริษัทไมโครชิพได้พัฒนาตระกูลออกแบบ 3 ส่วนใหญ่ คือ ไมโครคอนโทรลเลอร์ขนาด 8
บิต เช่น เบอร์ PIC10, PIC12, PIC16 และ PIC18 ไมโครคอนโทรลเลอร์ขนาด 16 บิต เช่นเบอร์
PIC24, PIC24H, dsPIC30 และ dsPIC33 (สุเมธ มามาตย์, 2555 : 80) ไมโครคอนโทรลเลอร์
ขนาด 32 บิต เช่น เบอร์ PIC32 ทั้ง 3 รูปแบบจะมีโครงสร้างการทํางานภายในที่ไม่เหมือนกัน หาก
นําไมโครคอนโทรลเลอร์มาใช้จําเป็นที่ต้องศึกษาโครงสร้างการทํางานของที่แต่ละเบอร์อย่างดี
ปัจจุบันบริษัทไมโครชิพได้พัฒนาเครื่องมือให้สามารถใช้งานได้ง่ายหรือประยุกต์ใช้เพื่อต่อจากเบอร์
อื่นในตระกูลเดียวกันได้ ดังนั้น เมื่อเรียนรู้เบอร์ใดเบอร์หนึ่ง เบอร์ที่เหลือสามารถใช้งานได้หมด และ
ไมโครชิพได้ผลิตไมโครคอนโทรลเลอร์ในแต่ละตระกูลให้มีราคาต่ํา และมีประสิทธิภาพสูง
1.6 สรุป
ไมโครโพรเซสเซอร์ มีการประมวลผลการทํางานที่รวดเร็ว เนื่องจากมีหน้าที่ทํางานเพียง
การดําเนินการทางคณิตศาสตร์ ลอจิกและทําการประมวลผลกลาง เท่านั้น
ไมโครคอนโทรลเลอร์ เป็นอุปกรณ์ที่ใช้ควบคุมขนาดเล็ก ที่มีโครงสร้างพื้นฐานของ
ไมโครโพรเซสเซอร์อยู่ภายในและมีพอร์ตอินพุตและพอร์ตเอาต์พุตเพื่อต่อใช้งานทําให้สามารถเป็น
อุปกรณ์ควบคุมได้ทันทีแต่ประมวลจะช้ากว่าไมโครโพรเซสเซอร์
ซีพียู เป็นเสมือนมันสมองของไมโครคอนโทรลเลอร์ ซึ่งทําหน้าที่ประมวลผลข้อมูลที่เข้ามา
ในระบบซึ่งการทํางานของซีพียูในไมโครคอนโทรลเลอร์จะมีการทํางานแบบไปป์ไลน์ (Pipe Line)
หน่วยความจํา เป็นส่วนในการเก็บข้อมูลของไมโครคอนโทรลเลอร์ สามารถแบ่งออกได้ 3
แบบด้วยกันคือหน่วยความจําโปรแกรม หน่วยความจําข้อมูลแรม หน่วยความจําข้อมูลอีอีพรอม
แหล่งจ่ายไฟฟ้า ไมโครคอนโทรลเลอร์จะเริ่มที่แรงดัน 2.5-6 โวลต์
สัญญาณนาฬิกา จะเป็นตัวกําหนดความเร็วของการทํางานไมโครคอนโทรลเลอร์เป็นเสมือน
หัวใจของร่างกายที่ทําหน้าที่สร้างการเต้นของหัวใจ
วอตช์ด็อก เป็นไทเมอร์เพื่อรีเฟรช (Refreshed) ให้ไมโครคอนโทรลเลอร์เริ่มทํางานใหม่อีก
ครั้ง เมื่อระบบของไมโครคอนโทรลเลอร์เกิดความผิดพลาด
ระบบการทํางานไมโครคอนโทรลเลอร์ 9
เรจิสเตอร์ ทําหน้าที่เก็บค่าข้อมูลต่าง ๆ ของไมโครคอนโทรลเลอร์และสถานะการทํางาน
ต่างๆ
ไมโครคอนโทรลเลอร์บริษัทไมโครชิพ ได้พัฒนาตระกูลออกแบบ 3 ส่วนใหญ่ คือ ไมโคร
คอนโทรลเลอร์ขนาด 8 บิต 16 บิต และ 32 บิต
การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี10
คําถามทายบทที่ 1
1. ไมโครโพรเซสเซอร์แตกต่างกับไมโครคอนโทรลเลอร์อย่างไร จงอธิบายและยกตัวอย่าง
2. จงอธิบายหลักการทํางานของหน่วยประมวลผลกลาง
3. หน่วยความจําภายในทั้ง 3 แบบมีลักษณะอย่างไร
4. หน่วยความจําโปรแกรม (Program Memory) ของไมโครคอนโทรลเลอร์เบอร์ PIC18F4550
เป็นหน่วยความจําแบบใด และมีขนาดเท่าไร สามารถลบและเขียนได้จํานวนกี่ครั้ง
5. หากต้องการเขียนข้อมูล โดยที่เมื่อไฟดับหรือปิดไฟ ข้อมูลยังคงอยู่ จะต้องเขียนข้อมูลไว้ที่
หน่วยความจําข้อมูลแบบใด
6. เพื่อป้องกันระบบการทํางานของไมโครคอนโทรลเลอร์ที่ล้มเหลว จะต้องใช้คุณลักษณะของ
ไมโครคอนโทรลเลอร์แบบใดเพื่อให้ระบบกลับมาทํางานด้วยตัวของไมโครคอนโทรลเลอร์
เอง
7. บริษัทไมโครชิพได้พัฒนาตระกูลของไมโครคอนโทรลเลอร์ออกสู่ท้องตลาด มีกี่ตระกูลและ
อะไรบ้าง
8. อุปกรณ์อิเล็กทรอนิกส์ที่สร้างสัญญาณนาฬิกาคืออุปกรณ์ใด
9. การรีเซตอินพุตของไมโครคอนโทรลเลอร์เพื่ออะไร
10. การเก็บข้อมูลของสแต็กมีลักษณะอย่างไร
ระบบการทํางานไมโครคอนโทรลเลอร์ 11
เอกสารอางอิง
กฤษดา ใจเย็น, ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). เรียนรู้และใช้งาน
PICBASIC PRO คอมไพเลอร์เขียนโปรแกรมภาษาเบสิกควบคุมไมโครคอนโทรลเลอร์
PIC. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์.
กฤษณ์ ทองขุนดํา. (ม.ป.ป.). วิชาการเขียนโปรแกรมควบคุมไมโครคอนโทรลเลอร์สําหรับระบบ
สมองกลฝังตัว. ค้นเมื่อวันที่ 1 เมษายน 2556, จาก http://mis.csit.sci.tsu.ac.th/grit/
grit01.html.
ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). เรียนรู้และปฏิบัติการไมโคร
คอนโทรลเลอร์ PIC16F628. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์.
นคร ภักดีชาติ, ธีรบูลย์ หล่อวิเชียรรุ่ง, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). ปฏิบัติการไมโคร
คอนโทรลเลอร์ MCS-51 ด้วยโปรแกรมภาษา C. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์.
ประจิน พลังสันติกุล. (2537). PIC Work Examples and C Source Code. กรุงเทพฯ : แอพ-
ซอฟต์เทค.
________. (2551). All About CCS C. กรุงเทพฯ : แอพซอฟต์เทค.
________. (ม.ป.ป.). เรียนรู้และใช้งาน CCS C คอมไพเลอร์ เขียนโปรแกรมภาษา C ควบคุม
ไมโครคอนโทรลเลอร์ PIC. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์.
วัชรินทร์ เคารพ. (2546). เรียนรู้และเข้าใจสถาปัตยกรรมไมโครคอนโทรลเลอร์ PIC16F877.
พิมพ์ครั้งที่ 1. กรุงเทพฯ : อีทีที.
วรพจน์ กรแก้ววัฒนกุล, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). เรียนรู้และปฏิบัติการไมโคร
คอนโทรลเลอร์ MCS-51. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์.
สุเมธ มามาตย์. (2555). Embedded Microcontroller. ปทุมธานี : สถาบันอิเล็กทรอนิกส์
กรุงเทพรังสิต.
อีทีที. (ม.ป.ป.). คู่มือการใช้งาน CP-PIC USB/4550 EXP (ICD2). กรุงเทพฯ : อีทีที อินโนเวตีฟ.
Custom Computer Service. (2010). C Compiler Reference Manual February
2010. Sioux Falls: CCS.
________. (2013). PIC MCU Development Tools. ค้นเมื่อวันที่ 1 เมษายน 2556, จาก
http://www.ccsinfo.com/content.php?page=development-kits.
Dogan Lbrahim. (2008). Advanced PIC Microcontroller Projects in C from USB to
RTOS with the PIC18F series. London: Linacre House, Jordan Hill, Oxford
OX2 8DP.
Julio Sanchez, Maria P. Caton. (2007). Microcontroller Programming The Microchip
PIC. Boca Raton: CRC Press.
การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี12
John Lovine. (2000). PIC Microcontroller Project Book. New York: McGraw-Hill.
Microchip Technology Inc. (2009). PIC18F2455/2550/4455/4550 Data Sheet. USA:
Microchip Technology Incorporated.
MikroElektronika. (n.d.). Introduction: World of Microcontrollers. ค้นเมื่อวันที่ 1
เมษายน 2556, จาก http://www.mikroe.com/chapters/view/1/introduction-world-
of-microcontrollers.
Richard Barnett, Larry O’Cull, Sarah Cox. (2004). Embedded C Programming and
the Microchip PIC. New York: Delmar Learning.

More Related Content

What's hot

หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)Supaksorn Tatongjai
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัยSuriyawut Threecai
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์Noomim
 
หลักการทำงานและเลือกใช้คอมพิวเตอร์
หลักการทำงานและเลือกใช้คอมพิวเตอร์หลักการทำงานและเลือกใช้คอมพิวเตอร์
หลักการทำงานและเลือกใช้คอมพิวเตอร์Jeerawan Khamprasert
 
บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์
บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์
บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์อยู่ไหน เหงา
 
หลักการทำงานของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์หลักการทำงานของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์Manas Panjai
 
อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์Chaiwattana Tongpramoon
 
ใบงาน 3.1 ชื่อนันทวัน no16
ใบงาน 3.1 ชื่อนันทวัน no16ใบงาน 3.1 ชื่อนันทวัน no16
ใบงาน 3.1 ชื่อนันทวัน no16Nuntawan Singhakun
 
อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)
อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)
อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)Araya Chiablaem
 
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์russana
 

What's hot (14)

หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัย
 
คอมพิวเตอร์เบื้องต้น ม.1
คอมพิวเตอร์เบื้องต้น ม.1คอมพิวเตอร์เบื้องต้น ม.1
คอมพิวเตอร์เบื้องต้น ม.1
 
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์หน่วยประมวลผลของเครื่องคอมพิวเตอร์
หน่วยประมวลผลของเครื่องคอมพิวเตอร์
 
หลักการทำงานและเลือกใช้คอมพิวเตอร์
หลักการทำงานและเลือกใช้คอมพิวเตอร์หลักการทำงานและเลือกใช้คอมพิวเตอร์
หลักการทำงานและเลือกใช้คอมพิวเตอร์
 
บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์
บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์
บทที่ 1 เรื่องหลักการทำงานและการเลือกใช้คอมพิวเตอร์
 
หลักการทำงานของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์หลักการทำงานของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์
 
หลักการทำงานของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์หลักการทำงานของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์
 
อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์อุปกรณ์พื้นฐานคอมพิวเตอร์
อุปกรณ์พื้นฐานคอมพิวเตอร์
 
ใบงาน 3.1 ชื่อนันทวัน no16
ใบงาน 3.1 ชื่อนันทวัน no16ใบงาน 3.1 ชื่อนันทวัน no16
ใบงาน 3.1 ชื่อนันทวัน no16
 
Course.eau.ac.thcourse download0007132chapter1
Course.eau.ac.thcourse download0007132chapter1Course.eau.ac.thcourse download0007132chapter1
Course.eau.ac.thcourse download0007132chapter1
 
แบบทดสอบคอมพิวเตอร์ ชุดที่ 4
แบบทดสอบคอมพิวเตอร์  ชุดที่  4แบบทดสอบคอมพิวเตอร์  ชุดที่  4
แบบทดสอบคอมพิวเตอร์ ชุดที่ 4
 
อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)
อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)
อุปกรณ์พื้นฐานคอมพิวเตอร์(แก้ไข)
 
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
บทที่ 4 หลักการทำงานของระบบคอมพิวเตอร์
 

Similar to 9789740332824

ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30
ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30
ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30Nuntawan Singhakun
 
ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30
ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30
ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30Ubonwan Tupsai
 
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8Korakot Kaevwichian
 
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8Korakot Kaevwichian
 
เทคโนโลยีคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์เทคโนโลยีคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์prakaipet
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัยSuriyawut Threecai
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัยSuriyawut Threecai
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัยSuriyawut Threecai
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัยSuriyawut Threecai
 
คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์Srisomwong Sukkantharak
 
คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์Srisomwong Sukkantharak
 
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)krissapat
 
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)krissapat
 
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์Tay Chaloeykrai
 
โครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้น
โครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้นโครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้น
โครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้นBeerza Kub
 
ระบบเครือข่ายคอมพิวเตอร์
ระบบเครือข่ายคอมพิวเตอร์ระบบเครือข่ายคอมพิวเตอร์
ระบบเครือข่ายคอมพิวเตอร์pui3327
 

Similar to 9789740332824 (20)

ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30
ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30
ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30
 
ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30
ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30ใบงาน 3.1 นางสาวอุบลวรรณ  เลขที่  30
ใบงาน 3.1 นางสาวอุบลวรรณ เลขที่ 30
 
01 ipst microbox
01 ipst microbox01 ipst microbox
01 ipst microbox
 
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
 
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
ใบงานที่ 3 น.ส.กรกช แก้ววิเชียร ม.4.5 เลขที่ 8
 
เทคโนโลยีคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์เทคโนโลยีคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัย
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัย
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัย
 
สุริยาวุธ ตรีชัย
สุริยาวุธ  ตรีชัยสุริยาวุธ  ตรีชัย
สุริยาวุธ ตรีชัย
 
คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์
 
คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์และอุปกรณ์
คอมพิวเตอร์และอุปกรณ์
 
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
 
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
1 ca-cpu structure (wichet p.'s conflicted copy 2012-12-17)
 
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์
ใบความรู้ที่ 2 หลักการพื้นฐานของคอมพิวเตอร์
 
Cpu
CpuCpu
Cpu
 
โครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้น
โครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้นโครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้น
โครงสร้างคอมพิวเตอร์และหลักการทำงานเบื้องต้น
 
ระบบเครือข่ายคอมพิวเตอร์
ระบบเครือข่ายคอมพิวเตอร์ระบบเครือข่ายคอมพิวเตอร์
ระบบเครือข่ายคอมพิวเตอร์
 
งานคอม 18.11.11
งานคอม 18.11.11งานคอม 18.11.11
งานคอม 18.11.11
 
งานคอม 18.11.11
งานคอม 18.11.11งานคอม 18.11.11
งานคอม 18.11.11
 

More from CUPress

9789740337737
97897403377379789740337737
9789740337737CUPress
 
9789740337560
97897403375609789740337560
9789740337560CUPress
 
9789740337478
97897403374789789740337478
9789740337478CUPress
 
9789740337270
97897403372709789740337270
9789740337270CUPress
 
9789740337102
97897403371029789740337102
9789740337102CUPress
 
9789740337096
97897403370969789740337096
9789740337096CUPress
 
9789740337072
97897403370729789740337072
9789740337072CUPress
 
9789740337027
97897403370279789740337027
9789740337027CUPress
 
9789740336914
97897403369149789740336914
9789740336914CUPress
 
9789740336907
97897403369079789740336907
9789740336907CUPress
 
9789740336686
97897403366869789740336686
9789740336686CUPress
 
9789740336457
97897403364579789740336457
9789740336457CUPress
 
9789740336440
97897403364409789740336440
9789740336440CUPress
 
9789740336389
97897403363899789740336389
9789740336389CUPress
 
9789740336280
97897403362809789740336280
9789740336280CUPress
 
9789740336365
97897403363659789740336365
9789740336365CUPress
 
9789740336303
97897403363039789740336303
9789740336303CUPress
 
9789740336242
97897403362429789740336242
9789740336242CUPress
 
9789740336235
97897403362359789740336235
9789740336235CUPress
 
9789740336099
97897403360999789740336099
9789740336099CUPress
 

More from CUPress (20)

9789740337737
97897403377379789740337737
9789740337737
 
9789740337560
97897403375609789740337560
9789740337560
 
9789740337478
97897403374789789740337478
9789740337478
 
9789740337270
97897403372709789740337270
9789740337270
 
9789740337102
97897403371029789740337102
9789740337102
 
9789740337096
97897403370969789740337096
9789740337096
 
9789740337072
97897403370729789740337072
9789740337072
 
9789740337027
97897403370279789740337027
9789740337027
 
9789740336914
97897403369149789740336914
9789740336914
 
9789740336907
97897403369079789740336907
9789740336907
 
9789740336686
97897403366869789740336686
9789740336686
 
9789740336457
97897403364579789740336457
9789740336457
 
9789740336440
97897403364409789740336440
9789740336440
 
9789740336389
97897403363899789740336389
9789740336389
 
9789740336280
97897403362809789740336280
9789740336280
 
9789740336365
97897403363659789740336365
9789740336365
 
9789740336303
97897403363039789740336303
9789740336303
 
9789740336242
97897403362429789740336242
9789740336242
 
9789740336235
97897403362359789740336235
9789740336235
 
9789740336099
97897403360999789740336099
9789740336099
 

9789740332824

  • 2. ระบบการทํางาน ไมโครคอนโทรลเลอร บทที่ เนื้อหาในบท 1.1 ไมโครโพรเซสเซอร์ 1.2 ไมโครคอนโทรลเลอร์ 1.3 หน่วยประมวลผลกลางหรือซีพียู 1.4 หน่วยความจํา 1.5 คุณลักษณะของไมโครคอนโทรลเลอร์ 1.6 สรุป
  • 3. การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี2 1.1 ไมโครโพรเซสเซอร์ (Microprocessor) ไมโครโพรเซสเซอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ที่สามารถคํานวณทางคณิตศาสตร์และลอจิก ได้เป็นอย่างดี ภายในประกอบด้วย หน่วยประมวลผลกลาง, หน่วยคํานวณทางคณิตศาสตร์และ ลอจิก บัสข้อมูลและแอดเดรสสําหรับติดต่อกับหน่วยความจําภายนอก และวงจรกําเนิดสัญญาณ นาฬิกา ดังภาพที่ 1.1 ทําให้ไมโครโพรเซสเซอร์จะต้องเชื่อมกับหน่วยความจําโปรแกรมภายนอก ซึ่ง ต้องมีไอซีหน่วยความจําเพิ่มขึ้นมา และหากไมโครโพรเซสเซอร์ต้องการเชื่อมต่ออุปกรณ์ อินพุต หรือเอาต์พุต จําเป็นที่ต้องออกแบบวงจรเพื่อรองรับการเชื่อมต่อ โดยอาศัยอุปกรณ์ที่เรียกว่า ไอซี ขยายพอร์ต (Port Expander) จะเห็นได้ว่าการสร้างระบบควบคุมโดยใช้ไมโครโพรเซสเซอร์เป็นตัวประมวลผลกลางจะ ต้องใช้อุปกรณ์จํานวนมาก พร้อมกับส่งผลให้วงจรและระบบใหญ่ขึ้นตาม แต่ไมโครโพรเซสเซอร์จะมี การทํางานที่รวดเร็วเนื่องจากมีหน้าที่ไม่มากนัก นั่นคือมีการคํานวณทางคณิตศาสตร์ ลอจิกและทํา การประมวลผลกลาง ซึ่งความเร็วมากหรือน้อยขึ้นอยู่กับสัญญาณนาฬิกาที่ป้อนให้กับ ไมโครโพรเซสเซอร์ จะเห็นได้ว่าภายในเครื่องคอมพิวเตอร์ที่ใช้ไมโครโพรเซสเซอร์เป็นหัวใจหลักใน การประมวลผลการทํางาน ทําให้สามารถเชื่อมต่อกับหน่วยความจําได้มากเป็นหน่วยกิกะไบต์ ขนาด ของข้อมูลสูงถึง 64 บิตความเร็วสูงเป็นหลายร้อยเมกะเฮิรตซ์ เป็นต้น หน่วยประมวลกลาง ( CPU ) หน่วยคํานวณทาง คณิตศาสตร์และลอจิก ( ALU ) วงจรกําเนิด สัญญาณนาฬิกา หน่วยความจํา ภายนอก พอร์ตอินพุต/เอาต์พุต ไมโครโพรเซสเซอร์ บัสข้อมูลและแอดเดรส ภาพที่ 1.1 โครงสร้างพื้นฐานภายในไมโครโพรเซสเซอร์ ที่มา : วรพจน์ กรแก้ววัฒนกุล, ชัยวัฒน์ ลิ้มพรจิตรวิไล (ม.ป.ป. : 4) 1.2 ไมโครคอนโทรลเลอร์ (Microcontroller) ไมโครคอนโทรลเลอร์เป็นอุปกรณ์ประมวลผลข้อมูลขนาดเล็ก มีความสามารถที่คล้ายคลึง กับระบบคอมพิวเตอร์ที่คนส่วนใหญ่คุ้นเคย ไมโครคอนโทรลเลอร์มาจากคํา 2 คํารวมกันนั่นคือ
  • 4. ระบบการทํางานไมโครคอนโทรลเลอร์ 3 ไมโคร (Micro) หมายถึงไมโครโพรเซสเซอร์ (microprocessor) ซึ่งเป็นอุปกรณ์ประมวลผลข้อมูล ขนาดเล็ก และอีกคําหนึ่งคือ คอนโทรลเลอร์ (Controller) ซึ่งเป็นอุปกรณ์ในการควบคุม ดังนั้นทํา ให้ไมโครคอนโทรลเลอร์จึงเป็นอุปกรณ์ที่ใช้ควบคุมขนาดเล็ก โดยที่สามารถเขียนโปรแกรมควบคุม ได้อย่างอิสระ โครงสร้างภายในของไมโครคอนโทรลเลอร์ดังภาพที่ 1.2 จะเห็นได้อย่างชัดเจนว่า ภายในไมโครคอนโทรลเลอร์มีอุปกรณ์พื้นฐานเหมือนกับไมโครโพรเซสเซอร์ หากแต่จะบรรจุหน่วย ความจําโปรแกรม หน่วยความจําข้อมูล พอร์ตอินพุตและพอร์ตเอาต์พุตไว้ภายในพร้อม ผู้ใช้งาน เพียงแต่เขียนโปรแกรมควบคุมลงไปในตัวไมโครคอนโทรลเลอร์ เพียงเท่านี้ก็สามารถใช้งานได้ หาก แต่ไมโครคอนโทรลเลอร์ต้องการเชื่อมต่อกับอุปกรณ์หน่วยความจําภายนอก ก็สามารถดําเนินการได้ โดยพิจารณาหน่วยความจําภายนอกเป็นอุปกรณ์อินพุตเอาต์พุตตัวหนึ่ง ซึ่งสามารถใช้พอร์ตของ ไมโครคอนโทรลเลอร์ควบคุมได้เลย (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 7) หากต้องการควบคุมอุปกรณ์ไม่มากนักและสร้างระบบควบคุม ควรเลือกใช้ไมโคร คอนโทรลเลอร์ในการประมวลผล หน่วยประมวลกลาง ( CPU ) หน่วยคํานวณทาง คณิตศาสตร์และลอจิก ( ALU ) วงจรกําเนิด สัญญาณนาฬิกา พอร์ตเอาต์พุต พอร์ตอินพุต ไมโครคอนโทรลเลอร์ บัสข้อมูลและแอดเดรส ไทเมอร์ และเคาน์เตอร์ หน่วยความจํา โปรแกรม หน่วยความจํา ข้อมูล ภาพที่ 1.2 โครงสร้างพื้นฐานภายในไมโครคอนโทรลเลอร์ ที่มา : วรพจน์ กรแก้ววัฒนกุล, ชัยวัฒน์ ลิ้มพรจิตรวิไล (ม.ป.ป. : 4) 1.3 หน่วยประมวลผลกลางหรือซีพียู (Central Processing Unit: CPU) ซีพียูเป็นเสมือนมันสมองของไมโครคอนโทรลเลอร์ ทําหน้าที่ประมวลผลข้อมูลที่เข้ามาใน ระบบ จากนั้นส่งต่อข้อมูลไปยังส่วนต่าง ๆ เพื่อควบคุมระบบการทํางานต่อไป จังหวะการทํางาน ของซีพียูนั้นจะสัมพันธ์กับสัญญาณนาฬิกา
  • 5. การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี4 การทํางานของซีพียูจะเป็นลักษณะการทํางานแบบไปป์ไลน์ (Pipe Line) มีด้วยกัน 2 จังหวะคือ เฟตช์ (Fetch) และเอ็กซิคิวต์ (Executed) โดยการทํางานจะเริ่มจากการเฟตช์ ซึ่งก็คือ การเรียกหรือการเข้าถึงคําสั่ง แล้วทําการถอดรหัสเป็นภาษาเครื่องเพื่อเตรียมประมวลผล จากนั้นจะ เป็นจังหวะของการเอ็กซิคิวต์ ซึ่งก็คือการกระทําตามคําสั่งที่กําหนดให้จนเสร็จสิ้น (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 7) ภาพที่ 1.3 Instruction Pipeline Flow ที่มา : MICROCHIP (2009: 63) จากภาพที่ 1.3 เป็นการทํางานแบบไปป์ไลน์ นั้นก็คือ เมื่อ CPU ทําการ Fetch คําสั่งที่ 1 ต่อจากนั้น CPU จะทําการ Execute คําสั่งที่ 1 นี้พร้อมกับการ Fetch เอาคําสั่งต่อไปคือคําสั่งที่ 2 ออกมา และในขณะที่ทําการ Execute คําสั่งที่ 2 ก็จะ Fetch เอาคําสั่งที่ 3 ออกมาโดยจะเป็นแบบ นี้ไปเรื่อย ๆ ทําให้การประมวลผลที่ดูเหมือนกับใช้เวลา 2 ไซเคิล (TCY) กลายเป็นการใช้เวลาเพียง ไซเคิลเดียว 1.4 หน่วยความจํา (Memory) หน่วยความจําเป็นส่วนประกอบที่สําคัญสําหรับไมโครคอนโทรลเลอร์ หน่วยความจําในแต่ ละส่วนของไมโครคอนโทรลเลอร์นั้นจะช่วยให้การพัฒนาโปรแกรมใช้งานง่ายขึ้น ซึ่งไมโคร คอนโทรลเลอร์ของบริษัทไมโครชิพ ตระกูล PIC จะมีหน่วยความจําภายใน โดยแบ่งออกเป็น 3 แบบ ด้วยกันคือ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 9) หน่วยความจําโปรแกรม (Program Memory) หน่วยความจําข้อมูลแรม (Ram Data Memory) หน่วยความจําข้อมูลอีอีพรอม (EEPROM Data Memory) 1.4.1 หน่วยความจําโปรแกรม (Program Memory) หน่วยความจําโปรแกรมเป็นพื้นที่สําหรับเก็บข้อมูลคําสั่งของโปรแกรมที่ผู้ใช้ได้พัฒนาขึ้น ซึ่งไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 มีการเก็บพื้นที่หน่วยความจําโปรแกรมแบบแฟลช (Flash) มีขนาด 32 Kbytes สามารถลบและเขียนข้อมูลทับลงใหม่ได้ จํานวน 100,000 ครั้ง
  • 6. ระบบการทํางานไมโครคอนโทรลเลอร์ 5 ซีพียูจะเข้ามาอ่านข้อมูลรหัสคําสั่งจากหน่วยความจําในส่วนนี้แล้วนําไปประมวลผล เพื่อ ควบคุมการทํางานของระบบทั้งหมดต่อไป จะเห็นได้ว่าหน่วยความจําโปรแกรมมีความสําคัญอย่าง มาก หากหน่วยความจําโปรแกรมมีขนาดมากเท่าใด ก็สามารถเขียนโปรแกรมได้มากเท่านั้น ชนิดของหน่วยความจําโปรแกรมที่ใช้ในไมโครคอนโทรลเลอร์ในบริษัทต่าง ๆ ที่นิยม มีอยู่ 3 แบบ คือ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 9) 1.4.1.1 อีพรอม (EPROM: Erasable Programmable Read-Only Memory) ยังแบ่ง เป็น 2 แบบคือแบบโปรแกรมได้ครั้งเดียว หรือ OTP (One-time programmable) ไม่สามารถลบ ได้ ตัวถังจะปิดมิดชิดเหมือนไอซีธรรมดา ในบริษัทไมโครชิพสังเกตได้จากเบอร์ของไมโคร คอนโทรลเลอร์ จะถูกกํากับเป็น PICXXCXXX ซึ่งใช้อักษร C เป็นตัวบอกว่าเป็น OTP และแบบ โปรแกรมได้หลายครั้ง โดยตัวถังของไมโครคอนโทรลเลอร์จะมีหน้าต่างกระจกติดอยู่บนของตัวถัง สามารถมองเห็นชิปภายใน เวลาลบโปรแกรมเพื่อเขียนใหม่จะต้องลบด้วยแสงอัลตราไวโอเลต จํานวนรอบในการโปรแกรมใหม่อยู่ระหว่าง 10-100 ครั้ง แต่เป็นแบบโปรแกรมได้ครั้งเดียว 1.4.1.2 อีอีพรอม (EEPROM: Electrically Erasable Programmable Read-Only Memory) หน่วยความจําชนิดนี้ สามารถลบและเขียนใหม่ได้ด้วยสัญญาณไฟฟ้าได้เป็นร้อยรอบขึ้น ไป บางตระกูลถึง 1 ล้านครั้งแต่ในปัจจุบันไม่เป็นที่นิยมใช้ในไมโครคอนโทรลเลอร์แล้ว เนื่องจาก ต้นทุนสูง และมีไอซีที่เป็นอีอีพรอมเฉพาะ เช่น เบอร์ 24C16 ฯลฯ 1.4.1.3 แฟลช (Flash) เป็นหน่วยความจําโปรแกรมแบบที่สามารถเขียนและลบข้อมูล ได้ด้วยสัญญาณไฟฟ้าได้เป็นร้อยครั้ง แต่แตกต่างกับอีอีพรอม เนื่องจากกระบวนการลบข้อมูลแบบ แฟลชจะลบทั้งหมด ไม่สามารถเลือกลบเฉพาะเจาะจงบางแอดเดรสบางตําแหน่งได้ หน่วยความจํา โปรแกรมแบบนี้ได้รับความนิยมอย่างมาก 1.4.2 หน่วยความจําข้อมูลแรม (Ram Data Memory) หน่วยความจําข้อมูลแรมเป็นพื้นที่เก็บค่าเรจิสเตอร์และส่วนของตัวแปรที่ผู้พัฒนาได้เขียน โปรแกรมขึ้น จะเห็นว่าทั้งค่าเรจิสเตอร์และตัวแปรจะต้องทํางานตลอดเวลาทําให้พื้นที่ของแรมจะ ต้องทํางานทั้งในระหว่างการประมวลผลและหลังประมวลผล หน่วยความจําแรมมีอัตราในการอ่าน และเขียนข้อมูลสูงมาก และไม่จํากัดจํานวนรอบในการอ่านและเขียน ซึ่งไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 สามารถเก็บพื้นที่หน่วยความจําข้อมูลแรมขนาด 2048 ไบต์ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 10) 1.4.3 หน่วยความจําข้อมูลอีอีพรอม (EEPROM Data Memory) หน่วยความจําข้อมูลอีอีพรอมเป็นการอ่านและเขียนด้วยสัญญาณไฟฟ้า หน่วยความจํา ข้อมูลอีอีพรอมมีคุณสมบัติที่พิเศษนั่นคือการเก็บรักษาข้อมูลเอาไว้ได้ แม้ว่าจะไม่มีการจ่ายไฟเลี้ยง ให้แก่ไมโครคอนโทรลเลอร์แล้วก็ตาม เช่น การทํางานของเครื่องปรับอากาศ จะเห็นว่าเมื่อเรากดรีโมต
  • 7. การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี6 เพื่อเปลี่ยนอุณภูมิที่ตั้งไว้ จาก 25 องศา เป็น 20 องศา จากนั้นปิดไฟฟ้าทั้งระบบด้วยเบรกเกอร์ (Breaker) และเปิดเบรกเกอร์อีกครั้ง ระบบจะคงเก็บค่าอุณภูมิที่ตั้งไว้เป็น 20 องศา การทํางานแบบ นี้จะต้องเขียนข้อมูลอุณหภูมิที่ตั้งไว้ลงในหน่วยความจําข้อมูลอีอีพรอมทุกครั้งที่เปลี่ยนอุณหภูมิ เมื่อ ปิดระบบไฟฟ้าค่าอุณหภูมิที่ตั้งไว้ยังคงอยู่ จากนั้นเมื่อเปิดระบบไฟฟ้าไมโครคอนโทรลเลอร์จะทํา การอ่านข้อมูลจากหน่วยความจําข้อมูลอีอีพรอมเพื่อมาประมวลผลอีกครั้ง ไมโครคอนโทรลเลอร์ เบอร์ PIC18F4550 สามารถเก็บพื้นที่หน่วยความจําข้อมูลอีอีพรอมได้ขนาด 256 ไบต์ จํานวนรอบ ในการเขียนอ่านอยู่ 1,000,000 ครั้ง (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 11) 1.5 คุณลักษณะของไมโครคอนโทรลเลอร์ 1.5.1 แหล่งจ่ายไฟฟ้า (Supply Voltage) ไมโครคอนโทรลเลอร์ส่วนใหญ่จะทํางานในระดับแรงดันที่เป็นลอจิก นั้นก็คือ 5 โวลต์ แต่ อย่างไรก็ดีไมโครคอนโทรลเลอร์จะเริ่มทํางานขั้นต่ําที่แรงดัน 2.5 โวลต์ และระดับสูงที่ยอมรับได้คือ 6 โวลต์ ระดับแรงดันบริษัทผู้ผลิตจะแจ้งไว้ใน Data Sheet ที่ให้มาแล้ว หากเปรียบเทียบแหล่งจ่าย ไฟฟ้าเป็นร่างกายมนุษย์จะเสมือนเส้นเลือดที่เลี้ยงร่างกาย 1.5.2 สัญญาณนาฬิกา (The Clock) ไมโครคอนโทรลเลอร์ทุกรุ่นต้องการสัญญาณนาฬิกาหรือสัญญาณออสซิลเลเตอร์เพื่อการ ทํางานของระบบ โดยใช้อุปกรณ์คริสทัล และตัวเก็บประจุ (Capacitor) ในการกําเนิดความถี่เหมือน กับวงจรเรโซแนนซ์ (Resonance) ไมโครคอนโทรลเลอร์บางรุ่นมีวงจรสัญญาณนาฬิกาภายในตัวเอง สัญญาณนาฬิกาจะเป็นตัวกําหนดความเร็วของการทํางานไมโครคอนโทรลเลอร์เนื่องจากจะเป็น จังหวะในการเฟตช์และเอ็กซิคิวต์ตามการทํางานแบบไปป์ไลน์ดังภาพที่ 1.3 เป็นเสมือนหัวใจของ ร่างกายที่ทําหน้าที่สร้างการเต้นของหัวใจ (สุเมธ มามาตย์, 2555 : 72) 1.5.3 วอตช์ด็อก (Watchdog) เมื่อการทํางานของไมโครคอนโทรลเลอร์เกิดข้อผิดพลาด (Error) หรือล้มเหลว ส่วนใหญ่จะ แก้ปัญหาโดยการกดปุ่มรีเซตหรือปิดไฟฟ้าแล้วเปิดไฟฟ้าใหม่อีกครั้ง เพื่อให้ระบบกลับสู่สภาพปกติ อีกครั้งหนึ่ง เป็นวิธีหนึ่งในการแก้ไขปัญหาไมโครคอนโทรลเลอร์เกิด Error แต่แล้วไมโคร คอนโทรลเลอร์ได้สร้างฟังก์ชันวอตช์ด็อกเพื่อแก้ปัญหาดังกล่าวให้ไมโครคอนโทรลเลอร์สามารถรีเซต ด้วยตัวของไมโครคอนโทรลเลอร์เอง เช่น ไมโครคอนโทรลเลอร์ถูกสัญญาณรบกวนหรือสัญญาณ Noise จากมอเตอร์หรือสัญญาณภายนอก อย่างรุนแรงเกินกว่ามาตรฐานของไมโครคอนโทรลเลอร์ จะรับได้ ไมโครคอนโทรลเลอร์จะหยุดการทํางานด้วยสัญญาณรบกวนดังกล่าว จากนั้นอีกสักพักหนึ่ง ไมโครคอนโทรลเลอร์จะกลับมาทํางานอีกครั้งด้วยตัวของไมโครคอนโทรลเลอร์เอง
  • 8. ระบบการทํางานไมโครคอนโทรลเลอร์ 7 วอตช์ด็อกเป็นไทเมอร์เพื่อรีเฟรช (Refreshed) โปรแกรมเมื่อไมโครคอนโทรลเลอร์เกิด Error โดยปกติโปรแกรมจะทํางานวนอยู่ในลูปการทํางานของโปรแกรม จากนั้นหากเปิดการทํางาน ของวอตช์ด็อก ถ้าโปรแกรมทํางานปกติจะต้องเคลียร์ไทเมอร์ของวอตช์ด็อกทุกครั้งของลูปเพื่อไม่ให้ ไทเมอร์ของวอตช์ด็อกวิ่งค่าไทเมอร์ถึงค่าที่วอตช์ด็อกตั้งค่าไทเมอร์ไว้ ที่จะรีเฟรชโปรแกรม ซึ่งแสดง ให้เห็นว่าไมโครคอนโทรลเลอร์ยังทํางานปกติอยู่ แต่หากไมโครคอนโทรลเลอร์เกิด Error ไมโคร คอนโทรลเลอร์จะค้างไม่สามารถวนที่ลูปได้ เมื่อไม่สามารถวนลูปได้ก็ไม่สามารถเคลียร์ไทเมอร์ของ วอตช์ด็อก ทําให้ไทเมอร์ของวอตช์ด็อกวิ่งค่าไทเมอร์ไปเรื่อย ๆ และไปถึงค่าของไทเมอร์วอตช์ด็อกที่ ตั้งค่าไทเมอร์ไว้ ก็จะส่งผลให้ไมโครคอนโทรลเลอร์เกิดการรีเฟรชไมโครคอนโทรลเลอร์ ซึ่งจะทําให้ โปรแกรมเริ่มทํางานที่บรรทัดแรกของโปรแกรม ส่งผลให้ไมโครคอนโทรลเลอร์เริ่มกลับมาทํางาน ใหม่อีกครั้งหนึ่งด้วยตัวของไมโครคอนโทรลเลอร์เอง 1.5.4 รีเซตอินพุต (Reset Input) รีเซตอินพุต เป็นการรีเซตไมโครคอนโทรลเลอร์ด้วยปุ่มกดหรือสัญญาณภายนอก ทําให้ โปรแกรมกลับไปทํางานเริ่มต้นที่บรรทัดแรกของโปรแกรมหรือแอดเดรสที่ 0 ในไมโคร คอนโทรลเลอร์เบอร์ PIC18F4550 อยู่ในตําแหน่งขา 1 จะทําการรีเซตด้วยลอจิก 0 1.5.5 เรจิสเตอร์ (Register) เรจิสเตอร์เป็นหน่วยความจําพิเศษที่สําคัญของไมโครคอนโทรลเลอร์ โดยทําหน้าที่คือ เก็บ ค่าข้อมูลการทํางานของไมโครคอนโทรลเลอร์ สถานะการทํางานต่าง ๆ การทํางานโมดูลย่อย ข้อมูล อินพุต ข้อมูลเอาต์พุต โดยข้อมูลต่าง ๆ จะเก็บไว้ในเรจิสเตอร์ที่แตกต่างกันตามหน้าที่การทํางาน เช่น เรจิสเตอร์ซีพียู เรจิสเตอร์ควบคุมพอร์ตอินพุตเอาต์พุตและเรจิสเตอร์แสดงสถานะ อย่างไรก็ ตาม ข้อมูลในเรจิสเตอร์จะคงอยู่ตราบเท่าที่ยังจ่ายไฟเลี้ยงให้แก่ไมโครคอนโทรลเลอร์ ซีพียูสามารถ อ่านเขียนเรจิสเตอร์ได้ตลอดเวลา หากไม่มีไฟเลี้ยงแล้วข้อมูลในเรจิสเตอร์จะหายไป (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 12) 1.5.6 สแต็ก (Stack) สแต็กทําหน้าที่เก็บข้อมูล โดยการเก็บข้อมูลของสแต็กจะมีลักษณะเป็นระดับหรือเป็นชั้น โดยข้อมูลที่เก็บเข้ามาก่อนแต่จะต้องอ่านออกทีหลัง หรือเป็นแบบ FILO (First In Last Out) ไมโครคอนโทรลเลอร์มีขนาดของสแต็กมากเท่าไร ยิ่งช่วยให้การทํางานสะดวกขึ้น เพราะในการ ประมวลผลมีโอกาสมากที่ต้องพักข้อมูลในเรจิสเตอร์หลัก เพื่อไปทํางานอื่นก่อน หลังจากนั้นจึงจะ กลับมาอ่านข้อมูลในสแต็กเพื่อให้ทํางานต่อ โดยเฉพาะอย่างยิ่งกับงานที่มีการอินเตอร์รัปต์หรือขัด จังหวะซีพียูบ่อย ๆ รวมถึงงานที่มีการกระโดดไปทํางานที่โปรแกรมย่อยจํานวนมาก เพราะเมื่อ ต้องการกระโดดออกจากโปรแกรมหลักไปทํางานที่โปรแกรมย่อย ก็ต้องเก็บข้อมูลของเรจิสเตอร์ หลักที่ทํางานค้างอยู่ลงในสแต็ก หลังจากนั้นกระโดดไปทํางานที่ต้องการ เมื่อทํางานเสร็จสิ้นก็จะ กลับเข้ามาอ่านค่าในสแต็กต่อ (ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล, ม.ป.ป. : 12)
  • 9. การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี8 1.5.7 ไมโครคอนโทรลเลอร์ของบริษัทไมโครชิพ (Microchip) ในปัจจุบันบริษัทที่ผลิตไมโครคอนโทรลเลอร์ที่ได้รับความนิยมมีด้วยกัน 4 บริษัทใหญ่ คือ ไมโครชิพ (MICROCHIP) เอทเมล (ATMEL) รีเนสัส (RENESAS) และโมโตโรล่า (MOTOROLA) ทั้ง 4 บริษัทมีทั้งข้อดีและข้อด้อยที่แตกต่างกันออกไป ซึ่งในช่วงแรกของการศึกษาประเทศไทยนิยมใช้ ไมโครคอนโทรลเลอร์ MCS51 ของบริษัท ATMEL เนื่องจากราคาเครื่องมือในการพัฒนาผลิตภัณฑ์มี ราคาถูกและหาได้ง่าย จากนั้นบริษัทต่าง ๆ ได้สร้างเครื่องมือพัฒนาออกมาแข่งขันอย่างมากมาย และสามารถใช้งานได้ง่าย เพียงแค่สมัครสมาชิกก็สามารถดาวน์โหลดโปรแกรมและเครื่องมือต่าง ๆ จากเว็บไซต์ของบริษัทมาใช้งานได้เลย (สุเมธ มามาตย์, 2555 : 78) บริษัทไมโครชิพได้พัฒนาตระกูลออกแบบ 3 ส่วนใหญ่ คือ ไมโครคอนโทรลเลอร์ขนาด 8 บิต เช่น เบอร์ PIC10, PIC12, PIC16 และ PIC18 ไมโครคอนโทรลเลอร์ขนาด 16 บิต เช่นเบอร์ PIC24, PIC24H, dsPIC30 และ dsPIC33 (สุเมธ มามาตย์, 2555 : 80) ไมโครคอนโทรลเลอร์ ขนาด 32 บิต เช่น เบอร์ PIC32 ทั้ง 3 รูปแบบจะมีโครงสร้างการทํางานภายในที่ไม่เหมือนกัน หาก นําไมโครคอนโทรลเลอร์มาใช้จําเป็นที่ต้องศึกษาโครงสร้างการทํางานของที่แต่ละเบอร์อย่างดี ปัจจุบันบริษัทไมโครชิพได้พัฒนาเครื่องมือให้สามารถใช้งานได้ง่ายหรือประยุกต์ใช้เพื่อต่อจากเบอร์ อื่นในตระกูลเดียวกันได้ ดังนั้น เมื่อเรียนรู้เบอร์ใดเบอร์หนึ่ง เบอร์ที่เหลือสามารถใช้งานได้หมด และ ไมโครชิพได้ผลิตไมโครคอนโทรลเลอร์ในแต่ละตระกูลให้มีราคาต่ํา และมีประสิทธิภาพสูง 1.6 สรุป ไมโครโพรเซสเซอร์ มีการประมวลผลการทํางานที่รวดเร็ว เนื่องจากมีหน้าที่ทํางานเพียง การดําเนินการทางคณิตศาสตร์ ลอจิกและทําการประมวลผลกลาง เท่านั้น ไมโครคอนโทรลเลอร์ เป็นอุปกรณ์ที่ใช้ควบคุมขนาดเล็ก ที่มีโครงสร้างพื้นฐานของ ไมโครโพรเซสเซอร์อยู่ภายในและมีพอร์ตอินพุตและพอร์ตเอาต์พุตเพื่อต่อใช้งานทําให้สามารถเป็น อุปกรณ์ควบคุมได้ทันทีแต่ประมวลจะช้ากว่าไมโครโพรเซสเซอร์ ซีพียู เป็นเสมือนมันสมองของไมโครคอนโทรลเลอร์ ซึ่งทําหน้าที่ประมวลผลข้อมูลที่เข้ามา ในระบบซึ่งการทํางานของซีพียูในไมโครคอนโทรลเลอร์จะมีการทํางานแบบไปป์ไลน์ (Pipe Line) หน่วยความจํา เป็นส่วนในการเก็บข้อมูลของไมโครคอนโทรลเลอร์ สามารถแบ่งออกได้ 3 แบบด้วยกันคือหน่วยความจําโปรแกรม หน่วยความจําข้อมูลแรม หน่วยความจําข้อมูลอีอีพรอม แหล่งจ่ายไฟฟ้า ไมโครคอนโทรลเลอร์จะเริ่มที่แรงดัน 2.5-6 โวลต์ สัญญาณนาฬิกา จะเป็นตัวกําหนดความเร็วของการทํางานไมโครคอนโทรลเลอร์เป็นเสมือน หัวใจของร่างกายที่ทําหน้าที่สร้างการเต้นของหัวใจ วอตช์ด็อก เป็นไทเมอร์เพื่อรีเฟรช (Refreshed) ให้ไมโครคอนโทรลเลอร์เริ่มทํางานใหม่อีก ครั้ง เมื่อระบบของไมโครคอนโทรลเลอร์เกิดความผิดพลาด
  • 10. ระบบการทํางานไมโครคอนโทรลเลอร์ 9 เรจิสเตอร์ ทําหน้าที่เก็บค่าข้อมูลต่าง ๆ ของไมโครคอนโทรลเลอร์และสถานะการทํางาน ต่างๆ ไมโครคอนโทรลเลอร์บริษัทไมโครชิพ ได้พัฒนาตระกูลออกแบบ 3 ส่วนใหญ่ คือ ไมโคร คอนโทรลเลอร์ขนาด 8 บิต 16 บิต และ 32 บิต
  • 11. การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี10 คําถามทายบทที่ 1 1. ไมโครโพรเซสเซอร์แตกต่างกับไมโครคอนโทรลเลอร์อย่างไร จงอธิบายและยกตัวอย่าง 2. จงอธิบายหลักการทํางานของหน่วยประมวลผลกลาง 3. หน่วยความจําภายในทั้ง 3 แบบมีลักษณะอย่างไร 4. หน่วยความจําโปรแกรม (Program Memory) ของไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 เป็นหน่วยความจําแบบใด และมีขนาดเท่าไร สามารถลบและเขียนได้จํานวนกี่ครั้ง 5. หากต้องการเขียนข้อมูล โดยที่เมื่อไฟดับหรือปิดไฟ ข้อมูลยังคงอยู่ จะต้องเขียนข้อมูลไว้ที่ หน่วยความจําข้อมูลแบบใด 6. เพื่อป้องกันระบบการทํางานของไมโครคอนโทรลเลอร์ที่ล้มเหลว จะต้องใช้คุณลักษณะของ ไมโครคอนโทรลเลอร์แบบใดเพื่อให้ระบบกลับมาทํางานด้วยตัวของไมโครคอนโทรลเลอร์ เอง 7. บริษัทไมโครชิพได้พัฒนาตระกูลของไมโครคอนโทรลเลอร์ออกสู่ท้องตลาด มีกี่ตระกูลและ อะไรบ้าง 8. อุปกรณ์อิเล็กทรอนิกส์ที่สร้างสัญญาณนาฬิกาคืออุปกรณ์ใด 9. การรีเซตอินพุตของไมโครคอนโทรลเลอร์เพื่ออะไร 10. การเก็บข้อมูลของสแต็กมีลักษณะอย่างไร
  • 12. ระบบการทํางานไมโครคอนโทรลเลอร์ 11 เอกสารอางอิง กฤษดา ใจเย็น, ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). เรียนรู้และใช้งาน PICBASIC PRO คอมไพเลอร์เขียนโปรแกรมภาษาเบสิกควบคุมไมโครคอนโทรลเลอร์ PIC. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์. กฤษณ์ ทองขุนดํา. (ม.ป.ป.). วิชาการเขียนโปรแกรมควบคุมไมโครคอนโทรลเลอร์สําหรับระบบ สมองกลฝังตัว. ค้นเมื่อวันที่ 1 เมษายน 2556, จาก http://mis.csit.sci.tsu.ac.th/grit/ grit01.html. ณัฏฐพล วงศ์สุนทรชัย, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). เรียนรู้และปฏิบัติการไมโคร คอนโทรลเลอร์ PIC16F628. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์. นคร ภักดีชาติ, ธีรบูลย์ หล่อวิเชียรรุ่ง, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). ปฏิบัติการไมโคร คอนโทรลเลอร์ MCS-51 ด้วยโปรแกรมภาษา C. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์. ประจิน พลังสันติกุล. (2537). PIC Work Examples and C Source Code. กรุงเทพฯ : แอพ- ซอฟต์เทค. ________. (2551). All About CCS C. กรุงเทพฯ : แอพซอฟต์เทค. ________. (ม.ป.ป.). เรียนรู้และใช้งาน CCS C คอมไพเลอร์ เขียนโปรแกรมภาษา C ควบคุม ไมโครคอนโทรลเลอร์ PIC. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์. วัชรินทร์ เคารพ. (2546). เรียนรู้และเข้าใจสถาปัตยกรรมไมโครคอนโทรลเลอร์ PIC16F877. พิมพ์ครั้งที่ 1. กรุงเทพฯ : อีทีที. วรพจน์ กรแก้ววัฒนกุล, ชัยวัฒน์ ลิ้มพรจิตรวิไล. (ม.ป.ป.). เรียนรู้และปฏิบัติการไมโคร คอนโทรลเลอร์ MCS-51. กรุงเทพฯ : อินโนเวตีฟ เอ็กเพอริเมนต์. สุเมธ มามาตย์. (2555). Embedded Microcontroller. ปทุมธานี : สถาบันอิเล็กทรอนิกส์ กรุงเทพรังสิต. อีทีที. (ม.ป.ป.). คู่มือการใช้งาน CP-PIC USB/4550 EXP (ICD2). กรุงเทพฯ : อีทีที อินโนเวตีฟ. Custom Computer Service. (2010). C Compiler Reference Manual February 2010. Sioux Falls: CCS. ________. (2013). PIC MCU Development Tools. ค้นเมื่อวันที่ 1 เมษายน 2556, จาก http://www.ccsinfo.com/content.php?page=development-kits. Dogan Lbrahim. (2008). Advanced PIC Microcontroller Projects in C from USB to RTOS with the PIC18F series. London: Linacre House, Jordan Hill, Oxford OX2 8DP. Julio Sanchez, Maria P. Caton. (2007). Microcontroller Programming The Microchip PIC. Boca Raton: CRC Press.
  • 13. การทดลองและการประยุกต์ใช้งานไมโครคอนโทรลเลอร์เบอร์ PIC18F4550 ด้วยภาษาซี12 John Lovine. (2000). PIC Microcontroller Project Book. New York: McGraw-Hill. Microchip Technology Inc. (2009). PIC18F2455/2550/4455/4550 Data Sheet. USA: Microchip Technology Incorporated. MikroElektronika. (n.d.). Introduction: World of Microcontrollers. ค้นเมื่อวันที่ 1 เมษายน 2556, จาก http://www.mikroe.com/chapters/view/1/introduction-world- of-microcontrollers. Richard Barnett, Larry O’Cull, Sarah Cox. (2004). Embedded C Programming and the Microchip PIC. New York: Delmar Learning.