THỰC HÀNH VI XỬ LÝ - Pdf 32

ĐẠ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

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


Đâ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

1.2 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: nut_nhan.asm
; Project: Nhap du lieu tu nút nhan RA4.
; Khi nút RA4 du?c nh?n thì led don RB0 sáng,
; Khi không nh?n RA4 thì led don RB0 t?t
; Author: BKIT HARDWARE CLUB
; Homepage:
; Creation Date: 7 - 31 - 2009
;======================================;

list p=18f4520
#include p18f4520.inc
org 0
goto start
start
call INIT
main
BTFSC PORTA,4 ;Wait for SW1 to be pressed
GOTO main
BSF PORTB,0 ;Turn on LED1.
SWOFF
BTFSS PORTA,4 ;Wait for SW1 to be released.
GOTO SWOFF
BCF PORTB,0 ;Switch off LED1.
GOTO main ;Repeat sequence.


nut_nhan.hex trong cùng thư mục chương trình nut_nhan.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 là 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 10 Thực hành Vi xử lý
Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT Lúc này để nạp chương trình ta chỉ cần vào menu Programmer -> Program như
hình sau là có thể nạp được chương trình.
Sau khi nhấn Program nếu download xuống chip thành công thì ta sẽ thấy hiển thị
ra cửa sổ Output như sau:
MPLAB ICD 2 Ready
Programming Target...
...Validating configuration fields
...Erasing Part
...Programming Program Memory (0x0 - 0x3F)
Verifying...
...Program Memory
...Verify Succeeded
Programming Configuration Bits


Từ đây ta đã có thể mô phỏng được chương trình của mình một cách dễ dàng.
Ví dụ như Run (F9) dùng để 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. Vậy làm thế nào để tạo Breakpoint, ta sử dụng lệnh
Breakpoints (F2) như trên hình để tạo ra breakpoint tại vị trí hiện tại của con trỏ hoặc
double click vào hàng code mình mong muốn đặt con trỏ. Hay sử dụng Step Into (F7) để
chạy từng lệnh một, gặp lời gọi hàm thì nó sẽ vào bên trong lời gọi hàm chạy từng lệnh
trong đó. Khác với Step Over (F8) một tí là khi có lời gọi hàm thì Step Over xem như đó
là một lệnh bình thường, không đi vào hàm chi tiết như Step Into.
Reset: trở về đầu chương trình.

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 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 để 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


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 16 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:
D2
LED
R21 470
RB0
D3
LED
R22 470
RB1
D4
LED
R23 470
RB2

MCLR RB0RB0RB0RB0RA4
S2
SW RA4Nút nhấn RESET dùng để reset vi điều khiển
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.
Hiện tượng rung phím:

VCC
R7
10K
S3
SW RB0
C2
104
RB0RB0RB0RB0

Khi phím được nhấn, do tác động của hiện tượng rung cơ học, tín hiệu điện tại
Bộ môn Kỹ Thuật Máy Tính 17 Thực hành Vi xử lý
Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT
ngõ ra bị chuyển trạng thái giữa logic 0 và logic 1. Khi phím được thả, hiện tượng rung
cũng xảy ra tương tự.
Bộ dao động chính có kết nối như sau:
C4
22pF
C5
22pF
Y1
Bước 2: Include file p18f4520.inc vào file led_don.asm.
Bước 3: Khởi tạo PortB là output sử dụng các lệnh clrf, bcf.
INIT
clrf PORTB ; setup portb for outputs
Bộ môn Kỹ Thuật Máy Tính 18 Thực hành Vi xử lý
Trường ĐH. Bách Khoa TP.HCM Khoa KH & KTMT
bcf TRISB,0 ; clear trisb.0
bcf TRISB,1 ; clear trisb.1
bcf TRISB,2 ; clear trisb.1
bcf TRISB,3 ; clear trisb.1
return
Bước 4: Tạo hàm delay1ms sử dụng các lệnh CLRF, NOP, DECFSZ,
GOTO.
delay equ 0ch ; declare variable “delay”

Delay1ms ;Approxiamtely at 4Mhz
clrf delay ; clear variable “delay”
Delay_1
nop
decfsz delay
goto Delay_1
return

Bước 5: Từ đây ta có thể tạo ra được hàm delay1s:

Delay1s
Movwf .4
Movlw delay_1sa


list p=18f4520
#include p18f4520.inc
delay res 1
delay_1sa res 1
delay_1sb res 1
org 0
goto start
start
call INIT
begin
INCF PORTB
call Delay1ms
goto begin

INIT
clrf PORTB ; setup portb for outputs
bcf TRISB,0
bcf TRISB,1
bcf TRISB,2
bcf TRISB,3
return

Delay1ms ;Approxiamtely at 4Mhz
clrf delay
Delay_1
nop
decfsz delay
goto Delay_1
return


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status