Tìm hiều chung về PIC (Pic16f877a)
ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BÁO CÁO ĐỒ ÁN I Tìm hiều chung về PIC (Pic16f877a) (Tuần 30) Giáo viên hướng dẫn : TS. Cung Thành Long Sinh viên thực hiện : Vũ Văn Đại (nhóm trưởng) - 20101333 Lương Hữu Long - 20101800 Nguyễn Văn Phong - 20101984 Nguyễn Bảo việt - 20102781 1 Hà Nội, 3/2013 ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 2 PIC được viết tắt của "Programable Intelligent Computer", có thể tạm dịch là "máy tính thông minh khả trình". PIC được ứng dụng rất rộng rãi trong thực tế, từ những vật dụng đơn giản cho đến những hệ thống điều khiển phức tạp trong công nghiêp Trong đó, PIC16F877 thuộc về một họ của microcontrollers 8- bít của kiến trúc RISC. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 3 MỤC LỤC I. kiến trúc chung của PIC 3 II. Các cổng ra vào của PIC 16F877A. 1. PORT A. 2. PORT B. 3. PORT C. 4. PORT D. 5. PORT E. III. TIMER 1.Timer 0 2. Timer 1 3. Timer 2 IV. Các nguồn ngắt trong PIC: 1. Các lớp ngắt : 2. Vector ngắt 3. Chương trình ngắt V. TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC A. Tổng quan B. Tập lệnh ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 4 I. kiến trúc chung của PIC Tổ chức của PIC được thiết kế theo kiến trúc Havard còn được gọi là vi điều khiển RISC ( reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn. => FLASH => EEPROM Tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 5 II. Các cổng ra vào của PIC 16F877A. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 6 II. Các cổng ra vào của PIC 16F877A. 1. PORT A. PORT A (RPA) bao gồm 6 I/O pin. Các chân này là chân 2 chiều ( bidirectional pin). Chức năng I/O này được điều khiển bởi thanh ghi TRISA( địa chỉ 85h). PORT A còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào ANALOG, ngõ vào xung clock của Time0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port). ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 7 II. Các cổng ra vào của PIC 16F877A. 2. PORT B. PORT B (RPB) gồm 8 I/O pin. Thanh ghi điều khiển xuất nhập tương ứng là TRISB. PORT B còn được sử dụng trong quá trình nạp quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. PORT B còn liên quan đến ngắt ngoại vi và bộ Timer0. PORT B còn được tích hợp chức năng điện trờ kéo lên được điều khiển bởi chương trình. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 8 II. Các cổng ra vào của PIC 16F877A. 3. PORT C. PORT C (RPC) gồm 8 I/O pin. Thanh ghi điều khiển xuất nhập tương ứng là TRISC. PORT C chứa các chân chắc năng của : *Bộ so sánh. *Bộ Timer1. *Bộ PWM . *Chuẩn giao tiếp nối tiếp 12C, SPI, SSP, USART. ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 9 II. Các cổng ra vào của PIC 16F877A. 4. PORT D. PORT D (RPD) gồm 8 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISD. PORT D là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel slave Port). ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN 10 II. Các cổng ra vào của PIC 16F877A. 5. PORT E. PORT E (RPE) gồm 3 I/O pin. Các chân này có ngõ vào analog. Thanh ghi điều khiển xuất nhập tương ứng là TRISE. PORT E còn là các chân điều khiển của chuẩn giao tiếp PSP. [...]... KHOA HÀ NỘI VIỆN ĐIỆN IV Các nguồn ngắt trong PIC: IE :là cho phép kích hoạt một loại ngắt nào đó xảy ra hay không IF :là các cờ ngắt ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN IV Các nguồn ngắt trong PIC: 1 Các lớp ngắt : +Ngắt ngoại vi:Thực chất lớp này vì có quán hiều nguồn ngắt, và các nguồn ngắtnày đều là một số chuẩn Giao tiếp, hoặc chức năng đặc biệt của PIC, cho nên người ta phân ra làm lớp ngắt ngoại... cả ngắt ngoại vi và ngắt phổ thông Khi đó, PIE được coi là một nguồn ngắt phổ thông ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN IV Các nguồn ngắt trong PIC: 2 Vector ngắt + Vectơ ngắt của PIC nằm ở vị trí 0x0004h + Sau khi thực hiện ngắt xong thì chương trình sẽ trở về trạng thái trước khi ngắt và tiếp tục công việc 3 Chương trình ngắt Chương trình ngắt được chia làm 3 phần chính: + Phần thứ nhất là phần bắt... thứ nhất là phần bắt đầu vào ngắt + Phần thứ hai là phần chương trình ngắt + Phần thứ ba là phần kết thúc ngắt ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN V TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC CHƯƠNG TRÌNH SOẠN THẢO BẰNG ASSEMBLY A Tổng quan PIC là vi điều khiển có tập lệnh rút gọn RISC ( Reduced Instuction Set Computer), gồm 35 lệnh và chia thành 3 nhóm: - Nhóm lệnh thao tác trên bit Đối với nhóm lệnh thao tác trên... 011 100 101 110 111 Timer 0 1:2 1:4 1:8 1:16 1:32 1:64 1:128 1:256 WDT 1:1 1:2 1:4 1:8 1:16 1:32 1:64 1:128 Ngắt trong Timer 0 :Ngắt trong Timer 0 xảy ra khi thanh ghi TMR0 bị tràn tức là từ FFh quay về 00h Khi đó bit TOIF của thanh ghi INTCON sẽ được đặt Bít này phải được xóa bằng phần mềm nếu cho phép ngắt bít TOIE của thanh ghi INTCON được set Timer ) bị dừng hoạt động ở chế độ SLEEP ngắt... hay 11 bit trong trương hợp là lênh CaLL và lệnh GOTO) dùng để mô tả đối tượng tác động của vi điều khiển (một label, một hằng số nào đó) ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN V TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC CHƯƠNG TRÌNH SOẠN THẢO BẰNG ASSEMBLY B Tập lệnh - Nhóm lệnh khởi tạo: 1 Lệnh ORG 2 Lệnh END 3 Lệnh PROCESSOP - Nhóm lênh gán: 1 Lệnh EQU 2 Lệnh CONSTANT 3 Lệnh VARIABLE 4 Lệnh SET 5 Lệnh #DIFINE 6... Lệnh XORLW 21 Lệnh RRF 9 Lệnh BCF 22 Lệnh COMF 10 Lệnh BSF 11 Lệnh SUBLW 12 Lệnh SUBWF 13 Lệnh SWAP 14 Lệnh CLRF 15 Lệnh CLRW 16 Lệnh DECF ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN V TẬP LỆNH CỦA VI ĐIỀU KHIỂN PIC CHƯƠNG TRÌNH SOẠN THẢO BẰNG ASSEMBLY B Tập lệnh - Nhóm lệnh rẽ nhánh: 1 Lệnh BTFSS 2 Lệnh BTFSC - Nhóm lệnh nhảy: 1 Lệnh CALL 2 Lệnh GOTO 3 Lệnh RETURN - Các Lệnh khác: 1 Lệnh SLEEP 2 Lệnh CLRWDT ĐẠI . KHOA HÀ N I VIỆN I N 19 III. TIMER 3. Timer 2 Bộ Timer 2 có các dặc tính: + 8 bit cho bộ định th i (thanh ghi TMR2) + 8 bit cho vòng lặp (thanh ghi PR2). Đ I HỌC BÁCH KHOA HÀ N I VIỆN I N 11 III. TIMER 1.Timer 0 Timer0 Là bộ định th i hoặc bộ đếm có đặc i m n i bật: + 8 bit. + Có khả năng đọc và viết.