MỤC LỤC
Trang
Lời cảm tạ
Lời nói đầu
PHẦN GIỚI THIỆU CHUNG
CHƯƠNG CƠ SỞ LÝ LUẬN
Chương I: CẤU TRÚC VI XỬ LÝ 8085
I. Cấu Trúc Bên Trong Của Vi Xử Lý 8085
II. Sơ Đồ Cấu Trúc Bên Ngoài Và Chứ Năng Các Chân Của
Vi Xử Lý 8085
III. Bộ Nhớ
IV. Kết Nối Bộ Nhớ Với Vi Xử Lý
V. Vấn Đề Giải Mã Cho Bộ Nhớ
Chương II: GIỚI THIỆU TẬP LỆNH CỦA VI XỬ LÝ 8085
Chương III: GIAO TIẾP VỚI MÁY TÍNH
I. Giao Tiếp Song Song
1. Giao Tiếp Qua Cổng Máy In
2. Giao Tiếp Qua Cổng Slot Card
II. Giao Tiếp Nối Tiếp Qua Cổng COM RS232
1. Vài Nét Cơ Bản Về Cổng nối Tiếp
2. Sự Trao Đổi Của Các Đường Tín Hiệu
Chương IV: GIỚI THIỆU HỆ THỐNG KIT 8085
1. Tần Số Làm Tần Số Làm Việc
2. Tổ Chức Bộ Nhớ
3. Các IC Ngoại Vi
4. Khối Giải Mã Hiển Thị Sử Dụng IC 8279
5. Khối Giài Mã Bàn Phím
PHẦN GIAO TIẾP
Chương V: Giao Tiếp Nối Tiếp Dùng Vi Mạch 8251
I. Truyền Thông Tin Nối Tiếp
II. Vi Mạch Usart 8251
1. Sơ Đồ Chân Và Sơ Đồ Khối
2. Các Thanh Ghi
III. Ưng Dụng Của 8251 Để Truyền Thông Tin Nối Tiếp
1. Truyền Thông Tin Nối Tiếp Giữa Hai Kit Vi Xử Lý
2. Truyền Thông Tin Nối Tiếp Giữa Vi Xử Lý Và Máy Tính
Chương VI: Giao Tiếp Song Song Dùng Vi Mạch 8255
I. Giơi Thiệu Về Vi Mạch 8255
II. Sơ Đồ Chân, Sơ Đồ Logic, Chức Năng Các Chân Của Vi Mạch 8255
III. Cấu Trúc Bên Trong và Hoạt Động Của Vi Mạch 8255
1. Sơ Đồ Khối, Cấu Trúc Bên Trong Của Vi Mạch 8255
2.Hoạt Động Của Vi Mạch 8255
3. Từ Điều Khiển
IV. Giao Tiếp Giữa Vi Xử Lý Với 8255
1. Giao Tiếp Kiểu I/O
2. Giao Tiếp Kiểu Bộ Nhớ
Chương VII. Phần Cứng Và Phần Mềm Giao Tiếp
I. Lưu Đồ Và Chương Trình Truyền- Nhận Dữ Liệu
1. Lưu Đồ Truyền Dữ Liệu
2. Lưu Đồ Nhận Dữ Liệu
3. Chương Trình Truyền Dữ Liệu
4. Lưu Đồ Nhận Dữ Liệu
II. Thiết Kế Và Thi Công Phần Giao Tiếp
1. Giới Thiệu Về Vi Mạch Max 232
2. Sơ Đồ Mạch Kết Nối
3. Sơ Đồ Mạch In
PHẦN TỔNG KẾT
Phụ Lục
Hướng Phát Triển Đề Tài
Kết Luận
Tài Liệu Tham Khảo
Mục Lục
140 trang |
Chia sẻ: maiphuongdc | Lượt xem: 1785 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Luận văn Giao tiếp máy tính với kit vi xử lý 8085, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tại địa chỉ (SP-1), thanh ghi C được cất vào ngăn xếp tại địa chỉ (SP-2), nội dung thanh ghi SP giảm đi 2.
+ Lệnh này chiếm 1 byte, số chu kì xung clock =12.
+Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
Lệnh cất cặp thanh ghi DE:
Cú pháp: PUSH D
Lệnh cất cặp thanh ghi HL:
Cú pháp: PUSH H
Lệnh cất cặp thanh ghi AF:
Cú pháp: PUSH PSW
VIII. NHÓM LỆNH POP:
Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi:
+ Cú pháp: POP B
1 1 0 0 0 0 0 1
+ Mã đối tượng:
+ Ý nghĩa: chuyển nội dung từ ngăn xếp vào cặp thanh ghi BC. Nội dung ngăn xếp có địa chỉ chứa trong SP được chuyển cho thanh ghi C, nội dung của ngăn xếp có địa chỉ (SP+1) được chuyển cho thanh ghi B, sau lệnh POP nội dung của SP tăng lên 2.
+ Lệnh này chiếm một byte, số chu kì clock =12.
+ Lệnh này không ảnh hưởng đến thanh ghi teạng thái.
(Tương tự cho các lệnh khác cùng nhóm).
Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi DE:
+ Cú pháp: POP D
Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi HL:
+ Cú pháp: POP H
Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi AF:
+ Cú pháp: POP PSW
IX. NHÓM LỆNH CỘNG CẶP THANH GHI VỚI CẶP THANH GHI:
Lệnh cộng cặp thanh ghi BC:
+ Cú pháp: DAD B
0 0 0 0 1 0 0 1
+ Mã đối tượng:
+ Ý nghĩa: nội dung cặp thanh ghi BC được cộng với cặp thanh ghi HL, kết quả cất trong cặp thanh ghi HL. Thanh ghi L được cộng với C, thanh ghi H được cộng với B.
+ Lệnh này chiếm 1 byte, số chu kỳ clock =10.
+ Lệnh này chỉ làm ảnh hưởng đến bit trạng thái Cy.
Tương tự cho các lệnh cùng nhóm này như sau:
Lệnh cộng cặp thanh ghi DE:
+ Cú pháp: DAD D
Lệnh cộng cặp thanh ghi HL:
+ Cú pháp: DAD H
Lệnh cộng cặp thanh ghi SP:
+ Cú pháp: DAD SP
X. NHÓM LỆNH TĂNG CẶP THANH GHI:
1.Lệnh tăng cặp thanh ghi BC:
+ Cú pháp: INX B
0 0 0 0 0 0 0 1
+ Mã đối tượng:
+Ý nghĩa: nội dung cặp thah ghi BC tăng thêm một đơn vị.
+ Lệnh này chiếm 1 byte, số chu kỳ clock =6.
+ Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lệnh khác)
Lệnh tăng cặp thanh ghi DE:
+ Cú pháp: INX D
Lệnh tăng cặp thanh ghi HL:
+ Cú pháp: INX H
Lệnh tăng cặp thanh ghi SP:
+ Cú pháp: INX SP
XI. LỆNH GIẢM CẶP THANH GHI:
Lệnh giảm cặp thanh ghi BC:
+ Cú pháp: DCX D
0 0 0 0 1 0 1 1
+ Mã đối tượng:
+ Ý nghĩa: nội dung cặp thanh ghi BC giảm thêm 1 đơn vị.
+ Lệnh này chiếm 1 byte, số chu kỳ clock=6.
+ Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái.
(Tương tự cho các lênh khác)
Lệnh giảm cặp thanh ghi DE:
+ Cú pháp: DCX D
Lệnh giảm cặp thanh ghi HL:
+ Cú pháp: DCX H
Lệnh giảm cặp thanh ghi SP:
+ Cú pháp: DCX SP
XII. NHÓM LỆNH GIÁN TIẾP DÙNG CẶP THANH GHI:
Lệnh lưu trữ gián tiếp dùng cặp thanh ghi BC:
+ Cú pháp: STAX B
0 0 0 0 0 0 1 0
+ Mã đối tượng:
+ Ý nghĩa: nội dung thanh gi được lưu trữ gián tiếp vào ô nhớ có địa chỉ chứa trong cặp thanh ghi BC.
+ Lệnh này không ảnh hưỏng đến thanh ghi trạng thái.
(Tương tự cho các lênh khác cùng nhóm)
Lệnh lưu trữ gián tiếp dùng cặp thanh ghi DE:
+ Cú pháp: STAX D
Lệnh nạp gián tiếp dùng cặp thanh ghi BC:
+ Cú pháp: LDAX B
0 0 0 0 1 0 1 0
+ Mã đối tượng:
+ Ý nghĩa: nội dung ô nhớ có địa chỉ chứa trong cặp thanh ghi BC được chuyển vào thanh ghi A.
(Tương tự cho các lệnh khác)
Lệnh lưu trữ gián tiếp dùng cặp thanh ghi DE:
+ Cú pháp: LDAX D
XIII. NHÓM LỆNH TRỰC TIẾP:
Lệnh lưu trữ trực tiếp:
+ Cú pháp: STA ADDR
0 0 1 1 0 0 1 0
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: nội dung thanh ghi A được lưu trữ vào ô nhớ có địa chỉ ADDR.
+ Lệnh này chiếm 3 byte, số chu kỳ clock=13.
+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
Lệnh nạp trực tiếp:
+ Cú pháp: LDA ADDR
0 0 1 1 1 0 1 0
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: nội dung ô nhớ có địa chỉ là ADDR được chuyển vào thanh ghi A.
+ Lệnh này chiếm 3 byte, số chu kỳ xung clock =13.
+ Lệnh nầøy không ảnh hưởng đến thanh ghi trạng thái.
Lệnh lưu trữ trực iếp cặp thanh ghi:
+ Cú pháp: SHLD ADDR
0 0 1 0 0 0 1 0
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: nội dung cặp thanh ghi HL đựoc lưu vào 2 ô nhớ liên tiếp là ADDR và (ADDR+1). Nội dung thanh ghi L được lưu trữ vào ô nhớ có địa chỉ là ADDR, nội dung của thanh ghi H được lưu trữ vào ô nhớ có địa chỉ là (ADDR+1).
+ Lệnh nầy chiếm 3 byte, số chu kỳ xung clock = 16.
+ Lệnh nầy không ảnh hưởng đến thanh ghi trạng thái.
Lệnh nạp trực tiếp cặp thanh ghi:
+ Cú pháp: LHLD ADDR
0 0 1 0 1 0 1 0
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: nội dung của 2 ô nhớ có địa chỉ liên tiếp là ADDR và (ADDR+1) được lưu trữ vào cặp thanh ghi HL. Nội dung của ô nhớ có địa chỉ ADDR được nạp vào thanh ghi L, nội dung của ô nhớ có địa chỉ (ADDR+1) được nạp vào thanh ghi H.
+ Lệnh này chiếm 3 byte, số chu kỳ xung clock =13.
+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
XIV. NHÓM LỆNH XOAY THANH GHI A:
Lệnh dịch thanh ghi A sang trái:
+ Cú pháp: RLC
0 0 0 0 0 1 1 1
+ Mã đối tượng:
+ Ý nghĩa: nội dung thanh ghi A dịch từ phải sang trái, bit MSB được chuyển sang bit Cy và bit LSB.
+ Lệnh này chiếm 1byte, số chu kỳ lock =4.
+ Lệnh này chỉ ảnh hưởng đến bit trạng thái Cy.
Lệnh dịch thanh ghi A sang phải:
+ Cú pháp: RRC
0 0 0 0 1 1 1 1
+ Mã đối tượng:
+ Ý nghĩa: nội dung thanh ghi A dịch từ trái sang phải, bit LSB được chuyển sang bit Cy và bit MSB.
+ Lệnh này chiếm 1byte, số chu kỳ lock =4.
+ Lệnh này chỉ ảnh hưởng đến bit trạng thái Cy.
( Tương tự cho các lệnh khác).
Lệnh dịch thanh ghi A sang trái thông qua bit Cy:
+ Cú pháp: RAL
Lệnh dịch thanh ghi A sang phải thông qua bit Cy:
+ Cú pháp: RAR
XV. NHÓM LỆNH NHẢY:
Lệnh nhảy không điều kiện:
+ Cú pháp: JMP ADDR
1 1 0 0 0 0 1 1
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ ý nghĩa: vi xử lí sẽ nhảy đến địa chỉ ADDR để tiếp tục thực hiện chương trình.
+ Lệnh này chiếm 3 byte, số chu kỳ clock =10.
+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
Lệnh nhảy khi bit Z=0:
+Cú pháp: JNZ ADDR
1 1 0 0 0 0 1 0
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: vi xử lí sẽ nhảy đến địa chỉ ADDR để tiếp tục chương trình khi bit Z=0, ngay sau khi thực hiện lệnh ảnh hưởng đến bit z của thanh ghi trạng thái.
+ Lệnh này chiếm 3 byte, số chu kỳ clock là 7/10.
+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
( Tương tự cho các lệnh khác).
Lệnh nhảy khi bit Z=1:
+ Cú pháp: JZ ADDR
Lệnh nhảy khi bit C=0:
+ Cú pháp: JNC ADDR
Lệnh nhảy khi bit C=1:
+ Cú pháp: JC ADDR
Lệnh nhảy khi bit P=0:
+ Cú pháp: JPO ADDR
Lệnh nhảy khi bit P=1:
+ Cú pháp: JPE ADDR
Lệnh nhảy khi bit S=0:
+ Cú pháp: JP ADDR
Lệnh nhảy khi bit S=1:
+ Cú pháp: JM ADDR
XVI. NHÓM LỆNH GỌI:
Lệnh gọi không điều kiện:
+ Cú pháp: CAAL ADDR
1 1 0 0 1 1 0 1
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: vi xử lý sẽ thực hiện chương trình tại địa chỉ ADDR sau đó sẽ trở về chương trình chính khi gặp lệnh trở về.
+ Lệnh này chiếm 3 byte, số chu kỳ clock =18.
+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
Lệnh gọi khi Z=0:
+ Cú pháp: CNZ ADDR
1 1 0 0 1 1 0 1
8 bit thấp
8 bit cao
+ Mã đối tượng:
+ Ý nghĩa: vi xử lý sẽ thực hiện chương trình tại ADDR khi bit Z=0, ngay sau khi thực hiện lệnh ảnh hưởng đến bit Z của thanh ghi trạng thái. Sau đó sẽ trở về chương trình chính khi gặp lệnh trở về.
+ Lệnh này chiếm 3 byte, số chu kỳ clock =9/18.
+ Lệnh này không ảnh hưởng đến thanh ghi trạng thái.
( Tương tự cho các lệnh khác).
Lệnh gọi khi bit Z=1:
+ Cú pháp: CZ ADDR
Lệnh gọi khi bit C=0:
+ Cú pháp: CNC ADDR
Lệnh gọi khi bit C=1:
+ Cú pháp: CC ADDR
Lệnh gọi khi bit P=0:
+ Cú pháp: CPO ADDR
Lệnh gọi khi bit P=1:
+ Cú pháp: CPE ADDR
Lệnh gọi khi bit S=0:
+ Cú pháp: CP ADDR
Lệnh gọi khi bit S=1:
+ Cú pháp: CM ADDR
NHÓM LỆNH TRỞ VỀ TỪ CHƯƠNG TRÌNH CON:
Lệnh RET không điều kiện:
+ Cú pháp: RET
1 1 0 0 1 0 0 1 1
+ Mã đối tượng:
+ Ý nghĩa: lệnh này sẻ kết thúc chương trình con, vi xử lý sẽ trở lại chương trình chính tiếp tục phần chương trình còn lại.
+ Lệnh này chiếm 1 byte, số chu kỳ xung clock=10.
+ Thanh ghi trạng thái không đổi.
Lệnh trở về khi Z=0:
+ Cú pháp: RNZ
1 1 0 0 0 0 0 0 0
+ Mã đối tượng:
+ Ý nghĩa: lệnh này sẽ kết thúc chương trình con khi bit Z=0, vi xử lý sẽ trở lại chương trình chính tiếp tục phần chương trình còn lại, nếu không thỏa điều kiên chương trình con sẽ thực hiện các lệnh tiếp theo.
+ Lệnh này chiếm 1 byte, số chu kỳ clock=6/12.
+ Thanh ghi trạng thái không thay đổi.
( Tương tự cho các lệnh khác).
Lệnh trở về khi Z=1:
+ Cú pháp: RZ
Lệnh trở về khi C=0:
+ Cú pháp: RNC
Lệnh trở về khi C=1:
+ Cú pháp: RC
Lệnh trở về khi P=0:
+ Cú pháp: RPO
Lệnh trở về khi P=1:
+ Cú pháp: RPE
Lệnh trở về khi S=0:
+ Cú pháp: RP
Lệnh trở về khi S=1:
+ Cú pháp: RM
NHÓM LỆNH DI CHUYỂN CẶP THANH GHI
Lệnh trao đổi nội dung 2 cặp thanh ghi:
+ Cú pháp : XCHG
1 1 1 0 1 0 1 1
+ Mã đối tượng:
+ Ý nghĩa: nội dung cặp thanh ghi HL và DE được trao đổi cho nhau. Thanh ghi H trao đổi với D thanh ghi L trao đổi với E.
+ Lệnh này chiếm 1 byte, số chu kỳ xung clock = 4.
+ Thanh ghi trạng thái không thay đổi.
( Tương tự cho các lệnh khác ).
Lệnh trao đổi nội dung cặp thanh ghi với ô nhớ:
+ Cú pháp : XTHG
Lệnh di chuyển nội dung cặp thanh ghi:
+ Cú pháp : SPHL
Lệnh nạp cặp thanh ghi PC :
+ Cú pháp : PCHL
NHÓM LỆNH XUẤT NHẬP
Lệnh nhập dữ liệu từ port:
+ Cú pháp: IN port-addr
1 1 0 1 1 0 1 1
port-addr
+ Mã đối tượng:
+ Ý nghĩa: nhập nội dung của có địa chỉ port-addr vào thanh ghi A. Địa chỉ port-addr có độ dài 1 byte.
+ Lệnh này chiếm 2 byte, số chu kỳ xung clock = 10.
+ Thanh ghi trang thái không thay đổi.
(Tương tự cho các lệnh khác).
Lệnh xuất dữ liệu ra port:
+ Cú pháp: OUT port-addr
Lệnh cho phép ngắt:
+ Cú pháp: EI
Lệnh không cho phép ngắt:
+ Cú pháp: DI
Lệnh read interrupt mask:
+ Cú pháp: RIM
Lệnh set interrupt mask:
Bảng tra các thanh ghi:
Register ddd or sss
B 000
C 001
D 010
E 011
H 100
L 101
M 110
A 111
Bảng 2.1
+ Cú pháp: SIM
NHÓM LỆNH ĐẶC BIỆT:
Lệnh nghịch đảo nội dung thanh ghi A:
+ Cú pháp: CMA
Lệnh đặt bit carry:
+ Cú pháp: STC
Lệnh nghịch đảo bit carry:
+ Cú pháp: CMC
Lệnh điều chỉnh thập phân:
+ Cú pháp: DAA
Lệnh nop:
+ Cú pháp: NOP
Lệnh dừng:
+ Cú pháp: HLT
VÍ DỤ MINH HỌA TẬP LỆNH:
Chương trình nhấp nháy chuỗi "-HÀ-NỘI-" trên 8 led:
Org 7108h ;địa chỉ bắt đầu nhập mã chuổi
Db, 40h, 76h, 77h, 40h, 37h, 3fh, 30h, 40, ;khai báo mã của chuỗi
Org 6200h
Vd1: lxi h, 7108h ;nạp địa chỉ quản lý dữ liệu vào thanh ghiHL
Mvi c, 08h ;làm biến đếm cho chương trình hiển thị
Vd2: mov a, m ;lấy dữ liệu
Sta 0a000h ;gởi ra led hiển thị
Inr l ;tăng lên 1 để lấy byte tiếp theo
Dcr c ;giảm biến đếm
Jnz vd2 ;nhảy về vd2 khi chưa gởi đủ 8 byte
Mvi a, 01h ;nạp thời hằng delay1 giây
Call 0310h ;gọi chương trình con delay
Mvi c, 08h ;làm biến điếm cho chương trình xóa
Mvi a, 00h ;nạp 00 vào A
Vd3 sta 0a000h ;gởi ra led để xóa
Dcr c ;giảm biến đếm
Jnz vd3 ;quay lại vd3 nếu chưa xóa đủ 8 led
Mvi 0, 01h ;nạp thời hằng delay
Call 0310h ;gọi chương trình delay
Jmp vd1 ;quay lại làm lại chu kỳ kế.
CHƯƠNG III: GIAO TIẾP VỚI MÁY TÍNH
GIAO TIẾP SONG SONG:
GIAO TIẾP QUA CỔNG MÁY IN
1.1 Vài nét cơ bản về cổng máy in:
Việc nối máy in với máy tính được thực hiên qua ổ cắm 15 chân ở phía sau máy tính. Nhưng đây không phải chỉ là chỗ nối với máy in mà khi sử dụng máy tính vào việc khác, như truyền dữ liệu từ máy tính tới một thiết bị khác, hay điều khiển thiết bị bằng máy tính thì việc ghép nối cũng được ghép nối qua cổng máy in.
Qua cổng này dữ liệu được truyền đi song song, nên đôi khi còn được gọi là cổng ghép nối song song và tốc độ truyền cũng đạt đến mức đáng kể. Tất cả các đường dẫn của cổng máy in đều tương thích với TTL. Nghĩa là chúng đều cung cấp mức điện áp nằm giữa 0V đến 5V. do đó ta cần lưu ý là các đường dẫn vào cổng này không được đặt mức điện áp quá lớn.
Sự sắp xếp các chân của cổng máy in với tất cả các đường dẫn được mô tả như sau:
1
25 14
O O O O O O O O O O O O O
O O O O O O O O O O O O
HÌNH 3.1
Chức năng các chân
Chân
Ký hiệu
Out/in
Chức năng
1
2 .. 9
10
11
12
13
14
15
16
17
18 ..25
Strobe
D0 .. D7
ACK
Busy
PE
SLCT
AF
ERROR
INIT
SLCTN
GND
Out
Out
In
In
In
In
Out
In
Out
Out
Byte được in
Các đường dữ liệu D0 .. D7.
Phần thu báo cho phần phát biết đã thu xong một kí tự
Phần tín hiệu do phần thu báo cho phần phát biết là phần thu đang bận
Báo hết giấy
Báo chọn máy in
Máy tính báo ra máy in tự nạp giấy
Báo các lỗi của máy in
Reset máy in
Chọn máy in
Nối đất
1.3 Trao đổi với các đường dẫn tín hiệu:
LPT1: Gồm có 3 thanh ghi: thanh ghi dữ liệu, thanh ghi trạng thái và thanh ghi điều khiển.
Thanh ghi dữ liệu: gồm có 8 bit dữ liệu, có địa chỉ là 378h.
HÌNH 3.2
CHÂN SỐ : 9 8 7 6 5 4 3 2
D7
D6
D5
D4
D3
D2
D1
D0
Thanh ghi trang thái: có địa chỉ là 379h.
ERROR
SLCT
PE
ACK
BUSY
D7
D6
D5
D4
D3
D2
D1
D0
Thanh ghi điều khiển có địa chỉ: 37AH
Strobe
AF
INIT
SLCTIN
( Ngắt 8259 )
D7
D6
D5
D4
D3
D2
D1
D0
1.4. Hoạt động của việc trao đổi dữ liệu:
Hoạt động của phần phát:
+ đọc Busy cho đến khi Busy\ = 1.
+ gửi dữ liệu ra bus dữ liệu
+ cho Strobe = 0.
+ chuẩn bị dữ liệu tiếp theo
+ quay về bước 1
Hoạt động của phần thu:
+ đọc Strobe cho đến khi Strobe = 1.
+ Busy = 0, ACK = 0.
+ đọc dữ liệu vào.
+ đưa ACK = 1.
+ xử lý dữ liệu.
+ cho Busy = 1 để phát ký tự tiếp theo
+ quay về bước 1
BUSY = 1
BEGIN
GỞI DỮ LIỆU
STROBE = 1
ACK = 1
STROBE = 0
HẾT FILE
THOÁT RA
CHUẨN BỊ DỮ LIỆU TIẾP THEO
HÌNH 3.3
LƯU ĐỒ PHÁT
BEGIN
STROBE =1
BUSY =1 , ACK =0
ĐỌC DỮ LIỆU
XỬ LÝ DỮ LIỆU
ACK = 1
BUSY = 1
LƯU ĐỒ THU
HÌNH 3.4
GIAO TIẾP QUA SLOT CARD. (có địa chỉ từ 300..31FH).
Trong máy tính người ta chế tạo sẵn các slot cho phép người sử dụng tính năng của máy vi tính bằng cách gắn thêm các thiết bị vào nó.
Mỗi slot đều có các đường dữ liệu (data), địa chỉ (address), các đường +5V, – 5V, + 12V, -12V và các đường điều khiển như CLK, IRQ, RESET, /IOW, IOR … vì vậy nếu thiết kế mạch giao tiếp qua slot sẽ giảm được rất nhiều linh kiện, giảm được bộ nguồn bên ngoài, dễ điều khiển, giá thành thấp nên đồng thời tốc độ truyền dữ liệu cũng nhanh.
Tuy nhiên bên cạnh những ưu điểm nó cũng có những nhược điểm như: do slot card giao tiếp được gắn bên trong máy nên cách giao tiếp này khó nhận được dữ liệu từ bên ngoài. Nó bị hạn chế về khoảng cách làm việc đồng thời mỗi lần sử dụng phải mở ráp máy gây bất tiện cho người sử dụng.
Các rãnh cắm trong máy tính PC
Ở máy tính PC/XT rãnh cắm trong máy tính chỉ có 1 loại với độ rộng là 8 bit và tuân theo tiêu chuẩn ISA (Industry Standard Architecture). Từ máy tính AT trở đi việc bố trí chân trên rãnh cắm trở lên phức tạp hơn, tùy theo tiêu chuẩn khi lựa chọn máy tính, các loại rãnh cắm theo tiêu chuẩn khác nhau có thể kiểm tra như sau:
+ Rãnh cắm 16 bit theo tiêu chuẩn ISA (Industry standard Architecture)
+ Rãnh cắm PS/2 với 16 bit theo tiêu chuẩn MCA (Micro Channel Architecture)
+ Rãnh cắm PC/2 với 32 bit theo tiêu chuẩn MCA .
+ Rãnh cắm 32 bit theo tiêu chuẩn EISA (Extended Micro Channel Architecture)
+ Rãnh cắm 32 bit theo tiêu chuẩn VESA
+ Rãnh cắm 32 bit theo tiêu chuẩn PCI.
Cho đến nay phần lớn các card ghép nối dùng trong kỹ thuật đo lường và điều khiển đều được chế tạo để đặt vào rãnh cắm theo tiêu chuẩn ISA.
GIAO TIẾP NỐI TIẾP QUA CỔNG COM RS232
VÀI NÉT CƠ BẢN VỀ CỔNG NỐI TIẾP:
Cổng nối tiếp RS232 là một loại giao diện phổ biến rộng rãi nhất, ta còn gọi là cổng COM1, COM2 để tự do cho các ứng dụng khác nhau.
Giống như cổng máy in, cổng nối tiếp RS232 cũng được sử dụng rất thuận tiện trong việc ghép nối máy tính với các thiết bị ngoại vi. Việc truyền dữ liệu qua cổng RS232 được tiến hành theo cách nối tiếp, nghĩa là các bit dữ liệu được gởi đi nối tiếp với nhau trên một đường dẫn.
Trước hết loại truyền này có khả năng dùng cho những khoảng cách lớn hơn, bởi vì khả năng gây nhiễu là nhỏ đáng kể hơn là khi dùng một cổng song song. Việc dùng cổng song song có một nhược điểm đáng kể là cáp truyền nhiều sợi và vì vậy rất đắt tiền, hơn nữa mức tín hiệu nằm trong khoảng 0..5V đã tỏ ra không thích ứng với khoảng cách lớn .
Trên hình 3.5 là sự bố trí chân của phích cắm RS232 của máy tính PC:
1 2 3 4 5
6 7 8 9
O O O O O
O O O O
HÌNH 3.5
13
14 25
O O O O O O O O O O O O O
O O O O O O O O O O O O
CHÂN
(loại 9 chân )
CHÂN
( loại 25 chân )
KÝ HIỆU
Ý NGHĨA
1
2
3
4
5
6
7
8
9
8
3
2
20
7
6
4
5
22
DCD
RxD
TxR
DTR
GND
DSR
RTS
CTS
RI
Data carrier detect
Nhận dữ liệu
Phát dữ liệu
Dữ liệu đầu cuối sẵn sàng
Nối đất
Thiết bị thông tin sẵn sàng
Yêu cầu gửi
Thiết bị thông tin sẵn sàng truyền
Ring in dicator
Việc truyền dữ liệu xẩy ra trên 2 đường dẫn qua chân cắm ra TxD, gửi dữ liệu của nó đến thiết bị khác. trong khi đó dữ liệu mà máy tính nhận được dẫn đến chân RxD. các tín hiệu khác đóng vai trò như tín hiệu hỗ trợ khi trao đổi thông tin và vì thế không phải trong mọi ứng dụng đều dùng đến.
Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dẫn TxD và thông tin thường nằm trong khoảng – 12V.. + 12V các bit dữ liệu được đảo ngược lại. Mức điện áp ở mức cao nằm trong khoảng – 3V và – 12V và mức thấp nằm trong khoảng từ + 3Vvà +12V . Trạng thái tĩnh trên đường dẫn có mức điện áp – 12V.
Bằng tốc độ baud ta thiết lập tốc độ truyền dữ liệu các giá trị thông thường là 300, 600, 1200, 2400, 4800, 9600, và 19200 baud, Ký hiệu baud là số lượng bit truyền trong 1s.
Còn một vấn đề nữa là khuôn mẫu (Format) truyền dữ liệu cần phải được thiết lập như nhau cả bên gửi cũng như bên nhận các thông số truyền có thể được thiết lập trên máy tính PC bằng các câu lệnh trên DOS. Ngày nay Windows cũng có các chương trình riêng để sử dụng, khi đó các thông số truyền dữ liệu như: tốc độ baud, số bit dữ liệu, số bit dừng, bit chẵn lẻ (parity) có thể được thiết lập một cách rất đơn giản.
SỰ TRAO ĐỔI CỦA CÁC ĐƯỜNG TÍN HIỆU:
Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho phép trao đổi qua lại các địa chỉ trong máy tính PC. trong trường hợp này người ta thường sử dụng những vi mạch có độ tích hợp cao để có thể hợp nhất nhiều chức năng trên 1 chip.
Ở máy tính PC thường có một bộ phát/nhận không đồng bộ vạn năng gọi tắt là UART: Universal Asynchronous Receiver/Transmister. Để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bị ngoại vi. phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thiết bị tiếp theo, chẳng hạn như 16C550. Bộ AURT này có 10 thanh ghi để điều khiển tất cả chức năng của việc nhập vào, xuất ra dữ liệu theo cách nối tiếp liên quan đến nội dung của phần này chỉ đề cập đến hai điều đáng quan tâm đó là: thanh ghi điều khiển modem và thanh ghi trạng thái modem.
a. Thanh ghi điều khiển modem:
D7 D6 D5 D4 D3 D2 D1 D0
0
0
0
LOOP
OUT2
UOT1
RTS
DTR
D0 =1 đưa /DTR =0
D0 =0 đưa /DTR =1
D1 =1 đưa /RTS =0
D1 =0 đưa /RTS =1
OUT1 và OUT2 điều khiển đầu ra phụ
b)Thanh ghi trạng thái modem: (địa chỉ cơ bản +6)
1 nếu RI có biến đổi
1: nếu có sự thay đổ các tín hiệu tương ứng
Có các giá trị của các bít out 2 out 1 , DTR, RTS, trong MCR khi bit LOOP = 1
RLSD
RI
DSR
CTS
DRLSD
DRI
DDSR
DCTR
Lại cũng giống như ở cổng ghép nối với máy in, các Thanh ghi được trao đổi qua ô nhớ trong vùng vào/ra (input/output). Địa chỉ đầu tiên có thể tới được của cổng nối tiếp gọi là địa chỉ cơ bản (basic Address) các địa chỉ của các thanh ghi tiếp theo được đạt tới bằng việc cộng thêm số thanh ghi đã gặp của bộ UART vào địa chỉ cơ bản. Địa chỉ cơ bản của cổng nối tiếp của máy tính PC được tóm tắt trong bảng sau:
CỔNG
ĐỊA CHỈ CƠ BẢN
COM 1
COM 2
COM 3
COM 4
3F8H
2F8H
3E8H
2E8H
CHƯƠNG IV: GIỚI THIỆU HỆ THỐNG KIT VI XỬ LÝ 8085
GIỚI THIỆU CẤU TRÚC PHẦN CỨNG KIT VI XỬ LÝ 8085:
Tần số làm việc:
+ Vi xử lý 8085 của Intel với tần số hoạt động 6MHz.
+ Các chương trình về thời gian được viết tương ứng tại địa chỉ này.
Tổ chức bộ nhớ:
Bộ nhớ EPROM:
Có dung lượng 16kbyte sử dụng 2 EPROM 2764, chương trình hệ thống chứa ở EPROM thứ nhất, EPROM thứ 2 chưa sử dụng được thiết kế ở dạng socket. Socket của EPROM thứ 2 có thể sử dụng được cho EPROM có dung lượng 2 kbyte, 4kbyte, 8kbyte và có thể sử dụng cho bộ nhớ RAM có dung lượng 8kbyte bằng cách chuyển đổi các Jump trên mainboard.
+ EPROM 1 có địa chỉ từ 0000h – 1FFFh.
+ EPROM 2 có địa chỉ từ 2000h – 3FFFh.
Cách sử dụng các Jump trên main:
+ Khi sử dụng EPROM có dung lượng 2kbyte (IC 2716): hãy kết nối chân số 2 và chân số 3 của Jump 1. Vùng địa chỉ của EPROM là 2000h – 27FFh.
+ Khi sử dụng EPROM có dung lượng 4kbyte (IC 2732): hãy kết nối chân số 2 và chân số 1 của Jump 1. Vùng địa chỉ của EPROM là 2000h – 2FFFh.
+ Khi sử dụng EPROM có dung 8kbyte ( IC 2764): hãy kết nối chân số 2 và chân số 1 của Jump 1, kết nối chân số 2 và chân số 3 của Jump 2. Vùng địa chỉ của EPROM là 2000h – 3FFFh.
+ Khi sử dụng RAM có dung lượng 8kbyte (IC 6264): hãy kết nối chân số 2 và chân số 1 của Jump 1, kết nối chân số 2 và chân số 1 của Jump 2. Vùng địa chỉ của RAM là 2000h –3FFFh.
Bộ nhớ RAM:
Bộ nhớ RAM có dung lượng 16kbyte sử dụng 2 IC 6264.
+ RAM 1 có địa chỉ từ 6000h – 7FFFh.
+ø RAM 2 có địa chỉ từ 8000h – 9FFFh.
+ Các vùng nhớ RAM đã sử dụng có địa chỉ là 87F8h đến 87FFh. Chương trình có thể sữ dụng toàn bộ các vùng nhớ RAM còn lại.
Các IC ngoại vi:
Trong hệ thống có sử dụng 3 IC 8255A dùng để giao tiếp với thiết bị ngoại vi
Địa chỉ của các port 8255-1 8255-2 8255-3
Port A 00H 10H 20H
Port B 01H 11H 21H
Port C 02H 12H 22H
Thanh ghi điều khiển 03H 13H 23H
Bảng đồ ô nhớ của 3 IC 8255:
+ IC 8255 –3 dùng để quét bàn phím cho hệ thống máy.
+ Các ngõ ra của IC 8255 –1, 8255-2 được đưa ra bên ngoài bằng connect 64 chân có sơ đồ chân tra ở bảng tra. Mỗi IC 8255 có 3 port, mỗi port có 8 chân điều khiển nên số chân đưa ra bên ngoài để điều khiển là 48.
Khối giải mã hiển thị sử dụng IC 8279:
Gồm có 8 led với thứ tự led 1 tới led 8 theo hướng từ phải sang trái như hình 4.2.
LED8
LED7
LED6
LED5
LED4
LED3
LED2
LED1
Hình 4.2
a
p
g
f
e
d
b
c
Vùng địa chỉ sử dụng của IC 8279 là A000H-A001H, trong đó:
+ Địa chỉ A000H là đại chỉ dùng để gửi dữ liệu cần hiển thị.
+ Địa chỉ A001H là địa chỉ dùng để gởi từ điều khiển ra IC 8279.
Cấu trúc byte dữ liệu của led:
dp
g
f
e
d
c
b
a
Hệ thống sử dụng led loại Anode chung nên muốn đoạn nào sáng thì bit dữ liệu tương ứng với đoạn đó bằng 1. Đoạn nào tắt thì bit
Các file đính kèm theo tài liệu này:
- GIAO_TIEP_MAY_TINH_VOI_KIT_.DOC