Tải bản đầy đủ (.doc) (46 trang)

Nghiên cứu, xây dựng thiết bị điều khiển và giám sát nhiệt độ qua máy tính sử dụng sóng RF

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.03 MB, 46 trang )

LỜI CẢM ƠN
Em xin được gửi lời cảm ơn chân thành đến quý thầy cô trong khoa Điện Tử,
trường Đại học Công nghệ giao thông vận tải đã giảng dạy và truyền đạt kiến thức
chuyên ngành cho em để em có thể thực hiện được đồ án này.
Đặc biệt em xin gửi lời cảm ơn sâu sắc tới thầy Nguyễn Công Nam vì sự tận
tình hướng dẫn cũng như đã tạo những điều kiện thuận lợi nhất cho em để em có thể
thực hiện và hoàn thành đồ án này.
Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức cũng như
khả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thể
tránh khỏi những sai phạm, thiếu sót. Em rất mong nhận được sự góp ý, chỉ dẫn từ nơi
quý thầy cô và các bạn sinh viên.
Em xin chân thành cảm ơn!
Hà Nội, ngày… tháng… năm 2018
Sinh viên thực hiện
Hoàng Ngọc Trắc

1


MỤC LỤC

LỜI CẢM ƠN................................................................................................................ 1
MỤC LỤC..................................................................................................................... 2
DANH MỤC HÌNH ẢNH.............................................................................................4
DANH MỤC BẢNG.....................................................................................................6
LỜI MỞ ĐẦU...............................................................................................................7
1.1 Lí do chọn đề tài...................................................................................................8
1.2 Mục tiêu đề tài......................................................................................................8
1.3 Giới hạn và phạm vi của đề tài............................Error! Bookmark not defined.
1.4. Kết quả dự kiến đạt được....................................Error! Bookmark not defined.
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI................................................8


1.1 Tổng quan về board mạch Arduino.......................................................................8
1.1.1 Lịch sử phát triển..............................................Error! Bookmark not defined.
1.1.2 Giới thiệu chung về Arduino............................Error! Bookmark not defined.
1.1.3 Phần cứng của Arduino.....................................Error! Bookmark not defined.
1.2 Khái quát cấu tạo của Arduino Uno R3...............Error! Bookmark not defined.
1.2.1 Giới thiệu..........................................................Error! Bookmark not defined.
1.2.2 Thông số kĩ thuật..............................................Error! Bookmark not defined.
1.2.3 Vi điều khiển của Arduino uno R3....................Error! Bookmark not defined.
1.2.4 Năng lượng.......................................................Error! Bookmark not defined.
1.2.5 Bộ nhớ..............................................................Error! Bookmark not defined.
1.2.6 Cổng vào ra......................................................Error! Bookmark not defined.
1.3 khối cảm biến......................................................Error! Bookmark not defined.
1.4 LCD.................................................................................................................... 14
1.4.1 Hình ảnh minh họa, chức năng các chân LCD.................................................14
1.4.2 Các mã lệnh LCD............................................................................................16

2


1.4.3 Các lệnh giao tiếp LCD...................................................................................17
1.5 Giới thiệu về công cụ hỗ trợ lập trình giao diện.................................................21
1.5.1 Khái quát về Visual Studio..............................................................................21
1.5.2 Các cửa sổ bị ẩn trên giao diện Visual Studio..................................................25
1.5.3 Xác định Project khởi động chương trình........................................................27
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ SÓNG RF......Error! Bookmark not defined.
2.1 Sóng RF...............................................................Error! Bookmark not defined.
2.1.1 Khái niệm.........................................................Error! Bookmark not defined.
2.1.2 Đặc điểm sóng RF............................................Error! Bookmark not defined.
2.1.2.1 Thành phần của sóng RF...............................Error! Bookmark not defined.
2.1.2.2 Mã hóa bit......................................................Error! Bookmark not defined.

2.2 Phân loại..............................................................Error! Bookmark not defined.
2.2.1 Sóng dài và cực dài...........................................Error! Bookmark not defined.
2.2.2 Sóng trung........................................................Error! Bookmark not defined.
2.2.3 Sóng ngắn.........................................................Error! Bookmark not defined.
2.2.4 Sóng cực ngắn (vi sóng)...................................Error! Bookmark not defined.
2.3 Điều khiển từ xa bằng sóng RF...........................Error! Bookmark not defined.
2.3.1 Khái niệm.........................................................Error! Bookmark not defined.
2.3.2 Hoạt động.........................................................Error! Bookmark not defined.
2.4 Ưu, nhược điểm và giải pháp...............................Error! Bookmark not defined.
2.4.1 Ưu điểm............................................................Error! Bookmark not defined.
2.4.2 Nhược điểm......................................................Error! Bookmark not defined.
2.4.3 Giải pháp..........................................................Error! Bookmark not defined.
CHƯƠNG 3: THIẾT KẾ CHẾ TẠO MẠCH...............................................................27
3.1. Thiết kế mạch điều khiển thiết bị và giám sát nhiệt độ qua máy tính sử dụng
sóng RF.................................................................................................................... 27
3.2. Thiết kế mạch thu và phát..................................................................................30

3


3.2.1. Sơ đồ nguyên lý của hệ thống mạch phát.......................................................30
3.2.1.1. Các khối trong mạch....................................................................................31
3.2.2 . Sơ đồ nguyên lý của hệ thống mạch thu:.......................................................34
3.3 Mạch in thực tế sau khi thiết kế..........................................................................34
3.3.1. Thiết kế phần mềm.........................................................................................37
3.3.2. Lưu đồ thuật toán hệ thống điều khiển...........................................................39
3.3.3: Lưu đồ thuật toán của mạch thu......................................................................40
3.4 Phần mềm giao tiếp với máy tính.......................................................................42
3.4.1 Giao diện phần mềm giao tiếp với máy tính;...................................................42
3.4.2 Sơ đồ thuật toán mạch điều khiển;...................................................................40

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN....................................................................43
TÀI LIỆU THAM KHẢO...........................................................................................44

DANH MỤC HÌNH ẢNH
Hình 1.1 những thành viên khởi sướng Arduino...........Error! Bookmark not defined.
Hình 1.2 điều khiển xe từ xa dùng arduino...................Error! Bookmark not defined.
Hình 1.3 Một mạch Arduino Uno chính thức với các mô tả về các cổng I/O.......Error!
Bookmark not defined.
Hình 1.3 Ảnh Arduino Uno...........................................Error! Bookmark not defined.
Hình 1.4 Vi điều khiển của Arduino Uno R3................Error! Bookmark not defined.
Hình 1.5 Các chân của Arduino Uno R3.......................Error! Bookmark not defined.

4


Hình 1.6 cảm biến LM35..............................................Error! Bookmark not defined.
Hình 1.7 Hình dạng thực tế của LCD 16x2..................................................................14
Hình 1.8: Visual Studio Color Themes........................................................................21
Hình 1.9: Giao diện làm việc chính của Visual Studio.................................................23
Hình 1.11 Build, Debug và Run...................................................................................26
Hình 1.12 Giao diện trình dịch....................................................................................27
Hình 2.1 Dạng sóng RF................................................Error! Bookmark not defined.
Hình 2.2 Các dạng mã phổ biến....................................Error! Bookmark not defined.
Hình 2.3 Sóng dài và cực dài ban ngày.........................Error! Bookmark not defined.
Hình 2.4 Sóng dài và cực dài ban đêm..........................Error! Bookmark not defined.
Hình 2.5 Sóng trung......................................................Error! Bookmark not defined.
Hình 2.6 Sóng ngắn......................................................Error! Bookmark not defined.
Hình 2.7 Bộ thu, phát trên thực tế.................................Error! Bookmark not defined.
Hình 3.1 : Sơ đồ khối của mạch phát............................Error! Bookmark not defined.
Hình 3.2: Sơ đồ khối của mạch thu;.............................................................................30

Hình 3.3: Sơ đồ mạch nguyên lý..................................................................................31
Hình 3.4 Sơ đồ khối nguồn..........................................................................................31
Hình 3.5: Khối báo động và đóng mở thiết bị..............................................................32
Hình 3.6: Khối hiển thị và sensor LM35......................................................................32
Hình 3.7: Khối nhận và phát dữ liệu RF......................................................................33
Khối 3.8: Khối xử lý trung tâm sử dụng Atmega328;..................................................34
Hình 3.9: Sơ đồ nguyên lý mạch thu............................................................................34
Hình 3.10: Mạch in sau khi thiết kế.............................................................................35
Hình 3.11: Mạch in hiển thị dưới dạng 3D...................................................................36
Hình 3.12: Mạch thu sau khi thiết kế...........................................................................36
Hình 3.12: Mạch thu hiển thị 3D;................................................................................37
Hình 3.13: Giao diện của phần mềm Arduino IDE......................................................38

5


Hình 3.14: Lưu đồ thuật toán mạch phát......................................................................39
Hình 3.15: Lưu đồ thuật toán mạch thu.......................................................................40
Hình 3.17: Giao diện phần mềm sau khi thiết kế.........................................................43
Hình 3.18: Lưu đồ thuật toán giao tiếp máy tính..........Error! Bookmark not defined.

DANH MỤC BẢNG
Bảng 1.1 Các chân của LCD........................................................................................15
Bảng 1.2 Các mã lệnh LCD.........................................................................................16
Bảng 1.3 Các lệnh giao tiếp LCD................................................................................18
Bảng 2.1 Phân loại tần số..............................................Error! Bookmark not defined.

6



7


LỜI MỞ ĐẦU
Điện tử đang trở thành một ngành đa nhiệm vụ. Điện tử đã đáp ứng được những
đòi hỏi không ngừng của các ngành, lĩnh vực khác nhau cho đến nhu cầu thiết yếu của
con người trong cuộc sống hàng ngày. Một trong những ứng dụng quan trọng của
ngành công nghệ điện tử là kỹ thuật điều khiển từ xa bằng RF và giám sát qua máy
tính. Xuất phát từ nhu cầu thực tế qua những ứng dụng tiện ích và hiệu quả mà công
nghệ điều khiển từ xa mang lại, em đã quyết định chọn đề tài “Nghiên cứu, xây dựng
thiết bị điều khiển và giám sát nhiệt độ qua máy tính sử dụng sóng RF”.
Mạch sử dụng mạch thu phát RF Zigbee UART CC2530. Mạch cần sử dụng 2
mạch CC2530. Tín hiệu sẽ được thu bởi khối thu RF, Dữ liệu nhận từ mạch phát
CC2530, sau đó một mạch CC2530 sẽ làm nhiệm vụ thu dữ liệu và gửi tín hiệu lại
mạch điều khiển. Khối điều khiển sẽ xử lí tín hiệu đưa về mạch thu điều khiển khối
relay để bật những thiết bị được yêu cầu mở bởi bên phát. Trạng thái hoạt động của
thiết bị được hiển thị trên LCD 16x2 và giám sát qua máy tính và cài đặt ,điều khiển
thiết bị. Bộ điều khiển sau khi thiết kế mạch xong có thể điều khiển thiết bị dựa vào
nhiệt độ và yêu cầu của mạch trên máy tính.
Tuy đã cố gắng thực hiện đồ án trong sự nghiêm túc và trách nhiệm nhất, nhưng
do khả năng nghiên cứu cũng như kiến thức bản thân còn nhiều hạn chế nên không thể
tránh khỏi những sai phạm và thiếu sót. Rất mong nhận được những ý kiến đóng góp
tích cực từ quý thày cô và các bạn.

8


CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
1.1.Tổng quan về đề tài
1.1.1. Lí do chọn đề tài

Ngày nay với những ứng dụng khoa học tiên tiến, cả thế giới của chúng ta ngày
một hiện đại và văn minh hơn. Sự phát triển của nghành kĩ thuật điện tử đã tạo ra hàng
loạt những thiết bị với sự chính xác cao, tốc độ nhanh, gọn nhẹ đã đóng vai trò vô
cùng quan trọng trong cuộc sống của con người, là chìa khóa đi vào công nghệ hiện
đại. Máy móc dần được thay thế sức lao động của con người, tự động hóa, điều khiển
đóng vai trò vô cùng quan trọng trong công nghiệp, quản lí.
Điện tử đang trở thành một nghành khoa học đa nhiệm vụ. Bài toán kiểm soát
nhiệt độ đã và đang không ngừng đáp ứng được nhu cầu của các nghành nông- lâmngư nghiệp đến các nhu cầu trong cuộc sống. Một trong những ứng dụng quan trọng
của công nghệ Điện tử là kỹ thuật điều khiển từ xa. Nó đã góp phần rất lớn trong việc
điều khiển các thiết bị phục vụ nhu cầu sản xuất.
Chính vì vậy em đã chọn đề tài “ Nghiên cứu, xây dựng thiết bị điều khiển và
giám sát nhiệt độ qua máy tính sử dụng sóng RF”.
Mục tiêu chính đề tài:
Thiết kế được mô hình giám sát và điều khiển nhiệt độ trong thực tế, có cảnh
báo trên giao diện và mạch điều khiển, trình bày được giao diện.
1.2. Các thiết bị phần cứng
1.2.1. Cảm biến nhiệt độ LM35

Hình 1.1. Sơ đồ cấu tạo LM35

Hình 1.2. Hình ảnh thực tế LM35

9


Chân 1: Chân nguồn Vcc
Chân 2: Đầu ra Vout
Chân 3: GND
LM35 là cảm biến nhiệt có điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ
theo thang độ C. Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được

cân chỉnh.
Đặc điểm chính của cảm biến LM35:
Điện áp đầu vào từ 4V đến 30V.
Độ phân giải điện áp đầu ra là 10mV/oC.
Độ chính xác cao ở 25 C là 0.5 C.
Trở kháng đầu ra thấp 0.1 cho 1mA tải.
Dải nhiệt độ đo được của LM35 là từ -55 C đến 150 C với các mức điện áp ra
khác nhau. Xét một số mức điện áp sau :
Nhiệt độ -55 C điện áp đầu ra -550mV.
Nhiệt độ 25 C điện áp đầu ra 250mV.
Nhiệt độ 150 C điện áp đầu ra 1500mV.
Tùy theo cách mắc của LM35 để ta đo các giải nhiệt độ phù hợp. Đối với hệ
thống này thì đo từ 0 đến 150.
Tính toán nhiệt độ đầu ra của LM35
Việc đo nhiệt độ sử dụng LM35 thông thường chúng ta sử dụng bằng cách:
LM35 - > ADC - > Vi điều khiển
Như vậy ta có:
U= t.k
u là điện áp đầu ra
t là nhiệt độ môi trường đo k
là hệ số theo nhiệt độ của LM35 10mV/1 độ C
Giả sử điện áp Vcc cấp cho LM35 là 5V ADC 10bit
Vậy bước thay đổi của LM35 sẽ là 5/(2^10) = 5/1024
Giá trị ADC đo được thì điện áp đầu vào của LM35 là
(t*k)/(5/1024) = ((10^-2)*1024*t)/5 = 2.048*t

10


Vậy nhiệt độ ta đo được t = giá trị ADC/2048

Tương tự với ADC 11bit và Vcc khác ta cũng tính như trên để được công thức lấy
nhiệt độ
Mã:
set_adc_channel(0);

value = (float)read_adc();

value=value/2.048;

Sai số của LM35
+ Tại 0 độ C thì điện áp của LM35 là 10mV
+ Tại 150 độ C thì điện áp của LM35 là 1.5V
==> Giải điện áp ADC biến đổi là 1.5 - 0.01 = 1.49 (V)
+ ADC 11 bit nên bước thay đổi của ADC là : n = 2.44mV
Vậy sai số của hệ thống đo là : Y = 0.00244/1.49 = 0.164 %

1.2.2. Modul thu phát RF Zigbee UART CC2530
1.2.2.1. Khái niệm về Zigbee
Mạng Zigbee được hình năm 1988 khi các kỹ sư công nghệ nhận thấy rằng wifi
và bluetooth không thích hợp với nhiều ứng dụng. Tháng 5 năm 2003, tiêu chuẩn
IEEE802.15.4 được hoàn thành
Zigbee là một tập hợp các giao thức giao tiếp mạng không dây khoảng cách
ngắn có tốc độ truyền dữ liệu thấp. Các thiết bị không dây dựa trên chuẩn Zigbee hoạt
động trên 3 dãy tần số 868MHz, 915MHz, 2.4GHz.
Với những đặc điểm chính như sau:
-

Tốc độ truyền dữ liệu thấp 20-250kbps.

-


Sử dụng công suất thấp, ít tiêu hao điện năng.

-

Cài đặt, bảo trì dễ dàng.

-

Độ tin cậy cao.

-

Có thể mở rộng đến 65000 node.

1.2.2.2. Modul thu phát RF Zigbee UART CC2530

11


Hình 1.3. Modul RF Zigbee UART CC2530

 IC

chính RF Zigbee SoC CC2530 từ TI.

 Điện

áp sử dụng: 3 - 5.5VDC


 Dòng

tiêu thụ: < 30mA

 Chuẩn
 Tốc

truyền sóng Zigbee 2.4Ghz.

độ truyền sóng tối đa 3300bps.

 Công

suất truyền: 4.5dbm

 Khoảng

cách truyền lý tưởng: 250m.

 Giao

thức kết nối UART TTL (3.3VDC hoặc 5VDC), Baudrate tối đa 115200.

 Kích

thước: 15.5x31.5mm.

Các bước cài đặt modul thu phát:
-


Bước 1: Không cấp nguồn, nhấn giữ phím key, sau đó cấp nguồn, bốn led trên
module sẽ chớp báo hiệu vào chế độ cấu hình, thả nút nhấn ra chúng ta sẽ vào
chế độ cấu hình baudrate cho kết nối UART đầu tiên, nhấn phím key tuần tự để
chọn baudrate phù hợp (nhìn vào trạng thái 4 led hiển thị) theo hình sau:

12


Hình 1.4. Trạng thái led hiển thị

-

Bước 2: Sau khi chọn Baurate phù hợp cho kết nối UART, nhấn tì phím key để
lưu thiết đặt sẽ thấy 4 led cùng chớp báo hiệu chuyển qua chế độ cấu hình tiếp
theo: kênh - Chanel, có 16 kênh có thể lựa chọn theo trạng thái 4 led hiển thị,
lưu ý các module muốn truyền nhận được với nhau phải có cùng chanel (không
nhất thiết phải cùng baudrate vì baudrate chỉ dùng để giao tiếp với Vi điều
khiển).

-

Bước 3: Sau khi chọn chanel, nhấn tì phím key để lưu sẽ thấy 4 led cùng chớp
báo hiệu chuyển qua chế độ cấu hình tiếp theo: kiểu truyền nhận, có 2 kiểu
truyền là Point to Point và Broadcast.



Point to Point: chỉ duy nhất 2 module kết nối với nhau trong 1 Chanel, cấu
hình 1 Module là A, 1 Module là B trong 1 Chanel là đã có thể truyền nhận
với nhau.




Boardcast: Nhiều Module kết nối với nhau trong 1 chanel, lưu ý tất cả các
module cần được cấu hình là Broadcast và chung 1 chanel, khi 1 module
truyền, tất cả các module còn lại sẽ nhận, chức năng của các module là tương
đương.

13


Hình 1.5. Các cấu hình giữa 2 module
-

Bước 4: Sau khi cấu hình kiểu truyền nhận, nhấn tì phím key lần cuối cùng sẽ
thấy 4 Led cùng chớp báo hiệu hoàn thành cấu hình, tất cả các thông số được
lưu và module bắt đầu hoạt động, lưu ý thiết đặt không đến được bước 4 sẽ
không có hiệu lực, để thiết đặt lại các bạn quay lại bước 1.

1.2.3. Tổng quan về AVR
1.2.3.1. Giới thiệu
AVR là một họ vi điều khiển do hãng Atmel sản xuất (Atmel cũng là nhà sản
xuất dòng vi điều khiển 89C51). AVR là chip vi điều khiển 8 bits với cấu trúc tập lệnh
đơn giản hóa-RISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể
hiện ưu thế trong các bộ xử lí.
Ưu thế của vi điều khiển AVR
Kết nối phần cứng cho AVR đơn giản với những linh kiện thông dụng như điện trở, tụ
điện, thạch anh. Đầu ra điều khiển Port lớn và không dùng điện trở kéo.
Thiết kế mạch nạp cho AVR khá đơn giản giao tiếp qua cổng LPT, COM, USB. Hỗ trợ
IPS lập trình trực tiếp trên mạch.

Hỗ trợ lập trình trên nền ngôn ngữ ASM, C với nhiều công cụ hỗ trợ như CodeVision,
AVR Studio.
Hầu hết các chip AVR có tính năng sau:
Xung clock lên đến 16MHz, hoặc sử dụng xung clock nội lên đến 8 MHz (sai
số 3%)

14


Bộ nhớ chương trình Flash có thể lập trình lại rất nhiều lần và dung lượng lớn, có
SRAM (Ram tĩnh) lớn, và đặc biệt có bộ nhớ lưu trữ lập trình được EEPROM.
Nhiều ngõ vào ra (I/O PORT) 2 hướng (bi-directional).
8 bits, 16 bits timer/counter tích hợp PWM.
Các bộ chuyển đối Analog – Digital phân giải 10 bits, nhiều kênh.
Chức năng Analog comparator.
Giao diện nối tiếp USART (tương thích chuẩn nối tiếp RS-232).
Giao diện nối tiếp Two –Wire –Serial (tương thích chuẩn I2C) Master và Slaver.
Giao diện nối tiếp Serial Peripheral Interface (SPI)
1.2.4. LCD
1.2.4.1. Hình ảnh minh họa, chức năng các chân LCD

Hình 1.6. Hình dạng thực tế của LCD 16x2
* Chức năng các chân LCD
LCD được nói trong mục này có 16 chân, chức năng của các chân được cho
trong bảng 3.

Bảng 1.1. Các chân của LCD
Chân

Ký hiệu


I/O

Mô tả

1

Vss

-

Đất

15


2

Vdd

-

Dương nguồn 5 V

3

V0

-


Cấp nguồn cho điều khiển

4

RS

I

RS= 0 chọn thanh ghi lệnh. RS= 1 chọn
thanh ghi dữ liệu

5

R/W

I

R/W= 1 đọc dữ liệu. R/W = 0 ghi dữ liệu

6

E

I/O

Cho phép

7

D0


I/O

Các bit dữ liệu

8

D1

I/O

Các bit dữ liệu

9

D2

I/O

Các bit dữ liệu

10

D3

I/O

Các bit dữ liệu

11


D4

I/O

Các bit dữ liệu

12

D5

I/O

Các bit dữ liệu

13

D6

I/O

Các bit dữ liệu

14

D7

I/O

Các bit dữ liệu


* Chân Vdd, Vss và V0
Cấp dương nguồn +5V và đất tương ứng thì V0 được dùng để điều khiển độ
tương phản của LCD.
* Chân chọn thanh ghi RS (Register select)
Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn
các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mã lệnh được chọn để cho phép
người dùng gửi đến một lệnh như xóa màn hình, con trỏ về đầu dòng… Nếu RS = 1 thì
thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD.
* Chân đọc/ghi(R/W)
Đầu đọc/ghi cho phép người dùng ghi thông tin trên LCD. Khi R/W = 0 thì ghi,
R/W = 1 thì đọc.
* Chân cho phép E(Enable)

16


Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân
dữ liệu của nó, khi dữ liệu được cấp đến chân đữ liệu thì một mức xung từ cao xuống
thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân chốt dữ liệu. Xung
này phải rộng tối thiểu 450ns.
* Chân D0- D7
Đây là 8 chân dữ liệu 8 bit, được dùng để gửi thông tin lên LCD hoặc đọc nội
dung của các thanh ghi trên LCD.
Để hiện thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ
cái từ A đến Z, a đến z và các con số từ 0 đến 9 đến các chân này khi RS = 1.
Cũng có các mã lệnh mà có thể gửi đến LCD để xóa màn hình hoặc đưa con trỏ về đầu
dòng hoặc nhấp nháy con trỏ.
Chúng ta cũng dùng RS = 0 để kiểm tra bit cờ bận để xem LCD có sẵn sàng
nhận thông tin hay không. Cờ bận là D7 và có thể được đọc khi R/W = 1 và RS = 0

như sau:
Nếu R/W = 1, RS = 0 khi D7 = 1(cờ bận bằng 1) thì LCD bận bởi các công việc bên
trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7 = 0 thì LCD sẵn sàng nhận
thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào lên
LCD.
1.2.4.2. Các mã lệnh LCD
Bảng 1.2. Các mã lệnh LCD

Mã HEX

Lệnh đến thanh ghi của LCD

1

Xóa màn hình hiển thị

2

Trở về đầu dòng

4

Giảm con trỏ (Con trỏ dịch sang trái)

6

Tăng con trỏ (Con trỏ dịch sang phải)

5


Dịch hiển thị sang phải

7

Dịch hiển thị sang trái

8

Tắt con trỏ, tắt hiển thị
17


A

Tắt hiển thị bật con trỏ

C

Bật hiển thị, tắt con trỏ

E

Bật hiển thị, nhấp nháy con trỏ

F

Tắt hiển thị, nhấp nháy con trỏ

10


Dịch vị trí con trỏ sang trái

14

Dịch vị trí con trỏ sang phải

18

Dịch toàn bộ hiển thị sang trái

1C

Dịch toàn bộ hiển thị sang phải

80

Ép con trỏ về đầu dòng thứ nhất

C0

Ép con trỏ về đầu dòng thứ hai

38

Hai dòng và ma trận 5 x 7

1.2.4.3. Các lệnh giao tiếp LCD
Để thực hiện các giao tiếp với LCD cần có các lệnh và địa chỉ lệnh.
Các lệnh được mô tả dưới bảng sau:
Bảng 1.1: Các lệnh giao tiếp LCD


18


R/W RS

Mô tả

Thời
gian
thực
hiện

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7

Lệnh


Xóa
màn
hình

Trở
về
đầu
dòng

Đặt
chế
độ

0

0

0 0

0

0

0

0

0


1

0

0

0

0

0

0

0

0

1

0

0

0

0

0


0

0

1

1 S/D

19

-

Xóa toàn bộ màn
hình và đặt địa chỉ 0 1.64
của DD RAM vào µs
bộ nhớ
Đặt địa chỉ 0 của
DD RAM như bộ
đếm địa chỉ. Trả 1.64
hiển thị dịch về vị trí µs
gốc
DD
RAM
không thay đổi
Đặt hướng chuyển 40µs
dịch con trỏ và xác
định dịch hiển thị


các thao tác này

được thực hiện khi
đọc và ghi dữ liệu

truy
nhập

Đặt bật/ tắt màn 40µs
hình

Điều
khiển
bật/tắ 0
t hiển
thị

0

Đặt
địa
chỉ
CG
RAM

Thiết
lập
địa
chỉ
DD
RAM
Cờ


0

0

0

1

D

C B

(D) Bật/ tắt con trỏ
(C) Và nhấp nháy
ký tự ở vị trí con
trỏ(B)

Dịch 0
hiển
thị và
con
trỏ
Đặt
chức
năng

0

0 0


0 0

0

0

0 0

0

1 S

/

/

C

L

0

0 1

1

R

-


Dịch con trỏ và dịch
hiển thị mà không 40µs
thay đổi DD RAM

D N

F

-

-L

Thiết lập độ dài dữ
liệu (DL) số dòng
40µs
hiển thị (L) và dòng
ký tự (F)

AGC

Thiết lập địa chỉ C6
RAM dữ liệu CG
RAM được gửi đi và 40µs
nhận sau thiết lập
này

0

0


1

ADD

Thiết lập địa chỉ DD
RAM dữ liệu DD
RAM được gửi và 40µs
nhận sau thiết lập
này

0

1

BF

ADD

Cờ bận đọc (BF) 40µs

20


bận
đọc
và địa
chỉ

báo hoạt động bên

trong đang được
thực hiện và đọc nội
dung đếm địa chỉ

Ghi
dữ
liệu
CG
hoặc
DD
RAM

GHI DỮ LIỆU

Ghi dữ liệu vào DD
RAM hoặc CG 40µs
RAM

ĐỌC DỮ LIỆU

Đọc dữ liệu từ CG
RAM hoặc DD 40µs
RAM

Đọc
dữ
liệu
CG
hoặc
DD

RAM

1

1

0

1

Các ký hiệu viết tắt trong bảng là:
DD RAM: RAM dữ liệu hiển thị (Display Data RAM)
CG RAM: RAM máy phát ký tự (character Generator).
ACC: Địa chỉ của RAM máy phát ký tự.
ADD: Địa chỉ của RAM dữ liệu hiển thị phù hợp với địa chỉ con trỏ.
AC: Bộ đếm địa chỉ (Address Counter) được dùng cho các địa chỉ DD RAM và
CG RAM.
1/D: Tăng 1/D = 0.
S=1: Kèm dịch hiển thị.
S/C=1: Dịch hiển thị .
S/C=0: Dịch con trỏ.
R/L=1: Dịch sang phải.
21


R/L=0: Dịch sang trái
DL=1: 8 bit.
DL=0: 4 bit.
N=1: 2 dòng.
N=0: 1 dòng.

F=1: Ma trận điểm 5x10.
F=0: Ma trận điểm 5x7.
BF=1: LCD bận.
1.3. Giới thiệu về công cụ hỗ trợ lập trình giao diện
1.3.1. Khái quát về Visual Studio
Microsoft Viual Studio (VS) là một IDE được Microsoft phát triển để hỗ trợ các
lập trình viên trong quá trình viết mã. Ngoài chức năng cơ bản là viết mã, build và
debug, VS còn cung cấp cho người dùng những chức năng như:
 Làm việc nhóm thông qua Team Foundation Server của Microsoft.Advanced
Breakpoints.
 Các phím tắt và plugins hỗ trợ người dùng thao tác nhanh trong việc viết mã.
 Wizard Classes.
 Tùy chỉnh liên kết các project và thư viện, tập tin liên quan.

22


 Đến thời điểm viết bài này thì phiên bản chính thức mới nhất của VS là 2013

Hình 1.7. Visual Studio Color Themes
VS 2013 có 3 bộ theme chính phục vụ người dùng là Dark, Blue và Light. Điểm
khác biệt của 3 bộ theme này chỉ là màu sắc của giao diện làm việc, các hình ảnh sử
dụng trong bài viết thuộc về bộ theme Dark.
Để thay đổi màu sắc, người dùng chỉ cần vào Tools -> Option

23


Tại cửa sổ vừa hiện lên, tại mục General chọn Color theme cần đổi và bấm OK.


24


Hình 1.8. Giao diện làm việc chính của Visual Studio
Để bắt đầu làm việc với VS, người dùng cần phải tạo hoặc mở ra
một Solution và tạo hoặc mở một hoặc nhiều Project trong đó. Về cách
tạo Solution và Project, tác giả Rye Nguyễn đã có giới thiệu trong bài Tạo Project C+
+ Đầu Tiên - Hello World.
Tôi đã chuẩn bị một Solution, và giao diện VS của tôi như sau:

Hình 1.10. Giao diên phân vùng làm việc
Solution Explorer: là cửa sổ hiển thị Solution, các Project và các tập tin trong
project.
Khu vực code: đây là khu vực để lập trình viên viết mã nguồn cho chương
trình. Cửa sổ lập trình cho một tập tin trong Project sẽ hiển thị khi người dùng nháy
đúp chuột lên tập tin đó trong cửa sổ Solution Explorer.
Output: Đây là cửa sổ hiển thị các thông tin, trạng thái của Solution khi build
hoặc của chương trình khi debug.
Error List: Là cửa sổ hiển thị danh sách lỗi (Error) hoặc cảnh báo (Warning)
của chương trình khi build.
25


×