ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
LỜI NÓI ĐẦU
Vi điều khiển ngày nay ngày càng phát triển và ứng dụng rộng rãi ở hầu hết
các hệ thống điều khiển trong công nghiệp cũng như các thiết bị điện tử dân
dụng. Chính bởi vai trò và chức năng của Vi điều khiển đã đem lại nhiều ưu
điểm và tính năng đặc biệt cho hệ thống điều khiển. Bằng những kiến thức
đã học trong môn học Vi xử lý cũng như môn Thực tập Vi điều khiển để áp
dụng trong thực tế và đời sống, em đã chọn đề tài : “ PIC 16F887 giao tiếp
với module LCD 16x2 theo chuẩn I2C đo nhiệt độ dùng 1 cảm biến LM35
và 1 biến trở (tạo áp âm và dương) hiển thị 2 kênh trên LCD ” để thực hiện
đồ án cho môn học này.
Nội dung báo cáo này gồm 4 chương :
CHƯƠNG 1: GIỚI THIỆU YÊU CẦU – GIỚI HẠN ĐỀ TÀI
CHƯƠNG 2: THIẾT KẾ
CHƯƠNG 3: THI CÔNG MẠCH
CHƯƠNG 4: KẾT QUẢ THỰC HIỆN – HƯỚNG PHÁT TRIỂN
Để hoàn thành đồ án, em xin chân thành cảm ơn sự hướng dẫn tận tình của
Thầy Trương Ngọc Anh – Giảng viên khoa Điện – Điện Tử, Trường Đại
Học Sư Phạm Kỹ Thuật Tp.HCM. Cùng với sự giúp đỡ tận tình của các
thầy cô bộ môn và các bạn trong lớp đã giúp đỡ em hoàn thành tốt đồ án
này.
Trong quá trình nghiên cứu, vì trình đô ̣ và kiế n thức bản thân còn giới ha ̣n
nên viê ̣c tìm hiểu về đề tài và thi công mạch không tránh khỏi những sai
sót. Mong Thầy cùng các bạn góp ý để đề tài được hoàn thiện hơn và có thể
ứng dụng nhiều trong thực tế.
Một lần nữa em xin chân thành cảm ơn!
1
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
Nhận xét của GVHD:
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
2
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
MỤC LỤC
LỜI NÓI ĐẦU....................................................................................................................1
CHƯƠNG 1: GIỚI THIỆU YÊU CẦU-GIỚI HẠN ĐỀ TÀI ........................................5
1.1
Giới thiệu yêu cầu ..............................................................................................5
1.2
Giới hạn đề tài ....................................................................................................5
1.3
Mục tiêu ..............................................................................................................5
CHƯƠNG 2 : THIẾT KẾ .................................................................................................6
2.1 Sơ đồ khối và chức năng .........................................................................................6
2.1.1 Sơ đồ khối. ..........................................................................................................6
2.1.2 Chức năng của từng khối : ..................................................................................7
2.2 Thiết kế sơ dồ nguyên lý..........................................................................................7
2.2.1 Khối nguồn : .......................................................................................................7
2.2.2 Mạch cộng điện áp. .............................................................................................8
2.2.3 Khối Cảm biến : ..................................................................................................9
2.2.4 Khối Vi điều khiển...........................................................................................10
2.2.5 Khối hiển thị .....................................................................................................14
2.2.6 Module I2C ( PCF8574) ..................................................................................15
2.2.7 Sơ đồ nguyên lý toàn mạch...............................................................................19
2.3 Lưu đồ và chương trình .......................................................................................20
2.3.1 Lưu đồ...............................................................................................................20
2.3.2 Chương trình. ....................................................................................................21
CHƯƠNG 3 : THI CÔNG MẠCH .................................................................................24
3.1 Vẽ sơ đồ nguyên lý .................................................................................................24
3.1.1 Danh sách linh kiện ..........................................................................................24
3.1.2 Sơ đồ nguyên lý ................................................................................................25
3.2 Sơ đồ mạch in .........................................................................................................26
3.3 Sơ đồ bố trí linh kiện .............................................................................................27
CHƯƠNG 4 : KẾT QUẢ THỰC HIỆN VÀ HƯỚNG PHÁT TRIỂN .......................28
3
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
4.1 Kết quả thực hiện ..................................................................................................28
4.2 Hướng phát triển ...................................................................................................28
TÀI LIỆU THAM KHẢO ...............................................................................................29
DANH MỤC HÌNH
Hình 2-1: Sơ đồ khối ...........................................................................................................6
Hình 2-2 Sơ đồ nguyên lý toàn mạch ..................................................................................7
Hình 2- 3 Mạch cộng điện áp ..............................................................................................8
Hình 2- 4 Sơ đồ chân PIC 16F887.....................................................................................10
Hình 2- 5 Sơ đồ khối ADC PIC 16F887............................................................................11
Hình 2- 6 LCD 16X2 .........................................................................................................14
Hình 2- 7 Module giao tiếp I2C.........................................................................................16
Hình 2- 8 Địa chỉ PCF8574 ...............................................................................................17
Hình 2- 9 Địa chỉ PCF8574A ...............................................................................................17
Hình 2- 10 Sơ đồ nguyên lý toàn mạch .............................................................................19
Hình 2- 11 Lưu đồ chương trình ........................................................................................20
Hình 3-1 Sơ đồ nguyên lý toàn mạch ................................................................................25
Hình 3-2 Sơ đồ mạch in .....................................................................................................26
Hình 3- 3 Sơ đồ bố trí linh kiện .........................................................................................27
DANH MỤC BẢNG
Bảng 2 - 1 Thông số kĩ thuật LM35 ....................................................................................9
Bảng 3 - 1 Danh sách linh kiện..........................................................................................24
4
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
CHƯƠNG 1: GIỚI THIỆU YÊU CẦU-GIỚI HẠN
ĐỀ TÀI
1.1
Giới thiệu yêu cầu
Trong thời đại hiện nay, vi điều khiển được ứng dụng rộng rãi
trong nhiều lĩnh vực của đời sống, đáp ứng hầu hết các nhu cầu
thiết yếu của con người. Với yêu cầu đề tài đọc nhiệt độ cảm
biến LM35 bằng vi điều khiển Pic16F887 hiển thị trên LCD theo
chuẩn I2C. Mục đích của chuẩn này giúp chúng ta tiết kiệm được
số đường dữ liệu và số port vào ra khi trong điều kiện thực tế cần
điều khiển rất nhiều module.
1.2
Giới hạn đề tài
Lm35 có giới hạn nhiệt độ từ -55℃ -150℃ nhưng vì điều
kiện thực tế nên em chỉ giới hạn lại nhiệt độ đo được giao động
từ 0℃ - 150℃.
1.3
Mục tiêu
-
Tìm hiểu và lập trình trên Vi điều khiển Pic 16F887.
-
Đọc được nhiệt độ từ cảm biến Lm35.
-
Hiểu được nguên lý hoạt động và lập trình giao tiếp được với
Lcd thông qua chuẩn I2C.
-
Thực hiện thiết kế và thi công mạch sử dụng vi điều khiển
Pic 16F887 đọc nhiệt độ Lm35 hiển thị Lcd thông qua chuẩn
I2C.
5
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
CHƯƠNG 2 : THIẾT KẾ
2.1 Sơ đồ khối và chức năng
2.1.1 Sơ đồ khối.
Hình 2-1: Sơ đồ khối
6
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.1.2 Chức năng của từng khối :
➢ Khối nguồn : sử dụng nguồn ± 5V cấp nguồn cho toàn mạch.
➢ Cảm biển nhiệt độ : Đọc và gửi nhiệt độ về Vi điều khiển.
➢ Khối Vi điều khiển : Cập nhật giá trị nhiệt độ và hiển thị qua Lcd.
➢ Khối hiển thị : Giao tiếp Vi điều khiển với LCD thông qua chuẩn
I2C và hiển thị kết quả đọc nhiệt độ LM35.
2.2 Thiết kế sơ dồ nguyên lý
2.2.1 Khối nguồn :
Các linh kiện trong mạch đều sử nguồn cung cấp là +5v, riêng biến
trở để tạo điện áp âm dương nên cần thêm nguồn -5v. Vì vậy, ta
dùng một biến áp đối xứng, điện áp được chỉnh lưu qua cầu diode,
được ổn áp bởi IC 7805 và 7905 để cấp nguồn cho toàn mạch.
Hình 2-2 Sơ đồ nguyên lý toàn mạch
7
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.2.2 Mạch cộng điện áp.
Khi dùng biến trở tạo điện áp âm dương để mô phỏng giá trị nhiệt độ
thì lúc này vi điều khiển sẽ chết do có điện áp âm đi vào. Lúc này ta phải
dùng một mạch cộng điện áp, thay vì điển áp mô phỏng Lm35 từ -0,55V 1,55V thì lúc này ta nâng dải điện áp lên từ 0V – 2.1V, tức là ta dùng một
mạch cộng điện áp và giá trị cộng tương ứng là 0.55V.
Hình 2- 3 Mạch cộng điện áp
➢ Xét điện áp tại B :
• VB (
<=>
𝑅1
+
1
𝑅2
VB = Rtd.(
• VA (
<=>
1
1
𝑅𝐼
+
VA = Vo
1
𝑅𝐹
)=
𝑉1
𝑅1
𝑉1
𝑅1
+
)=
+
𝑉2
𝑅2
𝑉2
𝑅2
)
𝑉𝑜
𝑅𝐹
𝑅𝐼
𝑅𝐼+𝑅𝐹
➢ Xét Op-Am lý tưởng ta có : VA =VB.
Vo =
𝑅𝐼+𝑅𝐹
𝑅𝐼
.Rtd.(
𝑉1
𝑅1
+
𝑉2
𝑅2
)
( Với Rtd =
𝑅1.𝑅2
𝑅1+𝑅2
.)
Chọn R1 = R2 = RI = RF = R = 10K ta được :
8
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
Vo = V1 + V2.
2.2.3 Khối Cảm biến :
Giới thiệu về cảm biến 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 yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân
chỉnh. Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện
thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
Thông số kĩ thuật :
Thông số
Nguồn cung cấp
Giá trị
4-30
Đơn vị
V
Công suất tiêu thụ
60
uA
Khoảng đo nhiệt độ
-55 - 150
℃
Nhiệt độ thay đổi tuyến tính ngõ 10
mV/℃
ra
Độ chính xác thực tế
1/4°C ở nhiệt độ phòng và
3/4°C khi ngoài khoảng -55°C
tới 150°C
Bảng 2 - 1 Thông số kĩ thuật LM35
9
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.2.4 Khối Vi điều khiển
Giới thiệu chung về Pic 16F887
PIC là viết tắt của “Programable Intelligent Computer”. PIC được ứng dụng
rất rộng rãi trong thực tế, từ những vật dụng đơn giản cho đến những hệ
thống điều khiển phức tạp trong công nghiệp.
Trong đó, PIC16f887 thuộc về một họ của microcontrollers 8 bit của kiến
trúc RISC.
Hình 2- 4 Sơ đồ chân PIC 16F887
Chip có 35 I/O chia thành 5 ports. Hỗ trợ các chuẩn giao tiếp SP, I2C cùng
với 3 bộ timer giúp cho việc định thời trở nên dễ dàng hơn. Ngoài ra
PIC16f887 còn hỗ trợ 14 kênh tương tự 10 bit. Bộ nhớ chương trình lên đến
8192words, 256 bytes EEPROM được nạp chương trình theo kiểu ICSP.
Với số I/O, bộ nhớ chương trình, và cách nạp chương trình như đã nêu thì
có thể đáp ứng tốt các chân kết nối cho mạch chống trộm dùng RFID.
10
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
Khảo sát ADC của Pic 16F887
ADC của Pic 16F887 có sơ đồ như sau:
Hình 2- 5 Sơ đồ khối ADC PIC 16F887
11
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
❖ Chức năng các thành phần:
• AN0 đến AN13 là 14 ngõ vào của 14 kênh tương tự được đưa đến
mạch đa hợp.
• CHS<3:0> là các ngõ vào chọn kênh của bộ đa hợp tương tự.
• Tín hiệu kênh tương tự đã chọn được đưa đến bộ chuyển đổi
ADC.
• Điện áp tham chiếu dương Vref+ có thẻ lập trình nối với nguồn
cung cấp dương AVDD hoặc điện áp tham chiếu bên ngoài nối
với ngõ vào Vref+ của chân AN3, bít lựa chọn là VCFG1.
• Điện áp tham chiếu âm Vref- có thể lập trình nối với nguồn cung
cấp Avss hoặc điện áp tham chiếu bên ngoài Vref- của chân AN2,
bit lựa chọn là VCFG1.
• Hai ngõ vào Vref+ và Vref- có chức năng thiết lập độ phân giải
cho ADC.
• Bit ADON có chức năng cho phép ADC hoạt động hoặc tắt bộ
ADC khi không hoạt động để giảm công suất tiêu tán, ADON
bằng 1 thì cho phép, bằng 0 thì tắt.
• Kết quả chuyển đổi ADC là số nhị phân 10 bit sẽ lưu vào cặp
thanh ghi 16 bit có tên là ADRESH và ADRESL, 10 bit kết quả
lưu vào thanh ghi 16 bit nên có dạng là canh lề trái và canh lề phải
tùy thuộc vào bit lựa chọn có tên là ADFM.
ADC có 14 kênh nhưng mỗi thời điểm chỉ chuyển đổi một kênh và chuyển
đổi kênh nào thì phụ thuộc vào 4 bit chọn kênh CHS4:CHS0. Hai ngõ vào
điện áp tham chiếu dương và âm có thể lập trình nối với nguồn VDD và
VSS hoặc nhận điện áp tham chiếu .
12
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
❖ Tính toán độ phân giải khi đọc nhiệt độ với cảm biến LM35.
• Điện áp tham chiếu : Vref- = 0V , Vref+ = 5V.
• Độ phân giải (step size) : SS=
𝑉𝑟𝑒𝑓+ −𝑉𝑟𝑒𝑓−
210 −1
=
5000 𝑚𝑉
1023
= 4.887
mV.
• Thông số 210 là do ADC 10 bit.
• Độ phân giải ADC là 4.887mV không tương thích với độ
phân giải của cảm biến LM35 là 10mV, tỉ lệ chênh lệch là :
10𝑚𝑉
4.887𝑚𝑉
= 2.046
• Để có kết quả hiển thị đúng, ta lấy kết quả chuyển đổi chia
cho tỉ lệ chênh lệch.
13
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.2.5 Khối hiển thị
Giới thiệu về LCD 16x2
LCD có nhiều loại và số chân của chúng cũng khác nhau nhưng có 2 loại
phổ biến là loại 14 chân và loại 16 chân, sự khác nhau ở 16 chân có thêm
nguồn cung cấp cho đèn nền, còn các chân điều khiển thì không thay đổi.
Hình 2- 6 LCD 16X2
Trong 16 chân LCD được chia làm 4 dạng tín hiệu:
- Các chân cấp nguồn: chân 1 (VSS) nối mass, chân thứ 2 (VDD) nối với
nguồn, chân thứ 3 (VO) để điều chỉnh độ tương phản thường nối với biến
trở 10KΩ.
- Các chân điều khiển:
+ Chân 4 là chân RS dùng để diều khiển lựa chọn thanh ghi: Nối chân RS
với logic “0” (GND) hoặc logic “1” (Vcc) để chọn thanh ghi.
+ Chân R/W dùng để điều khiển quá trình đọc và ghi. 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.
14
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
+ Chân E là chân cho phép định dạng xung chốt. 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.
- Các chân dữ liệu: chân số 7 đến chân 14 là 8 chân dùng để trao đổi dữ liệu
giữa thiết bị điều khiển và LCD.
- Các chân LED_A, LED_K: chân số 15 và chân số 16 là hai chân dùng để
cấp nguồn cho đèn nền có thể nhìn thấy vào ban đêm.
Trong giao tiếp với Pic16f887, module LCD có thể được điều khiển ở chế
độ 4 bit điều khiển hoặc 8 bit điều khiển. Để tiết kiệm chân, nhóm thực hiện
kết nối LCD qua chế độ 4 bit, khi đó chúng ta cần 6 chân của MCU và chân
RW sẽ được nối mass.
2.2.6 Module I2C ( PCF8574)
- Module chuyển I2C qua giao tiếp LCD16x02 chuyển từ giao tiếp song
song của LCD thành giao tiếp I2C. Giúp chũng ta dễ dàng điều khiển LCD,
tiết kiệm chân IO cho vi điều khiển.
- Module chuyển I2C qua giao tiếp LCD16x02 giúp có thể kết nối nhiều
LCD trên cùng một bus điều khiển I2C.
15
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
Hình 2- 7 Module giao tiếp I2C
❖ Thông số kĩ thuật:
• Điện áp hoạt động: 5VDC
• Có thê bật/tắt đèn nền LCD
• Chỉnh độ tương phản bằng biến trở
• Địa chỉ I2C: có thể tùy chình bằng 3 chân A0, A1, A2. Mặc định 3
chân A0, A1, A2 nối lên nguồn nên địa chỉ sẽ là 0x4E
cho PCF8574 và 0x7E cho PCF8574A
16
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
Hình 2- 8 Địa chỉ PCF8574
Hình 2- 9 Địa chỉ PCF8574A
17
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
❖ Cấu tạo và nguyên lý hoạt động
• Một đường xung nhịp đồng hồ (SCL) chỉ do Master phát đi (
thông thường ở 100kHz và 400kHz. Mức cao nhất là 1Mhz và
3.4MHz).
• Một đường dữ liệu (SDA) theo 2 hướng.
Có rất nhiều thiết bị có thể cùng được kết nối vào một bus
I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các
thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ duy
nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết
nối. Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc
truyền dữ liệu hay có thể vừa truyền vừa nhận. Hoạt động
truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ
(master) hãy tớ (slave).
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa
chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị
chủ hay tớ. Quyền điều khiển thuộc về thiết bị chủ. Thiết bị
chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa
hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo
xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá
trình giao tiếp. Thiết bị chủ giữ vai trò chủ động, còn thiết bị
tớ giữ vai trò bị động trong việc giao tiếp.
18
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.2.7 Sơ đồ nguyên lý toàn mạch
Hình 2- 10 Sơ đồ nguyên lý toàn mạch
19
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.3 Lưu đồ và chương trình
2.3.1 Lưu đồ
Hình 2- 11 Lưu đồ chương trình
20
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
2.3.2 Chương trình.
- Thư viện: TV_I2C_LCD.c
#DEFINE PCF_ADDRES_WRITE
0x4E //Địa chỉ pcf8574 (pcf8574A 7E)
#DEFINE LCD_BACKLIGHT
0x08 // bật đèn nền
#DEFINE LCD_NO_BACKLIGHT
0x00
#DEFINE FUNCTION_SET
0X28 // Giao tiếp 4 bit, 2 hàng
#DEFINE DISPLAY_CONTROL
0X0C
#DEFINE CLEAR_DISPLAY
0X01 // Xóa màn hình Lcd
#DEFINE ENTRY_MODE
0X06 //Cho phép xuất nhập dữ liệu
#DEFINE ADDR_LINE1
0X80 //Địa chỉ hàng 1
#DEFINE ADDR_LINE2
0XC0 //Địa chỉ hàng 2
void LCD_I2C_COMMAND(char MDK)
{
int MS_BIT_E, LS_BIT_E, MS_DATA, LS_DATA;
MS_DATA = MDK & 0xF0;
LS_DATA = MDK & 0x0F;
// Lấy 4 bit cao
// Lấy 4 bit thap
SWAP(LS_DATA);
MS_BIT_E =
LS_BIT_E =
MS_DATA | 0x04;
LS_DATA | 0x04;
// Tạo xung clock cấp vào chân E
I2C_START();
I2C_WRITE(PCF_ADDRES_WRITE);
I2C_WRITE(MS_BIT_E); // Xuất MS_DATA, E=1,RW=0,RS=0
I2C_WRITE(MS_DATA); // Xuất MS_DATA, E=0,RW=0,RS=0
I2C_WRITE(LS_BIT_E );
I2C_WRITE(LS_DATA);
I2C_WRITE(LCD_BACKLIGHT);
I2C_STOP();
DELAY_US(440);
}
void LCD_I2C_DATA(char MHT)
{
int MS_BIT_E, LS_BIT_E, MS_DATA, LS_DATA;
MS_DATA = MHT & 0xF0;
LS_DATA = MHT & 0x0F;
SWAP(LS_DATA);
MS_DATA++;
// Luôn giữ cho RS=1
LS_DATA++;
MS_BIT_E = MS_DATA | 0x05; // E=1,RS=1,RW=0
LS_BIT_E = LS_DATA | 0x05;
21
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
I2C_START();
I2C_WRITE(PCF_ADDRES_WRITE);
I2C_WRITE(MS_BIT_E);
I2C_WRITE(MS_DATA);
// Xuất MS_DATA, E=1,RW=0,RS=1
// Xuất MS_DATA, E=0,RW=0,RS=1
I2C_WRITE(LS_BIT_E );
I2C_WRITE(LS_DATA);
i2c_write(LCD_BACKLIGHT);
I2C_STOP();
DELAY_US(440);
}
void SETUP_I2C_LCD()
{
I2C_START();
I2C_WRITE(PCF_ADDRES_WRITE);
I2C_WRITE(0x2C);
I2C_WRITE(0x28);
LCD_I2C_COMMAND(0x28);DELAY_MS(1);
LCD_I2C_COMMAND(0x0C);DELAY_MS(2);
LCD_I2C_COMMAND(0x06);DELAY_MS(2);
I2C_STOP();
DELAY_US(440);
}
VOID LCD_GOTO_XY(SIGNED INT8 X, SIGNED INT8 Y)
{
CONST UNSIGNED INT8 LCD_VITRI[]={0x80,0xC0,0x94,0xD4};
lcd_i2c_command(LCD_VITRI[X]+Y);
delay_us(440);
}
- Chương trình chính :
#include <16F887.h>
#device ADC=10
#FUSES hs
#use delay(clock=20MHz)
#USE
I2C(MASTER,SLOW,SDA=PIN_c4,SCL=PIN_c3)
#include "D:\DATA\15141161\DO _AN_2\bao cao\code\TV_I2C_LCD.c"
#include "math.h"
signed int16 nd_cu1,nd_cu2,nd1,nd2;
unsigned int8 i;
void main()
{
setup_i2c_lcd();
setup_adc(adc_clock_div_32);
22
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
setup_adc_ports(san0|san1);
while(true)
{
set_adc_channel(0);
nd1=0;
for (i=0 ;i< 100;i++)
{
nd1 = nd1 + read_adc() ;
}
nd1 = nd1/100/2.046;
LCD_GOTO_XY(0,1);
lcd_i2c_data("Nhiet_do_1: ");
printf(lcd_i2c_data,"%ld",nd1);
if(nd1!=nd_cu1)
{
lcd_i2c_command(0x01);
delay_ms(2);
nd_cu1=nd1;
}
if(nd2!=nd_cu2)
{
lcd_i2c_command(0x01);
delay_ms(2);
nd_cu2=nd2;
}
set_adc_channel(1);
LCD_GOTO_XY(1,1);
lcd_i2c_data("Nhiet_do_2:");
nd2=((read_adc()/2.046) -55) ;
printf(lcd_i2c_data,"%ld",nd2);
}
}
23
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
CHƯƠNG 3 : THI CÔNG MẠCH
3.1 Vẽ sơ đồ nguyên lý
3.1.1 Danh sách linh kiện
Tên linh kiện
PIC 16F887
PCF 8574
Thạch Anh
Module I2C
LCD 16x2
Led
Nút nhấn
LM35
Điện trở
Điện trở
LM358
Cầu Diode
7805
7905
Tụ hóa
Tụ hóa
Tụ gốm
Tụ gốm
Biến trở
Biến trở tam giác
Giá trị
20M
4.7 kΩ
10 kΩ
3A
2200 uF
100 uF
100nF
22pF
10 kΩ
50 kΩ
Số lượng
1
1
1
1
1
1
1
1
3
4
1
1
1
1
2
2
2
2
1
3
Bảng 3 - 1 Danh sách linh kiện
24
ĐỒ ÁN ĐIỆN TỬ 2
GVHD: THS. TRƯƠNG NGỌC ANH
3.1.2 Sơ đồ nguyên lý
Hình 3-1 Sơ đồ nguyên lý toàn mạch
25