Ghỉ dữ liệuWR (RELWRIANS) và pin chọn vi điều khiển C5: (RE2/CS/AN7) phục vụ cho

Một phần của tài liệu Ứng dụng vi điều khiển Pic 16F877 Thiết kế bộ điều khiển máy lạnh có hiển thị (Trang 25)

việc truyền nhận dữ liệu song song thông qua bus đữ liệu 8 bít của PORTD. PORTD lúc này đóng vai trò là thanh ghi chốt đữ liệu 8 bit, đồng thời tác động của thanh phi TRISD cũng sẽ được bỏ qua do POR.TD lúc này chịu sự điều khiển của các thiết bị bên ngoài. PORTE vẫn chịu sự tác động của thanh ghi TRISE, do đó cần xác lập trạng thái các pin PORTE là input bằng cách set các bit TRISE<2:0>. Ngoài ra cân đưa giá trị thích hợp các bit PCFG3:PCFG0 (thanh ghi ADCONI<3:0>) để ấn định các pin của PORTE là các pin L/O dạng đigital (PORTE còn là các pin chức năng của khối ADC). Khi các pin ES: và WR cùng ở mức thấp, dữ liệu từ bên ngoài sẽ được ghi lên PORTTD. Khi một trong hai pin trên chuyển lên mức logic cao, cờ hiệu báo dữ liệu trong buffer đã đầy BIF (TRISE<7>) được set và cờ ngắt PSPIF (PIR1<7>) được set để báo hiệu kết thúc ghi dữ liệu. Bit BIF chỉ được xóa về 0 khi đữ liệu vừa nhận được ở PORTD được đọc vào. Bit báo hiệu đữ liệu nhận được trong buffer bị tràn IBOV (TRISE<5>) sẽ được set khi vi điều khiển nhận tiếp dữ liệu ¡ tiếp theo trong khi chưa đọc vào dữ liệu đã nhận được trước đó. Khi các pin CŠ: và RD cùng ở mức logic thấp, bit báo hiệu buffer truyền đữ liệu đã đầy BOF (TRISE<6>) sẽ được xóa ngay lập tức để báo hiệu PORTTD đã sẵn sàng cho quá trình đọc dữ liệu. Khi một trong hai pin trên chuyển sang mức Ìogic cao, cờ ngắt PSPIF sẽ được set để báo hiệu quá trình đọc dữ liệu hoàn tắt. Bit BOF vẫn được giữ ở mức logic 0 cho đến khi đữ liệu tiếp theo được đưa vào

PORTD.

Một phần của tài liệu Ứng dụng vi điều khiển Pic 16F877 Thiết kế bộ điều khiển máy lạnh có hiển thị (Trang 25)