THỰC HÀNH VI XỬLÝ
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH THỰC HÀNH VI XỬ LÝ BM Kỹ thuật Máy tính 2009 Giới thiệu Mục Lục Mục Lục 1 Bài 1 : Giới thiệu MPLAB IDE và KIT PIC 1 1.1 Môi trường phát triển MPLAB . 1 1.2 Nạp file hex vào vi điều khiển PIC . 8 1.3 Debug dùng MpLab SIM 12 1.4 Debug onchip dùng Mplab ICD2 15 1.5 Bài tập . 15 Bài 2 : Khảo sát cổng xuất nhập . 16 2.1 Kiến thức liên quan . 16 2.1.1 Các thanh ghi điều khiển cổng xuất nhập 16 2.1.2 Kết nối mạch 16 2.2 Các bước hiện thực yêu cầu 1 . 18 2.3 Chương trình mẫu yêu cầu 1 . 20 2.4 Các bước hiện thực yêu cầu 2 . 21 2.5 Chương trình mẫu yêu cầu 2 . 22 2.6 Bài tập . 23 Bài 3 : Khảo sát cơ chế ngắt quãng, giao tiếp LCD ký tự 24 3.1 Kiến thức liên quan . 24 3.1.1 Tóm tắt các thanh ghi điều khiển ngắt . 24 3.2 Các bước hiện thực yêu cầu 1 . 25 3.3 Chương trình mẫu yêu cầu 1 . 28 3.4 LCD ký tự 2x16 31 3.4.1 Hình dạng và ý nghĩa các chân: . 31 3.4.2 Tổ chức vùng nhớ của LCD . 32 3.4.3 Các lệnh giao tiếp với LCD . 34 3.4.4 Khởi tạo LCD . 35 3.5 Các bước hiện thực yêu cầu 2 . 36 3.6 Bài tập . 41 Bài 4 : Khảo sát bộ định thời 42 4.1 Các bước hiện thực yêu cầu 1 . 42 4.2 Chương trình mẫu . 46 4.3 Bài tập . 48 Bài 5 : Kỹ thuật quét ma trận phím 49 5.1 Kết nối mạch ma trận phím . 49 5.2 Các bước hiện thực . 50 5.3 Bài tập . 54 Bài 6 : Kỹ thuật quét LED 56 6.1 Cấu tạo LED 7 đoạn và LED ma trận . 56 6.2 Kết nối mạch . 58 6.3 Các thanh ghi liên quan và cách điều khiển 59 6.4 Các bước hiện thực. 62 6.5 Bài tập . 65 Bài 7 : Khảo sát bộ truyền nhận nối tiếp 66 7.1 Các bước hiện thực. 66 7.2 Chương trình mẫu . 68 7.3 Bài tập . 70 Bài 8 : Khảo sát khối chuyển đổi A-D 71 8.1 Các bước hiện thực . 71 8.2 Bài tập . 72 Bài 9 : Khảo sát các khối chức năng đặc biệt khác 73 9.1 Các bước hiện thực PWM . 73 9.2 Chương trình mẫu . 74 9.3 Bài tập . 75 Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Bài 1 : Giới thiệu MPLAB IDE và KIT PIC Nội dung : Tạo project trên MPLAB IDE. Viết chương trình ASM. Dịch và nạp chương trình vào vi điều khiển PIC. Chạy và gỡ rối chương trình. 1.1 Môi trường phát triển MPLAB Double Click vào biểu tượng MPLAB trên Desktop hoặc theo cách sau: Start -> All Programs -> Microchip -> MPLAB IDE v76.2 -> MPLAB IDE. Từ thanh Menu, click chọn tab Project -> Project Wirazd… Cửa sổ Welcome hiện lên và bạn chọn Next. Bộ môn Kỹ Thuật Máy Tính 1 Thực hành Vi xử lý Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Chọn PIC cần sử dụng tại khung Device >> Click Next: Chọn tool Microchip C18 Toolsuite tại Active Toolsuite. Chọn MPLAB C18 C Compiler tại Tollsuite contents. Nếu lập trình bằng assembly thì ta chon Active Toolsuite theo hình sau: Click Next Bộ môn Kỹ Thuật Máy Tính 2 Thực hành Vi xử lý Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Chọn Browse…. Để chọn thư mục lưu project. Đánh vào tên Project muốn tạo. Save, sau đó chúng ta chọn Next thì hiện ra của sổ như sau: Đây là nơi để các bạn add thư viện cho project. Bộ môn Kỹ Thuật Máy Tính 3 Thực hành Vi xử lý Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Bạn nên add hết các file cần thiết cho việc lập trình trước khi bắt đầu viết chương trình gồm file .lib và file .lkr. Nếu viết chương trình cho con chip nào thì ta lấy file .lib và file .lkr của chíp tương ứng, như hình trên chung ta đang sử dụng chip 18f4550. Click Next. Click Finish. Ta sẽ được một project như hình sau: Bộ môn Kỹ Thuật Máy Tính 4 Thực hành Vi xử lý Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Một project đơn giản nhất phải gồm có 2 thành phần Source files và Hearder Files. Thư mục Source files chứa file text *.asm hoặc file *.c chứa code lâp trình. Thư mục Hearder Files chứa file *.h hoặc *.INC: file có sẵn của microchip. User khai báo dùng loại chip gì => add vào thư mục này. Nếu bạn quên không add các file cần có vào thì làm theo hướng dẫn sau. ADD header file: ( Copy header file vào thư mục chứa project để tiện cho việc sử dụng sau này). Bộ môn Kỹ Thuật Máy Tính 5 Thực hành Vi xử lý Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Chọn header file phù hợp với PIC mình đã chọn. Open. ADD source file: Click chọn New trên toolbar: Cửa sổ hiện lên như sau: Từ Menu bar chọn File >> Save để lưu. Đặt tên và Save với đuôi .c nếu bạn lập trình trên c18 của maplab hoặc .asm nếu bạn lập trình trên assembly. Nhấp phải vào Source Files chọn Add file >>> chọn file chúng ta vừa tạo xong. Bộ môn Kỹ Thuật Máy Tính 6 Thực hành Vi xử lý [...]... lưu chương trình vừa vi t thành nut_nhan.asm vào một thư mục đã tạo project phía trên Để compile chương trình ta vào menu Project -> Build All như hình bên dưới Bộ môn Kỹ Thuật Máy Tính 8 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Khoa KH & KTMT Nếu vi c build thất bại, nhưng vi c này thì không mong muốn, ta có thấy kết quả như hình sau: Bộ môn Kỹ Thuật Máy Tính 9 Thực hành Vi xử lý Trường ĐH Bách... debug, và các hiện tượng xảy ra giống như khi chạy thực tế 1.5 Bài tập Bộ môn Kỹ Thuật Máy Tính 15 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Bài 2 : Khoa KH & KTMT Khảo sát cổng xuất nhập Nội dung: Khảo sát hoạt động của nút nhấn, LED Khảo sát các thanh điều khiển cổng xuất nhập Tính toán thời gian thực thi lệnh, vi t chương trình con làm nhiệm vụ delay Vi t chương trình đọc giá trị của tổ hợp nút nhấn... 11 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Khoa KH & KTMT 04-Aug-2009, 14:23:39 MPLAB ICD 2 Ready Để bắt đầu chạy chương trình ta phải rút dây kết nối mạch nạp và kit ra Khi đó chương trình mới có thể chạy được Trên đây là toàn bộ các bước để tạo một project, vi t assembly cho Pic trên Mplab cũng như làm thế nào để compile và download chương trình xuống chip để thực thi Đây là trường hợp lý tưởng... của chip như thế nào, để xem được các giá trị này thì chúng ta qua menu View Để xem được giá trị của các thanh ghi trong PIC ta chọn View -> File registers sẽ xuất hiện cửa sổ như hình sau: Bộ môn Kỹ Thuật Máy Tính 13 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Khoa KH & KTMT Để xem được giá trị của các thanh ghi SFR thì ta chọn View -> Special Function Registers sẽ xuất hiện của sổ như hình sau: Hay... đã hoàn tất vi c add file vào các thư mục Source files và header files Công vi c tiếp theo là vi t code ( ở cửa sổ text editor :D:\MAPLAB\Untiled.asm) Ðối với project mà sử dụng cùng 1 loại chip, cùng loại ngôn ngữ lập trình ( ASM hay C) thì chỉ cần tạo 1 lần Những lần sau, chỉ cần add/ remove file text (*.asm hoặc *.c) vào thư mục Source files Bộ môn Kỹ Thuật Máy Tính 7 Thực hành Vi xử lý Trường ĐH... delay Delay_1 4 delay_1sa 20 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Delay1s_1 movwf movlw Delay1s_2 call decfsz goto decfsz goto return Khoa KH & KTMT 250 delay_1sb Delay1ms delay_1sb Delay1s_2 delay_1sa Delay1s_1 END Sau khi có chương trình mẫu ta thực hiện vi c compile chương trình và nạp xuống mạch để chạy chương trình như hướng dẫn ở chương 1 2.4 Các bước hiện thực yêu cầu 2 Bước 1: Tạo project... Call decfsz goto decfsz goto return 4 delay_1sa 250 delay_1sb Delay1ms delay_1sb Delay1s_2 delay_1sa Delay1s_1 Bước 6: Vi t chương trình cho hàm main thực hiện các yêu cầu của đề bài sử dụng lệnh INCF: begin INCF PORTB call Delay1s goto begin Bộ môn Kỹ Thuật Máy Tính 19 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Khoa KH & KTMT 2.3 Chương trình mẫu yêu cầu 1 ;=====================================; ;... sẽ xuất hiện của sổ như hình sau: Hay để xem một và thanh ghi mà ta quan tâm thì có thể dùng Watch để xem bằng cách vào View -> Watch thì hình sau sẽ xuất hiện: Bộ môn Kỹ Thuật Máy Tính 14 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Khoa KH & KTMT Muốn xem thanh ghi nào, ta chỉ vi c chọn thanh ghi tương ứng trong combobox bên trên, sau đó nhấn Add SFR 1.4 Debug onchip dùng Mplab ICD2 Cũng giống như... nut_nhan.asm Bộ môn Kỹ Thuật Máy Tính 21 Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM Khoa KH & KTMT Bước 3: Khởi tạo PortB là output và PortA là input sử dụng các lệnh clrf, bcf, bsf INIT CLRF PORTB ;setup portb for outputs BCF TRISB,0 BCF TRISB,1 BCF TRISB,2 BCF TRISB,3 BSF PORTA,4 ; setup porta.4 for input BSF TRISA,4 RETURN Bước 4: Vi t chương trình cho hàm main thực hiện yêu cầu của đề bài MAIN BTFSC... SW1 to be pressed Thực hành Vi xử lý Trường ĐH Bách Khoa TP.HCM GOTO BSF SWOFF BTFSS GOTO BCF GOTO Khoa KH & KTMT MAIN PORTB,0 PORTA,4 SWOFF PORTB,0 MAIN ;Turn on LED1 ;Wait for SW1 to be released ;Switch off LED1 ;Repeat sequence INIT CLRF BCF PORTB TRISB,0 PORTA,4 TRISA,4 ; setup portb.0 for outputs BSF ; setup porta.4 for input BSF RETURN END Sau khi có chương trình mẫu ta thực hiện vi c compile chương