Đo giá trị biến trở, gửi lên LCD 2.. Lập trình hiển thị chữ chạy lên LCD.
Trang 1id
e
Nội dung
1
(2
p)
Bài 4 : Chuyển đổi ADC-LCD
- Nắm được phương pháp cấu hình cho VĐK để lập trình cho ADC và giao tiếp
với LCD
- Thực hành đo giá trị điện trở, hiển thị lên LCD
2
(5
p)
Tổng quan về LCD
- LCD = Liquid Crystal Display
- Gồm màn hình hiển thị + rom + chip
- Màn hình hiển thị thực chất là các ma trận hàng & cột kích thước 5x7.
- Font được lưu trong LCD tuân theo chuẩn của bảng mã ASCII
- Có các loại LCD trên thị trường : LCD16x2, LCD20x2, LCD20x4, GLCD…
- Ứng dụng của LCD : giao tiếp với người dùng
3
(2
p)
Một số hình ảnh về LCD
Trang 2(2
p)
Chức năng các chân của LCD
5
(2
Bảng mã font của LCD
Trang 3(2
p)
Một số lệnh cơ bản
Trang 4(2
LCD 8 bit và 4 bit
Trang 5(5
p)
Một số lệnh cơ bản thao tác với LCD trong CCS
- lcd_init() : Khởi tạo LCD, gọi 1 lần trong hàm main
- lcd_gotoxy(int8 x, int8 y) : Hiển thị tại vị trí cột x , hàng y
- lcd_send_byte(int8 address, int8 n): Gửi 1 byte n đến lcd, address=0: thao tác
lệnh, address=1: thao tác dữ liệu
- lcd_putc(char c) : Gửi các ký tự lên lcd
lcd_putc(“\f”) : Xóa màn hình
Trang 6 lcd_putc(“\n”) : xuống dòng mới
lcd_putc(“\b”) : lùi lại 1 vị trí
- char lcd_getc(int8 x, int8 y) : Đọc ký tự tại cột x, hàng y
9
(5
p)
Lập trình cho LCD
- Bước 1 : Định nghĩa các chân cho LCD
- Bước 2 : Khởi tạo LCD : lcd_init();
- Bước 3 : Viết lệnh cần thiết : lcd_putc(“…”), lcd_getc(x,y),…
1
0
(5
p)
Chương trình 1 : Hiển thị dòng chữ “ LOP HOC VDK PIC”
Sơ đồ kết nối :
1
1
(1
0
Chương trình 1 : Hiển thị dòng chữ “ LOP HOC VDK PIC”
Lập trình :
rs e d4 d6
rs rw d4 d6
ADC
e
RE3/MCLR/VPP 1
RA1/AN1/C12IN1-3
RA2/AN2/VREF-/CVREF/C2IN+
4 RA4/T0CKI/C1OUT 6
RA5/AN4/SS/C2OUT 7
RB0/AN12/INT 33
RB1/AN10/C12IN3-34
RB2/AN8 35
RA7/OSC1/CLKIN
14
RB7/ICSPDAT
37
RA3/AN3/VREF+/C1IN+
5
RB3/AN9/PGM/C12IN2-36
RA0/AN0/ULPWU/C12IN0-2
U1
PIC16F887
R2
10k
X1
CRYSTAL
C1
22pF
C2
22pF
LCD1
LM016L
RV1
1k
RV2
1k
Trang 72
(1
0
p)
Chương trình 2 : Sửa đổi chương trình 1 để ban đầu có 1 dòng chữ báo “Starting…….”
Code :
Trang 83
(1
0
Chương trình 3 : Hiển thị 1 số nguyên lên LCD
Code :
(Đoạn mã đầu giống như trên)
Trang 94
(1
0
p)
ADC
Cấu hình ADC trong PIC
Trang 105
(1
0
p)
Các bước để cấu hình ADC trong PIC
- Bước 1 : Khai báo sử dụng ADC : #device *=16, ADC = 10
- Bước 2 : Cấu hình thông số của ADC : setup_adc();
- Bước 3 : Cấu hình chân ADC : setup_adc_ports();
- Bước 4 : Cấu hình đầu vào ADC set_adc_channel();
- Bước 5 : Đọc giá trị của ADC read_adc();
1
6
(2
Chương trình 1 : Đọc giá trị ADC từ biến trở
Sơ đồ mạch :
Trang 117
(1
0
p)
Code :
(Sử dụng các hàm lcd_put_int(), và khai báo cấu hình như phần trên)
rs e d4 d6
rs rw d4 d6
ADC
e
RE3/MCLR/VPP 1
RA1/AN1/C12IN1-3
RA2/AN2/VREF-/CVREF/C2IN+
4 RA4/T0CKI/C1OUT 6
RA5/AN4/SS/C2OUT 7
RB0/AN12/INT 33
RB1/AN10/C12IN3-34
RB2/AN8 35
RA7/OSC1/CLKIN
14
RB7/ICSPDAT
37
RA3/AN3/VREF+/C1IN+
5
RB3/AN9/PGM/C12IN2-36
RA0/AN0/ULPWU/C12IN0-2
U1
PIC16F887
R2
10k
X1
CRYSTAL
C1
22pF
C2
22pF
LCD1
LM016L
RV1
1k
RV2
1k
Trang 128
(5
p)
Bài tập về nhà :
1 Đo giá trị biến trở, gửi lên LCD
2 Lập trình hiển thị chữ chạy lên LCD