1. Trang chủ
  2. » Luận Văn - Báo Cáo

đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính

63 1,2K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 1,95 MB

Nội dung

đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính

Trang 1

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

Trang 2

Đạ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 : ………

………

4 Những ưu điểm của Đồ án : ………

… ………

………

………

………

Những thiếu sót của Đồ án: ………

………

………

………

………

5 Đề nghị : Được bảo vệ:  Bổ sung để được bảo vệ:  Không được bảo vệ:  6 Các câu hỏi sinh viên phải trả lời trước Tổ chấm ĐAMH: a)………

………

b)………

………

c) ………

……….………

Đánh giá Điểm (Số và chữ):………

CHỮ KÝ và HỌ TÊN

Trang 3

Phần A GIỚI THIỆU

LỜI NÓI ĐẦU

Trang 4

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

Trang 5

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

1.4 RS232 31

Chương 2: Sơ đồ khối 36

2.1 Sơ đồ khối 36

2.2 Chức năng các khối 36

2.3 Thiết kế các khối 36

Chương 3: Thiết kế và thi công 38

3.1 Sơ đồ nguyên lý 38

3.2 Sơ đồ mạch in 42

3.3 Linh kiện sử dụng trong mạch 42

Chương 4: Phần mềm 43

4.1 Lưa đồ giải thuật 43

4.2 Phân tích chương trình 46

Trang 6

Chương 5: Kết quả 47

5.1 Kết quả thi công 47

5.2 Dao diện chương trình giao tiếp 48

Chương 6: Kết luận 49

6.1 Kết quả đạt được 49

6.2 Chưa đạt và hướng phát triển 49

Phần C Phụ lục và tài liệu tham khảo 1 Phụ lục 51

2 Tài liệu tham khảo 63

3 Lời kết 63

Liệt kê bảng Bảng 1.1: Chức năng của các chân LCD

Trang 7

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.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

Hình 1.20: Quá trình truyền dữ liệu

Hình 1.21: Cổng Com

Hình 1.21: Sơ đồ chân

Hình 1.21: Sơ đồ mạch giao tiếp

Hình 2.1: Sơ đồ khối

Hình 3.1: Khối điều khiển

Hình 3.2: Khối hiển thị

Hình 3.3: Khối nguồn

Hình 3.4: Khối giao tiếp

Hình 3.5: Khối Reset,Switch

Hình 3.6: Mạch Layout

Hình 4.1: Giải thuật vi điều khiển

Trang 8

Hình 4.2: Giải thuật Match Rom

Hình 5.1: Hình ảnh thực tế của mạch

Hình 5.2: Giao diện chương trình giao tiếp PC

Trang 9

Phần B NỘI DUNG

Trang 10

Chương 1: LÝ THUYẾT THIẾT KẾ

1.1 Giới thiệu khái quát về Pic 16F887A

1.1.1 Đặc tính của vi điều khiển Pic 16F887A

- 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

Trang 11

- Timer0: 8 bit với bộ định thời , bộ đếm với hệ số tỉ lệ trước

- Timer1: 16 bit với bộ định thời , bộ đếm với hệ số tỉ lệ trước, có khả năng tăng trong khi ở chế độ SLEEP qua xung đồng hồ được cung cấp bên ngoài

- Timer2: 8 bit với bộ định thời , bộ đếm 8 bit với hệ số tỉ lệ trước , hệ số tỉ lệ sau

- Có 2 chế độ bắt giữ , so sánh, và điều chế độ rộng xung(PWM)

- Chế độ bắt giữ với 16 bit, với tốc độ 12,5ns, chế độ so sánh với 16 bit tốc độ xử lý cực đại là 200ns, chế độ điều chế độ rộng xung với 10 bit

- Bộ chuyển đổi tin hiệu số sang tương tự với 10 bit

- Cổng truyền thông nối tiếp SSP và SPI phương thức chủ tớ và I2C

- Bộ truyền nhận thông tin đồng bộ, dị bộ (USART/SCR) có khả năng hiện 9 bit địa chỉ

- Cổng phụ song song PSP với 8 bit mở rộng với RD , WR , CS điều khiển

1.1.4 Sơ đồ và chức năng của các chân Pic 16F887A

Hình 1.1 Pic 16F877A

1.2 Giới thiệu về cảm biến nhiệt độ DS18B20

Trang 12

1.2.1 Giới thiệu:

- DS1820 là một sản phẩm của công ty Dallas (Hoa Kỳ), đây cũng là công ty đóng góp nhiều vào việc cho ra đời bus một dây và các cảm biến một dây Hình dạng bên ngoài của cảm biến một dây DS1820 được mô tả trên hình 1.2, trong đó dạng

vỏ TO-92 với 3 chân là dạng thường gặp và được dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả da người

Hình 1.2 DS18B20

1.2.2 Chức năng của DS18B20

• Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông

• Độ phân giải khi đo nhiệt độ là 9,10,11 bit Dải đo nhiệt độ -55oC đến 125oC, từng bậc 0,5oC, có thể đạt độ chính xác đến 0,0625oC 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à

Trang 13

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 bằng laser trong quá trình chế tạo vi mạch nên nhiều vi mạch DS1820 có thể cùng kết nối vào một bus 1-wire mà không có sự nhầm lẫn Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều vị trí khác nhau trở nên dễ dàng và với chi phí thấp Theo chuẩn 1-wire độ dài tối đa cho phép của bus là 300 m Số lượng các cảm biến nối vào bus không hạn chế

- Để nâng cao độ phân giả lên trên 9 bit ta phải tính toán thêm bằng phần mềm dựa trên các số liệu lưu trữ trên các thanh ghi nhiệt độ, COUNT REMAIN và COUNT PER C trong nhóm các thanh ghi nháp (scratchpad) việc tính toán dựa theo

phương trình sau:

- Khi sử dụng phương trình này cảm biến một dây DS1820 được nâng cấp trở thành một cảm biến nhiệt độ có độ phân giải cao

Bộ nhớ ROM 64–BIT

- Mỗi cảm biến nhiệt độ DS1820 có một dãy mã 64 bit duy nhất được lưu trữ trong

bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laze Ý nghĩa của 64 bit mã được giải thích trên hình 1.3:

Hình 1.3 Nội dung dãy mã 64-bit trên bộ nhớ ROM

Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:

+Tám bit đầu tiên là mã định danh họ một dây, mã của DS1820 là 10h

+48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ có một số mã

+Tám bit có ý nghĩa nhất là byte mã kiểm tra CRC (cyclic redundancy check), byte này được tính toán từ 56 bit đầu tiên của dãy mã trên ROM

Trang 14

Hình 1.4 Kết nối DS18B20 với vi xử lí

1.2.3 Cách truy xuất DS18B20

- Để truy cập lên cảm biến một dây DS1820 ta phải sử dụng hai nhóm lệnh: các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ, các lệnh này có thể được mô tả ngắn gọn như sau:

- 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

Trang 15

- 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)

- Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến

Lệnh chức năng bộ nhớ

- Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS1820 Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS1820 khởi tạo quá trình

chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn Các lệnh chức năng có thể được mô tả ngắn gọn như sau:

- WRITE SCRATCHPAD (4Eh)

- Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820 Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào

Trang 16

thanh ghi TL (byte 3 của bộ nhớ nháp) Dữ liệu truyền theo trình tự đầu tiên là bit

có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần Cả hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác xuất hiện

- READ SCRATCHPAD (BEh)

- Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp Quá trình đọc bắt đầu

từ bit có ý nghĩa nhất của byte 0 và tiếp tục cho đến byte thứ 9 (byte 8 - CRC) Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc

- 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

Trang 17

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

Trang 18

* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua

Trang 19

Hình 1.7 Các khối cơ bản

1.3.3.1 Các thanh ghi :

- Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor

Register) và thanh ghi dữ liệu DR (Data Register)

- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua 8 đường

bus DB0-DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR Nghĩa là, khi

ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó

VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)

Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110

- Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM DDRAM hoặc CGRAM(ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho MPU (ở chế độ đọc) Nghĩa là,khi MPU ghi thông tin vào DR, mạch nội bên trong chíp sẽ tự động ghi thông tin này vào DDRAM hoặc

Trang 20

CGRAM Hoặc khi thông tin về địa chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽ được chuyển ra DR để truyền cho MPU Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp.

Bảng 1.2 RS-R/W

1.3.3.2 Cờ báo bận BF: (Busy Flag)

- Khi thực hiện các hoạt động bên trong chíp, mạch nội bên trong cần một khoảng

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

Trang 21

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

Lưu ý là để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX

Trang 22

1.3.3.5 Vùng ROM chứa kí tự CGROM: Character Generator ROM

- Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí tự,

và định địa chỉ bằng 8 bit Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mẫu kí

tự kiểu 5x10 (tổng cộng là 240 thay vì 256 28= mẫu kí tự) Người dùng không thể thay đổi vùng ROM này

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ự.

- Như vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự y nào đó, người dùng phải ghi vào vùng DDRAM tại địa chỉ x (xem bảng mối liên hệ giữa

DDRAM và vị trí hiển thị) một chuỗi mã kí tự 8 bit trên CGROM Chú ý là trong bảng mã kí tự trong CGROM ở hình bên dưới có mã ROM A00

Trang 23

Hình 1.11 Vùng ROM kí tự

1.3.3.6 Vùng RAM chứa kí tự đồ họa CGRAM : (Character Generator RAM)

Trang 24

- Như trên bảng mã kí tự, nhà sản xuất dành vùng có địa chỉ byte cao là 0000 để

người dùng có thể tạo các mẫu kí tự đồ họa riêng Tuy nhiên dung lượng vùng này rất hạn chế: Ta chỉ có thể tạo 8 kí tự loại 5x8 điểm ảnh, hoặc 4 kí tự loại 5x10 điểm ảnh

Để ghi vào CGRAM, hãy xem hình 6 bên dưới

Hình 1.12 Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí

tự.

Trang 25

- 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

Trang 26

Hình 1.13 Hoạt động dịch trái và dịch phải nội dung hiển thị

Trang 27

Hình 1.14 Kiểu con trỏ, kiểu kí tự và nhấp nháy kí tự

Bảng 1.4 Hoạt động lệnh Cursor or display shift

Trang 28

Bảng 1.5 Tập lệnh LCD

Trang 29

1.3.5 Giao tiếp giữa LCD và MPU :

1.3.5.1 Đặc tính điện của các chân giao tiếp :

- LCD sẽ bị hỏng nghiêm trọng, hoặc hoạt động sai lệch nếu bạn vi phạm khoảng

đặc tính điện sau đây:

Bảng 1.6 Maximun Rating

- Đặc tính điện làm việc điển hình: (Đo trong điều kiện hoạt động Vcc = 4.5V đến 5.5V, T = -30 đến +75C)

Trang 30

Bảng 1.7 Miền làm việc bình thường

1.3.5.2 Bus Timing:

Hình 1.15 Viết LCD

Trang 31

Bảng 1.8 Thời gian tác động Write

Hình 1.16 Đọc LCD Bảng 1.9 Thời gian tác động Read

Ngày đăng: 31/05/2014, 14:39

HÌNH ẢNH LIÊN QUAN

Hình 1.8  Giản đồ xung cập nhật AC - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Hình 1.8 Giản đồ xung cập nhật AC (Trang 21)
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 - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
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 (Trang 21)
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ự. - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
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ự (Trang 22)
Hình 1.12  Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Hình 1.12 Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí (Trang 24)
Hình 1.13  Hoạt động dịch trái và dịch phải nội dung hiển thị - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Hình 1.13 Hoạt động dịch trái và dịch phải nội dung hiển thị (Trang 26)
Hình 1.14 Kiểu con trỏ, kiểu kí tự  và nhấp nháy kí tự - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Hình 1.14 Kiểu con trỏ, kiểu kí tự và nhấp nháy kí tự (Trang 27)
Bảng 1.4 Hoạt động lệnh Cursor or display shift - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Bảng 1.4 Hoạt động lệnh Cursor or display shift (Trang 27)
Bảng 1.6 Maximun Rating - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Bảng 1.6 Maximun Rating (Trang 29)
Bảng 1.7 Miền làm việc bình thường - đo nhiệt độ dùng ic số ds18b20 hiển thị lcd giao tiếp máy tính
Bảng 1.7 Miền làm việc bình thường (Trang 30)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w