Microsoft Word Bai Giang LT Vi xu ly Khoa CNDT docx Bài giảng KỸ THUẬT VI XỬ LÝ 57 CHƯƠNG 5 PORT XUẤT NHẬP CỦA VĐK PIC 16F8XX 8 BIT Trình bày được cấu trúc và tập lệnh của VĐK PIC và các thanh ghi lien quan đến các PORT Trình bày được qui trình phân tích, thiết kế các hệ mạch ứng dụng hệ VĐK với ngoại vi qua các PORT Phân tích, thiết kế các hệ mạch ứng dụng hệ VĐK với ngoại vi qua các port Thiết kế lưu đồ giải thuật và lập trình ứng dụng cho các mạch điều khiển xuất nhập cơ bản sử dụng (LED đơn,.
Bài giảng KỸ THUẬT VI XỬ LÝ CHƯƠNG 5: PORT XUẤT NHẬP CỦA VĐK PIC 16F8XX BIT - Trình bày cấu trúc tập lệnh VĐK PIC ghi lien quan đến PORT - Trình bày qui trình phân tích, thiết kế hệ mạch ứng dụng hệ VĐK với ngoại vi qua PORT - Phân tích, thiết kế hệ mạch ứng dụng hệ VĐK với ngoại vi qua port - Thiết kế lưu đồ giải thuật lập trình ứng dụng cho mạch điều khiển xuất nhập sử dụng (LED đơn, LED đoạn, LED ma trận, LCD,…) - Vẽ sơ đồ nguyên lý mạch điều khiển xuất nhập sử dụng (LED đơn, LED đoạn, LED ma trận, LCD,…) 5.1 Giới thiệu + Vi điều khiển chip linh hoạt lập trình để hoạt động số cấu hình khác PIC 16F877A có 33 đường I/O + Cụ thể: 16F877A có port: port A port bit có đường I/O, port B có đường I/O, port C có đường I/O, port D có đường I/O, port E có đường I/O 5.2 Chức + PortA port chiều, bit Thanh ghi định hướng liệu tương ứng TRISA Bật bit TRISA (=1) làm cho chân portA tương ứng ngõ vào (input) (nghĩa đặt điều khiển (driver) ngõ tương ứng chế độ tổng trở cao Hi-Z) Xóa bit TRISA (=0) làm cho chân portA tương ứng ngõ (output) (nghĩa đặt nội dung mạch cài ngõ chân chọn) + Tương tự, PortB port chiều, bit Thanh ghi định hướng liệu tương ứng TRISB + Tương tự, PortC port chiều, bit Thanh ghi định hướng liệu tương ứng TRISC + PortD port bit với đệm ngõ vào Schmitt-trigger Thanh ghi định hướng liệu tương ứng TRISD + PortE có chân (RE0/RD/AN5, RE1/WR/AN6, RE2/CS/AN7) mà cấu hình riêng biệt ngõ vào hay ngõ Thanh ghi định hướng liệu tương ứng TRISE Chú ý thêm PORTE, đảm bảo ghi ADCON cấu hình cho I/O số Trong chế độ này, đệm ngõ vào TTL 5.3 Tập ghi liên quan + Trong Chương nhập/xuất PORT, ta quan tâm đến chức port digital I/O Các chức đặc biệt khác trình bày phần 57 Bài giảng KỸ THUẬT VI XỬ LÝ + Để điều khiển I/O, sử dụng ghi tên TRIS tương ứng với Port cần dùng (đã trình bày 5.2) Như vậy, có cặp ghi tương ứng: PORTA-TRISA; PORTB-TRISB; PORTC-TRISC; PORTDTRISD PORTE-TRISE 5.4 Lập trình điều khiển chức xuất nhập + Thanh ghi PIC gồm có BANK độc lập Khi sử dụng ghi nào, trước hết ta cần chọn BANK chứa ghi tương ứng Trong ngôn ngữ ASM, câu lệnh BANKSEL cần thực trước dùng ghi Tuy nhiên ngôn ngữ Hitech-C, người lập trình khơng cần quan tâm đến BANK ghi, thực tự động + Có trường hợp đưa liệu vào/ra Port: theo bit theo Byte 5.5 Ứng dụng ghép nối với ngoại vi + Do ưu điểm vượt bậc ngôn ngữ C so với ASM, tác giả trọng sử dụng ngôn ngữ C cho tất ví dụ giảng Ví dụ 1: Thực điều khiển đồng thời tắt, mở led PORTB theo Ton=Toff=500 ms #define _XTAL_FREQ 4000000 #include void delay_for_500ms(void); // Khai báo chương trình CONFIG(0x3FFA); void main(void) { TRISB = 0x00; // PORTB Output 58 Bài giảng KỸ THUẬT VI XỬ LÝ PORTB = 0x00; while(1) { PORTB = 0xFF; delay_for_500ms(); PORTB = 0x00; delay_for_500ms(); } // Cho chân PORTB xuống mức – Led OFF // Chạy vòng lặp mãi // Cho chân PORTB xuống mức – Led ON // Gọi chương trình tạo trễ 500ms // Cho chân PORTB xuống mức – Led OFF // Gọi chương trình tạo trễ 500ms } void interrupt isr(void) { } // Chương trình ngắt – không dùng tới void delay_for_500ms(void) { unsigned char count1, count2, i; // Chương trình tạo trễ 500ms for (count2=10; count2>0; count2 ) { for (count1=50; count1>0; count1 ) { for (i=0; i