1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร...

30
1

Upload: others

Post on 01-Apr-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

1

Page 2: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

2

1. ไมโครคอนโทรลเลอร

2. ภาษาสาหรบไมโครคอนโทรลเลอร

3. โครงสรางของไมโครคอนโทรลเลอร PIC18F4550

4. การจดหนวยความจาของไมโครคอนโทรลเลอรเบอร PIC18F4550

5. รจสเตอร (Register) ของไมโครคอนโทรลเลอรเบอร PIC18F4550

1. แสดงความรเกยวกบโครงสรางและสวนประกอบของไมโครคอนโทรลเลอร

1. อธบายโครงสรางและสวนประกอบของไมโครคอนโทรลเลอรไดถกตอง

2. อธบายหนาทสวนตาง ๆ ของไมโครคอนโทรลเลอรได

3. ระบชนดการบรรจภณฑของไมโครคอนโทรลเลอรได

4. แยกประเภทของของไมโครคอนโทรลเลอรได

5. บอกชอบรษทผผลตไอซไมโครคอนโทรลเลอรแตละตระกลได

6. อธบายภาษาทใชกบไมโครคอนโทรลเลอรได

7. อธบายคณลกษณะของไมโครคอนโทรลเลอรเบอร PIC18F4550 ได

8. บอกความหมายของตวอกษรทระบไวทตาแหนงขาของไมโครคอนโทรลเลอร

9. อธบายการจดหนวยความจาของไมโครคอนโทรลเลอรเบอร PIC18F4550 ได

10. อธบายความหมายของรจสเตอรในไมโครคอนโทรลเลอรเบอร PIC18F4550 ได

Page 3: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

3

ปจจบนไมโครคอนโทรลเลอรถกนามาใชอยางกวางขวางในงานดานอเลกทรอนกส เพราะสามารถใช

งานไดงาย สะดวก มขนาดเลก ราคาถก และทสาคญสามารถสงงานใหทางานตามเงอนไขใหมตามผใช

ตองการได โดยไมจาเปนตองเปลยนวงจรภายนอก มบรษทผผลตไอซไมโครคอนโทรลเลอรออกมาหลาย

ตระกล เชน Z80, PIC, MCS51, AVR, ARM7,ARM9, 68HC แตละตระกลมคณสมบตขอเดนขอดอย

แตกตางกนออกไป

1.1.1 ความหมายของไมโครคอนโทรลเลอร

ไมโครคอนโทรลเลอร (Microcontroller) มาจากคาวาไมโคร (Micro) หมายถงขนาดเลก และ

คาวาคอนโทรลเลอร (Controller) หมายถงตวควบคมหรออปกรณควบคม ดงนนไมโครคอนโทรลเลอร จง

หมายถงอปกรณควบคมขนาดเลกทสามารถควบคมอปกรณภายนอกได แตในตวอปกรณควบคมขนาดเลก

นไดบรรจความสามารถทคลายคลงกบระบบคอมพวเตอร กลาวคอไมโครคอนโทรลเลอรไดรวมเอาซพย

(CPU) หนวยความจา (Memory) อนพตเอาตพตพอรต (I/O Port) รจสเตอร (Register) วงจรผลตสญญาณ

(Oscillator) และวงจรอเลกทรอนกส เชน วงจรแปลงจากสญญาณแอนะลอกเปนดจทลวงจรสรางสญญาณ

PWM (มเฉพาะบางเบอร) ไมโครคอนโทรลเลอรจงสามารถนาไปประยกตใชงานควบคมตาง ๆ ไดด 1.1.2 โครงสรางภายในของไมโครคอนโทรลเลอร

ไมโครคอนโทรลเลอรแตละเบอรแตละตระกลนนมโครงสรางภายในแตกตางกนขนอยกบ

บรษทผผลตและจดประสงคของการสรางไมโครคอนโทรลเลอรเบอรนน ๆ พนฐานของโครงสรางภายในของ

ไมโครคอนโทรลเลอรจะประกอบดวยสวนประกอบดงรปท 1.1

รปท 1.1 โครงสรางของไมโครคอนโทรลเลอร

Page 4: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

4

1.1.3 โครงสรางภายนอกของไมโครคอนโทรลเลอร ในปจจบนผผลตไอซไมโครคอนโทรลเลอรไดสรางโครงสรางขาเพอตอใชงานหลายลกษณะ

เชน โครงสรางแบบ SOIC, PDIP, PLCC และ TQFP

1. โครงสรางแบบ SOIC (SOIC : Small Outline Integrated Circuit)

รปท 1.2 โครงสรางไอซแบบ SOIC

2. โครงสรางแบบ PDIP (PDIP : Plastic Dual In-line Package)

รปท 1.3 โครงสรางไอซแบบ PDIP

3. โครงสรางแบบ PLCC (PLCC : Plastic Leaded Chip Carrier)

รปท 1.4 โครงสรางไอซแบบ PLCC

4. โครงสรางแบบ TQFP (TQFP : Thin Quad Flat Pack Packages)

Page 5: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

5

รปท 1.5 โครงสรางไอซแบบ TQFP

การจดตาแหนงขาแบบ PDIP ของไอซเบอร PIC18F4455 และ PIC18F4550

รปท 1.6 โครงสรางไอซแบบ PDIP ของไอซเบอร PIC18F4455 และ PIC18F4550

การจดตาแหนงขาแบบ TQFP ของไอซเบอร PIC18F4455 และ PIC18F4550

รปท 1.7 โครงสรางไอซแบบ TQFP ของไอซเบอร PIC18F4455 และ PIC18F4550

Page 6: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

6

1.1.4 ประเภทของไมโครคอนโทรลเลอร ไมโครคอนโทรลเลอร เมอประเภทแบงตามสถาปตยกรรมการประมวลผลแบงไดเปน

1) ไมโครคอนโทรลเลอร 8 บต

2) ไมโครคอนโทรลเลอร 12 บต

3) ไมโครคอนโทรลเลอร 14 บต

4) ไมโครคอนโทรลเลอร 16 บต

5) ไมโครคอนโทรลเลอร 32 บต

ถาหากแบงตามสถาปตยกรรมของบรษทผผลต การผลตและกระบวนการทางานระบบการ

ประมวลผล แบงไดเปน

1) ไมโครคอนโทรลเลอรตระกล Z80 (บรษทผผลต Zilog)

2) ไมโครคอนโทรลเลอรตระกล PIC (บรษทผผลต Microchip)

3) ไมโครคอนโทรลเลอรตระกล MCS51 (บรษทผผลต Atmel, Phillips)

4) ไมโครคอนโทรลเลอรตระกล AVR (บรษทผผลต Atmel)

5) ไมโครคอนโทรลเลอรตระกล ARM7,ARM9 (บรษทผผลต Atmel, Phillips Analog

Device, Sumsung, ST Microelectronics)

6) ไมโครคอนโทรลเลอรตระกล Basic Stamp (บรษทผผลต Parallax)

7) ไมโครคอนโทรลเลอรตระกล PSOC (บรษทผผลต Cypress)

8) ไมโครคอนโทรลเลอรตระกล MSP (บรษทผผลต Texas Instruments)

9) ไมโครคอนโทรลเลอรตระกล 68HC (บรษทผผลต Motorola)

10) ไมโครคอนโทรลเลอรตระกล H8 (บรษทผผลต Renesas)

11) ไมโครคอนโทรลเลอรตระกล RABBIT (บรษทผผลต Rabbit Semiconductor)

Page 7: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

7

คาสงทไมโครคอนโทรลเลอรทางานนนเปนคาสงภาษาเครอง ซงเปนคาสงทอยในรปของรหส

เลขฐานสบหก (Hexadecimal Code) หรอไฟลนามสกลดอตเฮกซ (.hex) ถาเขยนคาสงดวยภาษาอน ๆ

ตองแปลงใหเปนภาษาเครองกอนนาไปดาวนโหลดลงในไมโครคอนโทรลเลอร

ดงไดแกรมในรปท 1.6

ภาษา Assembly

Assembler

ไอซไมโครคอนโทรลเลอร

ภาษา C

C Complier

ไอซไมโครคอนโทรลเลอร

ภาษา BASIC

BASIC Complier

ไอซไมโครคอนโทรลเลอร

ไฟล .Hex ไฟล .Hex ไฟล .Hex

รปท 1.8 ไฟลคาสงทใชงานในไมโครคอนโทรลเลอร

ภาษาสาหรบไมโครคอนโทรลเลอรแบงเปน 3 ระดบ ดงน

1. ภาษาเครอง (Machine Languages)

2. ภาษาระดบตา (Low-level Languages) คอภาษาแอสเซมบล (Assemble Languages)

3. ภาษาระดบสง (High-level Languages) ประกอบดวย

1) ภาษาซ (C Languages)

2) ภาษาซพลสพลส (C++ Languages)

3) ภาษาเบสก (BASIC Languages)

4) ภาษาเบสกสแตมป (BASIC Stamp Languages)

5) ภาษาจาวา (JAVA Languages)

ภาษาตาง ๆ เหลานสามารถนามาเขยนเปนโปรแกรม (Program) หรอ Source Code เพอสงงาน

ไมโครคอนโทรลเลอรไดเหมอนกน มขอดขอเสย ยากงายแตกตางกนออกไป สาหรบในหนงสอเลมนใช

ภาษาเบสก เพราะวาเปนภาษาท ใกล เคยงกบภาษาองกฤษ ทาใหสามารถเขาใจการส งงาน

ไมโครคอนโทรลเลอรไดงายขน

Page 8: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

8

ไอซไมโครคอนโทรลเลอรตระกล PIC มโครงสรางภายนอกตงแต 6 ขาขนไปถงหลายรอยขา การ

อธบายการทางานของไมโครคอนโทรลเลอรนน สาหรบหนงสอเลมนใชไอซเบอร PIC18F4550 เปนตวอยาง

สาหรบการควบคม สงงาน และตดตอกบอปกรณอนพตเอาตพตตาง ๆ ถาหากผอานตองการใช

ไมโครคอนโทรลเลอร เบอร อน ๆ สามารถใช ได เชน เดยวกนโดยคาน งถ งความสามารถของ

ไมโครคอนโทรลเลอรตวนน ๆ ดวย โครงสรางไอซไมโครคอนโทรลเลอรเบอร PIC18F4550 โครงสรางแบบ

PDIP มขาใชงานจานวน 40 ขา ดงรปท 1.9

PIC1

8F45

50

รปท 1.9 โครงสรางตาแหนงขาของไมโครคอนโทรลเลอรเบอร PIC18F4550

1.3.1 คณสมบตของไมโครคอนโทรลเลอรเบอร PIC18F4550 1. หนวยความจา

(1) หนวยความจาโปรแกรม (Program Memory) ขนาด 32768 ไบต หรอ 32 Kbyte

(2) หนวยความจาขอมล (Data Memory) ขนาด 2048 ไบต หรอ 2 Kbyte

(3) หนวยความจาขอมลอสแควรพรอม (Data EEPROM Memory) ขนาด 256 ไบต

Page 9: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

9

2. ความถของสญญาณนาฬกา สญญาณนาฬกาของไมโครคอนโทรลเลอร เบอร

PIC18F4550 สามารถใชตงแตระดบไฟฟากระแสตรง ( 0 Hz) ถง 48 MHz ทงนขนอยกบแหลงจายไฟฟา

VDD ดวย สญญาณนาฬกานสามารถใช Internal oscillator (ภายในตวไอซ) ตงแตความถ 31 kHz ถง 8

MHz และถาใชวงจรExternal oscillator ใชไดสงสดท 48 MHz

การควบคมวงจรผลตความถของวงจรออสซลเลเตอรของไมโครคอนโทรลเลอรเบอร PIC18F4550

คอนโทรลผานรจสเตอร OSCCON Register และ OSCTUNE Register ซงมโหมดการทางานคอ XT,

XTPLL, HS, HSPLL, EC, ECIO, ECPLL, ECPIO, INTHS, INTXT, INTIO และ INTCKO

รปท 1.10 ไดอะแกรมสญญาณนาฬกาของไมโครคอนโทรลเลอรเบอร PIC18F4550

Page 10: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

10

3. แหลงจายไฟฟากระแสตรง ไมโครคอนโทรลเลอรเบอร PIC18F4550 สามารถใชกบ

แรงดนไฟฟากระแสตรงทแรงดนตาสด 2 โวลต ถงแรงดนไฟฟาสงสด 5.5 โวลต คาแรงดนไฟฟาตาสดท

สามารถใชกบไอซเบอรน ดงรปท 1.10

แรงดนไฟฟ

า (V

olts)

4 M

Hz

48 M

Hz

รปท 1.11 แรงดนแหลงจายไฟฟาตาสดของไมโครคอนโทรลเลอรเบอร PIC18F4550

จากรปท 1.11 แสดงคาแรงดนไฟฟากระแสตรงตาสดทจายใหไมโครคอนโทรลเลอรเบอร

PIC18F4550 ทยงสามารถทางานไดปกต จากรปถาหากใชความถของสญญาณนาฬกาตากวา 4 MHz

สามารถใชแหลงจายไฟฟากระแสตรงตาสด 2 โวลต ถาใชความถ 20 MHz แหลงจายไฟฟากระแสตรง

ตาสด 2.8 โวลต ถาใชความถ 48 MHz แหลงจายไฟฟากระแสตรงตาสด 4.3 โวลต ซงปกตจะใชแหลงจาย

ไฟฟากระแสตรง 5.0 โวลต แตสงสดไมเกน 5.5 โวลต

4. ดจทลพอรต เปนพอรตแบบสองทศทาง

(1) พอรต A จานวน 7 บต คอ RA0 - RA6

(2) พอรต B จานวน 8 บต คอ RB0 - RB7

(3) พอรต C จานวน 7 บต คอ RC0 – RC7, RC4 - RC7

(4) พอรต D จานวน 8 บต คอ RD0 – RD7

(5) พอรต E จานวน 4 บต คอ RE0 – RE3

Page 11: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

11

5. โมดลแปลงสญญาณ Analog เปน Digital (ความละเอยด 10 บต) จานวน 13 อนพต

6. รบสญญาณอนเทอรรฟต (Interrupt Sources) จานวน 20 แหลง

7. ไทเมอร (Timers) จานวน 4 ตว คอ

(1) Timer 0 ขนาด 16 บต

(2) Timer 1 ขนาด 16 บต

(3) Timer 2 ขนาด 8 บต

(4) Timer 3 ขนาด 16 บต

8. Capture/Compare/PWM Modules จานวน 1 แหลง

9. Enhanced Capture/Compare/PWM Modules จานวน 1 แหลง

10. มวงจร In-Circuit Debug (ICD) ขา RB6 และ RB7

11. วงจรสอสารขอมลแบบอนกรม (Serial Communications)

(1) MSSP

(2) Enhanced USART

12. ม Module สอสารแบบ USB (Universal Serial Bus) จานวน 1 ขา

13. การรเซต (Reset) ไมโครคอนโทรลเลอรเบอร PIC18F4550 มการรเซตดงน

(1) Master Clear ( MCLR )

(2) Power-on Reset (POR)

(3) Programmable Brown-out Reset (BOR)

(4) RESET Instruction

(5) Stack Full Reset

(6) Stack Underflow Reset

(7) Watchdog Timer (WDT) Reset

Page 12: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

12

1.3.2 การใชงานพอรต PIC18F4550 รปท 1.9 แสดงโครงสรางนอกของไอซไมโครคอนโทรลเลอรเบอร PIC18F4550 ซงมจานวน

40 Pin แตละขาหรอแตละ Pin มหนาทแตกตางกนไป และภายในขาเดยวกนยงทาหนาทไดหลายลกษณะ

รายละเอยดดงตารางท 1.1

ความหมายของคาทใชไดแก I = Input (อนพต), O = Output (เอาตพต), P = Power

(แหลงจายไฟ), ST = Schmitt Trigger input with CMOS levels (อนพตมวงจรชมตตทรกเกอรอางอง

ระดบ CMOS), TTL = TTL compatible input (อนพตอางองระดบ TTL) และ CMOS = CMOS

compatible input or output (อนพตเอาตพตอางองระดบ CMOS), Analog = แอนะลอก

ตารางท 1.1 การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

1 MCLR/VPP/RE3

MCLR I ST Master Clear (Reset)

VPP P Programming voltage input.

RE3 I ST Digital input.

2 RA0/AN0

RA0 I/O TTL Digital I/O.

AN0 I Analog Analog input 0

3 RA1/AN1

RA1 I/O TTL Digital I/O.

AN1 I Analog Analog input 1

4 RA2/AN2/VREF-/CVREF

RA2 I/O TTL Digital I/O.

AN2 I Analog Analog input 2

VREF- I Analog A/D reference voltage (low) input.

CVREF O Analog Analog comparator reference output.

Page 13: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

13

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

5 RA3/AN3/VREF+

RA3 I/O TTL Digital I/O.

AN3 I Analog Analog input 3

VREF+ I Analog A/D reference voltage (high) input.

6 RA4/T0CKI/C1OUT/RCV

RA4 I/O ST Digital I/O.

T0CKI/ I ST Timer0 external clock input.

C1OUT O - Comparator 1 output

RCV I TTL External USB transceiver RCV input

7 RA5/AN4/SS/HLVDIN/C2OUT

RA5 I/O TTL Digital I/O.

AN4 I Analog Analog input 4.

SS I TTL SPI™ slave select input.

HLVDIN I Analog High/Low-Voltage Detect input.

C2OUT O - Comparator 2 output.

8 RE0/AN5/CK1SPP

RE0 I/O TTL Digital I/O.

AN5 I Analog Analog input 5.

CK1SPP O - SPP clock 1 output.

9 RE1/AN6/CK2SPP

RE1 I/O TTL Digital I/O.

AN6 I Analog Analog input 6.

CK2SPP O - SPP clock 2 output.

Page 14: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

14

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

10 RE2/AN7/OESPP

RE2 I/O TTL Digital I/O.

AN7 I Analog Analog input 7.

OESPP O - SPP output enable output.

11 VDD P - Positive supply for logic and I/O pins.

12 VSS P - Ground reference for logic and I/O

pins.

13 OSC1/CLKI

OSC1 I Analog Oscillator crystal input or external

clock source input.

CLKI I Analog External clock source input. Always

associated with pin function OSC1.

14 OSC2/CLKO/RA6

OSC2 O - Oscillator crystal output. Connects to

crystal or resonator in Crystal

Oscillator mode.

CLKO O - In RC mode, OSC2 pin outputs CLKO

which has 1/4 the frequency of OSC1

and denotes the instruction cycle rate.

RA6 I/O TTL General purpose I/O pin.

15 RC0/T1OSO/T13CKI

RC0 I/O ST Digital I/O.

T1OSO O - Timer1 oscillator output.

T13CKI I ST Timer1/Timer3 external clock input.

Page 15: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

15

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

16 RC1/T1OSI/CCP2/UOE

RC1 I/O Digital I/O.

T1OSI I Timer1 oscillator input.

CCP2 I/O Capture 2 input/Compare 2

output/PWM 2 output.

UOE O External USB transceiver OE output.

17 RC2/CCP1/P1A

RC2 I/O ST Digital I/O.

CCP1 I/O ST Capture 1 input/Compare 1

output/PWM 1 output.

P1A 0 TTL Enhanced CCP1 PWM output,

channel A.

18 USB 0 - Internal USB 3.3V voltage regulator

output.

19 RD0/SPP0

RD0 I/O ST Digital I/O.

SPP0 I/O TTL Streaming Parallel Port data.

20 RD1/SPP1

RD1 I/O ST Digital I/O.

SPP1 I/O TTL Streaming Parallel Port data.

21 RD2/SPP2

RD2 I/O ST Digital I/O.

SPP2 I/O TTL Streaming Parallel Port data.

22 RD3/SPP3

RD3 I/O ST Digital I/O.

SPP3 I/O TTL Streaming Parallel Port data.

Page 16: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

16

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

23 RC4/D-/VM

RC4 I TTL Digital input.

D- I/O - USB differential minus line (I/O).

VM I TTL External USB transceiver VM input.

24 RC5/D-/VM

RC5 I TTL Digital input.

D+ I/O - USB differential minus line (I/O).

VP I TTL External USB transceiver VP input.

25 RC6/TX/CK

RC6 I/O ST Digital I/O.

TX O - EUSART asynchronous transmit.

CK I/O ST EUSART synchronous clock

(see RX/DT).

26 RC7/RX/DT/SDO

RC7 I/O Digital I/O.

RX I EUSART asynchronous receive.

DT I/O EUSART synchronous data

(see TX/CK).

SDO O SPI™ data out.

27 RD4/SPP4

RD4 I/O ST Digital I/O.

SPP4 I/O TTL Streaming Parallel Port data.

28 RD5/SPP5/P1B

RD5 I/O ST Digital I/O.

SPP5 I/O TTL Streaming Parallel Port data.

P1B O - Enhanced CCP1 PWM output,

channel B.

Page 17: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

17

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

29 RD6/SPP6/P1C

RD6 I/O ST Digital I/O.

SPP6 I/O TTL Streaming Parallel Port data.

P1C O - Enhanced CCP1 PWM output,

channel C.

30 RD7/SPP7/P1D

RD5 I/O ST Digital I/O.

SPP7 I/O TTL Streaming Parallel Port data.

P1D O - Enhanced CCP1 PWM output,

channel D.

31 VSS P - Ground reference for logic and I/O

pins.

32 VDD P - Positive supply for logic and I/O pins.

33 RB0/AN12/INT0/FLT0/SDI/SDA

RB0 I/O TTL Digital I/O.

AN12 I Analog Analog input 12.

INT0 I ST External interrupt 0.

FLT0 I ST Enhanced PWM Fault input (ECCP1 module).

SDI I ST SPI™ data in.

SDA I/O ST I2C™ data I/O.

34 RB1/AN10/INT1/SCK/SCL

RB1 I/O TTL Digital I/O.

AN10 I Analog Analog input 10.

INT1 I ST External interrupt 1.

SCK I/O ST Synchronous serial clock I/O for SPI .

SCL I/O ST Synchronous serial clock I/O for I2C .

Page 18: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

18

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

35 RB2/AN8/INT2/VMO

RB2 I/O TTL Digital I/O.

AN8 I Analog Analog input 8.

INT2 I ST External interrupt 2.

VMO O - External USB transceiver VMO

output.

36 RB3/AN9/CCP2/VPO

RB3 I/O TTL Digital I/O.

AN9 I Analog Analog input 9.

CCP2(1) I/O ST Capture 2 input/Compare 2

output/PWM 2 output.

VPO O - External USB transceiver VPO output.

37 RB4/AN11/KBI0/CSSPP

RB4 I/O TTL Digital I/O.

AN11 I Analog Analog input 11.

KBI0 I TTL Interrupt-on-change pin.

CSSPP O - SPP chip select control output.

38 RB5/KBI1/PGM

RB5 I/O TTL Digital I/O.

KBI1 I TTL Interrupt-on-change pin.

PGM I/O ST Low-Voltage ICSP™ Programming

enable pin.

Page 19: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

19

ตารางท 1.1 (ตอ) การทางานของพอรต PIC18F4550

ขาท ชอขา ชนดของ

ขา ชนดของ

วงจรบฟเฟอร รายละเอยด

39 RB6/KBI2/PGC

RB6 I/O TTL Digital I/O.

KBI2 I TTL Interrupt-on-change pin.

PGC I/O ST In-Circuit Debugger and ICSP

programming clock pin.

40 RB7/KBI3/PGD

RB7 I/O TTL Digital I/O.

KBI3 I TTL Interrupt-on-change pin.

PGD I/O ST In-Circuit Debugger and ICSP

programming data pin

Page 20: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

20

1.4.1 หนวยความจาโปรแกรม (Program Memory)

Reset Vector

On - Chip

High Priority Interrupt Vector

Low Priority Interrupt Vector

Read ‘0’

Program Memory

0000h

Stack Level 1

PC<20:0>

Stack Level 31

0018h

7FFFh8000h

0008h

1FFFFFh200000h

User

Mem

ory S

pace

CALL,RCALL,RETURN,RETFIE,RETLW,

CALLW,ADDULNK,SUBULNK

21

รปท 1.12 การจดตาแหนงของ Program Memory ไอซเบอร PIC18F4550

หนวยความจาโปรแกรม (Program Memory) เปนสวนทสาคญ เพราะเปนทเกบคาสงทอยในรปของ

ภาษาเครองเพอสงงานใหไมโครคอนโทรลเลอรทางานตามผเขยนโปรแกรมตองการ หนวยความจา

Page 21: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

21

โปรแกรมของไมโครคอนโทรลเลอรเบอร PIC18F4550 เปนแบบแฟลช (Flash Memory) ทาใหสามารถ

เขยนใหมไดนบ 100,000 ครง

จากรปท 1.12 หนวยความจาโปรแกรม (Program Memory) เรมทแอดเดรสท 0000h ถงแอดเดรสท

7FFFh (32768 ไบตหรอ 32 กโลไบต) ซงแอดเดรส 0000h เปน Reset Vector แอดเดรส 0008h เปน High

Priority Interrupt Vector และแอดเดรส 0018h เปน Low Priority Interrupt Vector เรมใชงาน Program

Memory ทแอดเดรส 0019h เปนตนไปจนถง 7FFFFh สวนแอดเดรสท 8000h เปนตนไปไมไดใชงานจะ

อานคาเปน 0 ดงนนการเขยนโปรแกรมจงตองเรมตนทแอดแดรส 0019h แตถาหากผเขยนโปรแกรมไมไดใช

งานอนเตอรรป สามารถละเลยเรอง Interrupt Vector ได

ไอซไมโครคอนโทรลเลอรเบอร PIC18F4550 มหนวยความจาพเศษสาหรบเกบคาของโปรแกรม

เคานเตอร (Program Counter) ขนาด 21 บต ซงมบทบาทมากในการกระโดดไปทางานในโปรแกรมยอย

โดย CPU จะเกบคาโปรแกรมเคานเตอรไวท Stack แลวไปทางานทโปรแกรมยอย เมอทางานแลวเสรจ

CPU จะอานคาโปรแกรมเคานเตอรจาก Stack กลบมาแลวทางานตามคาสงของโปรแกรมหลกตอไป

สาหรบจานวน Stack ของไมโครคอนโทรลเลอรเบอร PIC18F4550 มทงสน 31 ระดบคอ Stack Level 1 ถง

Stack Level 31 1.4.2 หนวยความจาขอมล (Data Memory)

ในอนกรมของไอซ PIC18F หนวยความจาขอมลมแอดเดรสจานวน 12 บต จงสามารถ

ออกแบบไดสงสด 212 = 4096 ไบต แตไมโครคอนโทรลเลอรเบอร PIC18F4550 ไดออกแบบใชงานเพยง

จานวน 256 ไบต คอแอดเดรส 000h ถง 7FFh โดยแบงออกเปนชวง ๆ ละ 16 แอดเดรส แตละชวงเรยกวา

แบงก (Bank) จงไดเปนแบงก 0 ถงแบง 7 แบงกท 8 ถงแบงกท 14 ไมไดใชงานจะอานคาออกมาเปน 0 สวน

แบงกท 15 แอดเดรสท F00h ถง F5F ไมไดใชงาน แตจะใชงานตงแตแอดเดรส F60h ถงแอดเดรส FFFh ใช

งานสาหรบรจสเตอรพเศษ (SFR : Special Function Registers)

Page 22: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

22

Access RAM

(1)

GPR

GPR

GPR

GPR

GPR

(1)GPR

(1)GPR

(1)GPR

BSR<3:0>

= 0000

= 0001

= 0010

= 0011

= 0100

= 0101

= 0110

= 0111

Bank 0

Bank 1

Bank 2

Bank 3

Bank 4

Bank 5

Bank 6

Bank 7

Bank 8

Bank 14

Bank 15

00h

FFh00h

FFh00h

FFh00h

FFh00h

FFh00h

FFh00h

FFh00h

FFh

00h

FFh SFR FFFh

000h

0FFh100h

1FFh200h

2FFh300h

3FFh400h

4FFh500h

5FFh600h

6FFh700h

7FFh800h

EFFhF00hF5FhF60h

Unused

Unused

รปท 1.13 การจดตาแหนงของ Data Memory ไอซเบอร PIC18F4550

รจสเตอร (Register) เปนหนวยความจาขนาดเลกทอยภายในซพย ทางานไดเรวมาก ใชเกบขอมลท

จาเปนในการคานวณหรอระบสถานะของการทางานของหนวยประมวลผลกลาง และมกถกอางถงบอย ๆ

ในระหวางการคานวณของหนวยประมวลผล เพอใหโปรแกรมททางานอย สามารถเขาถงขอมลทจาเปน

เหลานไดอยางรวดเรว รจสเตอรของไมโครคอนโทรลเลอร PIC18F4550 มจานวนมาก ดงตารางท 1.2

Page 23: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

23

ตารางท 1.2 ชอรจสเตอรของไมโครคอนโทรลเลอรเบอร PIC18F4550

ชอรจสเตอร ชอรจสเตอร ชอรจสเตอร ชอรจสเตอร

ADRESH EECON2 LATB PCL

ADRESL EECON1 LATC PCLATU

ADCON0 FSR0H LATD PCLATH

ADCON1 FSR0L LATE POSTINC0

ADCON2 FSR1H OSCTUNE POSTDEC0

BAUDCON FSR1L OSCCON POSTINC0

BSR FSR2H PIR1 POSTINC1

CCPR1H FSR2L PIE1 POSTDEC1

CCPR1L HLVDCON PIR2 POSTINC2

CCP1CON INDF0 PIE2 POSTDEC2

CCPR2H INDF1 PR2 PORTA

CPR2L INDF2 PREINC1 PORTB

CCP2CON INTCON PREINC2 PORTD

CVRCON INTCON1 PLUSW1 PORTE

CMCON INTCON2 PLUSW2 RCON

ECCP1DEL INTCON3 PREINC0 RCREG

ECCP1AS IPR1 PLUSW0 RCSTA

EEADR IPR2 PRODH STKPTR

EEDATA LATA PRODL STATUS

SSPCON1 T1CON TRISE UEP1

SSPCON2 T2CON TXREG UEP0

SSPCON2 T3CON TXSTA UCFG

SSPBUF TMR0H UEP15 UADDR

SSPADD TMR0L UEP14 UCON

Page 24: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

24

ตารางท 1.2 (ตอ) ชอรจสเตอรของไมโครคอนโทรลเลอรเบอร PIC18F4550

ชอรจสเตอร ชอรจสเตอร ชอรจสเตอร ชอรจสเตอร

SSPSTAT TMR1H UEP13 USTAT

SPBRGH TMR1L UEP12 UEIE

SPBRG TMR2 UEP11 UEIR

SPPCON TMR3H UEP10 UIE

SPPEPS TMR3L UEP9 UIR

SPPCFG TOSU UEP8 UFRMH

SPPDATA TOSH UEP7 UFRML

TABLAT TOSL UEP6 WREG

TBLPTRU TRISA UEP5 WDTCON

TBLPTRH TRISB UEP4

TBLPTRL TRISC UEP3

T0CON TRISD UEP2

การตงคาและการใชงานรจสเตอรเหลาน ใหดจากคมอหรอ Data Sheet จากผผลตคอบรษท

Microchip และผเขยนไดอธบายไวในบททเกยวของกบรจสเตอรนน ๆ

ไมโครคอนโทรลเลอรหมายถงอปกรณควบคมขนาดเลกทสามารถควบคมอปกรณภายนอกได

โครงสรางภายในประกอบดวยหนวยประมวลผลกลาง หนวยความจาโปรแกรม หนวยความจาขอมล หนวย

ผลตสญญาณนาฬกา ไทเมอร โมดล ADC โมดล CCP หนวยควบคมการ Interrupt การสอสารแบบ SPI,

UART,USB นอกจากนไมโครคอนโทรลเลอรบางตระกลยงไดออกแบบฟงกชนพเศษตาง ๆ เชน การตดตอ

ผาน Internet ความสามารถอานขอมล SD Card เปนตน ไมโครคอนโทรลเลอรมหลายตระกล เชน Z80,

PIC, MCS51, AVR, ARM7,ARM9 68H, H8 Basic Stamp, PSOC, MSP, RABBIT แตละตระกลม

คณสมบตขอเดนขอดอยแตกตางกนออกไป

ภาษาทไมโครคอนโทรลเลอรสามารถทางานไดทนทคอภาษาเครอง (File .Hex) ซงเปนรหส

เลขฐานสบหก เมอผโปรแกรมใชภาษาอนจะตองแปลงใหเปนภาษาเครองกอนทจะดาวนโหลดลงในไอซ

Page 25: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

25

ไมโครคอนโทรลเลอร ภาษาทสามารถเขยนเปนโปรแกรมหรอซอรสโคดไดแกแอสเซมบล (Assemble

Languages) ภาษาซ (C Languages) ภาษาซพลสพลส (C++ Languages) ภาษาเบสก (BASIC

Languages) ภาษาเบสกสแตมป (BASIC Stamp Languages) และภาษาจาวา (JAVA Languages)

ไอซไมโครคอนโทรลเลอรเบอร PIC18F4550 เปนผลตภณฑของบรษท Microchip หนวยความจา

โปรแกรม (Program Memory) ขนาด 32768 ไบต หรอ 32 Kbyte หนวยความจาขอมล (Data Memory)

ขนาด 2048 ไบต หรอ 2 Kbyte หนวยความจาขอมลอสแควรพรอม (Data EEPROM Memory) ขนาด 256

ไบต Internal oscillator (ภายในตวไอซ) ตงแตความถ 31 kHz ถง 8 MHz และใช External Oscillator ได

สงสด 48 MHz การจดวางตาแหนง Pin แบบ PDIP เปน 40 Pin แตละ Pin สามารถทางานไดหลายหนาท

เชนขาท 5 (RA3/AN3/VREF+) ทาหนาทเปนพอรตดจทลอนพตเอาตพต ทาหนาทเปนแอนะลอกอนพตชอง

ท 3 และยงทาหนาทเปนจดอางองไฟฟาบวกของวงจรแปลงจากแอนะลอกเปนดจตอล เปนตน

รจสเตอรเปนหนวยความจาขนาดเลกทอยภายในซพย ทางานไดเรวมาก ใชเกบขอมลทจาเปนในการ

คานวณหรอระบสถานะของการทางานของหนวยประมวลผลกลาง และมกถกอางถงบอย ๆ ในระหวางการ

คานวณของหนวยประมวลผล เพอใหโปรแกรมททางานอย สามารถเขาถงขอมลทจาเปนเหลานไดอยาง

รวดเรว

Page 26: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

26

คาสง จงตอบคาถามตอไปนใหถกตอง

1. จงใหความหมายของคาวาไมโครคอนโทรลเลอร

2. จงอธบายขอแตกตางระหวางไมโครโพรเซสเซอรกบไมโครคอนโทรลเลอร

3. จากรปดานลาง ระดบแรงดนไฟฟากระแสตรงตาสดทไอซไมโครคอนโทรลเลอรยงสามารถทางานไดมคา

เทาไร เมอใชครสตอล 30 MHz

แรงดนไฟฟ

า (V

olts)

4 M

Hz

48 M

Hz

Page 27: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

27

4. จากรปดานลาง จงอธบายหนาทของ Pin ท 1, 6, 11, 17, 18, 39 และ 40 ของ PIC18F4550

1

765432

1098

11121314151617181920

30292827262524232221

393837363534333231

40MCLR/Vpp/RE3RA0/AN0RA1/AN1

RA2/AN2/VREF-CVREF

RA3/AN3/VREF+RA4/T0CK/C1OUT/RCV

RA5/AN4/SS/HLVDIN/C2OUTRE0/AN5/CK1SPPRE1/AN6/CK2SPP

RE2/AN7/OESPPVDD

VSS

OSC1/CLKIOSC2/CLKO/RA6

RC0/T1OSO/T13CKIRC1/T1OSI/CCP2 /UOE

RC2/CCP1/P1AVUSB

RD0/SPP0RD1/SPP1

RB7/KBI3/PGDRB6/KBI2/PGCRB5/KBI1/PGMRB4/AN11/KBI0/CSSPPRB3/AN9/CCP2 /VFRB2/AN8/INT2/VMORB1/AN10/INT1/SCK/SCLRB0/AN12/INT0/FLT0/SDI/SDAVDD

VSS

RD7/SPP7/P1DRD6/SPP6/P1CRD5/SPP5/P1BRD4/SPP4RC7/RX/DT/SDORC6/TX/CKRC5/D+/VPRC4/D-/VMRD3/SPP3RD2/SPP2

(1)

(1)

Page 28: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

28

คาสง จงทาเครองหมาย X ลงในขอทถกตองทสด

1. ขอใดไมใชสวนประกอบของไมโครคอนโทรลเลอร

ก. CPU ข. Interrupt Control

ค. Input Output Port ง. ARM9

2. Watchdog Timer ของไมโครคอนโทรลเลอรหนาทใด

ก. ผลตสญญาณนาฬกา ข. ตรวจสอบสถานะตาง ๆ ของการทางาน

ค. ตงเวลาการทางาน ง. ตรวจสอบขอมลอนพต

3. การบรรจภณฑของไมโครคอนโทรลเลอรดงรปดานลางเปนแบบใด

ก SOIC ข. PDIP

ค. PLCC ง. TQFP

4. ขอใดไมใชประเภทของของไมโครคอนโทรลเลอร

ก. 8 บต ข. 16 บต

ค. 24 บต ง. 32 บต

5. ผผลตไอซไมโครคอนโทรลเลอรตระกล AVR คอบรษทใด

ก. Microchip ข. Phillips

ค. Parallax ง. Atmel

6. ขอใดไมใชสวนทสาคญททาใหไมโครคอนโทรลเลอรทางานได

ก. สญญาณรเซตขณะเรมตน ข. สญญาณนาฬกา

ค. Source Code ภาษาเครอง ง. สญญาณการ Interrupt

7. ขอใดไมใชคณลกษณะของไมโครคอนโทรลเลอรเบอร PIC18F4550

ก. ใช Clock ตงแต 0 Hz – 48 MHz ข. ใชไฟฟากระแสตรง 1.5 V ถง 5.5 V

ค. ม Program Memory ขนาด 32 Kbyte ง. ม Data Memory ขนาด 2 Kbyte

Page 29: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

29

8. ขอใดเปนความหมายของขอความทระบไวทขา 26 (RC7/RX/DT/SDO) ของ PIC18F4550

ก. ดจทลอนพตเอาตพตพอรต C บตท 7 ข. อนพตของ EUSART asynchronous

ค. เอาตพตของ SPI™ data ง. ถกทกขอ

9. จดหนวยความจาขอมลของไมโครคอนโทรลเลอรเบอร PIC18F4550 จดเปนก Bank

ก 8 ข. 16

ค. 32 ง. 64

10. ขอใดใหความหมายของคาวารจสเตอร (Register) ไดจดเจนทสด

ก เปนหนวยความจาขนาดเลกทอยภายในซพยทางานไดเรวมาก

ข. ใชเกบขอมลทจาเปนในการคานวณหรอระบสถานะของ CPU

ค. ความสามารถเขาถงขอมลทจาเปนเหลานไดอยางรวดเรว

ง. บอกการทางานของหนวยประมวลผลกลางในระหวางการคานวณของ CPU

Page 30: 1. · 2016. 8. 16. · pic18f4550 รูปที่ 1.9 โครงสร างตําแหน งขาของไมโครคอนโทรลเลอร เบอร

30