Thí nghiệm vi xử lý - vi điều khiển - ĐH Bách khoa
lượt xem 57
download
Tài liệu Thí nghiệm vi xử lý - vi điều khiển của ĐH Bách khoa được trình bày dưới đây sẽ giới thiệu đến các bạn một số bài học về vi xử lý và vi điều khiển như: Giới thiệu MPLAB IDE và KIT PIC, khảo sát cổng xuất nhập, khảo sát cơ chế ngắt quãng, giao tiếp LCD ký tự, khảo sát bộ định thời, kỹ thuật quét ma trận phím, kỹ thuật quét LED, khảo sát khối chuyển đổi A - D, khảo sát các khối chức năng đặc biệt khác. Tham khảo để nắm bắt những kiến thức hữu ích.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Thí nghiệm vi xử lý - vi điều khiển - ĐH Bách khoa
- ĐẠ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Í NGHIỆM VI XỬ LÝ - VI ĐIỀU KHIỂN BM Kỹ thuật Máy tính 2011
- 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........................................................................... 6 1.3 Debug dùng MpLab SIM ........................................................................................ 10 1.4 Debug onchip dùng Mplab ICD2............................................................................ 12 1.5 Bài tập ..................................................................................................................... 12 Bài 2 : Khảo sát cổng xuất nhập ................................................................................... 13 2.1 Kiến thức liên quan................................................................................................. 13 2.1.1 Các thanh ghi điều khiển cổng xuất nhập ........................................................ 13 2.1.2 Kết nối mạch .................................................................................................... 13 2.2 Các bước hiện thực yêu cầu 1 ................................................................................. 14 2.3 Chương trình mẫu yêu cầu 1................................................................................... 16 2.4 Các bước hiện thực yêu cầu 2 ................................................................................. 17 2.5 Chương trình mẫu yêu cầu 2................................................................................... 18 2.6 Bài tập ..................................................................................................................... 19 Bài 3 : Khảo sát cơ chế ngắt quãng, giao tiếp LCD ký tự ............................................ 21 3.1 Kiến thức liên quan................................................................................................. 21 3.1.1 Tóm tắt các thanh ghi điều khiển ngắt ............................................................. 21 3.2 Các bước hiện thực yêu cầu 1 ................................................................................. 22 3.3 Chương trình mẫu yêu cầu 1................................................................................... 24 3.4 LCD ký tự 2x16 ...................................................................................................... 26 3.4.1 Hình dạng và ý nghĩa các chân: ....................................................................... 26 3.4.2 Tổ chức vùng nhớ của LCD............................................................................. 27 3.4.3 Các lệnh giao tiếp với LCD ............................................................................. 30 3.4.4 Khởi tạo LCD................................................................................................... 30 3.5 Các bước hiện thực yêu cầu 2 ................................................................................. 32 3.6 Bài tập ..................................................................................................................... 37 Bài 4 : Khảo sát bộ định thời ........................................................................................ 37 4.1 Các bước hiện thực yêu cầu 1 ................................................................................. 38 4.2 Chương trình mẫu ................................................................................................... 39 4.3 Bài tập ..................................................................................................................... 41 Bài 5 : Kỹ thuật quét ma trận phím .............................................................................. 42 5.1 Kết nối mạch ma trận phím..................................................................................... 42 5.2 Các bước hiện thực ................................................................................................. 43 5.3 Bài tập ..................................................................................................................... 47 Bài 6 : Kỹ thuật quét LED ............................................................................................ 48 6.1 Cấu tạo LED 7 đoạn và LED ma trận ..................................................................... 48 6.2 Kết nối mạch ........................................................................................................... 50 6.3 Các thanh ghi liên quan và cách điều khiển............................................................ 51 6.4 Các bước hiện thực. ................................................................................................ 54 6.5 Bài tập ..................................................................................................................... 57 Bài 7 : Khảo sát bộ truyền nhận nối tiếp ...................................................................... 58 7.1 Các bước hiện thực. ................................................................................................ 58
- 7.2 Chương trình mẫu ................................................................................................... 60 7.3 Bài tập ..................................................................................................................... 62 Bài 8 : Khảo sát khối chuyển đổi A-D.......................................................................... 63 8.1 Các bước hiện thực ................................................................................................. 63 8.2 Bài tập ..................................................................................................................... 64 Bài 9 : Khảo sát các khối chức năng đặc biệt khác ...................................................... 65 9.1 Các bước hiện thực PWM....................................................................................... 65 9.2 Chương trình mẫu ................................................................................................... 66 9.3 Bài tập ..................................................................................................................... 67
- 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 Phần cứng thí nghiệm ICD2 và PICDEM 2 PLUS. Bộ hổ trợ lập trình dùng với máy tính ICD2 (In-Circuit Debugger). Cổng nối tiếp ICD2 USB Nối với card Nối với PICDEM máy tính Sơ đồ kết nối ICD2 Kit thí nghiệm PICDEM 2 Plus có các đặc điểm như hình sau : 1. Đế cắm DIP 18, 28 và 40 chân (có thể cắm 3 linh kiện nhưng chỉ dùng 1 mỗi lần). 2. Ổn áp +5V dùng cho nguồn 9V, 100 mA AC/DC hay pin 9V. 3. Đầu cắm DB-9 theo chuẩn giao tiếp RS-232. 4. Đầu cắm qua bộ lập trình In-Circuit Debugger (ICD). 5. Biến trở 5KΩ dùng cho tín hiệu nhập tương tự. 6. Ba nút nhấn dùng tạo tín hiệu kích từ bên ngoài và reset. 7. LED nguồn. 8. Bốn LED chỉ thị cho PORTB. 9. Jumper J6 để ngắt LED chỉ thị RB0 (khi nhập tín hiệu từ nút nhấn RB0). 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 10. Bộ dao động (OSC) 4 MHz. 11. Nơi để lắp thêm thạch anh dao động nếu cần. 12. Thạch anh dao động 32.768 kHz tạo xung clock cho Timer1. 13. Jumper J7 để ngắt dao động RC có sẳn (khoảng 2 MHz). 14. EEPROM nối tiếp 32K x 8 bit. 15. Màn hình LCD. 16. Kèn Piezo. 17. Vùng lắp thêm linh kiện. 18. Cảm biến nhiệt TC74. 1.2 Môi trường phát triển MPLAB Bước 1. Chạy phần mềm MPLAB: Start_|All Programs_|Microchip_|MPLAB IDE v8.00_|MPLAB IDE. Bước 2. Chọn Menu : Project_|Project Wirazd… Chọn Next ở cửa sổ Welcome Bước 3. Chọn số hiệu PIC cần sử dụng (PIC18F4520) rồi bấm Next: Bước 4. Chọn tool Microchip MPASM Toolsuite tại ô Active Toolsuite. 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 MPASM Assembler (mpasmwin.exe) tại ô Tollsuite Contents. Click Next qua cửa sổ kế. Bước 5. Nhấn Browse… để chọn thư mục và đánh tên project. Chọn thư viện thông qua file .INC và .LKR thêm vào 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 C:\Program Files\Microchip\MPASM Suite\LKR\18f4520.lkr C:\Program Files\Microchip\MPASM Suite\P18F4520.INC Click Next sẽ thấy như sau : 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 Bước 6. Thêm file vào dự án theo các bước sau : 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. Nếu bạn quên không thêm 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). cửa sổ lựa chọn 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. Thực hiện Save, đặt tên với đuôi .asm vào thư mục chứa dự án. Nhấp phải vào Source Files chọn Add file >>> chọn file chúng ta vừa tạo xong. Chúng ta đã hoàn tất việc thêm file vào các thư mục Source files và Header files. 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 Công việc tiếp theo là viết code (trong cửa sổ text editor của source file). Ðối với project lớn dùng nhiều source file và header file, ta làm lại quá trình thêm file vào dự án nhiều lần. 1.3 Nạp file hex vào vi điều khiển PIC Sau khi tạo được một project, ta tiến hành build nó để tạo ra *.hex. Có thể mô tả công việc như sau: Ví dụ, ta có một chương trình cho PIC như sau: ;=================================================== ; Name: BaiTN1.asm ; Project: Nhap du lieu tu nut nhan RA4. ; Khi nut RA4 duoc nhan thi led don RB0 sang, ; Khi khong nhan RA4 thi led don RB0 tat ; Author: BKIT HARDWARE CLUB ; Homepage: http://www.bkit4u.com/forum ; Creation Date: 7 - 31 - 2009 ;=================================================== list p=18f4520 #include p18f4520.inc code 0 goto start ;vung dinh nghia du lieu udata ;vung dinh nghia cac chuong trinh con PRG code start call init ;chuong trinh chinh main btfsc PORTA,RA4 ;cho nhan nut RA4 bra main bsf LATB,RB0 ;Bat LED RB0 swoff btfss PORTA,RA4 ;cho nhan nut RA4 bra swoff bcf LATB,RB0 ;tat LED RB0 bra main ;Lap lai cong viec ;chuong trinh khoi dong ban dau init bcf TRISB,RB0 ;khoi dong RB0 la cong xuat bsf TRISA,RA4 ;khoi dong RA4 la cong nhap return end Bây giờ chúng ta lưu chương trình vừa viết thành BaiTN1.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 6 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 7 Thực hành Vi xử lý
- Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Nếu thành công, ta sẽ thấy hình sau: Nếu việc build đã thành công, chương trình sẽ dịch BaiTN1.asm thành BaiTN1.hex trong cùng thư mục chương trình BaiTN1.asm. Sau khi đã có được file hex, công việc tiếp theo là làm thế nào để nạp được file Hex xuống board. Đầu tiên, chọn mạch nạp bằng cách vào menu Programmer_|Select Programmer_|Mplab ICD2 như hình sau : Sau khi chọn Mplab ICD2 xong thì ta sẽ thấy giao diện như sau: 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 Một thao tác cần làm giúp ta có thể dịch chương trình, nạp và chạy tự động là vào menu Programmer_|Settings…_|Program chọn mục Automatically như hình sau : Bây giờ ta có thể dịch, nạp và chạy dự án với thao tác menu Project_|Build All (hoặc nhấn Ctrl-F10). Nếu thành công thì chương trình sẽ được dịch, nạp ra card PICDEM và chạy ngay. Bộ môn Kỹ Thuật Máy Tính 9 Thực hành Vi xử lý
- Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Nếu thất bại, xem thông tin báo lỗi trong cửa sổ Output để khắc phục và làm lại từ bước Build All. Trường hợp thành công mà chương trình chạy không đúng, ta phải sử dụng công cụ Debugger để tìm lỗi theo một trong hai cách sau. 1.4 Debug dùng MpLab SIM Bước 1. Chọn Debugger bằng menu Debugger_|Select Debugger_|Mplab SIM Bước 2. Tham khảo menu Debugger. Xuất hiện nhiều chức năng hỗ trợ debug. Từ đây ta đã có thể mô phỏng được chương trình của mình một cách dễ dàng. Các chức năng thường dùng : • Run (F9): chạy chương trình, chương trình sẽ chạy liên tục đến khi nào có breakpoint thì dừng. • Breakpoints (F2): tạo ra breakpoint tại vị trí hiện tại của con trỏ (cũng có thể "double click" vào hàng code mình mong muốn đặt Breakpoint). • Step Into (F7): chạy từng bước, vào trong chương trình con (nếu gặp). • Step Over (F8): chạy từng bước, gọi chương trình con cũng xem như 1 bước. • Reset: trở về đầu chương trình. Bộ môn Kỹ Thuật Máy Tính 10 Thực hành Vi xử lý
- Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Bước 3. Khi debug thì ta cũng cần phải biết giá trị của các thanh ghi cũng như bộ nhớ 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 menu View_|File registers sẽ xuất hiện cửa sổ như hình sau: Để 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 để xem một và thanh ghi mà ta quan tâm thì có thể dùng Watch để xem bằng cách vào menu View_|Watch thì hình sau sẽ xuất hiện: 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. Bộ môn Kỹ Thuật Máy Tính 11 Thực hành Vi xử lý
- Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT 1.5 Debug onchip dùng Mplab ICD2. Cũng giống như debug trên Mplab SIM, Mplab ICD2 cũng có những tính năng tương tự, nhưng khi sử dụng Mplab ICD2 thì cần phải có mạch debug, và các hiện tượng xảy ra giống như khi chạy thực tế. 1.6 Bài tập Cải tiến chương trình BaiTN1.asm để khi nhấn RA4 sẽ thấy 4 LED từ RB3 đến RB0 sáng như đầu ra một bộ đếm 4 bit nhị phân tăng dần (mỗi lần nhấn tăng 1). 1.7 Báo cáo • Các điều kiện cần có để tiến hành thí nghiệm gồm những gì ? • Các bước cần làm để nạp chương trình ra card có chip vi điều khiển. • Các bước cần làm để tiến hành debug giả lập trên máy hoặc trên mạch. Bộ môn Kỹ Thuật Máy Tính 12 Thực hành Vi xử lý
- Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Bài 2 : 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 kiểm tra nút nhấn và hiển thị kết quả kiểm tra ra LED. Yêu cầu: Viết chương trình xuất dữ liệu ra 4 led đơn đếm từ 0 -> 15 -> 0. Thời gian giữa các lần đếm lên 1 đơn vị là 1s. Nhập dữ liệu từ nút nhấn RA4. Khi nút RA4 được nhấn thì led đơn RB0 sáng, khi không nhấn RA4 thì led đơn RB0 tắt. 2.1 Kiến thức liên quan 2.1.1 Các thanh ghi điều khiển cổng xuất nhập Mỗi Port có ba thanh ghi điều khiển hoạt động chính: Các bit trong thanh ghi TRIS: thiết lập chân tương ứng là ngõ vào (logic 1) hoặc ngõ ra (logic 0). Các bit trong thanh ghi PORT: đọc mức logic từ chân tương ứng. Các bit trong thanh ghi LAT: ghi mức logic ra chân tương ứng. 2.1.2 Kết nối mạch Vị trí LED hiển thị và nút nhấn trên board như hình dưới đây: 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 LED hiển thị có kết nối như sau: Muốn các LED sáng, các chân RBi tương ứng phải lên mức 1. Riêng LED D2 còn phải nối jumper J6 lại mới sáng được khi RB0=1. Lý do có jumper JP6 là do chân RB0 còn được dùng làm ngỏ nhập nút nhấn RB0. Như vậy, lúc nào muốn dùng chân RB0 là ngỏ xuất LED thì đóng jumper JP6 lại. Ngược lại, để hở JP6 sẽ dùng RB0 làm ngỏ nhập nút nhấn. Các nút nhấn có kết nối như sau: Nút nhấn RA4, RB0 khi được nhấn sẽ làm cho chân tương ứng ở mức logic 0. Cần thiết lập các chân RA4 và RB0 là ngõ vào. Bộ dao động chính là bộ dao động ngoài tần số 4 MHz có kết nối như sau: Trên kit thí nghiệm, thạch anh Y2 được sử dụng cho tất cả các bài thí nghiệm. 2.2 Các bước hiện thực yêu cầu 1 Bước 1. Tạo project mới giống như hướng dẫn ở chương 1 lấy tên project là Led_don, tạo file led_don.asm và chọn chip 18f4520. Ta được hình sau: 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 Bước 2. Include file p18f4520.inc vào file led_don.asm. Bước 3. Khởi tạo PORTB là cổng xuất ở các bit RB0-RB3. init clrf PORTB ; bcf TRISB,RB0 ; RB0 xuất bcf TRISB,RB1 ; RB1 xuất bcf TRISB,RB2 ; RB2 xuất bcf TRISB,RB3 ; RB3 xuất return Bước 4. Tạo hàm delay1ms có sử dụng biến delay (định nghĩa trong udata) như sau : udata delay res 1 ; định nghĩa biến delay ... delay1ms ; Gần đúng 1 ms với xung clock 4 MHz clrf delay ; xóa biến delay (vòng lặp 256 lần) dl_1 nop decfsz delay bra dl_1 return Bước 5. Từ đây ta có thể tạo ra được hàm delay1s bằng cách gọi hàm delay1ms 1000 lần delay1s movlw .4 movwf delay_1sa dl_2 movlw .250 ; bắt đầu vòng lặp ngoài 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 Khoa KH & KTMT movwf delay_1sb dl_3 call delay1ms ; bắt đầu vòng lặp trong decfsz delay_1sb bra dl_3 ; kết thúc vòng lặp trong (250 lan) decfsz delay_1sa bra dl_2 ; kết thúc vòng lặp ngoài (4 lần) return Bước 6. Viết chương trình cho hàm begin thực hiện các yêu cầu của đề bài : begin incf LATB call delay1s bra begin ; lặp lại sau mỗi giây 2.3 Chương trình mẫu yêu cầu 1 ;=====================================; ; Name: led_don.asm ; Project: Xuất dữ liệu ra 4 led đơn đếm từ 0 → 15 → 0. ; Thời gian giữa các lần đếm lên 1 đơn vị là 1s. ; Author: BKIT HARDWARE CLUB ; Homepage: http://www.bkit4u.com/forum ; Creation Date: 7 - 31 - 2009 ;======================================; list p=18f4520 #include p18f4520.inc code 0 goto start ; Vung du lieu udata delay res 1 delay_1sa res 1 delay_1sb res 1 ; Vung bat dau code PRG code start call init ; chuong trinh chinh begin incf LATB call delay1s bra begin ; lap lai sau moi giay ; Ham khoi dong ban dau init clrf PORTB ; bcf TRISB,RB0 ; cau hinh RB0 xuat bcf TRISB,RB1 ; cau hinh RB1 xuat bcf TRISB,RB2 ; cau hinh RB2 xuat bcf TRISB,RB3 ; cau hinh RB3 xuat return Bộ môn Kỹ Thuật Máy Tính 16 Thực hành Vi xử lý
CÓ THỂ BẠN MUỐN DOWNLOAD
-
BÀI TẬP THỰC HÀNH PLC S7-300 - PHẦN 2: BÀI 1: CÁC BÀI THÍ NGHIỆM
17 p | 1058 | 389
-
Ngân hàng đề thi trắc nghiệm môn kỹ thuật vi xử lý
14 p | 1118 | 301
-
BÀI TẬP THỰC HÀNH PLC S7-300 - PHẦN 1: GIỚI THIỆU THIẾT BỊ VÀ PHẦN MỀM THÍ NGHIỆM
17 p | 629 | 262
-
ĐỀ CƯƠNG ÔN TẬP MÔN LINH KIỆN ĐIỆN TỬ
51 p | 1024 | 239
-
Thí nghiệm vi xử lý
15 p | 468 | 156
-
Ngân hàng trắc nghiệm Vi xử lý 1
45 p | 591 | 114
-
Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý BÀI 03: ĐIỀU KHIỂN MA TRẬN
11 p | 247 | 65
-
Tiểu luận Tối ưu hóa công nghệ thực phẩm - Đại học Công nghiệp Thực phẩm TP.HCM
307 p | 339 | 35
-
THIẾT KẾ VÀ THỰC HIỆN SRAM IP CORE TRÊN HỆ THỐNG NHÚNG FPGA
5 p | 201 | 26
-
Hướng dẫn thí nghiệm Vi xử lý
80 p | 136 | 12
-
Bộ môn Kỹ thuật Máy tính chương 6: vai trò của bộ nhớ chính - Phạm Tường - Nguyễn Quốc Hải Tuấn
13 p | 168 | 11
-
GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH - KS. PHẠM HỮU TÀI - 4
16 p | 93 | 8
-
Báo cáo thí nghiệm-Bài 3: Điều khiển ma trận Led và bàn phím Hex
10 p | 106 | 8
-
Bảy lý do nên chọn nhà vườn
6 p | 80 | 8
-
GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH - KS. PHẠM HỮU TÀI - 3
16 p | 90 | 6
-
Bài giảng Cơ học đá: Giới thiệu môn học - GV. Kiều Lê Thủy Chung
7 p | 42 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn