Chương 5: Nguồn cung cấp và tần số xung đồng hồ Vcc : nguồn cung cấp +5V Vss : tham chiếu đất (mass ) X 1 và X 2 : một thạch anh (hoặc mạng RC, LC ) được nối tại hai chân này Mỗi chủng loại 8085 điều có tần số tối đa cho phếp đưa vào hai chân này 6MHZ : đối với 8085A 10MHZ : đối với 8085A-2 12MHZ : đối với 8085A-1 tần số đưa vaò từ X 1 ,X 2 được chia 2 bên trong vi xử lí CLK (out) - Clock Output : ngõ ra xung đồng hồ .Cung cấp các tín hòêu xung đồng hồ cho các thành phần khác thuộc hệ thống .Nó có cùng tần tần số với xung đồng hồ bên trong vi xử lí . Do đó : fx 1 x 2 f CLK = 2 Bảng 4.1: trạng thái chu kì máy và các tín hiệu điều khiển 8085 Trạng thái Chu kỳ máy IO/M S 1 S 0 Các tín hiệu điều khiển Tìm kiếm mã hoạt động 0 1 1 RD = 0 Đọc bộ nhớ 0 1 0 RD = 0 Ghi vào bộ nhớ 0 0 1 WR = 0 Đọc I/O 1 1 0 RD = 0 Ghi vào I/O 1 0 1 WR = 0 Yêu cầu ngắt 1 1 1 INTA = 0 Dừng Z 0 0 Treo Z X X RD , WR = Z Đặt lại Z X X và INTA = 1 Z =Tổng trở cao (3 trạng thái : Tri –States) X = Không xác đònh ( Don’t care ) Các ngắt và các hoạt động Khởi tạo bên ngòai Vi xử lí 8085 có năm tín hiệu ngắt có thể được sử dụng để ngắt một sự thi hành chương trình. Vi xử lí trả lời một ngắt bằng tín hiệu INTA (Interrupt Acknowledge). Ngòai các ngắt, ba chân –RESET, HOLD và READY- Tiếp nhận các tín hiệu khởi tạo bên ngoài như là các ngõ vào. Để đáp ứng yêu cầu HOLD, vi xử lí có một tín hiệu gọi là HLDA (Hold Acknowledge) RESET IN : Khi tín hiệu trên chân này xuống mức logic thấp,bộ đém chương trình được đặt lại về không, các tuyến ở trạng thái tổng trở cao và vi xử lí bò đặt lại (reset) RESET OUT : Tín hiệu này chỉ thò rằng vi xử lí đang đặt lại.Tín hiệu này có thể được sử dụng để đặt lại các thiết bò khác. Các tín hiệu khác ,xem Bảng 4.2 Bảng 4.2 : Các ngắt và các tín hiệu khởi tạo bên ngoài 8085 INTR (Vào ) : Interrupt Request Tín hiệu này được sử dụng như là một bộ ngắt phổ dụng(general purpose interrupt), nó tương tự với tín hiệu INT của 8085A INTA (Ra) : Interrupt Acknowledge Tín hiệu này dùng để trả lời một ngắt RST 7.5 (Vào) : Restart Interrupt; RST 6.5 RST 5.5 Đây là các ngắt có đònh hướng (vectored interrupt) và che được.Chúng có quyền ưu tiên ngắt cao hơn INTR. Trong số ba ngắt này, thứ tự ưu tiên là RST 7.5,RST 6.5 và 5.5 TRAP (Vào) Đây là một ngắt không che được và có quyền ưu tiên cao nhất Lọai ngắt Ô nhớ để gọi ngắt 1. TRAP 0024 2. RST 7.5 003C 3. RST 6.5 0034 4. RST 5.5 002C HOLD (Vào) Tín hiệu này chỉ thò rằng một thiết bò ngoại vi như bộ điều khiển DMA (Direct Memory Access) đang yêu cầu sử dụng các tuyến đòa chỉ và dữ liệu HLDA (Ra) : Hold Acknowledge Tín hiệu trả lời theo yêu cầu HOLD READY (Vào) Tín hiệu này được sử dụng để trì hoãn các chu kỳ.Đọc hay Ghi của vi xử lí cho đến khi một ngoại vi sẵn sàng để gởi hoặc nhận dữ liệu.Khi tín hiệu này xuống thấp,vi xử lí đợi trong một số nguyên lần các chu kỳ đồng hồ cho khi nó lên cao. Các cổng I/O nối tiếp Vi xử lí 8085 có hai tín hiệu để thực hiện việc truyền dữ liệu nối tiếp SID : Seria Input Data. Dữ liệu vào nối tiếp .tín hệu này nạp vào bit D7 của thanh ghi A trong suốt quá trình thực hiện lệnh RIM SOD : Serial Out put Data. Dữ liệu ra nối tiếp.Lệnh này được niêu rõ bởi lệnh SIM 4.3 CẤU TRÚC BÊN TRONG 8085 Hình 4.3 TRình bày cấu trúc bên trong của 8085. Nó bao gồm Đơn vò logic và số học ALU (Arithmetic and Logic Unit ), đơn vò đònh thời và điều khiển (Timng and Control Unit ), Bộ giải mã và thanh ghi lệnh (Instruction Register and Decoder),Dãy thanh ghi (Register Array), Điều khiển ngắt (Interrupt Control) và Điều khiển I/O nối tiếp (Serial I/O Control) Hình 4.3 : Sơ đồ khối chức năng của 8085 Đơn vò logic và số học ALU Đơn vò này thực hiện các chức năng tính toán : nó bao gồm Thanh ghi tích trữ (Accumulator), Thanh ghi tạm (Temporary register), các mạch logic và số học,và 5 cờ báo (Flag). Thanh ghi tạm được dùng để duy trì dữ liệu trong suốt một hoạt động số học và logic. Kết qua được lưu trữ vào thanh ghi tích trữ, và các cờ (các flip – flop ) được đặt (set: bằng 1 ) họăc bò đặt lại (reset :bằng 0) tùy theo kết quả của hoạt động. Các cờ chòu ảnh hưởng bởi các hoạt động số học và logic trong ALU. Trong hầu hết các họat động này, kết quả được Accumulater Address Buffer (8) AD15 - AD8 Address Bus Array Register Data Address Buffer (8) AD7 - AD0 Address Data Bus X1 X2 Power Supply +5V GND Timing and Control Interrupt Control 8 Bit Internal Data Bus (8) (8) (8) Temp. Reg. Instruction Register Instruction Decoder and Machine Cycle Encoding Flag Flip Flops Arithmatic Logic Unit (8) (ALU) CLK GEN CLK OUT READY RD WR Control Status DMA Reset ALE S0 S1 IO/M HOLD HLDA RESET IN RESET OUT INTR RST 5.5 RST 7.5 RST 6.5 TRAP INTA Stack Pointer Program Counter Incrementer / Decrementer Address Lactch Multiplexer (8) (8) (8) (8) (8) (8) (8) (8) (16) (16) (16) Reg. Reg. Reg. Reg. Reg. Reg. Reg. Select W Z B C D E H L Temp. Reg. Temp. Reg. Serial I/O Control SID SOD lữutru vào thanh ghi tích trữ. Do đó các cờ thường phản ánh các điều kiện dữ liệu trong thanh ghi tích trữ-trừ một vài ngoại lệ. S – Sign Flag: Cờ dấu: Sau sự thi hành của một phép toán học hoặc một họat động logic, nếu bit D7 của kết quả (luôn luôn trong thanh ghi tích trữ) bằng 1 thì cờ dấu được đặt. Cờ này được sử dụng với các số có dấu. Trong một byte được cho,nếu D7 là 1, số này được xem là số âm, nếu D7 bằng 0, số này được xem là số dương.trong các hoạt động liên quan tới các số có dấu,bit D7 được phục vụ để chỉ thò dấu và bảy bit còn lại được dùng để chỉ thò cho độ lớn (magnituge) của con số đó Z- Zero Flag : Cờ không : Cờ không được đặt (Z=1 )nếu hoạt động ALU có kết quả bằng 0 .Cờ này được điều chỉnh bởi kết quả trong thanh ghi tích trữ cũng như trong các thanh ghi khác. AC –Auxiliary Carry Flag : Cờ mượn phu : Trong một hoạt động toán học, khi số mượn (carry ) được phát ra từ số D3 và chuyển sang số D4, thì cờ AC được đặt. Cờ này chỉ được sử dụng bên trong đối với các phép toán liên quan đến số BCD, và không khả dụng đối với người lập trình muốn chuyễn đổi trình tự một chương trình bằng một lệnh nhảy P – Parity Flag : Cờ chẵn lẻ: Sau một phép toán số học hoặc một hoạt động logic,nếu kết quả có một số chẵn các số 1 ,cò được đặt ( P= 1), nếu nó có một số lẻ các số 1, thì cờ P được đặt lại (P =0) CY –Carry Flag : Cờ mượn : Nếu một phép toán số học dẫn đến sự vay mượn ,cờ C được đặt, ngược lại thì nó được đặt lại Vò trí các bit phục vụ cho các cờ này như sau trong thanh ghi cờ: D7 S Z X AC x P x CY Trong số năm cờ ,cờ AC được dùng bên trong đối với các phép toán BCD; tập lệnh không chứa bất kì lệnh nhảy nào có điều kiện nào có liên quan đến cờ AC. Trong bốn cờ còn lại, cờ Z và Cy là các cờ được sử dụng thường xuyên nhất. . hồ bên trong vi xử lí . Do đó : fx 1 x 2 f CLK = 2 Bảng 4.1: trạng thái chu kì máy và các tín hiệu điều khiển 80 85 Trạng thái Chu kỳ máy IO/M S 1 S 0 Các tín hiệu điều khiển Tìm kiếm. thứ tự ưu tiên là RST 7 .5, RST 6 .5 và 5. 5 TRAP (Vào) Đây là một ngắt không che được và có quyền ưu tiên cao nhất Lọai ngắt Ô nhớ để gọi ngắt 1. TRAP 0024 2. RST 7 .5 003C 3. RST 6 .5 0034 4. RST 5. 5. Không xác đònh ( Don’t care ) Các ngắt và các hoạt động Khởi tạo bên ngòai Vi xử lí 80 85 có năm tín hiệu ngắt có thể được sử dụng để ngắt một sự thi hành chương trình. Vi xử lí trả lời một