Professional Documents
Culture Documents
Thực Tập Vi Điều Khiển - Tuần 2 (Gửi Sv)
Thực Tập Vi Điều Khiển - Tuần 2 (Gửi Sv)
I. Mục đích.
Trang bị cho sinh viên kiến thức lập trình led đơn với vi điều khiển PIC 18F4520
Sau khi học xong bài thực hành sinh viên có thể:
- Nắm vững các phương pháp lập trình điều khiển led đơn khác nhau.
- Biết cách ứng dụng các phương pháp lập trình để thực hiện các bài lập trình led đơn cụ
thể.
B. NỘI DUNG THỰC HÀNH.
I. Ôn lại kiến thức về led đơn
1. Giới thiệu về led đơn
Ký hiệu và hình dáng của led đơn
D1
LED
D2
LED
B. NỘI DUNG THỰC HÀNH.
I. Ôn lại kiến thức về led đơn
1. Giới thiệu về led đơn
Phân cực và xác định cực tính của led đơn
D1 D1
Anode Cathode
- +
+ LED - LED LED
LED
Tắt
sáng
D2 D2
Cathode
Anode - +
+ LED
- LED
LED LED
sáng Tắt
B. NỘI DUNG THỰC HÀNH.
3. Lập trình điều khiển led đơn.
Lập trình điều khiển vào/ra theo byte hoặc theo bit.
Lệnh điều khiển đọc dữ liệu theo byte
x = PORTD; // x là một biến kiểu byte
Lệnh điều khiển ghi dữ theo byte
PORTD = x; // x là một biến kiểu byte
Lệnh điều khiển đọc dữ liệu theo bit
x = PORTDbits.RD0; // x là một biến kiểu bit
Hoặc:
#define SW PORTBbits.RB2 // định nghĩa RB2 = SW x = SW; // lệnh đọc
Lệnh điều khiển ghi dữ theo bit
PORTDbits.RD0 = x; // x là một biến kiểu bit
Hoặc:
#define LED PORTCbits.RC2 // định nghĩa RC2 = LED LED = x; // lệnh xuất
B. NỘI DUNG THỰC HÀNH.
II. Các bước thực hành.
1. Chuẩn bị.(chuẩn bị cho 1 nhóm 3 sinh viên)
a. Dụng cụ, thiết bị.
STT Tên dụng cụ, thiết bị Đơn vị Số lượng Ghi chú
1 Máy tính Bộ 1
Đ
i<9
S
B. NỘI DUNG THỰC HÀNH.
II. Các bước thực hành
3. Lập trình điều khiển 8 led đơn bằng phương pháp truy xuất mảng 1 chiều
b. Chương trình điều khiển 8 led
đơn sáng dần từ trên xuống
Chương trình
#include <p18f4520.h>
#include <delays.h>
#pragma config OSC = HS // chon dao dong ngoài tan so cao
#pragma config LVP = OFF //cho phep su dung nguon tu mach nap
#pragma config MCLRE = OFF // cho phep reset
#pragma config PBADEN = OFF // tat chuc nang analog cua PortB
char hieu_ung1[9]={0b00000000,0b00000001,0b00000011,
0b00000111,0b00001111,0b00011111,
Chương trình chính 0b00111111,0b01111111,0b11111111};
Khai báo 1 mảng gồm 9 giá trị sau:
0b00000000 , 0b00000001 , 0b00000011 ,
0b00000111 , 0b00001111 , 0b00011111 ,
0b00111111 , 0b01111111 , 0b11111111
B. NỘI DUNG THỰC HÀNH.
II. Các bước thực hành
3. Lập trình điều khiển 8 led đơn bằng phương pháp truy xuất mảng 1 chiều
b. Chương trình điều khiển 8 led đơn sáng dần từ trên xuống
#include <p18f4520.h>
#include <delays.h>
#pragma config OSC = HS // chon dao dong ngoài tan so cao
#pragma config LVP = OFF //cho phep su dung nguon tu mach nap
#pragma config MCLRE = OFF // cho phep reset
#pragma config PBADEN = OFF // tat chuc nang analog cua
PortB
B. NỘI DUNG THỰC HÀNH. Chương trình
II. Các bước thực hành void sangdantx (void)
{
4. Chương trình điều khiển 8 led đơn thực PORTB= 0b00000000;
hiện nhiều hiệu ứng khác nhau Delay10KTCYx(20);
PORTB= 0b00000001;
Delay10KTCYx(20);
PORTB= 0b00000011;
b. Chương trình điều khiển 8 led đơn sáng
Delay10KTCYx(20);
dần từ trên xuống và sáng chạy từ trên PORTB= 0b00000111;
xuống, mỗi hiệu ứng thực hiện 4 lần Delay10KTCYx(20);
PORTB= 0b00001111;
Delay10KTCYx(20);
Sử dụng phương pháp thủ công, kết hợp PORTB= 0b00011111;
Delay10KTCYx(20);
chương trình con
PORTB= 0b00111111;
Delay10KTCYx(20);
PORTB= 0b01111111;
Delay10KTCYx(20);
PORTB= 0b11111111;
Delay10KTCYx(20);
}
B. NỘI DUNG THỰC HÀNH. Chương trình
void sangchaytx (void)
II. Các bước thực hành
{
4. Chương trình điều khiển 8 led đơn thực PORTB= 0b00000000;
hiện nhiều hiệu ứng khác nhau Delay10KTCYx(20);
PORTB= 0b00000001;
Delay10KTCYx(20);
PORTB= 0b00000010;
b. Chương trình điều khiển 8 led đơn sáng Delay10KTCYx(20);
dần từ trên xuống và sáng chạy từ trên PORTB= 0b00000100;
xuống, mỗi hiệu ứng thực hiện 4 lần Delay10KTCYx(20);
PORTB= 0b00001000;
Delay10KTCYx(20);
Sử dụng phương pháp thủ công, kết hợp PORTB= 0b00010000;
Delay10KTCYx(20);
chương trình con
PORTB= 0b00100000;
Delay10KTCYx(20);
PORTB= 0b01000000;
Delay10KTCYx(20);
PORTB= 0b10000000;
Delay10KTCYx(20);
}
B. NỘI DUNG THỰC HÀNH.
Chương trình
1. Viết chương trình điều khiển 8 led đơn tích cực dương thực hiện các
hiệu ứng sáng led bằng phương pháp thủ công.
2. Viết chương trình điều khiển 8 led đơn tích cực âm thực hiện hiệu
ứng sáng led bằng phương pháp truy xuất mảng 1 chiều.