BỘ CƠNG THƯƠNG
TRƯỜNG ĐHCN VIỆT
HUNG
CỘNG HỊA XÃ HỘI CHỦ NGHĨA
VIỆT NAM
Độc lập – Tự do – Hạnh phúc
Đồ Án Thiết Kế Hệ Thống Điện Tử
Giáo viên hướng dẫn: Đào Tất Hùng
Sinh viên thực hiện: Trịnh Trường Long
Mã sinh viên:
1700502
Lớp:
K41 – ĐH ĐIỆN TỬ 2
Khoa:
ĐIỆN – ĐIỆN TỬ
Hà Nội – Năm 2020
1
Đề Tài: Mạch Cảm Biến Nhiệt Độ LM35
và AT89s52 Hiển Thị Trên LCD
Mục Lục
Lời Mở đầu
CHƯƠNG I: Tổng Quan Về Đề Tài:
1.1 Đặt vấn đề:
1.2 Các phương pháp đo nhiệt độ:
1.3 Nhiệm vụ thiết kế:
1.4 Mục đích đề tài:
1.5 Ý nghĩa đề tài:
CHƯƠNG II: Cơ sở ý thuyết:
2.1 Giới thiệu chung về AT 89s52
2.1.1 Cấu trúc chung bộ VĐK 8051
2.1.1.2 Sơ đồ khối
2.1.1.3 Sơ đồ chân tín hiệu
2.1.2 Các thanh ghi
2.2 Giới thiệu chung về cảm biến nhiệt LM35
2.3 Giới thiệu về ADC 0808
2.4 Giới thiệu về LCD
2.4.1 Hình dáng và cấu tạo
2.4.2 Chức năng các chân
2
2.5 Những linh kiện khác
CHƯƠNG III: Thiết Kế và thi công mạch:
3.1 Sơ đồ khối
3.2 Chức năng từng khối
3.3 Quá trình đo nhiệt độ
3.4 Sơ đồ nguyên lý và nguyên lý hoạt động của mạch
3.4.1 Sơ đồ nguyên lý
3.4.2 Nguyên lý hoạt động của mạch
3.5 Lưu đồ thuật toán
3.5.1 Chương trình
CHƯƠNG IV: Kết Luận
4.1 Ưu Điểm
4.2 Nhược Điểm
4.3 Tính thực tế của sản phẩm đã thiết kế
4.4 Hướng cải tiến và phát triển
Lời Mở Đầu
- Việt Nam ta ngày một phát triển và giàu mạnh.Một trong những thay đổi đáng kể là
Việt Nam đã gia nhập WTO, một bước ngoặt quan trọng thay đổi đất nước, để chúng
ta, con người Việt có cơ hội nắm bắt nhiều thành tựu vĩ đại của thế giới, đặc biệt là về
các lĩnh vực khoa học kỹ thuật nói chúng và ngành Điện Tử nói riêng.Thế hệ trẻ
chúng ta khơng tự mình phấn đầu học hỏi khơng ngừng thì chúng ta sớm lạc hậu và
nhanh chóng thụt lùi. Nhìn ra được điều đo Trường Đại Học Công Nghiệp Việt Hung
Sơn Tây – Hà Nội đã sớm chủ trương hình thức đào tạo saau rộng, từ thấp đến cao. Để
3
tăng chất lượng học tập của sinh viên nhà trường nói chúng và Khoa Điện – Điện Tử
nói riêng đã tổ chức cho sinh viên làm Đồ Án Môn Học nhằm tạo nền tảng vững chắc
cho sinh viên khi ra trường , đáp ứng nhu cầu tuyển dụng việc làm .
- Với sự nhảy vọt của khoa học , kỹ thuật điện- điện tử, mà vì thế trong một thời gian
ngắn nó đã đạt được những thành tựu to lớn trong hầu hết các lĩnh vực trong đời sống xã
hội.Thiết bị và cơng nghệ ngày càng đổi mới để góp phần nâng cao chất lượng cuộc
sống.Ngày nay các thiết bị vi điều khiển có ứng dụng càng rộng rãi với ưu điểm nhỏ gọn
,linh hoạt và có thể điều khiển được rộng rãi. Vi điều khiển ngày càng chiếm lĩnh và đóng
vai trị cực kỳ quan trọng trong kỹ thuật điều khiển và tự động hóa.
- Giờ đây, nhu cầu chun dụng hóa, tối ưu( thời gian, khơng gian, giá thành) bảo mật
,tính chủ động linh hoạt trong cơng nghệ… ngày càng địi hỏi khắc khe việc đưa ra cơng
nghệ mới trong lĩnh vực chế tạo mạch điều khiển điện tử, để đáp ứng các nhu cầu cấp thiết
trong khoa học kỹ thuật điện -điện tử. Kỹ thuật vi điều khiển hiện nay rất phát triển,nó đáp
ứng được nhu cầu của nhiều ngành lĩnh vực sản xuất công nghiệp, tự động hóa ,trong đời
sống…So với kỹ thuật số thì kỹ thuật vi điều khiển nhỏ gọn hơn, do đó nó được tập hợp lại
và có khả năng lập trình để điều khiển nên tiện dụng và cơ động.Với các tính chất ưu việc
đó, trong đề tài này em sử dụng mạch cảm biến nhiệt độ dùng cảm biến LM35 xử lí hiển thị
bằng LCD 1602
Ngày nay lĩnh vực điều khiển đã được ứng dụng rộng rãi trong các thiết bị, sản
phẩm phục vụ cho nhu cầu sinh hoạt hằng ngày của cong người như máy giặt, ti vi, tủ
lạnh, đồng hồ, ..v.v nhằm giúp cho đời sốn ngày càng hiện đại và tiện lợi hơn. Đề tài
ứng dụng vi điều khiển trong đời sống thực tế rất phong phú và đa dạng ngằm đáp ứng
cho cuộc sống thuận tiện,tiện lợi hơn của con người. Với mục đích tìm hiểu và đáp
ứng những yêu cầu trên chúng em đã lựa chọn một đề tài có tính ứng dụng thực tế,
nhưng khơng quá xa lạ đối với mọi người đó là : “Thiết Kế Mạch Cảm Biến Nhiệt Độ
LM35 + AT89s52 Hiển Thị Trên LCD”.
4
Trong suốt thời gian thực hiện đề tài, chúng em đã gặp một số vướng mắc về lý
thuyết và khó khăn trong việc thi công sản phẩm. Tuy nhiên chúng em đã được sự giải
đáp và hướng dẫn tận tình của thầy Đào Tất Hùng, sự góp ý kiến của các bạn trong
lớp, nhóm. Được như vậy chúng em xin chân thành cảm ơn và mong muốn nhân được
nhiều hơn sự giúp đỡ, chỉ bảo của thầy cô và các bạn trong đồ án sau này.
Chúng em xin chân thành cảm ơn
CHƯƠNG I: Tổng Quan Về Đề Tài:
1.1 Đặt vấn đề:
Nhiệt độ là một trong những đại lượng vật lý được quan tâm nhiều nhất. Bởi vì
nhiệt có vai trị quyết định trong nhiều tính chất của vật chất. Một trong nhwunxg
đặc điểm tác động của nhiệt là làm thay đổi một cách liên tục các đại lượng chịu
sự ảnh hưởng của nó, ví dụ như áp suất , thể tích của một chất khí. Bởi vậy, trong
các nghiên cứu khoa học, trong công nghiệp và đời sống hàng ngày việc đo nhiệt
độ là điều cần thiết. Tuy nhiên, để đo được trị số chính xác của nhiệt độ lại là vấn
đề không đơn giản.
Cùng với sự ra đời và phát triển mạnh mẽ của các hệ vi xử lý, việc đo nhiệt độ áp
dụng vi xử lý, vi điều khiển đã mở ra nhiều hướng khác nhau và đưa đến nhiều
phương pháp khác nhau, linh hoạt, chính xác hơn.có nhiều cách để đo nhiệt độ,
trong đó có thể liệt kê một số phương pháp sau đây:
- Phương pháp quang dựa trên sự phân bố bức xạ nhiệt do dao động
- Phương pháp quang dựa trên sự phân bố bức xạ nhiệt do dao động nhiệt (do
hiệu ứng Doppler).
- Phương pháp cơ dựa trên sự dãn nở của vật rắn, của chất lỏng hoặc khí (với áp
suất khơng đổi ) hoặc dựa trên tốc độ âm.
- Phương pháp dựa trên sự phụ thuộc của điện trở vào nhiệt độ, hiệu ứng Sêbeck,
hoặc dựa trên sự thay đổi tần số dao động của thạch anh.
1.2 Các phương pháp đo nhiệt độ:
5
Trước tiên nói về các cảm biến nhiệt độ,đó là các cảm biến được sử dụng vào các quá
trình nhiệt như: đốt nóng, làm lạnh, trao đổi nhiệt v..v... Đại lượng vào của cảm biến
nhiệt độ là nhiệt độ và đại lượng ra là tín hiệu điện (dịng,áp).Một số cảm biến thường
sử dụng:
+Nhiệt điện trở : Nguyên lý làm việc là có điện trở thay đổi theo sự thay đổi
nhiệt độ của nó.Tuỳ theo tác dụng nhiệt của dịng điện cung cấp chạy qua chuyển đổi
người ta phân ra: Nhiệt điện trở đốt nóng và nhiệt điện trở khơng đốt nóng.
• Nhiệt điện trở đốt nóng,dịng điện chạy qua rất lớn làm nhiệt độ
của nó tăng lên cao hơn nhiệt độ mơi trường(100°C -800°C) nên
có sự toả nhiệt ra mơi trường xung quanh, như nhiệt dẫn, đối
lưu, bức xạ .
• Nhiệt điện trở khơng đốt nóng, dịng điện chạy qua rất nhỏ
không làm tăng nhiệt độ của điện trở và nhệt độ của nó bằng
nhiệt độ mơi trường. Nhiệt điện trở loại này dùng để đo nhiệt độ
và các đại lượng cơ học như đo di chuyển.
Nhiệt điện trở phân làm hai loại: Nhiệt điện trở dây(nhiệt điện trở đồng,nhiệt điện trở
Platin, nhiệt điện trở Niken) và nhiệt điện trở bán dẫn.
+Cặp nhiệt điện:Nguyên lý làm việc dựa trên 2 hiệu ứng:Thomson và Seebek
ứng dụng của cặp nhiệt điện chủ yếu để đo nhiệt độ, ngồi ra nó cịn dược dùng để đo
các đại lượng không điện và điện khác như: đo dòng điện ở tần số cao,đo hướng
chuyển động và lưu ượng của các dòng chảy, đo di chuyển , đo áp suất nhỏ
+Cảm biến nhiệt độ dùng đặc tính diode và tranzitor.
Đo nhiệt độ là nhiệm vụ thường gặp trong các ngành nhiệt học, hoá học ,luyện
kim...Tuỳ theo nhiệt độ đo mà có thể dùng các phương pháp đo khác nhau.Thông
thường nhiệt độ đo được chia thành 3 giải : Nhiệt độ thấp, nhiệt độ trung bình và nhiệt
độ cao.ở nhiệt độ trung bình và thấp, phương pháp đo thường là tiếp xúc nghĩa là các
6
chuyển đổi được đặt trực tiếp ở ngay môi trường cần đo. Đối với nhiệt độ cao,đo bằng
phương pháp không tiếp xúc, nghĩa là dụng cụ đo đặt ngồi mơi trường đo.
Một trong số những cách đó là đo nhiệt độ không tiếp xúc sử dụng cảm biến
LM35.
1.3 Nhiệm vụ thiết kế:
Thiết kế hệ bộ VXL đo nhiệt độ sử dụng VĐK89S52 và cảm biến LM35 giải quyết
những vấn đề sau:
- Thiết kế mạch đo nhiệt độ trong dải từ 0 oC-100oC và hiển thị.
- Viết chương trình phần mềm giải quyết những vấn đề trên.
Khi nghiên cứu đồ án này chúng em đã:
Hiểu được cách thức và chế độ hoạt động của VĐK AT89S52
Hiểu được cách thức hoạt động của cảm biến nhiệt độ LM 35.
Thiết kế, chế tạo được mạch đo nhiệt độ dùng AT89S52
1.4 Ý nghĩa đề tài:
+ Ý nghĩa lý luận:
Tồn bộ chương trình và bản thuyết minh của đề tài sẽ trở thành tài liệu nghiên
cứu, tham khảo nhanh, dễ hiểu, thiết thực cho các bạn sinh viên, những người thích
tìm hiểu về đề tài này của chúng em.
+ Ý nghĩa thực tiễn:
Với sự thành cơng của đề tài sẽ góp phần giúp cho các bạn sinh viên mới nói
chung và các bạn sinh viên khoa Điện – Điện Tử nói riêng thấy rõ được ý nghĩa thực
tế và thêm u thích chun ngành mình đã chọn.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về chung AT89S51:
VI ĐIỀU KHIỂN AT89S52 LÀ GÌ
AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản phẩm AT89S52 thí
ch hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các toán số học ở cấu
trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuấtdữ liệu nhanh trên RAM
nội.
Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồm cả lệnh nhân
và lệnh chia. Nó cung cấp những hổ trợ mở rộng trên chip dùng cho những biến một
7
bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bit trực tiếp trong hệ
thống điều khiển.
Cấu trúc tổng quát AT89S52
-
4KB ROM để nạp chương trình điều khiển
-
256 byte RAM gồm các thanh ghi
-
4 Port vào ra 8 bit
-
2 bộ định thời 16 bit
-
Một cổng giao tiếp nối tiếp chuẩn RS232
-
Có thể quản lý 64KB bộ nhơ chương trình và 64KB bộ nhớ dữ liệu
-
Một bộ xử lý các phép toàn logic
-
210 bit RAM nội được dịa chỉ hóa
-
Bộ nhân/chia thực hiện trong 4 micro giây
Thông số kỹ thuật: Vi điều khiển IC 89s52
o
o
o
o
o
o
o
o
Họ vi điều khiển 8 bit
Điện áp cung cấp: 4-6V
Tần số hoạt động : 24 Mhz
Bộ nhớ : 8 Kb Flash, 256 Bytes SRAM
Timer/Counter : 3 bộ 16 bit
32 chân I/O lập trình được
8 nguồn ngắt khác nhau
Kiểu chân : PDIP40
2.1.1 Cấu trúc chung bộ VĐK 8051
8
2.1.1.2 Sơ đồ khối:
2.1.1.3 Sơ đồ chân tín hiệu:
9
Chức năng của các chân tín hiệu như sau:
- P0.0 đến P0.7 là các chân của cổng 0
- P1.0 đến P1.7 là các chân của cổng 1
- P2.0 đến P2.7 là các chân của cổng 2
- P3.0 đến P3.7 là các chân của cổng 3
- RxD (Pin 10 - P3.0): Nhận tín hiệu kiểu nối tiếp.
- TxD (Pin 11 - P3.1): Truyền tín hiệu kiểu nối tiếp.
- /INT0 (Pin 12 - P3.2): Ngắt ngoài 0.
- /INT1(Pin 13 - P3.3): Ngắt ngoài 1.
- T0 (Pin 14 - P3.4): Chân vào 0 của bộ Timer/Counter 0.
10
- T1(Pin 15 - P3.5): Chân vào 1 của bộ Timer/Counter 1.
- /Wr (Pin 16 - P3.6): Ghi dữ liệu vào bộ nhớ ngoài.
- /Rd (Pin 17 - P3.7): Đọc dữ liệu từ bộ nhớ ngoài.
- RST (Pin 9): Chân vào Reset, tích cực ở mức logic cao trong khoảng 2 chu kỳ
máy.
- XTAL1(Pin 19): Chân vào mạch khuếch đaị dao động
- XTAL2 (Pin 18): Chân ra từ mạch khuếch đaị dao động.
- /PSEN (Pin 29): Chân cho phép đọc bộ nhớ chương trình ngồi (ROM ngồi)
Mơ tả chức năng một số chân quan trọng:
- Vcc: Chân cung cấp điện.
- GND: Chân nối đất.
- Port 0: Port 0 là port xuất nhập 8 bit 2 chiều cực D hở. Port 0 cịn được cấu
hình làm bus địa chỉ (byte thấp) và làm bus dữ liệu đa hợp trong khi truy
xuất bộ nhớ dữ liệu ngồi và bộ nhớ chương trình ngoài. Port 0 cũng nhận
các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm
tra chương trình.
- Port 1: Port 1 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong.
Khi các logic 1 được ghi lên các chân của port 1, các chân này được kéo lên mức
cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ
vào. Khi làm nhiệm vụ là các port nhập, các chân của port 1 đang được kéo
xuống mức thấp do tác động bên ngồi sẽ cấp dịng do có các điện trở kéo lên
bên trong.
Port 2: Port 2 là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong.
Khi các logic 1 được ghi lên các chân của port 2, các chân này được sử dụng như
là các ngõ vào. Khi làm nhiệm vụ port nhập, các chân của port 2 đang được kéo
xuống mức thấp do tác động bên ngồi sẽ cấp dịng do có các điện trở kéo lên bên
trong. Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ
11
chương trình ngồi, và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các
địa chỉ 16 bit.
Port 3: Là port xuất nhập 8 bit hai chiều có các điện trở kéo lên bên trong. Khi các
logic 1 được ghi lên các chân của port 3, các chân này được kéo lên mức cao bởi
các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào. Khi
làm nhiệm vụ port nhập, các chân của port 3 đang được kéo xuống mức thấp do
tác động bên ngồi sẽ cấp dịng do có các điện trở kéo lên bên trong. Port 3 còn
được sử dụng làm các chức năng khác của AT89C51
RST: Ngõ vào Reset. Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao
động đang hoạt động sẽ Reset AT89C51.
Chân reset có tác dụng reset cho chíp, mức tích cực của chân này là mức 1,
để reset ta phải đưa mức 1 (5v) đến chân này với thời gian tối thiểu 2 chu kỳ
máy ( tương đương 2µs – tương đương với thạch anh 12Mhz ).
ALE: ALE là một xung ngõ ra cho phép chốt địa chỉ ALE (Address Latch Enable)
cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài. Chân
này cũng được dùng làm ngõ vào xung lập trình (
PROG
) trong thời gian lập trình
cho Flash.
-
-
Khi hoạt động bình thường, xung của ngõ ra ALE ln ln có tần số bằng 1/6
tần số của mạch dao động trên chip, có thể được sử dụng cho các mục đích định
thời từ bên ngồi và tạo xung Clock. Tuy nhiên cần lưu ý là một xung ALE sẽ bị
bỏ qua trong mỗi chu kì truy xuất của bộ nhớ dữ liệu ngoài.
Khi cần, hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vơ hiệu hố bằng
cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ byte là 8E(h). Khi bit
này được set, ALE chỉ tích cực trong thời gian thực thi lệnh MOVX hoặc
MOVC. Ngược lại chân này sẽ được kéo lên mức cao. Việc set bit không cho
phép hoạt động chốt byte thấp của địa chỉ sẽ khơng có tác dụng nếu bộ vi điều
khiển đang ở chế độ thực thi chương trình ngồi.
12
XTAL1: Ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến
mạch tạo xung Clock bên trong chip.
XTAL2: Ngõ ra từ mạch khuếch đại đảo của mạch dao động .
2.1.2 Các thanh ghi:
Thanh ghi
Nội dung
Bộ đếm chương trình (Program couter- PC)
0000h
Accumulator (A)
00h
B register (B)
00h
PSW (Thanh ghi trạng thái chương trình)
00h
SP (Stack pointer – Thanh ghi ngăn xếp)
07h
DPTR (Con trỏ dữ liệu)
0000h
All ports (Các port P0,1,2,3)
FFh
IP (Thanh ghi ưu tiên ngắt)
XXX00000b
IE (Thanh ghi điều khiển ngắt )
0XX00000b
All timer registers ( tất cả các thanh ghi của bộ định 00h
thời )
SCON
00h
SBUF
00h
PCON (HMOS)
0XXXXXXXb
PCON (CMOS)
0XXX0000b
2.2 Giới thiệu về cảm biến nhiệt LM35
- LM35 là họ cảm biến nhiệt mạch tích hợp chính xác cao có điện áp đầu ra tỷ lệ
tuyến tính với nhiệt độ theo thang độ Celsius. Họ cảm biến này cũng khơng u cầu
căn chỉnh ngồi vì vốn nó đã được căn chỉnh
13
Sơ đồ chân của cảm biến nhiệt độ LM 35
LM35 là cảm biến nhiệt độ analog ,nhiệt độ được xác định bằng cách đo hiệu
điện thế ngõ ra của LM35
o
o
Đơn vị nhiệt độ : 0C.
Có mức điện áp thay đổi trực tiếp theo 0C ( 10 mV/0C).
Có hiệu năng cao,cơng suất tiêu thụ là 60 Ua.
Sản phẩm không cần phải căn chỉnh nhiệt đội khi sử dụng.
Độ chính xác thực tế : 1/4 0C ở nhiệt độ phịng và ¾ 0C ở ngoài khoảng
-55 0C tới 150 0C.
o Chân + Vs (1) là chân cung cấp điện áp cho LM 35 DZ hoạt động từ 4 –
20V.
o Chân Vout ( 2) là chân điện áp đầu ra LM35 được đưa vào chân Analog
của các bộ ADC.
o Chân GND là chân nối mass: Chân này này tránh hỏng cảm biến
cũng như làm giảm sai số quá trình đo.
o
o
o
Lm35 – Dải nhiệt độ từ -50 0C.đến + 150 0C.
-Độ chính xác +1.5 0C.
-Đầu ra 10 Mv/F
14
Một số thơng số chính của cảm biến đo nhiệt độ LM35:
Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp
đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng khơng
u cầu cân chỉnh ngồ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/°C.
+ Độ 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 - 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°Cđến 150°C.
2.3 Giới thiệu về ADC 0808:
Tính năng: Tự động cập nhật giá trị ADC (giá trị nhiệt độ của LM35) từ IC
ADC0808 rồi hiển thị lên LCD , tạo xung đồng hồ cho IC ADC0808 sử dụng ngắt
timer.
15
Hình ảnh ADC0808
Sơ đồ chân ADC0808
-
Tổng quát:
16
o
Số bit: 8
o
Tốc độ lấy mẫu mỗi giây: 10K
o
Số đầu vào: 8
o
Loại đầu vào: đơn
o
Cấu hình: MUX-S / H-ADC
o
Nguồn điện: 4,5-6V
o
Số chân: 28 Chân
Chức năng các chân:
•
Các chân từ IN0-IN7 là ngõ vào analog.
•
Vref+/Vref- là chân cấp áp so sánh.
•
ALE là chân cho phép giao tiếp
•
Từ 2ˆ-1 đến 2ˆ-8 là các ngõ ra song song 8bit
•
START là chân cho phép chuyển đổi
•
EOC là chân báo q trình chuyển đổi hồn tất, kiểu dạng cờ ngắt
•
ADD A, ADD B, ADD C là 3bit địa chỉ chọn kênh đầu vào từ IN0-IN7
•
VCC, GND là chân cấp nguồn dương 5V và nguồn âm (Mass)
•
CLOCK là chân cấp xung đồng hồ cho IC hoạt động, tốc độ lấy mẫu và chuyển
đổi phụ thuộc vào cái này, tối đa 640khz
•
OUTPUT ENABLE (OE) là chân báo cho IC xuất data ra Port để vi điều khiển
lấy đi
2.4 Giới thiệu LCD
17
2.4.1 Hình dáng và cấu tạo
Có rất nhiều loại LCD được sử dụng trong nhiều ứng dụng của vi điều khiển. LCD có rất
nhiều ưu điểm so với các dạng hiển thị khác: nó có khả năng hiển thi kí tự đa dạng, trực
quan (chữ, số, kí tự đồ họa) dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao
tiếp khác nhau, tốn ít tài nguyên hệ thống và giá thành rẻ...
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau.
Hình dạng LCD thơng dụng
2.4.2 Chức năng các chân
18
Chân Ký
hiệu
1
Vss
Mô tả
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
2
VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3
VEE Điều chỉnh độ tương phản của LCD.
4
RS
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của
LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của
LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD.
5
R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để
LCD ở chế độ đọc.
6
E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép
của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp
nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low
transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát
hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ
ở bus đến khi nào chân E xuống mức thấp.
7 - 14 DB0 Tám đường của bus dữ liệu dùng để trao đổi thơng tin với MPU.
Có 2 chế độ sử dụng 8 đường bus này :
DB7 + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit
MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới
DB7, bit MSB là DB7
15
Nguồn dương cho đèn nền
16
GND cho đèn nền
19
2.5
Những linh kiện kèm theo mạch
- Thạch anh
- Tụ điện
- Điện trở
- Còi Báo
- Đèn Led
- Biến trở tam giác 10k
- Tụ gốm 33p
- Tụ hóa 10uF-25v
- Nút nhấn 2p
CHƯƠNG III: Thiết Kế và Thi Công Mạch
3.1 Sơ đồ khối
Khối
Điều Khiển
Khối
Cảm Biến
Khối
Khối Nguồn
Khối Chuyển
Đổi ADC
Hiển Thị
20
3.2 Chức năng từng khối:
- Khối nguồn: Có chức năng cung cấp nguồn ni cho tồn bộ mạch điện.
Nguồn ni thường duy trì ổn định ở mức +5V. Do yêu cầu cao của hệ thống các
nguồn nuôi thường được chế tạo một cách đặc biệt nhằm đem lại hiệu quả, và tính ổn
định cao.
-Khối cảm biến: Hoạt động của LM35(chuyển tín hiệu nhiệt độ thành điện áp tương tự)
Cảm biến cho điện áp ra thay đổi theo nhiệt độ đầu vào từ -50 oC đến 150oC. Sự thay
đổi của điện áp ra sẽ qua mạch đo xử lý để được giá trị hiển thị. Chân 3 là GND,chân 2 là
Vout,chân 1 là Vcc. Dữ liệu chân 2 sẽ được đưa vào bộ đọc và chuyển đổi ADC được tích
hợp trong bộ xử lý thông qua kênh AN1
- Khối chuyển đổi ADC
ADC 0804 với đọ phân dải 8 bit có chức năng chuyển đổi từ tương tự sang số giúp vi xử
lý có thể đọc và xuất ra những tín hiệu tương ứng từ LM35.
3.3 Quá trình đo nhiệt độ
Quy trình đo
Đối Tượng
Cần Đo
Cảm
Biến
Chuyển Đổi
ADC
Xử Lí
Hiển Thị
3.4 Sơ đồ nguyên lý và nguyên lý hoạt động của mạch
3.4.1 Sơ đồ nguyên lí
3.4.2 Ngun lí hoạt động
3.5 lưu đồ thuật tốn
21
Bắt đầu
Khởi tạo LCD
Khởi tạo vào ra các Port
Chuyển đổi ADC
Hiển thị nhiệt độ lên LCD
Kết thúc
3.5.1 Chương trình
//// CHƯƠNG TRÌNH CHÍNH////
22
Do nhiet do dung LM35 va ADC0808 hoac ADC0809
*/
#include <REGX51.H>
#define VREF5 //VREF=5V
//Khai bao chan giao tiep ADC0808
#define ADC0808_DATA P3//PORT
#define ADC0808_A P2_0 //PIN
#define ADC0808_B P2_1
#define ADC0808_C P2_2
#define ADC0808_ALE P2_3
#define ADC0808_START P2_4
#define ADC0808_EOC P2_5
#define ADC0808_OE P2_6
#define ADC0808_CLK P2_7
//Khai bao chan giao tiep LCD16x2 4bit
#define LCD_RS P0_0
#define LCD_RW P0_1
#define LCD_EN P0_2
#define LCD_D4 P0_4
#define LCD_D5 P0_5
#define LCD_D6 P0_6
#define LCD_D7 P0_7
#define canhbao P1_2
/*****************ADC0808*********************/
23
//Ham doc ADC0808 theo kenh
unsigned char ADC0808_Read(unsigned char channel){
unsigned char kq;
ADC0808_A = channel & 0x01;
ADC0808_B = channel & 0x02;
ADC0808_C = channel & 0x04;
ADC0808_ALE = 1;
ADC0808_START = 1;
ADC0808_ALE = 0;
ADC0808_START = 0;
while(ADC0808_EOC);
while(!ADC0808_EOC);
ADC0808_OE = 1;
kq = ADC0808_DATA;
ADC0808_OE = 0;
return kq;
}
/*****************Ham delay*********************/
void delay_us(unsigned int t){
unsigned int i;
for(i=0;i
}
void delay_ms(unsigned int t)
{
24
unsigned int i,j;
for(i=0;i
for(j=0;j<125;j++);
}
/**************Ctr giao tiep LCD 16x2 4bit**********************/
void LCD_Enable(void){
LCD_EN =1;
delay_us(3);
LCD_EN=0;
delay_us(50);
}
//Ham Gui 4 Bit Du Lieu Ra LCD
void LCD_Send4Bit(unsigned char Data){
LCD_D4=Data & 0x01;
LCD_D5=(Data>>1)&1;
LCD_D6=(Data>>2)&1;
LCD_D7=(Data>>3)&1;
}
// Ham Gui 1 Lenh Cho LCD
void LCD_SendCommand(unsigned char command){
LCD_Send4Bit(command >>4);/* Gui 4 bit cao */
LCD_Enable();
LCD_Send4Bit(command); /* Gui 4 bit thap*/
LCD_Enable();
25