วันอาทิตย์ที่ 14 สิงหาคม พ.ศ. 2554

การสร้าง PORT I/O ให้กับไมโครโปรเซสเซอร์ Z-80

ไมโครโปรเซสเซอร์ Z-80 ติดต่อกับอุปกรณ์ภายนอกด้วยขาสัญญาณต่าง ๆ ดังต่อไปนี้



D0-D7 เป็นบัสข้อมูล 8 บิท ใช้รับส่งข้อมูลระหว่าง Z-80 กับอุปกรณ์ภายนอก
A0-A7 เป็นบัสแอดเดรส ใช้กำหนดหมายเลขช่องสัญญาณ I/O ในการติดต่อกับอุปกรณ์ภายนอก Z-80 ใช้เฉพาะ A0-A7 กำหนดตำแหน่ง ทำให้ติดต่ออุปกรณ์ภายนอกได้ด้วย แอดเดรส 00-FF
ทั้งสามสัญญาณนี้แอคตีฟด้วยลอจิก "0"

เมื่อ Z-80 ทำคำสั่ง IN หรือ OUT ตามขั้นตอนดังต่อไปนี้
เมื่อ Z-80 ทำคำสั่ง IN เพื่ออ่านค่าจากอุปกรณ์ภายนอก


เมื่อ Z-80 ทำคำสั่ง IN เพื่อสั่งค่าให้กับอุปกรณ์ภายนอก

ในการถอดรหัสเพื่อเรียกหมายเลข พอร์ท ผู้ใช้จะต้องเลือกใช้สัญญาณ IORQ กับ RD หรือ IORQ กับ WR หรือ เฉพาะ IORQ แล้วแต่กรณี
การต่อ PORT I/O ให้กับ Z-80 อาจใช้ไอซีดิจิตอล หรือใช้ชิพสนับสนุน เช่น 8255 หรือ Z80 PIO ก็ได้

พอร์ทอินพุท/เอาท์พุท

OUTPUT PORT USING 74LS374/FONT>

- OUTPUT 1 # 87
- OUTPUT 2 # 86
- OUTPUT 3 # 85
- OUTPUT 4 # 84


การใช้ 74LS374 ขับ LED


โปรแกรมสำหรับขับ LED ให้ติดเป็นจังหวะ
;โปรแกรมต่อไปนี้ใช้ ลอจิก 1 ขับ LED
;ให้ติด O O O O O O O O O O O O O O O O (O ติด O ดับ
;แล้วให้การติดเลื่อนไปทีละดวง
2000 3E88 LOOP LD A,88H ;เก็บรูปแบบของไฟไว้ใน A
2002 D387 OUT (87),A ;ส่งค่าใน A ไปออกเอาท์พุท #87
2004 D386 OUT (86(,A ;ส่งค่าใน A ไปออกเอาท์พุท #86
2006 CD0021 CALL DELAY ;เรียกใช้โปรแกรมหน่วงเวลา
2009 0F RRCA ;หมุนค่าตัวเลขใน A ไปทางขวา
200A 18F6 JR LOOP :วนกลับไปทำซ้ำ
;โปรแกรมย่อยสำหรับหน่วงเวลา
2100 F5 PUSH AF :ฝากค่า AF ไว้ใน STACK
2101 21 00 80 REPEAT LD HL,8000H :กำหนดจำนวนของการวน
2104 2B DEC HL :ลดค่า HL ลง 1
2105 7C LD A,H :นำค่า H มาเก็บใน L
2106 B5 OR L :OR ค่าใน A กับค่าใน A
2107 20 FB JR NZ,REPEAT :ถ้าผลลัพท์ไม่เป็น 0 กลับไปลดค่า
2109 F1 POP AF :เรียกค่า AF ตัวเดิมกลับมา
210A C9 RET :กลับไปถัดจากที่มา
หมายเหตุ

หมายเลขช่วงของเอาท์พุทต้องเปลี่ยนแปลงตามพอร์ทเอาท์พุททีทใช้ โปรแกรมที่เขียนนี้ใช้ ไมโครคอมพิวเตอร์แผงเดียว ET 3.5 ของบริษัท ETTEAM จำกัด หากใช้ไมโครคอมพิวเตอร์แผงเดียวรุ่นอื่น จะเลื่อนตำแหน่งให้อยู่ใน แอดเดรสของ RAM

INPUT และ OUTPUT PORT

หมายเลข PORT

INPUT # 80H
OUTPUT 1 # 85H
OUTPUT 2 # 86H


PORT สำหรับขับ STEP MOTOR

ใช้ 74 LS 374 เป็นพอร์ทเอาท์พุท โดยต่อกับ ULN 2003 ขับสเต็ปมอเตอร์ชนิดใช้สายคอมมอน เส้นเดียว (สเต็ปมอเตอร์ใช้สาย 5 เส้น)


โปรแกรมที่เขียนนี้ใช้ไมโครคอมพิวเตอร์แผงเดียว ET 3.5 ของบริษัท ETTEAM จำกัด หากใช้ไมโครคอมพิวเตอร์แผงเดียวรุ่นอื่น จะเปลี่ยน แอดเดรสของ RAM
;โปรแกรมขับสเต็ปมอเตอร์
;หมายเลข OUTPUT PORT เรียกใช้ PORT ใดก็ได้ตามที่ออกแบบไว้
;ใช้สัญญาณ IORQ ไป enable port
2800 21 00 29 MAIN LD HL,F900H ;กำหนดข้อมูลไว้ที่ 2900H
2803 06 00 LD B,00H ;นับจำนวน สเต็ป = 4
2805 7E NEXT LD A,(HL) ;โหลดข้อมูลในการหมุนมาใน A
2806 D3 FF OUT (FF),A ;ส่งข้อมูลไปขับมอเตอร์
2808 CD 29 50 CALL DELAY ;หน่วงเวลา
280B 23 INC HL ;เลื่อนตำแหน่งตัวชี้ข้อมูลไป 1
280C 05 DEC B ;ลดตัวนับลง 1
280D 20 F6 JR NZ NEXT ;กลับไปหมุนสเต้ปต่อไปถ้าไม่ครบรอบ;4 สเต็ป
280F 18 EF JR MAIN ;กลับไปตั้งต้นใหม่
;โปรแกรมหน่วงเวลา
2950 16 80 DELAY LD D.80H ;กำหนด D = 80H
2952 1E 80 LOOP2 LD E,80H ;กำหนด E = 80H
2954 1D LOOP1 DEC E ;ลดค่า E ลง 1
2955 20 ED JR NZ LOOP1 ;ถ้า E ไม่เท่ากับ 0 กลับไปลด E
2957 15 DEC D ;ลดค่า D ลง 1
2958 20 F8 JR NZ.LOOP2 ;ถ้า D ไม่เท่ากับ 0 กลับไปลด D
295A C9 RET ;เสร็จแล้วกลับไป MAIN PROGRAM
ข้อมูลเดินหน้า
2900 01 db 01
2901 02 db 02
2902 04 db 04
2903 08 db08
ข้อมูลถอยหลัง
2900 88 db 88
2901 84 db 84
2902 82 db 82
2903 81 db 81

แผงแสดงแบบ DOT MATRIX
การใช้ 74LS374 ขับทรานซิสเตอร์ชนิด PNP ให้ ON

มื่อเอาท์พุ่ Q เป้นลอจิก 1 ทรานซิสเตอร์ จะ OFF ไม่จ่ายกระแสไฟฟ้า แต่เมื่อใดก็ตามที่เอาท์พุท Q เป็น 0 จะทำให้กระแสเบสไหลได้ ทรานซิสเตอร์จะ ON จ่ายกระแสไฟฟ้าออกมาทางขา คอลแลคเตอร์
การจุด LED ใช้หลักการที่ว่า สายเส้นหนึ่งปล่อยไฟฟ้ามาให้ขา Anode และสายอีกเส้นหนึ่งคือ ขา Cathode ส่งลอจิก หรือ Ground ด้วยวิธีการเช่นนี้ทำให้เราสามารถควบคุม LED ให้ติดตามตำแหน่งที่ต้องการได้


แผง LED แบบ 8*8

;โปรแกรมกำหนด PATTERN ตัวอักษรและสร้างตัวอักษรเลื่อน
;MAIN PROGRAM
1000 21 00 17 START LD HL,1700H ;set start data area
1003 10 16 NPT LD D,10H ;set counter for scan
1005 E5 AGA PUSH HL
1006 CD15 10 CALL DSP
1009 E1 POP HL
100A 15 DEC D ;decretment counter
100B 20 F8 JR NZ,AGA ;ถ้า counter ไม่เท่ากับ 0 กลับไป AgA
100D 23 INC HL
100E 7D LD A,L
100F FE 69 CP 69H ;ข้อมูลหมดหรือยัง
1011 20 F0 JR NZ,NPT ;ถ้ายังไม่หมดกับไป NPT
1013 18 EB JR START ;ถ้าหมดแล้วไป start
โปรแกรมย่อยจากจอภาพ
1015 06 08 DSP LD B,08H ;ตั้งจำนวนรอบการสแกน
1017 0E FE LD C,0FEH ;ตั้งข้อมูลสำหรับสแกน
1019 79 LOOP LD A,C
101A D3 80 OUT (A0),A
101C 7E LD A,(HL)
101D 2F CPL ;ทำคอมพลีเมนท์ค่าใน A
101E D3 80 OUT (80),A
1020 CD 29 10 CALL DELALY
1023 CB 01 RLC C
1025 23 INC HL
1026 10 F1 DJNZ LOOP
1028 C9 RET
;โปรแกรมหน่วงเวลา
1029 E5 PUSH HL
102A 21 FF 00 LD HL 00FFH
102D 2B REPEAT DEC HL
102E 7C LD A,H
102F B5 OR L
1030 20FB JR NZ.,PEPEAT
1032 E1 POP HL
1033 C9 RET

;บริเวณข้อมูล
1700 01 00 00 7F 49 49 49 49 00 00 7F 01 01 01 01 00
1710 00 7F 49 49 49 49 00 00 3E 41 41 41 22 00 00 40
1720 40 7F 40 40 00 00 7F 48 48 48 37 00 00 3E 41 41
1730 41 3E 00 00 7F 10 08 00 7F 00 00 00 41 7F 41 00
1740 00 00 3E 41 41 41 22 00 00 32 49 49 49 26 00 00
1750 32 49 49 49 26 00 00 01 00 00 00 00 00 00 00 00
1760 00 00 00 00 00 00 00 00 00

ตัวอย่างโปรแกรมในที่นี้เขียนโดยใช้ ไมโครคอมพิวเตอร์ชิพเดียว ET 2.0 ของบริษัท ETTEAM จำกัด แอดเดรสของโปรแกรมจะต้องปรับ หากใช้แผงไมโครคอมพิวเตอร์เดี่ยวที่แตกต่างจากนี้

บอร์ดไมโครโปรเซสเซอร์ Z-80

บอร์ดไมโครโปรเซสเซอร์ เป็น บอร์ดอเนกประสงค์ที่ผู้ใช้จะนำไปใช้เพื่อกิจการใด ๆ ก็ได้ ตามความต้องการโดยการเขียนโปรแกรมและสร้างเอาท์พุทพอร์ทใฟ้เหมาะสมกับงาน บอร์ดไมโครโปรเซสเซอร์มีคุณสมบัติดังนี้
1. ใช้ซีพียู Z-80
2. ความถี่สัญญาณ CLOCK ประมาณ 100 KHZ
3. ใช้ EPROM 2716 หรือ 2732 ก็ได้ โดยการดัดแปลงเพียงเล็กน้อย


4. ใช้ RAM 2114
ADDRESS ของ RAM เริ่มที่ 1000H - 13FFH
5. มี BUFFER
5.1 DATA D0-D7
5.2 ADDRESS A0 - A3
5.3 CONTROL
1) IORQ
2) RD . WR

1. ภาค ซีพียู


ในการถอดรหัสเลือกหน่วยความจำ ROM และ RAM ตามคารางที่กำหนดเป็นดังนี้

จะเห็นว่า Address A12 จะเป็นตัวกำหนดว่า Address ที่เรียกอยู่ใน ROM (A12=0) หรืออยู่ใน RAM (A12=1) โดยดูจากวงจรถอดรหัสเลือกหน่วยความจำ


เมื่อ Z - 80 ต้องการติดต่อหน่วยความจำในช่วงที่เป็น ROM จะเห็นว่า MERQ = "0" ,A12 = "0", RD = "0"และ WR = "1"
จากผลดังกล่าวแล้วจะเห็นว่า เอาท์พุทของ U6/2 = "1" และ U6/5 = "1" และ A12 = "0" อยู่แล้ว จะส่งผลให้เอาท์พุทของ U5/3 = "1" (MCS1 = "1") และเอาท์พุทของ U5/4 = "0" (MCS0 = "0") ไปอีนาเบิล ROM
จากหลัการเดียวกันเมื่อ A12 = "1" เอาท์พุทของ MCS0 = "1" และเอาท์พุทของ MCS1 = "0" ไปอีนาเบิล RAM (เอาท์พุทของ U5/2 จะเป็น "1" เสมอ เนื่องจาก WR และ RD จะสลับกันให้ลอจิก "0" ในช่วง READ และ WRITE จะไม่มีโอกาสให้ "0" พร้อมกัน

2. ภาค ROM


MCS0 ต่อกับ MCS0 ในภาคถอรหัส ซึ่งจะอีนาเบิล ROM เมื่อ A12 = "0" และ Z-80 ต้องการติดต่อกับหน่วยความจำนั่นคือ MREQ = "0"
3. ภาค RAM


Z-80 จะเลือก RAM ที่แอดเดรส 1000H ขึ้นไป ขณะนั้น MREQ = "0" ซึ่งจะทำให้ MCS1 = "0"
ในรูปต่อไปนี้ 74LS245 เป็น BUFFER DATA สำหรับเอาท์พุทและ CD 4050B ทำหน้าที่ BUFFER ADDRESS A0-A3 , และสัญญาณควบคุม IORQ และสัญญาณ RD.WR


บอร์ดไมโครโปรเซสเซอร์ Z-80 บอร์ดนี้ แม้จะใช้อุปกรณ์รุ่นเก่า แต่ให้ความคล่องตัวแก่ผู้ใช้ ซึ่งสามารถจะออกแบบ อินพุท/เอาท์พุทพอร์ทใด ตามวัตถุประสงค์ของตนเอง โดยไม่ถูกบังคับ
การสร้างสัญญาณ Clock
1. RC OSILLATOR


2. CRYTALL OSILLATOR



ตัวสร้างสัญญาณ Clock ดังกล่าวนี้เป็นเพียงตัวอย่าง ผู้ออกแบบอาจใช้วิธีการที่แตกต่างไปจากนี้ก็ได้
สัญญาณ RESET / POWER ON RESET
1.


การสร้างสัญญาณ RESET ในลักษณะนี้ ใช้สำหรับอุปกรณ์ที่ต้องการพัลส์ลบในการ RESET วงจร ส่วนอุปกรณ์ที่ต้องการพัลส์บวกอาจใช้วิธีการดังต่อไปนี้
2.

3.

4.

5.

ไมโครโปรเซสเซอร์ Z-80
1. ทำไมต้องเป็น Z-80
Z-80 เป็นไมโครโปรเซสเซอร์ที่มีโครงสร้างง่ายต่อการเรียนรู้และการจัดวงจรแต่ละขาของตัวไมโครโปรเซสเซอร์ มีหน้าที่เดียว ไม่ซับซ้อน ผู้ที่เริ่มต้นศึกษา Z-80 จะเกิดความรู้สึกว่า การเรียนรู้ไมโครโปรเซสเซอร์ ไม่ใช่เรื่องยาก
2. โครงสร้างและตำแหน่งขาของZ-80

Z-80 เป็นไอซี 40 ขา แบบ DIP (Dual Inline package) ดังแสดงในรูป 1 โครงสร้างภายในของ Z-80 อาจศึกษาได้จากเอกสารอ้างอิงท้ายข้อความนี้

หน้าที่ของขาสัญญาณบน Z80

CLOCK เป็นสัญญาณนาฬิกาจากภายนอกที่ป้อนให้ซีพียู เป็นตัวให้จังหวะใน การทำงานของซีพียู Z80 ใช้ความถี่ สัญญาณ CLOCK ได้สูงสุด 2 MHZ. 4 MHZ. สำหรับ Z80A และ 6MHZ. สำหรับZ80B เอาท์พุทของสัญญาณ CLOCK ควรมีตัวต้านทาน 330 โอห์ม ต่อพูลอัพ (Pull up) กับไฟเลี้ยง 5 โวลท์ ก่อนต่อเข้าซีพียู

A0-A15 บัสแอดเดรส (Address Bus) มี 16 เส้น ชนิด Output เป็นตัวกำหนด ตำแหน่งที่ต้องการติดต่อในหน่วยความจำ สามารถกำหนดตำแหน่งได้ 2E16 หรือ 65535 หรือ 64k ตำแหน่ง และใช้ A0-A7 เป็นตัวกำหนดตำแหน่งของอุปกรณ์ Input/Output จะกำหนดได้ 2E08 หรือ 256 ตำแหน่ง

D0-D7 บัสข้อมูล (Data Bus) มี 8 เส้น เป็นสายสัญญาณชนิด 2 ทิศทาง ใช้ส่งผ่านข้อมูลระหว่างซีพียูกับหน่วยความจำ หรือระหว่าง ซีพียูกับ อุปกรณ์ Input/Output

MREQ (MemoryREQuest)เป็นเอาท์พุทแบบ 3 สถานะให้ลอจิกแอคตีพที่"0" เป็นสัญญาณแจ้งระบบว่าซีพียูต้องการอ่านหรือเขียนหน่วยความจำใน ตำแหน่งที่ปรากฏบนบัสแอดเดรส

IORQ (Inputt/OutputReQuest)เป็นเอาท์พุทแบบ3สถานะให้ลอจิกแอคตีพที่ "0" เป็นสัญญาณแจ้งระบบว่า ซีพียูต้องการส่งค่า ที่ปรากฏบนบัสข้อมูลให้กับอุปกรณ์เอาท์พุท หรือต้องการอ่านค่าจากอุปกรณ์อินพุท ในตำแหน่งที่ปรากฏบนบัสแอดเดรส A0-A7

RD เอาท์พุทแบบ 3 สถานะ ให้ลอจิกแอคตีพที่ "0" เป็นสัญญาณ แจ้งระบบว่า ซีพียูต้องการอ่านค่าในหน่วยความจำในตำแหน่งที่ปรากฏ บนบัสแอดเดรส A0-A15 หรืออ่านค่าจากอุปกรณ์อินพุทในตำแหน่งที่ปรากฏบนบัสแอดเดรสA0-A7

WR เป็นเอาท์พุทแบบ 3 สถานะ ให้ลอจิกแอคตีพท ี่ "0" เป็นสัญญาณ แจ้งระบบว่า ซีพียูต้องการเขียนค่าลงหน่วยความจำ ในตำแหน่งที่ปรากฏ บนบัสแอดเดรส A0-A15 หรือส่งข้อมูล 8 บิท ไปยังอุปกรณ์เอาท์พุทในตำแหน่งที่ปรากฏบนบัสแอดเดรส A0-A7

RFSH (ReFreSH) เป็นเอาท์พุท ให้ลอจิกแอคตีพที่ "0" สัญญาณบนบัสแอดเดรส A0-A6ใช้รีเฟรส (Refresh)หน่วยความจำชนิดไดนามิค A7 เป็น "0" ขณะนั้ A8-A15 แสดงค่ารีจิสเตอร์

HALT (Halt State) เป็นเอาท์พุท ให้ลอจิกแอคตีพที่ "0" เมื่อซีพียู ได้รับคำสั่ง HALT และจะหยุดรอจนกว่าจะ ได้รับสัญญาณ RESET หรือ สัญญาณ INTERRUPT ในขณะนั้จะมีสภาวะเสมือนทำคำสั่ง NOP (No Operation) และยังรีเฟรส หน่วยความจำชนิดไดนามิค

WAIT เป็นสัญญาณอินพุท ให้ลอจิกแอคตีพที่ "0" เมื่อได้รับสัญญาณ WAIT ซีพียูจะหยุดรออุปกรณ์ที่ส่งสัญญาณ WAIT ด้วยวิธีการนี้จะทำให้ อุปกรณ์ความเร็วต่ำทำงานร่วมกับซีพียูความเร็วสูงได้

NMI NonMaskable Interrupt) เป็นขาสัญญาณอินพุท ใช้ทริกซีพียูที่ขอบ พัลส์ขาลงเพื่อให้ทำงานพิเศษที่กำหนดไว้แล้วล่วงหน้า เมื่อไดัรับ สัญญาณ Interrupt ซีพียูจะเก็บค่าในรีจิสเตอร์PCลงSTACKแล้วไปทำงานที่ตำแหน่ง0066Hหลังจากเสร็จงานพิเศษนี้แล้วจะกลับไปทำงานปกติต่อจากขั้น ตอนเดิมก่อนมาทำงานพิเศษนี้ไม่มีวิธีการใดที่ จำห้ามซีพียูทำงานพิเศษดังกล่าวเมื่อได้รับสัญญาณ NMI

INT (INTerrupt request) เป็นสัญญาณอินพุท ให้ลอจิกแอคตีพที่ "0" อุปกรณ์อินพุทหรือเอาท์พุทจะสร้างสัญญาณนี้เพื่อร้องขอการทำงาน บริการจากซีพียูเป็นกรณีพิเศษ หากมีอุปกรณ์ที่จะต้องให้บริการมาก จะต้องมีตัวจัดลำดับบริการก่อนหลังตามความสำคัญของอุปกรณ์ที่ผู้ออกแบบระบบจัดไว้ การบริการพิเศษจากซีพียูด้วยสัญญาณ INTมีได้ 3 โหมด คือ 0 1 และ 2 ซึ่งมีวิธีบริการที่แตกต่างกัน และ สามารถห้ามซีพียูให้บริการได้ด้วยคำสั่ง DI และสั่งให้ บริการต่อได้ด้วยคำสั่ง EI ในขณะที่ซีพียูให้บริการอยู่นั้น สัญญาณ BUSRQ จะต้องไม่ Active

BUSRQ (BUSRequest) เป็นสัญญาณอินพุทให้ลอจิกแอคตีพที่ "0" เป็นสัญญาณที่อุปกรณ์ภายนอกร้องขอใช้บัสข้อมูลและบัสแอดเดรสจากซีพียู เมื่อได้รับสัญญาณนี้ ซีพียูจะถอนตัวจากการยึดครองบัสโดยทำให้ขาบัสข้อมูลและขาบัสแอดเดรสของซีพียูมีสภาวะควมต้านทาน อนันต ์(High Impedance) เพื่อให้อุปกรณ์ที่ร้องขอใช้บัส รับส่ง ข้อมูลระหว่างกันได้

BUSAK (BUS AcKnowledge) เป็นสัญญาณเอาท์พุทจากซีพียูให้ลอจิกแอคตีพที่ "0" แจ้งอุปกรณ์ภายนอกที่ร้องขอใช้บัสด้วยสัญญาณ BUSRQ ว่า ซีพียูถอนตัวจากบัสแล้ว

RESET เป็นสัญญาณอินพุท ต้องการลอจิกแอคตีพที่ "0" เมื่อซีพียูได้สัญญาณ RESET จะมีสภาวะเริ่มต้น ดังนี้
1. รีจิสเตอร์ PC (Program Counter) มีค่าเป็น 0
2. disable Interrupt FlipFlop(IFF)
3. โหมดการ Interrupt อยู่ที่ 0
4. ค่าในรีจิสเตอร์ I เป็น 0
5. ค่าในรีจิสเตอร์ R เป็น 0
6. บัสข้อมูลและบัสแอดเดรส มีสภาวะควมต้านทานอนันต์ (High Impedance)
7. สัญญาณควบคุมทุกสัญญาณไม่ active
8. ไม่รีเฟรชหน่วยความจำ
M1 Machine cycle one) เป็นเอาท์พุท ให้ลอจิกแอคตีพที่ "0" M1 เกิดตามหลังวงรอบการเฟทช์คำสั่ง(OP code fetch cycle) ของการประมวลผลคำสั่ง(instruction execution) ในการ ประมวลผลคำสั่ง 2 ไบท์ Z80 จะส่งสัญญาณ M1 เมื่อเฟทช์คำสั่ง แต่ละไบท์ คำสั่ง 2 ไบท์ มักจะเริ่มต้นด้วย CBH EDH หรือ FDH Z80 จะส่งสัญญาณ M1 พร้อมกับ IORQ เพื่อแสดงวงรอบการตอบรับ สัญญาณอินเทอร์รัพท์ (interrupt acknowledge cycle)

ระบบปฏิบัติการ os

ซอฟต์แวร์ระบบปฏิบัติการ (Operating System) หรือ OS อาจเรียกอีกอย่างหนึ่งว่า Supervisor Program ซึ่งเป็นซอฟต์แวร์
ที่มีความสำคัญต่อการทำงานของเครื่องคอมพิวเตอร์มาก เพราะซอฟต์แวร์ประเภทอื่น ๆ จะทำงานในคอมพิวเตอร์ได้ ต้องขึ้นอยู่กับการควบคุมและการจัดการของ OS จึงเปรียบ OS เสมือนเป็นผู้จัดการของระบบ ถ้าไม่มีซอฟต์แวร์ประเภท OS ระบบคอมพิวเตอร์ก็ไม่สามารถทำงานได้

หน้าที่ของซอฟต์แวร์ Operating System สำคัญดังนี้

- เป็นตัวกลางเชื่อมโยงระหว่างผู้ใช้กับคอมพิวเตอร์ เพื่อให้เกิดความสะดวกในการสั่งงานคอมพิวเตอร์ โดยการจัดเตรียมซอฟต์แวร์ที่เรียกว่า OS Shell ไว้เป็นเครื่องมือในการติดต่อกับผู้ใช้ เช่น ระบบปฏิบัติการ DOS ติดต่อกับผู้ใช้โดยให้พิมพ์คำสั่งที่เครื่องหมายพร้อมรอรับคำสั่ง(Prompt Sign) ส่วนระบบปฏิบัติการ Windows'95 ติดต่อกับผู้ใช้โดยใช้ภาพกราฟฟิก เป็นต้น

- ควบคุมการทำงานของฮาร์ดแวร์คอมพิวเตอร์ เช่น ควบคุมการใช้ Disk Drive, Hard Disk, keyboard และ Monitor เป็นต้น

- ทำงานร่วมกับซอฟต์แวร์ที่อยู่ใน ROM (Read Only Memory) เมื่อเริ่มเปิดเครื่องคอมพิวเตอร์ที่เรียกว่า การบูต(Boot) เครื่อง OS จะทำงานต่อจากซอฟต์แวร์ประเภท Firmware ที่จัดเก็บไว้ใน ROM ซึ่งจะทำงานเมื่อเปิดเครื่องคอมพิวเตอร์ เรียก Firmware นี้ว่า BIOS (ฺBasic Input/Output System) โดย BIOS จะทำการตรวจสอบระบบฮาร์แวร์คอมพิวเตอร์เบื้องต้น จากนั้นจึงส่งหน้าที่การต่อให้แก่ซอฟต์แวร์ประเภท OS เพื่อให้ควบคุมการทำงานของคอมพิวเตอร์ต่อไป หากไม่มี OS คอมพิวเตอร์ก็จะหยุดการทำงาน

- จัดตาราง(Schedule) การใช้ทรัพยากร ได้แก่การเข้าใช้หน่วยประมวลผลกลาง(CPU) ของคำสั่งที่ผู้ใช้สั่งงานคอมพิวเตอร์ เช่น กำหนดวิธีการจัดคิว(Queue) ของคำสั่ง, เวลาที่ OS อนุญาตให้ใช้ CPU ของแต่ละคำสั่ง ทั้งนี้เพื่อให้ให้หน่วยประมวลผลกลางทำงานมีประสิทธิภาพมากที่สุด

- จัดการข้อมูลและสารสนเทศภายในหน่วยความจำ ได้แก่ การนำข้อมูลไปวาง(Placement) ในหน่วยความจำ, การแทนที่ข้อมูลในหน่วยความจำ(Replacement) การย้ายข้อมูลในหน่วยความจำ เป็นต้น

- จัดการระบบการจัดเก็บไฟล์ข้อมูลลงบนสื่อสำรองข้อมูล(Secondary Storage Unit)

- นำโปรแกรมหรือซอฟต์แวร์ประเภทอื่น เข้าประมวลผลในคอมพิวเตอร์ และคอยให้บริการเมื่อซอฟต์แวร์ต่าง ๆ ต้องการใช้ทรัพยากรของระบบคอมพิวเตอร์ ได้แก่ หน่วยความจำ, ดิสก์ไดรฟ์, ฮาร์ดดิสก์, เครื่องพิมพ์ เป็นต้น

- จัดการในด้านรักษาความปลอดภัย OS แก้ไขข้อบกพร่องระบบการทำงานของคอมพิวเตอร์ รักษาความปลอดภัยของข้อมูลในระบบ

- จัดการเชื่อมต่อและควบคุมอุปกรณ์รอบข้างของคอมพิวเตอร์ ได้แก่ เครื่องสแกนเนอร์, อุปกรณ์ Sound Card , Modem เป็นต้น

o คุณลักษณะของซอฟต์แวร์ระบบปฏิบัติการ สามารถพิจารณาในด้านต่าง ๆ ดังนี้

- จำนวนงานที่ทำได้ คือ จำนวนงานหรือโปรแกรมที่ OS สามารถจัดการให้ทำงานพร้อม กัน ถ้ามีหลายโปรแกรมหรือหลายงานทำงานพร้อมกันได้ เรียกว่า Multi-Tasking OS แต่ถ้า OS
ควบคุมให้โปรแกรมทำงานได้ครั้งละ 1 โปรแกรมเท่านั้น เรียกว่า Single-Tasking OS

- จำนวนผู้ใช้ คือ OS สามารถควบคุมการทำงานให้คอมพิวเตอร์สามารถทำงานพร้อม ๆ กันได้หลายเครื่องในระบบเครือข่ายที่มีผู้ใช้หลาย ๆ คน ถ้า OS สามารถจัดการระบบที่มีผู้ใช้หลาย ๆ คนพร้อมกันได้ในระบบ เรียกว่า Multi-User OS แต่ถ้า OS สามารถจัดการระบบได้เพียงเครื่องเดียวหรือมีผู้ใช้ระบบได้เพียงครั้งละ 1 คน เรียกว่า Single-User OS

- ประเภทของเครื่องคอมพิวเตอร์ที่ใช้ได้ แบ่งได้เป็น 2 กลุ่ม คือ Generic Operation System คือ ระบบปฏิบัติการที่สามารถใช้กับเครื่องคอมพิวเตอร์ได้หลายประเภท ไม่ยึดติดกับคอมพิวเตอร์ประเภทใดประเภทหนึ่งเท่านั้น และ Proprietary Operating System คือ ระบบปฏิบัติการที่สร้างขึ้นมาเพื่อใช้กับคอมพิวเตอร์ระบบ ระบบหนึ่งหรือยี่ห้อใดยี่ห้อหนึ่งเท่านั้น สร้างระบบปฏิบัติการขึ้นมาเพื่อใช้กับ Microprocessor Chip ประเภทเดียว ไม่สามารถนำไปใช้กับคอมพิวเตอร์ประเภทอื่น ๆ ได้ เช่น ระบบปฏิบัติการสำหรับเครื่อง Macintosh และเครื่องในตระกูล Apple II ซึ่งใช้ CPU Chip ยี่ห้อ Motorola 6502 เป็นต้น ซึ่งไม่สามารถนำระบบปฏิบัติการนี้มาใช้กับไมโครคอมพิวเตอร์ทั่ว ๆ ไปได้

ตัวอย่างซอฟต์แวร์ระบบปฏิบัติการที่ใช้สำหรับเครื่องไมโครคอมพิวเตอร์โดยทั่วไป ได้แก่ ดอส(DOS), วินโดวส์ 95(Windows'95), ยูนิกซ์(UNIX)

o ดอส (DOS : Disk Operating System)

DOS ย่อมาจาก Disk Operating System เป็นระบบปฏิบัติการที่ใช้กันแพร่หลายบนเครื่องไมโครคอมพิวเตอร์ ซอฟต์แวร์มีขนาดไม่ใหญ่ สามารถบันทึกไว้บนแผ่นดิสก์ (Diskette) แล้วนำไปใช้กับเครื่องไมโครคอมพิวเตอร์ได้ เริ่มมีใช้ครั้งแรกบนเครื่อง IBM PC ประมาณปี ค. ศ. 1981 เรียกว่า PC-DOS ต่อมาบริษัท Microsoft ได้สร้าง MS-DOS สำหรับเครื่องไมโครคอมพิวเตอร์ทั่วไปและได้รับความนิยมอย่างแพร่หลายมาจนถึงปัจจุบัน ตั้งแต่รุ่น (Version) 1.0, 2.0, 3.0, 3.30, 4.0, 5.0, 6.0 และ 6.22 ปัจจุบันมีซอฟต์แวร์ทำงานภายใต้ระบบปฏิบัติการ MS-DOS อยู่เป็นจำนวนมาก โดยเฉพาะบนไมโครคอมพิวเตอร์รุ่นเก่า ๆ ที่มีทรัพยากรของระบบน้อย เช่น มีหน่วยความจำและฮาร์ดดิสก์ความจุน้อย , Microprocessor รุ่นเก่า เป็นต้น

ลักษณะการทำงาน DOS ทำงานติดต่อกับผู้ใช้แบบ Interactive Command คือผู้ใช้ต้องพิมพ์คำสั่งตามรูปแบบที่ DOS กำหนด ณ ตำแหน่งเครื่องหมายพร้อม(Prompt Sign) รอรับคำสั่งอยู่ ซึ่งมี

เคอร์เซอร์(Cursor) บอกตำแหน่งที่พิมพ์ เมื่อพิมพ์คำสั่งเสร็จ ต้องกดแป้น Enter เพื่อส่งคำสั่งไปทำงาน จากนั้นก็จะได้ผลลัพธ์ของการทำงาน การควบคุมการใช้ DOS ส่วนใหญ่ใช้แป้นพิมพ์เพื่อพิมพ์คำสั่ง ที่เป็นข้อความเป็นส่วนใหญ่ เรียกว่าทำงานในรูปแบบ Mode Text บนบรรทัดคำสั่ง (Command Line)

การจัดประเภท DOS จัดเป็น OS ประเภท Single-Tasking, Single-User และ Generic Operating Software และทำงานในโหมดข้อความ (Text Mode) เป็นส่วนใหญ่

iOS 4 สำหรับ iPad


iOS 4 หมายถึงระบบปฏิบัติการแบบโมบาย ที่พัฒนาโดยทีมงาน Apple ซึ่งระบบปฏิบัติการ iOS 4 นี้ สามารถรองรับการทำงานได้ทั้งในส่วนของ iPhone และ iPad ด้วย ดังนั้น สาวก Apple ทุกคน ไม่ควรพลาด


สำหรับหลายๆ คนที่ใช้ iPad อยู่และต้องอัพเกรดระบบปฏิบัติการบน iPad เป็นเวอร์ชั่นล่าสุด ณ ตอนนี้ (ธันวามคม 2553) สำหรับเวอร์ชั่นนี้มีความสามารถต่างๆ เพิ่มเติมเข้ามาหลากหลายมาก ดังนั้น ผู้ใช้ iPad ทุกท่านไม่ควรพลาด? และที่สำคัญคือ การอัพเกรดเป็นเวอร์ชั่นใหม่นี้ สามารถทำได้เอง ไม่เสียสตางค์ครับ เพราะสามารถสั่งผ่านโปรแกรม iTunes ได้ทันที

คุณสมบัติใหม่ของ iOS 4

สำหรับคุณสมบัติใหม่ของ iOS 4 ทาง Apple แจ้งในเว็บไซต์ของเขาว่า เวอร์ชั่นนี้ได้เพิ่มความสามารถใหม่ๆ นับร้อยเลยทีเดียว ซึ่งถ้าจะให้บอกทั้งหมด คงต้องใช้เวลามากพอสมควร ดังนั้น จะขอแนะนำคุณสมบัติเด่นๆ ที่เราน่ารู้จักดังนี้

Multitasking
แต่เดิมเวอร์ชั่น iOS 3 ยังไม่มีความสามารถของการทำ Multitasking ที่สมบูรณ์ การใช้งานก็ค่อนข้างไม่สะดวก แต่สำหรับ iOS 4 นี้ ทำให้คุณรู้จักได้ที่ความเปลี่ยนแปลงที่ดีขึ้นอย่างเห็นได้ชัด ไม่ว่าจะเป็นเรื่องของความเร็วในการประมวลผล การใช้งานที่ราบเรียบ ไม่สะดุด
Folders
แต่ก่อนไอคอนโปรแกรมหรือ App ต่างๆ ปรากฏบนหน้าจอเต็มไปหมด โดยเฉพาะกับคนที่ชอบ download App ใหม่ๆ มาทดลองเล่น ทำให้หน้าจอไม่เป็นระเบียบเท่าใดนัก แต่วันนี้ คำสั่ง Folders จะทำให้คุณสามารถรวมกลุ่มของ App ต่างๆ เข้าด้วยกัน เช่น กลุ่มของโปรแกรมเกมส์ กลุ่มของโปรแกรมสำนักงาน เป็นต้น
AirPrint
สามารถสั่งพิมพ์งานได้โดยไม่จำเป็นต้องติดตั้งสายสัญญาณใดๆ เป็นการพิมพ์ในลักษณะไร้สาย หรือ Wireless และที่แปลกคือ สามารถพิมพ์ได้โดยไม่จำเป็นต้องติดตั้ง Driver เหมือนการใช้ในคอมพิวเตอร์ทั่วไป? แต่ที่จำเป็นและสำคัญมากๆ คือ เครื่องพิมพ์นั่น ต้องรองรับเทคโนโลยี AirPrint ครับ
ตัวอย่างเครื่องพิมพ์ที่รองรับ AirPrint
HP Envy e-All-in-One series (D410a)
HP Photosmart Plus e-AiO (B210a)
HP Photosmart Premium e-AiO (C310a)
HP Photosmart Premium Fax e-AiO (C410a)
HP Photosmart e-AiO (D110)
HP Photosmart eStation (C510)
HP LaserJet Pro M1536dnf Multifunction Printer
HP LaserJet Pro CM1415fn Color Multifunction Printer
HP LaserJet Pro CM1415fnw Color Multifunction Printer
HP LaserJet Pro CP1525n Color Printer
HP LaserJet Pro CP1525nw Color Printer
AirPlay
เราสามารถเล่นไฟล์ ดิจิตอลต่างๆ แบบไร้สาย และแสดงบนหน้าจอ LCD ของเราได้ง่ายๆ ไม่ต้องติดต้องสายเคเบิลใดๆ เช่นเดียวกับ AirPrint? ผ่านทาง Apple TV
Find my iPad
iPad หายไม่ต้องตกใจ ถ้าคุณมีการติดตั้ง MobileMe ?และใช้ระบบปฏิบัติการ iOS 4.2 ขึ้นไป จะทำให้คุณสามารถค้นหา iPad ของคุณได้ว่า คุณได้ลืมไว้ที่ไหน โดยคุณสามารถสั่งการผ่านออนไลน์ได้ดังนี้
แสดงข้อความที่หน้าจอ iPad ของคุณ
สั่งล็อคเครื่อง iPad
สั่งลบข้อมูลบน iPad แบบถาวรที่ไม่สามารถกู้ได้
สำหรับความสามารถอื่นๆ อีกมากมายของ iOS 4 สามารถคลิกไปศึกษารายละเอียดเพิ่มเติมได้ที่ http://www.apple.com/ipad/ เลือกหัวข้อ iOS 4

วันจันทร์ที่ 8 สิงหาคม พ.ศ. 2554

Visual Basic 6.0 เบื้องต้น


การเขียนโปรแกรมด้านฐานข้อมูลด้วย Visual Basic 6.0 เป็นอีกวิธีหนึ่งที่บริษัทไมโครซอฟท์ได้คิดค้นเทคโนโลยีการเข้าถึงข้อมูลแบบใหม่ ซึ่งมีชื่อเรียกว่า Universal Data Access เรียกย่อๆ ว่า UDA โดยมีแนวคิดว่า ต้องการให้เป็นเทาโนโลยีที่จะสามารถเข้าถึงข้อมูลในฐานข้อมูลจาก RDBMS (Relational Database Management System) ได้หลายๆ ชนิด เช่น MS SQL Server, Oracle, MS Access เป็นต้น
Visual Basic 6.0 ได้ออกมาพร้อมกับความสามารถใหม่ ๆ หลายอย่างที่อำนวยความสะดวกให้กับพัฒนาโปรแกรมมากกว่าเวอร์ชันเก่า โปรแกรม Visual Basic เป็นของบริษัทไมโครซอฟท์ โดยบริษัทไมโครซอฟต์ได้พัฒนา Visual Basic 6.0 มาเพื่อแบ่งตลาดกับบริษัท Boland C โดยแข่งกับโปรแกรมที่ชื่อว่า Delphi 6 แต่ความสามารถของ Visual basic 6.0 ยังไม่ดีพอ คือ เพื่อพัฒนาโปรแกรมเสร็จแล้วในการ Compile Program ซึ่งจะได้ File ที่มีนามสกุล .exe ก็ยังไม่สามารถนำไปใช้กับเครื่องคอมพิวเตอร์เครื่องอื่นได้จะต้อง Copy ส่วนประกอบอื่นไปด้วย ซึ่งต่างจาก Delphi เมื่อ Compile Program เสร็จแล้วได้ File ที่มีนามสกุล .exe แล้วสามารถนำไปใช้ที่เครื่องอื่นได้เลย แต่มีขนาดของไฟล์ที่ใหญ่กว่า Visual Basic มากเพราะ Delphi รวมเอาส่วนประกอบอื่นเข้าไปใน .exe เลย

การพัฒนาการเขียนโปรแกรม Visual Basic 6.0 นั้นจะมีซอฟต์แวร์ที่เกี่ยวข้องดังนี้ คือ
1. Software Visual Basic 6.0 โดยใช้พัฒนาสร้างซอฟต์แวร์ขึ้นใช้เอง
2. Software Microsoft Office Access ใช้สำหรับเก็บฐานข้อมูล
3. Software Microsoft SQL Server 2000 ใช้สำหรับเก็บฐานข้อมูลขนาดใหญ่โดยผ่านเครือข่าย
4. Software Crystal Reports หรือ Software Data Report ใช้สำหรับทำรายงานต่างของโปรแกรม
5. Software Factory 6.0 ใช้สำหรับทำไฟล์ติดตั้งโปรแกรมลงบนเครื่องอื่นๆหรือที่เรียกว่า Make Setup
6. Software Help ใช้สำหรับทำไฟล์ช่วยเหลือในโปรแกรมหรือที่เรียกว่า Make Help File

วงจรการพัฒนาระบบมีดังนี้ (System Development Life Cycle)
1. เข้าใจปัญหา (Problem Recognition)
2. ศึกษาความเป็นไปได้ (Feasibility Study)
3. วิเคราะห์ (Analysis)
4. ออกแบบ (Design)
5. สร้าง หรือพัฒนาระบบ (Construction)
6. การปรับเปลี่ยน (Conversion)
7. การบำรุงรักษา (Maintenance)