Trích:
Nguyên văn bởi inventor_bk
Em dùng pic 16f877a.
giải mã địa chỉ của 8255:
PortA=0x0000
PortB=0x0001
PortC=0x0002
CW=0x0003
chân WR, RD nối với chân của PIC
A0,A1 nối với RC0,RC1
CS nối với RD0
em chỉ làm thử giao tiếp với 8255 để nháy led ở cổng A. Nhưng không biết định nghĩa địa chỉ của 8255 trong ccs như thế nào.
Cảm ơn rất nhiều.
|
Bạn mô tả thiếu hoặc chưa nối đủ các chân của 8255 với PIC. Để giao tiếp PIC với 8255, bạn cần nối PIC với các chân sau của 8255: D0 .. D7 (bus dữ liệu 8-bit), WR, RD, A0, A1, Reset và CS. D0 .. D7 là các chân vào/ra, còn các chân khác chỉ là ngõ ra.
Để ghi ra port A của 8255, bạn thực hiện lần lượt: Reset = "0", đặt địa chỉ A1A0 = "00", đặt dữ liệu ra D0 .. D7, RD = "1", WR = "0", và CS = "0". Bạn chỉ cần thao tác bit và byte, không có gì đặc biệt trong CCS C cho việc này cả. Đây chỉ là một ví dụ về cách thực hiện việc ghi ra port A của 8255. Để sử dụng được 8255, bạn cần phải đặt chế độ hoạt động cho các port của nó trước bằng việc ghi vào từ điều khiển (control word) ở địa chỉ A1A0 = "11".
Bạn tìm đọc datasheet của 8255 sẽ biết cách thực hiện các thao tác khác.
Thân,