giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp giáo trình nghề sửa chữa điện tử công nghiệp
Trang 1BỘ LAO ĐỘNG – THƯƠNG BINH VÀ XÃ HỘI
Trang 2sử dụng vớI mục đích kinh doanh thiếu lành mạnh sẻ bị nghiêm cấm
Tổng cục dạy nghề sẻ làm mọI cách để bảo vệ bản quyền của mình
Tổng cục dạy nghề cám ơn và hoan nghênh các thông tin giúp cho việc tu sửa
và hoàn thiện tốt hơn tài liệu này
Địa chỉ liên hệ
Dự án giáo dục kỹ thuật và nghề nghiệp Tiểu ban phát triển chương trình học liệu
Trang 3LỜI TỰA
Tài liệu này là một trong các kết quả của dự án GDKT – DN được tài trợ bởi ngân hàng phát triển Á châu cho các trường kỹ thuật trọng điễm toàn quốc trực thuộc tổng cục dạy nghề
Tài liệu được soạn là một giáo trình phục vụ cho đối tượng công nhân nghề sửa chửa điện tử công nghiệp Do đó, trình tự nội dung được sắp xếp từ dể đến khó nhằm giúp người học tiếp thu một cách dể dàng Đồng thời đi kèm với tài liệu còn có sổ tay hướng dẩn dành riêng cho giáo viên trong đó đề nghị các bước thực hiện quá trình giãng dạy một cách nhất quán từ đó tạo điều kiện cho giáo viên khai thác nội dung giá trình một cách tốt nhất
Đội ngủ biên soạn là nhóm CDC của trường công nhân kỹ thuật cần thơ, nội dung của tài liệu là sự kết hợp giữa yêu cầu đào tạo với tình hình công nghệ hiện tại trong thực
tế sản xuất và cũng được tham khảo theo tình hình giãng dạy tại các trường kỹ thuật cũng như các cơ sở đào tạo nghề có liên quan
Tài liệu này được thiết kế theo từng mô đun/ môn học thuộc hệ thống mô đun/ môn học của một chương trình đào tạo hoàn chỉnh nghề sửa chửa thiết bị điện tử công nghiệp ở cấp trình độ 3 và được dùng làm giáo trình cho học viên trong các khóa đào tạo, cũng có thể được sử dụng cho đào tạo ngắn hạn hoặc cho các công nhân kỹ thuật, các nhà quản lý và người sử dụng nhân lực tham khảo
Đây là tài liệu thử nghiệm sẻ được hoàn chỉnh để trở thành chính thức trong hệ thống dạy nghề
Hà Nội, ngày tháng năm 2005
Trang 4MỤC LỤC
LỜI TỰA 3
MỤC LỤC 4
GIỚI THIỆU VỀ MÔ ĐUN 6
Vị trí, ý nghĩa, vai trò mô đun 6
Mục tiêu của môdun 6
Mục tiêu thực hiện của mô đun 6
Nội dung chính của mô đun 6
SƠ ĐỒ QUAN HỆ THEO TRÌNH TỰ HỌC NGHỀ 7
CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN 8
YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔ ĐUN 8
BÀI 1: CẤU TRÚC HỌ VI XỬ LÝ MCS-80/85 9
GIỚI THIỆU 9
MỤC TIÊU THỰC HIỆN 9
NỘI DUNG CHÍNH 9
1 GIỚI THIỆU CHUNG 10
1.1 Cấu trúc chung 10
1.2 Đặc tính chung của vi xử lý 11
2 VI XỬ LÝ 8085A 13
2.1 Chức năng các chân ra 13
2.2 Mô tả nguyên lý hoạt động 17
BÀI 2: TẬP LỆNH 8085A 23
GIỚI THIỆU 23
MỤC TIÊU THỰC HIỆN 23
NỘI DUNG CHÍNH 23
1 GIỚI THIỆU 24
2 TẬP LỆNH 24
2.1 Nhóm lệnh truyền dữ liệu 24
2.2 Nhóm lệnh số học – logic 26
2.3 Nhóm lệnh so sánh 35
2.4 Nhóm lệnh nhảy 35
2.5 Nhóm lệnh về ngăn xếp 37
2.6 Nhóm lệnh điều khiển 39
BÀI 3: GIAO TIẾP I/O 40
GIỚI THIỆU 40
MỤC TIÊU THỰC HIỆN 40
NỘI DUNG CHÍNH 40
1 TỔNG QUAN 41
1.1 Thiết bị ngoại vi có không gian địa chỉ riêng 41
1.2 Thiết bị ngoại vi dùng chung địa chỉ với bộ nhớ 41
2 GIẢI MÃ ĐỊA CHỈ CHO THIẾT BỊ NGOẠI VI 41
3 CÁC MẠCH CỔNG ĐƠN GIẢN 42
4 VI MẠCH GIAO TIẾP SONG SONG LẬP TRÌNH ĐƯƠC 8255A 43
4.1 Mô tả chức năng 44
4.2 Các chế độ hoạt động 47
4.3 Ứng dụng 82C55A 56
5 VI MẠCH GIAO TIẾP NỐI TIẾP LẬP TRÌNH ĐƯỢC 8251A 60
5.1 Đặc tính 60
5.2 Mô tả chức năng 61
5.3 Hoạt động chi tiết 66
5.4 Ứng dụng 8251A 73
Trang 5BÀI 4: NGẮT VÀ CHƯƠNG TRÌNH PHỤC VỤ NGẮT 81
GIỚI THIỆU 81
MỤC TIÊU THỰC HIỆN 81
NỘI DUNG CHÍNH 81
1 TỔNG QUAN 82
1.1 Nguyên lý vào/ra dử liệu theo phương pháp thăm dò 82
1.2 Các phương pháp thông dụng 82
2 TRAO ĐỔI DỬ LIỆU BẰNG NGẮT 84
2.1 Tổ chức ngắt 84
2.2 Quy trình xử lý yêu cầu ngắt 86
3 VI MẠCH XỬ LÝ NGẮT 8259A 87
3.1 Tóm tắt đặc tính 8259A 87
3.2 Sơ đồ khối 88
3.3 Mô tả chức năng 89
3.4 Lập trình 8259A 94
TÀI LIỆU THAM KHẢO 106
Trang 6GIỚI THIỆU VỀ MÔ ĐUN
Vị trí, ý nghĩa, vai trò mô đun
• Đây là một mô đun chuyên ngành được học vào năm thứ hai của trình
độ 3 sau khi học viên đã hoàn tất các mô đun hổ trợ trước đó như: Linh kiện điện tử, mạch điện tử, kỹ thuật số
• Trong các dây chuyền sản xuất, cung như các thiết bị tự động đơn lẻ hiện nay việc ứng dụng vi xử lý trong các lỉnh vực này là rất phổ biến nhằm tăng tính linh hoạt, độ chính xác cũng như độ ổn định của hệ thống Do đó, kiến thức về vi xử lý rất cần thiết cho công nhân ngành sửa chửa thiết bị điện tử công nghiệp
Mục tiêu của môdun
Sau khi hoàn tất mô-đun này, học viên có năng lực:
• Hiểu, giải thích được nguyên lý làm việc các hệ điều khiển ứng dụng vi
xử lý
• Cải tiến được chức năng của hệ vi xử lý theo yêu cầu
• Phảt triển được các hệ điều khiển trên cơ sở khối trung tâm là vi xử lý
Mục tiêu thực hiện của mô đun
• Vận hành, kiểm tra được các hệ điều khiển ứng dụng vi xử lý
• Sửa chửa được phần mềm và thay thế được linh kiện phần cứng
• Thi công, lắp ráp thiết bị theo sơ đồ có sẳn
Nội dung chính của mô đun
Mô đun này bao gồm 4 bài học như sau :
1 Cấu trúc họ vi xử lý MCS-80/85
2 Tập lệnh 8085A
3 Giao tiếp I/O
4 Ngắt và chương trình phục vụ ngắt
Trang 7SƠ ĐỒ QUAN HỆ THEO TRÌNH TỰ HỌC NGHỀ
Trang 8CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN
Hình thức 1: Học lý thuyết trên lớp
- Tất cả các bài học từ 1 đến 4
- Giải các câu hỏi và bài tập phần lý thuyết
- Viết chương trinh điều khiển
- Phân tích chương trình có sẳn
Hình thức 2: Học thực hành trong xưởng
- Chạy thử các chương trình đả viết trên lớp
- Ráp mô hình thiết bị ngoại vi
- Ráp toàn bộ mạch điều khiển kết hợp mô hình thiết bị ngoại vi và kiểm tra hoạt động
Hình thức 3: Tự nghiên cứu
- Tự đề ra yêu cầu và thực hiện
- Tham khảo các vấn đề liên quan trên sách báo, internet
YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔ ĐUN
Hiểu và thực hiện được các nội dung sau
- Phân tích được chương trình trên hệ thống thực
- Phát triển được phần mềm theo yêu cầu
- Lắp ráp, vận hành và sửa chửa được hệ điều khiển dùng vi xử lý
Về thái độ
- Chuyên cần, sáng tạo
- Luôn kiểm tra kết quả bằng nhiều phương pháp khác nhau để tăng mức độ tin cậy, chính xác
Trang 9Bài học thuần túy lý thuyết chỉ cần nắm được những nội dung cần thiết nhất trong thời gian học trên lớp
MỤC TIÊU THỰC HIỆN
• Hiểu được cấu túc chung của vi xử lý, phân biệt vi xử lý dựa trên các đặc điễm
cơ bản
• Hiểu cấu trúc cụ thể của bộ vi xử lý 8085A
• Hiểu nguyên lý hoạt động các khối chức năng, giải thích được giản đồ thời gian
hệ thống của 8085A
NỘI DUNG CHÍNH
Nội dung bài học tập trung về các chủ đề chính như sau:
• Khái niệm cơ bản về vi xử lý: Các khối cấu tạo chính, các kiểu định địa chỉ dử liệu
• Đặc tính và cấu tạo bộ vi xử lý 8085A
• Sơ đồ chân và ý nghĩa các chân ra của 8085A
• Cấu tạo hệ thống thanh ghi, ý nghĩa các bít trong thanh ghi cờ
• Chế độ RESET, cách RESET tự động khi mở máy
• Đặc điễm các ngỏ vào ngắt
• Phương pháp tạo xung đồng hồ hệ thống
• Tạo trạng thái wait cho mỗi chu kỳ máy
• Phân tích thời gian hệ thống, giản đồ thời gian hệ thống
Trang 101 GIỚI THIỆU CHUNG
Vi xử lý là một vi mạch có mật độ tích hợp cao, trong đó gồm các mạch số có khả năng nhận, xử lý và xuất dữ liệu: Đặc biệt là quá trình xử lý được điều khiển theo một chương trình gồm tập hợp các lệnh mà người xử dụng có thể thay đổi một cách dể dàng Một vi xử lý có thể hiểu được từ một vài trăm cho đến hàng ngàn lệnh Vì vậy, nó có khả năng thực hiện được rất nhiều yêu cầu điều khiển khác nhau
1.1 Cấu trúc chung
Cấu trúc của vi xử lý thường được biểu diển dưới dạng sơ đồ khối Qua đó, người
xử dụng có thể thấy được các đặc điễm cần thiết để phục vụ cho việc lập trình Về cơ bản có thể xem vi xử lý gồm có ba khối chính:
Hình 1.1 Sơ đồ khối cấu tạo vi xử lý
Đơn vị số học -logic (arithmatic-logic unit)
Cơ sở của đơn vị số học-logic là một mạch cộng n bít, mạch cộng này còn được
mở rộng thêm để thực hiện các phép xử lý khác như: Tính số bù bậc 2, phép trừ, các hàm logic
Các thanh ghi (registers)
Thanh ghi giống như ô nhớ bên trong vi xử lý, điểm khác biệt ở chổ là thanh ghi được phân biệt bằng tên thay vì bằng địa chỉ như ô nhớ Thanh ghi dùng để chứa dữ liệu, các kết quả trung gian của phép tính, số lượng thanh ghi ảnh hưỡng rất lớn đến tốc độ xử
lý vì số lần truy xuất bộ nhớ sẽ ít đi Vì vây, các vi xử lý hiện đại thường có nhiều thanh ghi
Đơn vị điều khiển (control unit)
Là phần quan trọng nhất trong vi xử lý, mọi hoạt động của máy tính được phối hợp một cách chặt chẻ bới các tín hiệu được tạo ra từ đơn vị điều khiển
Máy tính thi hành tuần tự từng chỉ thị của chương trình cho đến khi có lệnh dừng hoặc thao tác vòng lặp Chương trình điều khiển được chứa trong bộ nhớ dưới dạng tổ hợp các bít gọi là mã đối tượng (object code) Nhưng để dể viết chương trình một lệnh điều khiển thường được viết dưới dạng gợi nhớ (mnemonic)
Ví dụ: Đối với vi xử lý 8085A, chỉ thị truyền dữ liệu từ thanh ghi B sang thanh ghi A được viết như sau:
Trang 11- Dạng mã đối tượng: 78h
- Dạng gợi nhớ: MOV A, B
Ở dạng gợi nhớ, một lệnh điều khiển được chia làm hai phần:
Mã công tác (operation code)
Cho biết thao tác mà vi xử lý phái thực hiện (MOV)
Giai đoạn 1: Nhập mã công tác vào thanh ghi lệnh bằng một chu kỳ đọc dữ liệu của ô nhớ có địa chỉ là nội dung của bộ đếm chương trình (program counter)
Giai đoạn 2: Thi hành lệnh bao gồm cả việc đọc các byte kế tiếp trong bộ nhớ (đối với các lệnh nhiều byte) Sau đó, các toán hạng được xử lý theo quy định của mã công tác
Trong thực tế hai giai đoạn thi hành nêu trên lại được chia làm nhiều bước nhỏ gọi
là vi lệnh Đơn vị điều khiển phát ra tín hiệu để điều khiển các vi lệnh theo một chương trình gọi là chương trình vi mô (micro program)
1.2 Đặc tính chung của vi xử lý
Độ dài từ dử liệu (data word)
Đây là đặc điểm quan trọng của vi xử lý, nói lên khả năng trao đổi dử liệu giữa vi
xử lý với các thiết bị khác Hiện nay có nhiều vi xử lý với độ dài từ dữ liệu là: 8 bít, 16 bít,
32 bít và 64 bít Bảng dưới đây liệt kê một số vi xử lý 8 bít thông dụng
Ưu điểm của loại vi xử lý nhiều bít là:
• Cùng thời gian truy xuất bộ nhớ thì lượng thông tin truyền đi nhiều hơn
• Độ chính xác cũng tăng mà không làm tăng thời gian tính toán
Tuy nhiên, độ dài từ dữ liệu tăng thì cũng làm tăng số lượng dây dẩn trong bus dữ liệu Do đó, số chân của vi xử lý cũng phải nhiều Điều này đưọc giải quyết bằng cách dùng phương pháp đa hợp thời gian (time multiplexer), phương pháp này làm giãm vận tốc truyền dữ liệu Dưới đây là các vi xử lý 16 bít thông dụng
Trang 12Độ dài từ địa chỉ (address Word)
Độ dài từ địa chỉ cho biết số lượng ô nhớ mà vi xử lý có thể liên hệ trực tiếp, độ dài của các thanh ghi cần thiết cho việc định địa chỉ (thanh ghi địa chỉ, bộ đếm chương trình) cũng phải có kích thước tương ứng Thông thường độ dài từ địa chỉ ít nhất là 16 bít tương đương với 64K địa chỉ (65536 địa chỉ)
Các kiểu định địa chỉ (addressing modes)
Như đã biết, cấu tạo một lệnh gồm hai phần: Mã công tác cho biết thao tác mà máy phải thực hiện, và toán hạng cho biết vị trí của dử liệu cần xử lý Có nhiều cách để chỉ vị trí của dử liệu được trình bày như sau:
Trực tiếp bằng thanh ghi (register direct)
Trong phương pháp này, toán hạng là ký hiệu của các thanh ghi và dữ liệu cần xử
lý chính là nội dung chứa trong thanh ghi đó
Ví dụ: ADD register ;
(A) + (register) → A ; Thực hiện phép cộng giữa nội dung của bộ tích lủy với nội dung của thanh ghi sau ghi kết quả vào A
Gián tiếp bằng thanh ghi (register indirect)
Trong trường hợp này toán hạng không phải là dử liệu mà chỉ là dấu hiệu cho biết vị trí nơi chứa dử liệu
Ví dụ: MOV A, M ;
((HL)) → A : Chuyển dử liệu của ô nhớ có địa chỉ là nội dung của cặp thanh ghi HL vào thanh ghi A
Định địa chỉ trực tiếp (direct addressing)
Toán hạng là địa chỉ của dử liệu cần được xử lý
Ví dụ: STA addr ;
(A) → addr : Lưu trử dử liệu chứa trong thanh ghi A vào ô nhớ
có địa chỉ ghi trong câu lệnh
hoặc IN port ;
(port) → A : Nhập nội dung từ cổng vào A
hoặc LDA addr ;
(addr) → A : Nạp dử liệu chứa tại địa chỉ vào thanh ghi A
Trang 13Định địa chỉ tức thời (immediately addressing)
Toán hạng trong câu lệnh chính là dử liệu cần xử lý
Ví dụ: MVI reg, data ;
data → reg : chuyển dử liệu data vào thanh ghi reg hoặc ADI data ;
(A) + data → A : Cộng dử liệu với nội dung của A và ghi kết quả vào A
Địa chỉ ngầm định (implied addressing)
Trong phương pháp này vị trí hoặc giá trị của dử liệu cần xử lý được hiểu ngầm nhờ mả công tác
8085A là vi xử lý 8 bít được sản xuất bởi hảng INTEL theo công nghệ NMOS, có tốc
độ nhanh hơn và tập lệnh tương thích 100% với 8080A, nhờ khả năng tích hợp hệ thống cao 8085b cho phép thực hiện một hệ thống với số linh kiện tối thiểu chỉ gồm ba IC: 8085A (CPU), 8516 (RAM) và 8355/8755A (ROM/PROM) Đặc điểm chính của 8085A được tóm tắt như sau:
• Nguồn nuôi đơn cực +5v ±10%; Imax = 170 mA
• Tần số xung đồng hồ 6MHz
• Mạch tạo xung đồng hồ được tích hợp, có thể dùng thạch anh, RC hoặc
LC ráp thêm bên ngoài
• Chức năng điều khiển hệ thống được tích hợp trên mạch
• Có 4 vectơ ngắt: Trong đó có một yêu cầu ngắt không che được (Non- maskable interupt) và một tương thích với 8080A
• Có cổng I/O nối tiếp
• Phần mềm tương thích 100% với 8080A
• Thực hiện được các phép tính số hoc: Thập phân, nhị phân và số 16 bít
• Định địa chỉ trực tiếp 64K ô nhớ
2.1 Chức năng các chân ra
A8 - A15 (output - 3 trạng thái)
Là byte cao địa chỉ của bộ nhớ 8 bít hoặc địa chỉ cổng I/O 8 bít, các chân này ở trạng thái Z cao trong các chế độ HOLD và HALT
ALE (output)
Ngỏ ra chốt địa chỉ, tín hiệu này ở mức cao trong khoảng thời gian chu kỳ đồng hồ đầu tiên (lúc này các chân AD0-AD7 là byte thấp địa chỉ), cho phép địa chỉ được đưa vào
IC chốt bên ngoài
Trang 14AD0 - AD7 (input/output - 3 trạng thái)
Bus đa hợp địa chỉ/dữ liệu, là byte thấp địa chỉ bộ nhớ hoặc địa chỉ cổng I/O trong khoảng thời gian chu kỳ xung đồng hồ đầu tiên và là 8 bít dử liệu trong khoảng thời gian chu kỳ đồng hồ thứ hai và thứ ba, các chân này ở trạng thái Z cao trong chế độ HOLD và HALT
Hình 1.2 Sơ đồ chân 8085A
Hình 1.3 Phương pháp tách địa chỉ và dử liệu
ReadyHoldIntrRST 7.5RST 6.5RST 5.5Trap Reset in
X1
X2SID
Clock outSOD8085A
Trang 15Hình 1.4 Nguyên lý đa hợp dử liệu / địa chỉ trong 8085A
Trang 16HLDA (output)
HOLD ACKNOWLEDGE, tín hiệu ra cho biết CPU đã chấp nhận yêu cầu HOLD và
nó sẻ nhường bus trong chu kỳ đồng hồ kế tiếp, HOLDA về mức thấp khi không còn yêu cầu HOLD, CPU chiếm lại bus trong vòng nữa chu kỳ đồng hồ sau khi HOLDA ở mức thấp
INTR (input)
INTERRUPT REQUEST, được dùng như một ngắt công dụng chung, ngắt chỉ được lấy mẫu trong suốt chu kỳ đồng hồ cuối cùng của lệnh Khi ngắt tác động bộ đếm chương trình sẻ không tăng nội dung và tín hiệu INTA sẻ được tạo ra, trong suốt chu kỳ lệnh RESTART hoặc CALL có thể được chèn vào để nhảy đến chương trình phục vụ ngắt, INTR được cho phép và ngăn bằng phần mềm Ngắt này mất hiệu lực khi reset và được chấp nhận tức thời sau một ngắt khác
Trap là một yêu cầu ngắt không ngăn được, nó được nhận dạng cùng lúc như INTR
và có mức ưu tiên cao nhất trong các yêu cầu ngắt
Tín hiệu vào đặt bộ đếm chương trình về 0, xóa cờ cho phép ngắt và FF HOLDA, các cờ và thanh ghi khác không ảnh hưởng (ngoại trừ thanh ghi lệnh), bus dử liệu, bus địa chỉ và các đường điều khiển ở trạng thái Z cao Vì ngỏ vào này có cấu tạo Schmitt trigger nên có thể ghép với một mạch RC để tự động reset hệ thống khi mở máy CPU sẻ duy trì trạng thái reset khi chân này còn ở mức thấp
Trang 17RESET OUT (output)
Tín hiệu ra đồng bộ với xung đồng hồ cho biết CPU đang trong trạng thái reset, có thể dùng để đặt lại hệ thống
2.2 Mô tả nguyên lý hoạt động
8085A là bộ vi xử lý 8 bít song song đầy đủ, nguồn nuôi đơn cực 5 V, tần số tối đa 6 MHz 8085A được thiết kế để thích ứng với các hệ thống yêu cầu tối thiểu linh kiện
8085A có 12 thanh ghi 8 bít, bốn trong số này chỉ làm việc như hai cặp thanh ghi 16 bít, 6 thanh ghi khác có thể xử dụng như thanh ghi 8 bít hoặc 3 cặp thanh ghi 16 bít
BC, DE, HL Thanh ghi chung; con trỏ dử
liệu (HL)
8 bít x 6 hoặc 16 bít x 3
Thanh ghi cờ cho biết trạng thái của vi xử lý sau khi thực hiện xong một lệnh, cấu tạo thanh ghi này được trình bày như sau:
S Z X AC X P x CY
INRESET
Hình 1.5 Mạch reset tự động khi mở máy
Trang 18S -Sign (bít dấu)
S =1 Khi kết quả là số âm
S =0 Khi kết quả là số dương
Cy =0 Khi kết quả không có số nhớ
8085A dùng một bus dử liệu đa hợp, địa chỉ 16 bít được tách ra thành bus 8 bít địa chỉ cao và 8 bít địa chỉ thấp kết hợp với dử liệu Trong suốt trạng thái ( chu kỳ đồng hồ) đầu tiên của 1 chu kỳ máy byte địa chỉ thấp được gởi ra bus đa hợp địa chỉ/dử liệu Byte thấp địa chỉ này có thể được chốt ra bên ngoài bởi tín hiệu ALE Trong khoảng thời gian còn lại của chu kỳ máy tín hiệu trên bus đa hợp là dử liệu cho bộ nhớ hoặc cổng I/O 8085A cung cấp các tín hiệu RD , WR , S0, S1 và IO/ để điều khiển bus và còn M
có tín hiệu INTA HOLD và tất cả các ngắt được đồng bộ với xung đồng hồ hệ thống
8085 còn có các ngỏ SID và SOD phục vụ cho yêu cầu giao tiếp dử liệu nối tiếp
Ngoài các đặc tính trên, 8085 còn có 3 chân vào tín hiệu ngắt che được, một ngắt TRAP không che được và một ngắt bus định địa chỉ được INTR
Ngắt và cổng nối tiếp
8085 có 5 ngỏ vào ngắt: ỈNT, RST 5.5, RST 6.5, RST 7.5 và TRAP Ngắt INTR có chức năng giống như ngắt INT của 8080A Các ngắt RESTART 5.5, 6.6, 7.5 che được bằng phần mềm, TRAP cũng là 1 ngắt nhưng không che được
Ba ngắt che được tạo ra một sự thực hiện RESTART bên trong (bằng cách lưu nội dung thanh ghi PC vào ngăn xếp và nhảy đến địa chỉ RESTART) nếu các ngắt được cho phép và mặt nạ che không được thiết lập
Ngắt TRAP sẻ thực hiện việc RESTART một cách độc lập với mặt nạ che và tín hiệu cho phép ngắt
Có hai kiểu tác động ngắt khác nhau: RST 5.5 và RST 6.5 tác động theo mức cao giống như INTR (và INT trong 8080) và được nhận ra trong cùng khoảng thời gian như INTR, RST 7.5 tác động cạnh lên
Đối với RST 7.5 chỉ cần một xung để đặt FF phát sinh yêu cầu ngắt RST 7.5 duy trì
FF này ở trạng thái set cho đến khi yêu cầu ngắt được phục vụ, sau đó nó sẻ tự động bị xóa Cũng có thể xóa FF này bằng lệnh SIM hoặc bằng tín hiệu đưa vào chân RESETIN
FF RST 7.5 sẻ được set bởi xung đưa vào chân RST 7.5 khi ngắt này không bị che Trạng thái của 3 mặt nạ che ngắt chỉ thay đổi được bằng lệnh SIM và tín hiệu IN
RESET
Mức ưu tiên của các ngắt là cố định như đả giới thiệu ở phần trên Thư tự ưu tiên này không được áp dụng cho một chương trình phục vụ ngắt đã được khởi động bởi một ngắt có ưu tiên cao hơn Ngắt RST 5.5 có thể dừng chương trình phục vụ của RST 7.5 nếu các ngắt được cho phép trở lại trước khi kết thúc chương trình này
Trang 19TRAP thường được dùng trong những trường hợp xảy ra sự cố hệ thống, TRAP được tác động theo cả mức lẩn cạnh Ngỏ vào TRAP phải lên mức cao và duy trì cho đến khi nó được chấp nhận và sẻ không được nhận dạng trở lại cho đến khi nó trở về mức thấp sau đó lại lên mức cao Điều này ngăn các nguồn kích không mong muốn như nhiểu hoặc các glitch Sơ đồ 1.6 mô tả mạch ngắt TRAP Lưu ý là chương trình phục vụ một ngắt bất kỳ (TRAP, RST 7.5, RST 6.5, RST 5.5, INTR) sẻ ngăn các ngắt khác (ngoại trừ TRAP) cho đến khi một lệnh EI được thực hiện
Điễm đặc biệt của TRAP là ngăn các ngắt nhưng bảo vệ trạng thái cho phép của ngắt trước đó Việc thực hiện lệnh RIM đầu tiên theo sau TRAP cho phép xác định được các ngắt nào đã được cho phép cũng như không cho phép trước khi xảy ra TRAP Tất cả các lệnh RIM tiếp theo cung cấp trạng thái cho phép ngắt hiện hành Khi lệnh RIM được thực thi sau INTR hoặc RST 5.5-7.5 sẻ cho biết trạng thái cho phép của ngắt hiện hành cho thấy các ngắt bị ngăn
Hệ thống cổng giao tiêớ nối tiếp cũng được điều khiển bởi lệnh RIM và SIM, bít SID được đọc bởi RIM và SIM đặt bít SOD
Tần số cộng hưởng song song bằng hai lần tần số xung đồng hồ cần thiết
Điện dung nạp CL ≤ 30 pF
Điện dung song song CS ≤ 7 pF
RS điện trở tương đương song song RS ≤ 75 Ω
Công suất điều khiển 10 mW
Độ dịch tần ±0,005%
Nên nối thêm một tụ 20 pF từ X2 xuống GND, tụ này cần thiết với các thạch anh có tần số thấp hơn 4 MHz để bảo đảm dao động khởi động đúng tần số Có thể dùng mạch cộng hưởng song song LC để xác định tần số dao động cho 8085AH với dung sai ±10%, giá trị các linh kiện được chọn theo công thức
Chấp nhận ngắt trong
Trang 20( CEXT CINT) L
2π
1 f
+
=
Để sự biến thiên tần số là ít nhất nên chọn giá trị CEXT ít nhất bằng hai lần CINT hoặc
30 pF Không nên dùng mạch LC khi tần số cao hơn 5 MHz
Tần số dao động có thể được xác định bằng mạch RC cho 8085AH khi không cần
độ chính xác cao Các dạng mạch dao động tích hợp trong IC có thể tạo nên một thay đổi lớn về tần số khi dùng RC Ưu điễm của phương pháp là rẻ tiền và tần số vào khoảng 3 MHz
Hình 1.7 trình bày các mạch tạo dao động, lưu ý là trong hình (d) và (e) cần thiết phải có các điện trở kéo lên để bảo đãm mức cao tại ngỏ ít nhất là 4 V và mức thấp lớn nhất là 0,8 V
Để điều khiển các tần số lên đến 6 MHz, có thể đưa dao động ngoài vào X1 và để
hở X2 (h 5.d)> Nếu tần số điều khiển từ 6 MHz đến 12 MHz, đổn định tần số được cải thiện bằng cách điều khiển cả 2 ngỏ X1 và X2 theo sơ đồ đẩy-kéo (h 5.e) Để tránh hiện tượng dao động tự kích trong 8085AH phải bảo đãm sao cho X2 không được hồi tiếp về X1 thông qua mạch điều khiển
Hình 1.7 Sơ đồ mạch tạo dao đông
Tạo trạng thái chờ
Nếu trong hệ thống xử dụng bộ nhớ và các thiết bị ngoại vi có tốc độ chậm Mạch điện hình 1.8 sẻ giải quyết vấn đề này bằng cách thêm một trạng thái chờ vào mỗi chu kỳ máy của 8085A
Trang 21Có 7 loại chu kỳ máy có thể xảy ra được xác định bởi 3 tín hiệu trạng thái: IO/ , MS1, S0 và ba tín hiệu điều khiển: RD , WR và INTA các tín hiệu trạng thái có thể dùng như tín hiệu điều khiển mở rộng VD: Chọn chíp…vì chúng trở nên tích cực tại trạng thái T1 là lúc khởi đầu của mỗi chu kỳ máy Các đường điều khiển RD và WR trở nên tích cực sau đó và đóng vai trò là lệnh điều khiển trong khi truyền dử liệu
Thông thường một chu kỳ máy bao gồm 3 trạng thái T với ngoại lệ OPCODE FETCH gồm 4 hoặc 6 trạng thái T, trạng thái T bất kỳ có thể là 1 trong 10 trạng thái như trình bày trong bảng dưới đây
Trang 23dụ nếu cần để làm rỏ hơn tác dụng của lệnh
Các bài thực tập viết chương trình trong bài học này được nạp và cho chạy kiểm tra trên KIT thực tập 8085A, hướng dẩn xử dụng tham khảo trong tài liệu kèm theo
MỤC TIÊU THỰC HIỆN
• Hiểu được tác dụng các lệnh điều khiển của họ vi xử lý 8085A
• Ứng dụng để viết được các chương trình theo yêu cầu
• Phân tích và hiểu được các chương trình có sẳn
• Thực hiện các ứng dụng thực tế thông qua các mô hình
NỘI DUNG CHÍNH
Nội dung bài học tập trung về các chủ đề chính như sau:
• Khái niệm chung về tập lệnh
Trang 24Chức năng Truyền dử liệu giữa các thanh ghi
Mô tả Nội dung trong thanh ghi nguồn (source) được đưa vào
thanh ghi đích (destination), nội dung thanh ghi nguồn không thay đổi
Trang 25LDA addr (load accumulator direct)
Chức năng Nạp trực tiếp nội dung ô nhớ vào A
Trang 27Chức năng Cộng không ghi nhớ số nhớ A với thanh ghi
Mô tả
Thay đổi tất cả Bytes: 1
Trang 28Mơ tả
Thay đổi tất cả Bytes: 1
Số trạng thái 4
Mã lệnh 10010sss
Kết quả (A) - (sr) → A
Cy = 0 khi (A) lớn hơn hoặc bằng (sr)
Cy = 1 khi (A) nhỏ hơn (sr)
SUB M
Chức năng Trừ khơng lưu ý số thiếu A với ơ nhớ
Mơ tả
Thay đổi tất cả Bytes: 1
Số trạng thái 7
Mã lệnh 10011sss
Trang 30Mã lệnh 10110ssss Kết quả (A) ∪ (sr) →A
Địa chỉ Mả đối tượng Chỉ thị Ghi chú
INR reg
Trang 31Chức năng Tăng nội dung thanh ghi
Trang 33XCHG (exchange register pair)
Chức năng Hoán chuyển nội dung giữa HL với DE
Bytes: 1
Trang 34Số trạng thái 4
Mã lệnh 11101011
Kết quả (HL) → DE; (DE) → HL
DAA
Chức năng Điều chỉnh nội dung bộ tích lũy
Bytes: 1
Số trạng thái 4
Mã lệnh 00100111
Kết quả Nếu (A3 A0 > 9 hoặc AC =1 thì: (A) + 06h → A
Nếu (A7 A4 > 9 hoặc Cy =1 thì: (A) + 60h → A
Chức năng Nghịch đảo nội dung bộ tích lũy
Trang 35Chức năng So sánh A với thanh ghi
Chức năng So sánh A với dữ liệu
Bytes: 2
Số trạng thái 7
Mã lệnh 11111110
Kết quả (A) - data → F
Địa chỉ Mả đối tượng Chỉ thị Ghi chú
Chức năng Nhảy khơng điều kiện
Trang 36Địa chỉ Mả đối tượng Chỉ thị Ghi chú
Chức năng Nhảy cĩ điều kiện điều kiện
Bytes: 3
Số trạng thái 7 (0! nếu thỏa điều kiện)
Mã lệnh 11xxx010
Kết quả Nếu thỏa điều kiện, chỉ thị tại địa chỉ sẽ được thi hành
Kết quả: Lệnh nhảy khơng thực hiện vì Cy = 0
Trang 372.5 Nhĩm lệnh về ngăn xếp
PUSH r 1
Chức năng Chuyển dữ liệu vào ngăn xếp
PUSH r 1
Chức năng Chuyển dữ liệu vào ngăn xếp
Ví dụ: (BC) = 2A4C
Trước khi PUSH B Sau khi PUSH B
SP Ngăn xếp Ngăn xếp SP
Ví dụ: POP F
Trang 38Trước khi POP F Sau khi POP F
SP Ngăn xếp Ngăn xếp SP
Ví dụ:
SP Ngăn xếp Ngăn xếp SP
Trang 39Chức năng Xuất dữ liệu ra cổng
Trang 40BÀI 3
GIỚI THIỆU
Bài học này giới thiệu về khả năng trao đổi dử liệu giữa CPU với các thiết bị ngoại
vi chủ yếu dựa trên các vi mạch giao tiếp nối tiếp cũng như song song của hảng Intel, điển hình là 82C55A và 8251A, với thiết kế phù hợp và khả năng xác định chức năng hoạt động bằng phần mềm giúp tối thiếu hóa hệ thống và tương thích được với hầu hết các thiết bị ngoại vi thông dụng
Phần thực hành của bài thể hiện thông qua việc viết chương trình thực hiện yêu cầu giao tiếp và lắp ráp các mô hình giao tiếp thiết bị ngoại vi với CPU đựa trên KIT thực tập 8085A
MỤC TIÊU THỰC HIỆN
• Hiểu nguyên lý và khả năng ứng dụng của phương pháp truyền diử liệu song song và phương pháp truyền dử liệu nối tiếp đồng bộ cũng như không đồng bộ
• Biết được sự cần thiết của thiết bị giao tiếp giữa CPU với thiết bị ngoại vi
• Hiểu cấu tạo, phương pháp điều khiển vi mạch giao tiếp song song lập trình được 82C55A
• Hiểu được cấu tạo, phương pháp điều khiển vi mạch giao tiếp USART 8251A
• Giải thích được các sơ đồ ứng dụng
NỘI DUNG CHÍNH
Nội dung bài học tập trung về các chủ đề chính như sau:
• Tổng quan về yêu cầu giao tiếp
• Xác định địa chỉ của thiết bị I/O
• Mạch giao tiếp đơn giản dùng các mạch đêm/chốt
• Vi mạch giao tiếp 82C55A