ไมโครคอนโทรลเลอร์ประกอบด้วยอะไร
1/4/2557
SONGCHAI
PRAPATRUNGSEE
หน่วยความจำโปรแกรม(PROGRAM MEMORY)
คือROM
ROM แปลว่า READ
ONLY MEMORY
คือหน่วยความจำถาวรที่สามารถอ่านได้เท่านั้น
ไม่สามารถเขียนคำสั่งได้ในขณะที่
ไมโครคอนโทรลเลอร์ทำงานอยู๋
หมายถึงจะเขียนได้โดยใช้วิธีการอัด(FLASH)
เข้าไปในROMของไมโครคอนโทรลเลอร์เท่านั้น
ROMจะเป็นส่วนที่เก็บคำสั่งที่เราเขียนขึ้น
1ADDRESS=1REGISTER=1BYTE(8BIT)
1ADDRESSจะเก็บได้1BYTE(8BIT)
เลขฐานสิบหก(HEX)1ตัวจะมี4BIT
หมายความว่า1ADDRESS
จะเก็บเลขฐานสิบหก(HEX)ได้2ตัวนั่นเอง
ROMในAT89S51 มี 4KBYTE FLASH
1
KBYTE = 1024 BYTE
4
KBYTE = 4096 BYTE
หน่วยความจำข้อมูล(DATA MEMORY)
คือRAM
RAM แปลว่า RANDOM
ACCESS MEMORY
คือหน่วยความจำเข้าถึงโดยสุ่ม
หมายถึงเป็นหน่วยความจำชั่วคราวคือถ้าไม่มีไฟ
ความจำก็จะหายหมด
สามารถเขียนอ่านได้ในขณะที่
ไมโครคอนโทรลเลอร์กำลังทำงานอยู่
RAMจะถูกสั่งงานโดยROM
และRAMก็จะเอาข้อมูลไปให้ROM
เพื่อให้ROMตัดสินใจในการสั่งงานRAM
RAM มี 2ส่วนคือ RAMภายใน
กับหน่วยความจำภายนอก
RAM ภายใน AT89S51
แบ่งออกเป็น4ส่วน
คือ
1 ที่อยู่(ADDRESS)ตั้งแต่ 00H – 1FH
ประกอบด้วย 4แบงค์แต่ละแบงค์มี 8BYTE
เท่ากับหน่วยความจำแบงค์มี 32BYTE
ประกอบด้วย
BANK0 เป็นที่อยู่ของรีจิสเตอร์R0-R7
BANK1 เป็นที่อยู่ของรีจิสเตอร์R0-R7
BANK2 เป็นที่อยู่ของรีจิสเตอร์R0-R7
BANK3 เป็นที่อยู่ของรีจิสเตอร์R0-R7
และสามารถเลือกแบงค์ได้โดยกำหนดค่าใน
บิทRS1และRS0 ซึ่งอยู่ใน
รีจิสเตอร์PSW(PROGRAM STATUS
WORD)
BIT7
BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
CY AC F0 RS1 RS0 OV UD P
CY=CARRY
FLAG บิดทด
AC=AUXILIARY CARRY FLAG
(FOR BCD OPERATIONS)
F0=FLAG 0 (AVAILABLE TO
THE USER FOR GENERAL PURPOSE)
RS1 RS0 ADDRESS
IN RAM(BANK)
0 0 BANK0
(D:0X00 - D:0X07)
0 1 BANK1
(D:0X08 -D:0X0F)
1 0 BANK2
(D:0X10 -D:0X17)
1 1 BANK3
(D:0X18H -D:0X1F)
OV =OVERFLOW FLAG
UD =USER DEFINABLE
FLAG
P PARITY
FLAG
2 ที่อยู่(ADDRESS)ตั้งแต่ 20H – 2FH
มี 16BYTE สามารถเข้าถึงได้ในระดับบิท
3 ที่อยู่(ADDRESS)ตั้งแต่ 30H – 7FH
เป็นหน่วยความจำทั่วไปมี 80BYTE
4 ที่อยู่(ADDRESS)ตั้งแต่ 80H – FFH
เป็นหน่วยความจำโดยอ้อม(INDIRECT DATA)
หรือเรียกว่าIDATA มี 128BYTE
หน่วยความจำนี้ไม่มีในAT89S51
เพราะมีRAM 128BYTE
หน่วยความจำโดยอ้อม(INDIRECT DATA)
หรือเรียกว่าIDATA
จะมีในไมโครคอนโทรลเลอร์ที่มีRAMมากกว่า128BYTE
เช่นAT89S52มีแรม256BYTE
ก็จะมีหน่วยความจำIDATA 128BYTE
หน่วยความจำภายนอก AT89S51
สามารใช้หน่วยความจำภายนอกได้สูงสุด
64KBYTE
ไม่มีความคิดเห็น:
แสดงความคิดเห็น