กลับไปหน้าบทความ

อ่าน 4 นาที

อินเทล เอ็มซีเอส-48

ไมโครคอนโทรลเลอร์ซีรีส์ MCS-48 ซึ่งเป็นไมโครคอนโทรลเลอร์ ตัวแรกของIntel เปิดตัวครั้งแรกในปี 1976 สมาชิกรุ่นแรกได้แก่ 8048 , 8035และ8748โดย 8048...

อินเทล เอ็มซีเอส-48

ไมโครคอนโทรลเลอร์ Intel 8048
ชิป Intel 8749

ไมโครคอนโทรลเลอร์ซีรีส์ MCS-48 ซึ่งเป็นไมโครคอนโทรลเลอร์ ตัวแรกของIntel เปิดตัวครั้งแรกในปี 1976 สมาชิกรุ่นแรกได้แก่ 8048 , 8035และ8748โดย 8048 [ 1 ]ถือเป็นสมาชิกที่โดดเด่นที่สุดในตระกูลนี้ ในตอนแรก ตระกูลนี้ผลิตโดยใช้ เทคโนโลยี NMOS (n-type metal–oxide–semiconductor ) ในช่วงต้นทศวรรษ 1980 ก็เริ่มมีให้ใช้งานใน เทคโนโลยี CMOS และยังคง ผลิตต่อไปจนถึงทศวรรษ 1990 เพื่อรองรับการออกแบบรุ่นเก่าที่ยังคงใช้เทคโนโลยีนี้อยู่

ซีรี่ส์ MCS-48 ใช้สถาปัตยกรรม Harvard ที่ได้รับการดัดแปลง โดยมี ROMโปรแกรมภายในหรือภายนอก และ RAMภายใน (บนชิป) ขนาด 64 ถึง 256 ไบต์ ส่วนการรับส่งข้อมูล ( I /O)ถูกจัดสรรไว้ในพื้นที่แอดเดรส ของตัวเอง แยกจากโปรแกรมและข้อมูล

แม้ว่าซีรี่ส์ MCS-48 จะถูกแทนที่ด้วย ซีรี่ส์ MCS-51 ที่ประสบความสำเร็จอย่างมากในภายหลัง แต่ก็ยังคงได้รับความนิยมอย่างมากแม้กระทั่งในปี 2000 เนื่องจากต้นทุนต่ำ หาซื้อได้ง่าย ชุดคำสั่งแบบหนึ่งไบต์ที่ประหยัดหน่วยความจำ และเครื่องมือพัฒนาที่ครบครัน ด้วยเหตุนี้ จึงมีการนำไปใช้ในอุปกรณ์อิเล็กทรอนิกส์สำหรับผู้บริโภคที่มีปริมาณการผลิตสูงและคำนึงถึงต้นทุน เช่น รีโมททีวี คีย์บอร์ดคอมพิวเตอร์ และของเล่น

การใช้งาน

รีจิสเตอร์ Intel 8048 [ 2 ]
1 11 00 90 80 70 60 50 40 30 20 10 0(ตำแหน่งบิต)
รีจิสเตอร์หลัก
  เอ ตัวสะสม
พีซี โปรแกรมเคาน์เตอร์​ ​
ตัวจับเวลา/ตัวนับ
  ที ตัวจับเวลา
คำแสดงสถานะโปรแกรม
  ซีวายเอซีเอฟ0 ปริญญาตรี 1 ซ้อนกัน
ธง
  ดีบีเอฟ เอฟ1 ฉัน
หมายเหตุ: รีจิสเตอร์และสแต็กอื่นๆ ที่โปรแกรมเมอร์มองเห็นได้ทั้งหมด จะถูกจัดสรรไว้ใน RAM

ชิปประมวลผลสัญญาณดิจิทัลซีรีส์ MCS-48 นิยมใช้ในแป้นพิมพ์คอมพิวเตอร์และเทอร์มินัล โดยแปลงการกดปุ่มเป็นโปรโตคอลที่วงจรดิจิทัลสามารถเข้าใจได้ นอกจากนี้ยังช่วยให้สามารถสื่อสารแบบอนุกรมได้ ลดจำนวนตัวนำที่จำเป็นในสายเคเบิลสำหรับแป้นพิมพ์ภายนอก ชิป 8048 ถูกนำมาใช้ในแอปพลิเคชันนี้ตั้งแต่เปิดตัวในปี 1978

Tandy/Radio Shack รุ่น TRS-80 Model IIที่วางจำหน่ายในปี 1979 ใช้ชิป 8021 ในแป้นพิมพ์[ 3 ]โปรเซสเซอร์ 8021 จะสแกนเมทริกซ์ปุ่ม แปลงการปิดสวิตช์เป็นรหัส 8 บิต จากนั้นส่งรหัสดังกล่าวแบบอนุกรมไปยังอินเทอร์เฟซแป้นพิมพ์บนระบบหลัก นอกจากนี้ยังรับคำสั่งเพื่อเปิดหรือปิดไฟ LED แสดงสถานะได้อีกด้วย ชิป 8021 ยังถูกใช้ในแป้นพิมพ์สำหรับ TRS-80 รุ่น 12, 12B, 16, 16B และ Tandy 6000/6000HD ด้วย[ 4 ​​]

แป้นพิมพ์ IBM PCรุ่นดั้งเดิมและแป้นพิมพ์สำหรับรุ่นก่อนหน้า อย่าง IBM System/23 Datamaster ใช้ ไมโครคอนโทรลเลอร์ 8048 ภายใน[ 5 ] PC AT แทนที่ ชิปอินเทอร์เฟซอุปกรณ์ต่อพ่วงIntel 8255ของ PC ที่พอร์ต I/O แอดเดรส 0x 60–63ด้วย 8042 ที่สามารถเข้าถึงได้ผ่านพอร์ตแอดเดรส0x60และ0x64 [ 6 ]นอกจากการจัดการอินเทอร์เฟซแป้นพิมพ์แล้ว 8042 ยังควบคุมฟังก์ชันA20 line gating สำหรับ CPU Intel 80286ของ AT และสามารถสั่งการด้วยซอฟต์แวร์ให้รีเซ็ต 80286 ได้ (ต่างจาก โปรเซสเซอร์ 80386และรุ่นต่อมา 80286 ไม่มีวิธีเปลี่ยนจากโหมดป้องกันกลับไปเป็นโหมดจริงได้นอกจากการรีเซ็ต) พีซีที่เข้ากันได้รุ่นต่อมาได้รวมฟังก์ชันของ 8042 เข้ากับอุปกรณ์ super I/O ของตน

8048 ถูกใช้ในเครื่องเล่นเกมMagnavox Odyssey² ซีรีส์Korg Trident [ 7 ]และซินเธไซเซอร์อนาล็อกKorg Poly-61 [ 8 ] Roland Jupiter-4และRoland ProMars [ 9 ] Sinclair QLใช้ Intel 8049 ที่เกี่ยวข้องอย่างใกล้ชิดในการจัดการแป้นพิมพ์ พอร์ตจอยสติ๊ก อินพุต RS-232 และเสียง รุ่น 8035 ที่ไม่มี ROM ถูกใช้ใน เกมอาร์เคด Donkey KongของNintendoเพื่อสร้างเพลงประกอบและเอฟเฟกต์เสียงบางส่วนของเกม

ชุดคำสั่ง

คำสั่งทั้งหมดของ MCS-48 มีความยาวหนึ่งหรือสองไบต์ โดย 70% ของคำสั่งมีความยาวหนึ่งไบต์ MCS-48 สามารถเข้าถึงหน่วยความจำโปรแกรมได้ 4096 ไบต์ หน่วยความจำ RAM 256 ไบต์ หน่วยความจำภายนอก 256 ไบต์ และที่อยู่พอร์ต I/O แปดพอร์ต การดำเนินการทางคณิตศาสตร์และตรรกะส่วนใหญ่ใช้ตัวสะสมเป็นพารามิเตอร์และปลายทาง ตำแหน่งหน่วยความจำแปดตำแหน่งถูกแมปเป็นรีจิสเตอร์เพื่อให้สามารถเข้าถึงได้โดยฟิลด์ 3 บิตที่ฝังอยู่ในคำสั่งจำนวนมาก รีจิสเตอร์สองตัวนั้นสามารถใช้เป็นตัวชี้หน่วยความจำได้ การกระโดดแบบมีเงื่อนไขสามารถเข้าถึงได้เฉพาะหน้า 256 ไบต์ปัจจุบันเท่านั้น คำสั่ง JMP และ CALL สามารถเข้าถึงตำแหน่ง 2048 ตำแหน่งได้โดยตรง ในการเข้าถึงพื้นที่โปรแกรมทั้งหมด 4096 ไบต์ ต้องใช้คำสั่งเลือกธนาคารหน่วยความจำที่ค่อนข้างยุ่งยาก อย่างไรก็ตาม คำสั่ง RET สามารถส่งคืนไปยังที่ใดก็ได้ในพื้นที่ที่อยู่ การขัดจังหวะได้รับการสนับสนุนอย่างดีด้วยรีจิสเตอร์ทางเลือกสำหรับการสลับบริบทอย่างรวดเร็วและความสามารถในการกู้คืนสถานะของแฟล็กด้วยคำสั่ง RETR คำสั่งทั้งหมดจะดำเนินการในรอบการทำงานของเครื่องหนึ่งหรือสองรอบ แต่ละรอบการทำงานของเครื่องใช้เวลา 15 นาฬิกาภายนอก[ 2 ]

รหัสปฏิบัติการตัวถูกดำเนินการตัวช่วยจำวงจรคำอธิบาย
76543210
00000000โนป1ไม่มีการดำเนินการใดๆ
00000010OUTL BUS,A2สลักรถบัส ← A
ALUI0011ข้อมูลADD ADDC MOV ORL ANL XRL2A ← A ALU #
อัดฮี00100แอดโลJMP เพิ่ม2PC ← DBF:addhi:addlo
000ฉัน0101EN/DIS I1I ← 0 (EN) หรือ I ← 1 (DIS)
00000111ธันวาคม เอ1A ← A - 1
00001000อินส์ เอ,บัส2รถบัส A ←
000010พีพีใน A, หน้า2A ← พอร์ต(p) (พอร์ต 1-2)
00001พีพีMOVD A,Pp2A 0-3 ← 8243 พอร์ต(p); A 4-7 ← 0 (พอร์ต 4-7)
อลู000อาร์INC XCH ORL ANL เพิ่ม ADDC MOVaA XRL MOVAa1dest ← dest ALU @Rr (@R0, @R1 เท่านั้น; ไม่มี DEC)
อลู1รอาร์อาร์INC XCH ORL ANL เพิ่ม ADDC MOVaA DEC XRL MOVAa1dest ← dest ALU Rr
นิดหน่อย10010ที่อยู่ที่อยู่ JBb2ถ้า A ∧ (1 << b) แล้ว PC 0-7 ← addr
อัดฮี10100แอดโลโทรเพิ่ม2(SP) ← PSW 4-7 :PC; SP ← SP + 1; PC ← DBF:addhi:addlo
00010110ที่อยู่ที่อยู่ JTF2ถ้า TF = 1 แล้ว PC 0-7 ← addr (ตั้งค่าแฟล็กตัวจับเวลา)
00010111บริษัท อิงค์ เอ1A ← A + 1
001ที0101EN/DIS TCNTI1TCNTI ← 0 (EN) หรือ TCNTI ← 1 (DIS) (การขัดจังหวะตัวจับเวลา/ตัวนับ)
001เอฟ0110ที่อยู่ที่อยู่ JNT0 JT02ถ้า F = T0 แล้ว PC 0-7 ← addr (อินพุตทดสอบ 0)
00100111ซีแอลอาร์ เอ1A ← 0
00110111พลทหารเอ1A ← ¬A
001110พีพีOUTL Pp,A2พอร์ต(p) ← A (พอร์ต 1-2)
00111พีพีMOVD Pp,A28243 พอร์ต(p) ← A 0-3 (พอร์ต 4-7)
01000010MOV A,T1A ← T (เลื่อนตัวจับเวลาไปที่ A)
010ที0101STRT CNT/T1ถ้า T = 0 ให้เริ่มนับ มิฉะนั้นให้เริ่มจับเวลา
010เอฟ0110ที่อยู่ที่อยู่ JNT1 JT12ถ้า F = T1 แล้ว PC 0-7 ← addr (อินพุตทดสอบ 1)
01000111สลับ1A 0-3 ↔ A 4-7
01010111ดีเอ เอ1ถ้า A 0-4 > 9 หรือ AC = 1 แล้ว A ← A + 6;

ถ้า A 4-7 > 9 หรือ C = 1 แล้ว A ← A + 0x60

01100010MOV T,A1T ← A (ย้าย A ไปที่ตัวจับเวลา)
01100101หยุด TCNT1หยุดตัวจับเวลาและนับใหม่
01100111อาร์อาร์ซี เอ1C ← A 0 ; A 0-6 ← A 1-7 ; A 7 ← C
01110101เอ็นทีโอ คล์ค1ตั้งค่า T0 เป็นเอาต์พุตสัญญาณนาฬิกา
01110110ที่อยู่ที่อยู่ JF12ถ้า F1 = 1 แล้ว PC 0-7 ← ที่อยู่
01110111อาร์อาร์ เอ1A 0-6 ← A 1-7 ; A 7 ← A 0
1000000อาร์MOVX A,@Rr2A ← ภายนอก @Rr (@R0, @R1 เท่านั้น)
10000011เรท2SP ← SP - 1; PC ← (SP)
10เอ็น00101เอฟเอ็นซีแอลอาร์1Fn ← 0
10000110ที่อยู่ที่อยู่ JNI2ถ้าอินพุต = 0 แล้ว PC 0-7 ← addr (อินพุตการขัดจังหวะทดสอบต่ำ)
10001000ข้อมูลORL BUS,#2รถบัส A ← ∨ #
100010พีพีข้อมูลORL Pp,#2A ← พอร์ต(p) ∨ # (พอร์ต 1-2)
10001พีพีโลก หน้า A28243 พอร์ต(p) ← 8243 พอร์ต(p) ∨ A 0-3 (พอร์ต 4-7)
1001000อาร์MOVX @Rr,A2ภายนอก @Rr ← A (@R0, @R1 เท่านั้น)
10010011รีทรั2SP ← SP - 1; PC ← (SP); PSW 4-7 ← (SP)
10เอ็น10101พลทหารเอฟเอ็น1Fn ← ¬Fn
10010111ซีแอลอาร์ ซี1C ← 0
10011000ข้อมูลรถบัส ANL,#2รถบัส A ← ∧ #
100110พีพีข้อมูลANL Pp,#2A ← พอร์ต(p) ∧ # (พอร์ต 1-2)
10011พีพีANLD Pp,A28243 พอร์ต(p) ← 8243 พอร์ต(p) ∧ A 0-3 (พอร์ต 4-7)
10100011MOVP A,@A2A ← ROM(PC 8-11 :A) (อ่านหน่วยความจำโปรแกรม)
10100111พลทหารซี1C ← ¬C
10110011เจเอ็มพีพี @เอ2PC 0-7 ← A (JMP ทางอ้อม)
10110110ที่อยู่ที่อยู่ JF02ถ้า F0 = 1 แล้ว PC 0-7 ← ที่อยู่
110เอ็น0101SEL RBn1BS ← n (เลือกธนาคารลงทะเบียน)
11000110ที่อยู่ที่อยู่ JZ2ถ้า A = 0 แล้ว PC 0-7 ← ที่อยู่
11000111MOV A,PSW1เอ ← พีเอสดับบลิว
11010111MOV PSW,A1PSW ← A
11100011MOVP3 A,@A2A ← ROM(0011:A) (อ่านหน่วยความจำโปรแกรมหน้า 3)
111เอ็น0101เอสอีแอลเอ็มบีเอ็น1DBF ← n (เลือกหน่วยความจำ: PC 11 )
111เอฟ0110ที่อยู่ที่อยู่ JNC JC2ถ้า F = C แล้ว PC 0-7 ← ที่อยู่
11100111อาร์แอล เอ1A 1-7 ← A 0-6 ; A 0 ← A 7
11101รอาร์อาร์ที่อยู่DJNZ Rr,ที่อยู่2Rr ← Rr - 1; ถ้า Rr ≠ 0 แล้ว PC 0-7 ← addr
11110111อาร์แอลซี เอ1C ← A 7 ; A 1-7 ← A 0-6 ; A 0 ← C
76543210ตัวถูกดำเนินการตัวช่วยจำวงจรคำอธิบาย
RRR หรือ R3210อลูALUI #immed
R0 @R00000เพิ่ม A,# (A ← A + #)
อาร์1 @อาร์10001INC arg (arg ← arg + 1)ADDC A,# (A ← A + # + C)
อาร์20010XCH A,arg (A ↔ arg)MOV R,# (R ← #)
อาร์30011
อาร์40100ORL A,arg (A ← A ∨ arg)ORL A,# (A ← A ∨ #)
อาร์50101ANL A,arg (A ← A ∧ arg)ANL A,# (A ← A ∧ #)
อาร์60110เพิ่ม A,arg (A ← A + arg)
อาร์70111ADDC A,หาเรื่อง (A ← A + หาเรื่อง + C)
1010MOV arg,A (arg ← A)
1100DEC arg (arg ← arg - 1)
1101XRL A,arg (A ← A ⊻ arg)XRL A,# (A ← A ⊻ #)
1111MOV A,arg (A ← arg)
RRR หรือ R3210อลูALUI #immed

ตัวอย่างโค้ด

โค้ดแอ สเซมเบลอร์ต่อไปนี้เป็นของซับรูทีนชื่อadd32ที่บวกจำนวนเต็ม 32 บิตสองจำนวนที่จัดเก็บใน ลำดับ ลิตเติลเอนเดียน โดยตัวบวกตัวหนึ่งชี้ด้วย R0 และตัวบวกอีกตัวและผลลัพธ์ชี้ด้วย R1

 100 100 BA 04 102 97 103 เอฟ0 104 71 105 A1 106 18 107 19 108 อีเอ 03 10A 83 10บี 
; Add32 -- ; บวกจำนวนเต็ม 32 บิตสองจำนวน; ; รีจิสเตอร์สำหรับป้อนข้อมูล; R0 - ที่อยู่ของตัวบวกตัวแรก; R1 - ที่อยู่ของตัวบวกตัวที่สองและผลลัพธ์; รีจิสเตอร์ที่แก้ไขแล้ว; R0, R1, R2ORG 100h ;จุดเริ่มต้นที่ 100h ADD32: MOV R2 , #32./8. ;จำนวนไบต์ใน 32 บิตCLR C ;เตรียม C สำหรับ ADDC ADDLP: MOV A , @ R0 ;รับตัวบวกตัวแรกADDC A , @ R1 ;บวกตัวบวกตัวที่สอง + CY MOV @ R1 , A ;เก็บผลลัพธ์INC R0 ;เลื่อนตัวชี้หน่วยความจำINC R1 DJNZ R2 , ADDLP ;วนลูป R2 ครั้งRET END

ตัวแปร

ไมโครคอนโทรลเลอร์ Intel 8049 ซึ่งใช้ในมัลติมิเตอร์ HP3478A ชิปนี้ผลิตขึ้นในสัปดาห์ที่สองของปี 1984
8749 พร้อม UV EPROM
Intel P8242 - ตัวควบคุมแป้นพิมพ์พร้อมเฟิร์มแวร์ Phoenix สำหรับคอมพิวเตอร์ที่เข้ากันได้กับ AT
National Semiconductor NS87P50D-6 – แหล่งผลิตสำรองสำหรับไมโครคอนโทรลเลอร์แบบ piggyback รุ่น 87P50

ไมโคร คอนโทรลเลอร์ 8049มีROM แบบมาสก์ 2 KB (รุ่น 8748 และ 8749 ใช้EPROM ) ซึ่งสามารถแทนที่ด้วย ROM ภายนอกขนาด 4 KB ได้ นอกจากนี้ยังมี  RAMขนาด 128 ไบต์และ  พอร์ตI/O 27 พอร์ต [ 10 ] บล็อก ออสซิลเลเตอร์ของไมโครคอนโทรลเลอร์จะแบ่งความถี่อินพุตของสัญญาณนาฬิกาออกเป็นสามส่วน แล้วแบ่งผลลัพธ์นั้นออกเป็นห้าสถานะของเครื่อง การใช้  ความถี่คริสตัลสูงสุด  11 MHz จะสร้าง คำสั่งแบบรอบเดียว ได้ 0.73 MIPSคำสั่งประมาณ 70% เป็นคำสั่งแบบไบต์เดียวและรอบเดียว แต่ 30% ต้องการสองรอบหรือสองไบต์ ดังนั้นประสิทธิภาพโดยทั่วไปจึงใกล้เคียงกับ 0.5 MIPS

ไมโครคอนโทรลเลอร์[ 2 ]
อุปกรณ์หน่วยความจำโปรแกรมหน่วยความจำข้อมูลหมายเหตุ
8020รอม 1K × 8แรม 64 × 8เป็นส่วนย่อยของ 8048 มี 20 ขา และมีสาย I/O เพียง 13 สาย
8021รอม 1K × 8แรม 64 × 8เป็นส่วนย่อยของ 8048, 28 พิน, 21 สายอินพุต/เอาต์พุต
8022รอม 2K × 8แรม 64 × 8สับเซตของ 8048, ตัวแปลง A/D
8035ไม่มีแรม 64 × 8
8038ไม่มีแรม 64 × 8
8039ไม่มีแรม 128 × 8
8040ไม่มีแรม 256 × 8
8048รอม 1K × 8แรม 64 × 8พอร์ต I/O 27 พอร์ต
8049รอม 2K × 8แรม 128 × 8พอร์ต I/O 27 พอร์ต
8050รอม 4K x 8แรม 256 × 8
8648อีพีรอม OTP 1K × 8แรม 64 × 8EPROM OTP จากโรงงาน
87481K × 8 EPROM [ 11 ]แรม 64 × 8 [ 11 ]หน่วยความจำโปรแกรม 4K ขยายได้[ 11 ]ตัวจับเวลา 8 บิต 2 ตัว พอร์ต I/O 27 ตัว
8749อีพีรอม 2K × 8แรม 128 × 8ตัวจับเวลา 8 บิต 2 ตัว, พอร์ต I/O 27 ตัว
87P50ซ็อกเก็ต ROM ภายนอกแรม 256 × 8มีซ็อกเก็ตแบบ piggy-backสำหรับ EPROM รุ่น 2758/2716/2732

ซีรี่ส์ UPI-41 เป็นรูปแบบหนึ่งของ MCS-48 ที่ออกแบบมาสำหรับอุปกรณ์ต่อพ่วง โดยมีเป้าหมายเพื่อตอบสนองตามความต้องการบนบัสแบบขนาน ด้วยเหตุนี้ จึงมีการสร้างอินเทอร์เฟซบัสข้อมูลแบบขนานที่มีบัฟเฟอร์ไว้ในชิปเหล่านี้ และมีการเปลี่ยนแปลงคำสั่งโอเปอเรเตอร์โค้ดบางส่วนเพื่อให้สามารถใช้งานอินเทอร์เฟซนี้ได้[ 12 ]

อินเทอร์เฟซอุปกรณ์ต่อพ่วงสากล
อุปกรณ์หน่วยความจำโปรแกรมหน่วยความจำข้อมูลหมายเหตุ
8041รอม 1K × 8แรม 64 × 8อินเทอร์เฟซอุปกรณ์ต่อพ่วงสากล (UPI)
8041AHรอม 1K × 8แรม 128 × 8ยูพีไอ
8741Aอีพีรอม 1K × 8แรม 64 × 8UPI, EPROM เวอร์ชัน 8041
8741AHอีพีรอม OTP 1K × 8แรม 128 × 8UPI, OTP เวอร์ชัน EPROM 8041AH
8042AHรอม 2K × 8แรม 256 × 8ยูพีไอ
8242รอม 2K × 8แรม 256 × 8UPI ที่ตั้งโปรแกรมไว้ล่วงหน้าด้วยเฟิร์มแวร์ควบคุมแป้นพิมพ์[ 13 ]
8742อีพีรอม 2K × 8แรม 128 × 8ยูพีไอ เวอร์ชันอีพีรอม
8742AHอีพีรอม OTP 2K × 8แรม 256 × 8UPI, OTP เวอร์ชัน EPROM 8042AH

ไมโครคอนโทรลเลอร์ที่ดัดแปลง

Philips Semiconductors (ปัจจุบันคือ NXP ) เป็นเจ้าของลิขสิทธิ์ในการผลิตซีรี่ส์นี้และพัฒนาตระกูล MAB8400 ของตนโดยอิงจากสถาปัตยกรรมนี้ ไมโครคอนโทรลเลอร์เหล่านี้เป็นไมโครคอนโทรลเลอร์ตัวแรกที่มีอิน เทอร์เฟซ I²C ในตัว และถูกนำไปใช้ในเครื่องเล่นซีดีPhilips รุ่นแรก ( Magnavoxในสหรัฐอเมริกา) (เช่น CD-100) [ 14 ]

ดูเพิ่มเติม

บรรณานุกรม

เอ็มซีเอส-48
  • MCS-48 ไมโครคอมพิวเตอร์แบบส่วนประกอบเดียว (สมุดบันทึกสำหรับสัมมนาการใช้งาน) บริษัท อินเทล คอร์ปอเรชั่น ปี 1978
  • คู่มือการใช้งานไมโครคอมพิวเตอร์ MCS-48 (ไฟล์ PDF)บริษัท อินเทล คอร์ปอเรชั่น ปี 1978
  • Smith, Lionel; Moore, Cecil (มกราคม 1979). "โปรแกรมย่อยสำหรับการรับส่งข้อมูลแบบอนุกรมและการคำนวณทางคณิตศาสตร์สำหรับไมโครคอมพิวเตอร์ 8049" . บริษัท Intel. เอกสารประกอบการใช้งาน AP-49.
  • โปรแกรมจำลองความเร็วสูงสำหรับไมโครคอมพิวเตอร์ Intel MCS-48บริษัท Intel Corporation สิงหาคม 1979 เอกสารประกอบการใช้งาน AP-55A
  • Dahm, Phil; Rosenberg, Stuart (ธันวาคม 1979). ไมโครคอนโทรลเลอร์ Intel MCS-48 และ UPI-41A . บริษัท Intel. รายงานความน่าเชื่อถือ RR-25.
  • คู่มือการใช้งานไมโครคอนโทรลเลอร์ (PDF) Intel. 1984. หมายเลขสั่งซื้อ 210918-002.
  • ตัวควบคุมฝังตัว 8 บิต (PDF) Intel. 1991. หมายเลขสั่งซื้อ 270645-003.
ยูพีไอ-41
  • Intel (1980). คู่มือผู้ใช้ UPI-41A (PDF)หมายเลขสั่งซื้อ 9800504-02 Rev. B.
  • คู่มือผู้ใช้ไมโครโปรเซสเซอร์ Peripherals UPI-41A/41AH/42/42AH (PDF)บริษัท Intel. ตุลาคม 1993. 231318-006.
  • Beaston, Johan; Kahn, Jim (พฤษภาคม 1980). ตัวควบคุมเทปคาสเซ็ตดิจิทัล 8741A/8041A . บริษัท Intel. เอกสารประกอบการใช้งาน AP-90.
  • สถาปัตยกรรมครอบครัว MCS-48
  • โครงการ Coprolite 8048ในWayback Machine (เก็บถาวรเมื่อวันที่ 17 กรกฎาคม 2014)
  • พิพิธภัณฑ์ประวัติศาสตร์คอมพิวเตอร์, การเสวนาประวัติศาสตร์ปากเปล่าเกี่ยวกับไมโครคอนโทรลเลอร์ Intel 8048
  • ไมโครคอนโทรลเลอร์ NEC 8741 (ภาพชิปซิลิคอน)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Intel_MCS-48&oldid=1357746489 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อินเทล เอ็มซีเอส-48

ไมโครคอนโทรลเลอร์ซีรีส์ MCS-48 ซึ่งเป็นไมโครคอนโทรลเลอร์ ตัวแรกของIntel เปิดตัวครั้งแรกในปี 1976 สมาชิกรุ่นแรกได้แก่ 8048 , 8035และ8748โดย 8048...

การใช้งาน

ชิปประมวลผลสัญญาณดิจิทัลซีรีส์ MCS-48 นิยมใช้ในแป้นพิมพ์คอมพิวเตอร์และเทอร์มินัล โดยแปลงการกดปุ่มเป็นโปรโตคอลที่วงจรดิจิทัลสามารถเข้าใจได้ นอกจากนี้ยังช่วยให้สามารถสื่อสารแบบอนุกรมได้ ลดจำนวนตัวนำที่จำเป็นในสายเคเบิลสำหรับแป้นพิมพ์ภายนอก ชิป 8048...

ชุดคำสั่ง

คำสั่งทั้งหมดของ MCS-48 มีความยาวหนึ่งหรือสองไบต์ โดย 70% ของคำสั่งมีความยาวหนึ่งไบต์ MCS-48 สามารถเข้าถึงหน่วยความจำโปรแกรมได้ 4096 ไบต์ หน่วยความจำ RAM 256 ไบต์ หน่วยความจำภายนอก 256 ไบต์ และที่อยู่พอร์ต I/O แปดพอร์ต...

ตัวอย่างโค้ด

โค้ดแอ สเซมเบลอร์ ต่อไปนี้เป็นของซับรูทีนชื่อ add32 ที่บวกจำนวนเต็ม 32 บิตสองจำนวนที่จัดเก็บใน ลำดับ ลิตเติลเอนเดียน โดย ตัวบวกตัวหนึ่งชี้ด้วย R0 และตัวบวกอีกตัวและผลลัพธ์ชี้ด้วย R1