BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN MÔN HỌC 2
NGÀNH:CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
Đề tài:
ĐO NHIỆT ĐỘ DÙNG IC SỐ DS18B20
HIỂN THỊ LCD GIAO TIẾP MÁY TÍNH
TP. HỒ CHÍ MINH-1/2012
GVHD: Phạm Văn Khoa
SVTH : Lê Ngọc Tuấn – Nguyễn Phúc Viên
MSSV : 08119070 08119073
Đại Học Sư Phạm Kỹ Thuật
Khoa Điện – Điện Tử
Bộ Môn Điện Tử Viễn Thông
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆTNAM
Độc Lập – Tự Do – Hạnh Phúc
Ngày……tháng … năm 201
PHIẾU CHẤM ĐỒ ÁN MÔN HỌC…
(Dành cho người hướng dẫn)
1. Họ tên sinh viên : ……………………………………………………………………………
MSSV:
…………………………….……………………………………… … MSSV:……
2. Tên đề tài :
………………………………………………………………………………………………
………………………………………………………………………………………………
3. Người hướng dẫn :
GIỚI THIỆU
LỜI NÓI ĐẦU
Phần A: Giới thiệu
Đồ án môn học 2 Trang 2
Lời đầu tiên nhóm thực hiện đề tài xin cảm ơn thầy cô giáo chuyên ngành điện
tử, cảm ơn thầy Phạm Văn Khoa đã hướng dẫn tận tình nhóm thực hiện đề tài trong quá
trình thực hiện đồ án này.
Trong quá trình sản xuất ở các nhà máy,xí nghiệp hiện nay,việc đo và khống chế nhiệt độ
tự động là một yêu cầu hết sức cần thiết và quan trọng.Vì nếu nắm bắt được nhiệt độ làm
việc của các hệ thống,dây chuyền sản xuất giúp chúng ta biết được tình trạng làm việc
của các yêu cầu.Và có những xử lí kịp thời tránh được những hư hỏng và sự cố có thể
xảy ra.
Do kiến thức còn hạn hẹp và trình độ về chuyên môn còn hạn chế nên sẽ khó
tránh khỏi những thiếu sót,khuyết điểm.Rất mong được sự đóng góp ý kiến và chỉ bảo
nhiệt tình từ phía các thầy cô để đề tài được hoàn thiện hơn.
Tp.HCM, Tháng 1 năm 2012
MỤC LỤC
Phần A GIỚI THIỆU Trang
Lời nói đầu 2
Phần A: Giới thiệu
Đồ án môn học 2 Trang 3
Mục lục 3
Liệt kê bảng 5
Liệt kê hình 5
Phần B Nội dung
Chương 1: Lý thuyết thiết kế 8
1.1. Giới thiệu khái quát về PIC 18F77A 8
1.2. Giới thiệu về IC số DS18B20 10
1.3. Gới thiệu LCD HD44780 15
Phần A: Giới thiệu
Đồ án môn học 2 Trang 5
Bảng 1.4: Hoạt động lệnh Cursor or display shift
Bảng 1.5: Tập lệnh LCD
Bảng 1.6: Maximun Rating
Bảng 1.7: Miền làm việc bình thường
Bảng 1.8: Thời gian tác động Write
Bảng 1.9: Thời gian tác động Read
Bảng 1.10: Đặc tính kĩ thuật
Bảng 1.11: Chức năng từng chân của cổng Com
Liệt kê hình
Hình 1.1: PIC 18F77A
Hình 1.2: DS18B20
Hình 1.3: Mã nội dung 64-bit của DS18B20
Hình 1.4: Kết nối DS18B20 với vi xử lí
Hình 1.5: Hình dạng LCD
Hình 1.6: Sơ đồ chân LCD
Hình 1.7: Các khối cơ bản
Hình 1.8: Giản đồ xung cập nhật AC
Hình 1.9: Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD
Hình 1.10: Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự
Hình 1.11: Vùng ROM kí tự
Hình 1.12: Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM,mã kí tự
Hình 1.13: Hoạt động dịch trái và dịch phải nội dung hiển thị
Hình 1.14: Kiểu con trỏ, kiểu kí tự và nhấp nháy kí tự
Hình 1.15: Viết LCD
Hình 1.16: Đọc LCD
Hình 1.17: Lưu đồ khởi tạo LCD
Hình 1.18: Đường truyền RS 232
Hình 1.19: Khung dữ liệu
- Sử dụng công nghệ tích hợp cao RISC CPU.
- Người sử dụng có thể lập trình với 35 câu lệnh đơn giãn.
- Tất cả các câu lệnh đều được thực hiện trong một chu kỳ ngoại trừ một số
lệnh rẽ nhánh được thực hiện trong 2 chu kỳ lệnh.
- Tốc độ hoạt động là: Xung đồng hồ vào DC 20MHz.
- Chu kỳ thực hiện trong 200ns.
- Bộ nhớ chương trình flash 8Kx 14words.
- Bộ nhớ Ram 368x8bytes.
- Bộ nhớ EFPROM 256x8 bytes.
1.1.2 Chức năng của Pic 16F877A
- Khả năng ngắt: lên tới 15 nguồn ngắt trong và ngắt ngoài.
- Ngăn nhớ Stack đọc phân chia làm 8 mức.
- Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp
- Nguồn khởi động lại (POR).
- Bộ tạo xung thời gian(PWRT) và bộ tạo dao động (OST).
- Bộ đếm xung thời gian(WDT) với nguồn dao động trên chip nguồn dao
động (RC) hoạt động đáng tin cậy.
- Có mạch chương trình bảo vệ.
- Phương thức cất giữ SLEEP.
- Có bản lựa chọn dao động công nghệ CMOS FLASH/EFPROM nguồn nuôi
thấp , tốc độ cao.
- Thiết kế hoàn toàn tĩnh.
- Mạch chương trình nối tiếp có hai chân.
- Xử lý đọc/ghi tới bộ nhớ chương trình.
- Dải điện thế hoạt động rộng 2V đến 5.5V.
- Nguồn sử dụng hiện tại 2.5mA.
- Công suất tiêu thụ: <0.6mA với 5V, 4MHz. 20uA với nguồn 3V , 32KHz
,<1uA với nguồn dự phòng.
1.1.3 Đặc tính nổi bật của thiết bị ngoại vi trên chip
• Độ phân giải khi đo nhiệt độ là 9,10,11 bit. Dải đo nhiệt độ -55
o
C đến 125
o
C,
từng bậc 0,5
o
C, có thể đạt độ chính xác đến 0,0625
o
C bằng việc hiệu chỉnh qua
phần mềm.
• Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể được
nối trên một bus, bus này được gọi là bus một dây (1-wire bus.
• Không cần thêm linh kiện bên ngoài.
• Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,0 V đến 5,5 V một
chiều và có thể được cấp thông qua đường dẫn dữ liệu.
• Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
• Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms.
• Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên
chip (on chip), giá trị nhị phân được khắc bằng tia laze.
- Đầu đo nhiệt độ số DS1820 đưa ra số liệu để biểu thị nhiệt độ đo được dưới
dạng mã nhị phân 9 bit. Các thông tin được gửi đến và nhận về từ DS1820 trên
giao diện 1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và
một đường làm dây đất là đủ để kết nối vi điều khiển đến điểm đo. Nguồn nuôi
Chương 1: Lí thuyết thiết kế
Đồ án môn học 2 Trang 11
cho các thao tác ghi/đọc/chuyển đổi có thể được trích từ đường tín hiệu, không
cần có thêm đường dây riêng để cấp điện áp nguồn.
- Mỗi vi mạch đo nhiệt độ DS1820 có một mã số định danh duy nhất, được khắc
- Sau khi thiết bị chủ (thường là một vi điều khiển) phát hiện ra một xung presence
pulse, nó có thể xuất ra một lệnh ROM. Có 5 loại lệnh ROM, mỗi lệnh dài 8 bit.
Thiết bị chủ phải đưa ra lệnh ROM thích hợp trước khi đưa ra một lệnh chức năng
để giao tiếp với cảm biến DS18S20.
Lệnh ROM
- READ ROM (33h)
- Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit mã định
tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC. Lệnh này chỉ dùng
khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột trên bus do tất
cả các thiết bị tớ cùng đáp ứng.
Chương 1: Lí thuyết thiết kế
Đồ án môn học 2 Trang 13
- MATCH ROM (55h)
- Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển bus
chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820
cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit
vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các cảm biến
DS1820 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset. Lệnh
này được sử dụng cả trong trường hợp có một cảm biến một dây, cả trong trường
hợp có nhiều cảm biến một dây.
- SKIP ROM (CCh)
- Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ của
DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được thời
gian chờ đợi nhưng chỉ mang hiệu quả khi trên bus chỉ có một cảm biến.
- SEARCH ROM (F0h)
- Lệnh này cho phép bộ điều khiển bus có thể dò tìm được số lượng thành viên tớ
đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một
chu trình dò tìm.
- ALARM SEARCH (ECh)
- CONVERT T (44h)
- Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số (nhị
phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi
nhiệt độ 2 byte trong bộ nhớ nháp Thời gian chuyển đổi không quá 200 ms, trong
thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0.
- READ POWER SUPPLY (B4h)
- Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp
nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường dẫn
dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng.
1.3. Gới thiệu LCD HD44780
Chương 1: Lí thuyết thiết kế
Đồ án môn học 2 Trang 15
1.3.1 Hình dáng và kích thước:
- Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1.6
là hai loại LCD thông dụng.
Hình 1.5 Hình dạng LCD
- Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự
và đặt tên như hình 1.7
Hình 1.6 Sơ đồ chân LCD
1.3.2 Chức năng của các chân
Bảng 1.1 Chức năng của các chân LCD
Chương 1: Lí thuyết thiết kế
Đồ án môn học 2 Trang 16
* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua
các chân DBx.
- Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông
qua các chân DBx.
thời gian để hoàn tất. Khi đang thực thi các hoạt động bên trong chip như thế,
LCD bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF (thông qua chân DB7 khi
có thiết lập RS=0, R/W=1) lên để báo cho MPU biết nó đang “bận”. Dĩ nhiên, khi
xong việc, nó sẽ đặt cờ BF lại mức 0.
*Bộ đếm địa chỉ AC : (Address Counter)
- Như trong sơ đồ khối, thanh ghi IR không trực tiếp kết nối với vùng RAM
(DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC. Bộ đếm này lại nối
với 2 vùng RAM theo kiểu rẽ nhánh. Khi một địa chỉ lệnh được nạp vào thanh
ghi IR, thông tin được nối trực tiếp cho 2 vùng RAM nhưng việc chọn lựa vùng
RAM tương tác đã được bao hàm trong mã lệnh.
Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị và
nội dung của AC được xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập
RS=0 và R/W=1 (xem bảng tóm tắt RS - R/W).
- Lưu ý: Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh mà
được cập nhật sau khi cờ BF lên mức cao (not busy), cho nên khi lập trình hiển
thị, bạn phải delay một khoảng tADD khoảng 4uS-5uS (ngay sau khi BF=1) trước
khi nạp dữ liệu mới. Xem thêm hình bên dưới.
Chương 1: Lí thuyết thiết kế
Đồ án môn học 2 Trang 19
Hình 1.8 Giản đồ xung cập nhật AC
1.3.3.4 Vùng RAM hiển thị DDRAM : (Display Data RAM)
- Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là
một ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD
sẽ hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã
cung cấp. Hình sau đây sẽ trình bày rõ hơn mối liên hệ này :
Hình 1.9 Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD
- Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit. Những
vùng RAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM đa mục
đích.
tự.
1.3.4 Tập lệnh của LCD :
Chương 1: Lí thuyết thiết kế
Đồ án môn học 2 Trang 23
- Trước khi tìm hiểu tập lệnh của LCD, sau đây là một vài chú ý khi giao tiếp với
LCD
- Tuy trong sơ đồ khối của LCD có nhiều khối khác nhau, nhưng khi lập trình điều
khiển LCD ta chỉ có thể tác động trực tiếp được vào 2 thanh ghi DR và IR thông qua
các chân DBx, và ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ 2
thanh ghi này.
- Với mỗi lệnh, LCD cần một khoảng thời gian để hoàn tất, thời gian này có thể khá
lâu đối với tốc độ của MPU, nên ta cần kiểm tra cờ BF hoặc đợi (delay) cho LCD
thực thi xong lệnh hiện hành mới có thể ra lệnh tiếp theo.
- Địa chỉ của RAM (AC) sẽ tự động tăng (giảm) 1 đơn vị, mỗi khi có lệnh ghi vào
RAM.
* Các lệnh của LCD có thể chia thành 4 nhóm như sau :
• Các lệnh về kiểu hiển thị. VD : Kiểu hiển thị (1 hàng / 2 hàng), chiều dài
dữ liệu (8 bit / 4 bit), …
• Chỉ định địa chỉ RAM nội.
• Nhóm lệnh truyền dữ liệu trong RAM nội.
• Các lệnh còn lại .
Bảng 1.3 Tập lệnh LCD
Chương 1: Lí thuyết thiết kế