Việc chuyển đổi điện ápđầu ra sang oC cũng dễ dàng và trực tiếp.Trở kháng đầu ra nhỏ, đầu ra tuyến tính và hiệu chuẩn chính xác là những đặc tính vốn có củaLM35, giúp tạo giao tiếp để đọ
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA ĐIỆN – ĐIỆN TỬ
BÁO CÁO TIỂU LUẬN Chương trình CSS cho PIC đọc nhiệt độ từ 2 cảm biến LM35 hiển thị trên led 7 đoạn
GVHD: TS Trần Công Thịnh Nhóm sinh viên thực hiện
1 Lê Trí Thuần
2 Bùi Minh Thuận
3 Nguyễn Đức Trường Toàn
4 Đinh Quang Huy
5 Đặng Quang Huy
6 Huỳnh Nhựt Huy
7 Nguyễn Hoàng Huy
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2024
Trang 2DANH SÁCH SINH VIÊN THỰC HIỆN CỦA NHÓM 4
Mức độ hoàn thành nhiệm vụ
Đánh giá
(Nhóm
Xuấtsắc
Trang 3- 100% Xuất
Sắc
Trang 4LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏlòng biết ơn đến thầy, đã giúp đỡ em trong suốt quá trình học tập và nghiên cứu đề tàinày Trong suốt thời gian từ khi bắt đầu môn Kỹ thuật vi điều khiển tại trường đếnnay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của Thầy Trần Công Thịnh
Với lòng biết ơn sâu sắc nhất, em xin gửi đến Thầy, đã truyền đạt vốn kiến thứcquý báu cho chúng em trong suốt thời gian học tập tại trường Nhờ có những lời hướngdẫn, dạy bảo của thầy nên đề tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp
Nhóm của chúng em xin chân thành cảm ơn!
Trang 5LỜI CAM ĐOAN
Đồ án được hoàn thành tại trường Đại học Tôn Đức Thắng
Chúng tôi xin cam đoan đây là sản phẩm đồ án của riêng nhóm tôi và được sựhướng dẫn của Thầy Trần Công Thịnh Các nội dung nghiên cứu, kết quả trong đề tàinày là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây
Nếu phát hiện có bất kỳ sự gian lận nào chúng tôi xin hoàn toàn chịu tráchnhiệm về nội dung đồ án của mình Trường đại học Tôn Đức Thắng không liên quanđến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếucó)
TP Hồ Chí Minh, ngày 25 tháng 10 năm 2024
Trang 6PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG
VIÊN Phần xác nhận của GV hướng dẫn
Tp Hồ Chí Minh, ngày tháng năm 2024 Phần đánh giá của GV chấm bài
Tp Hồ Chí Minh, ngày tháng năm 2023
Trang 7MỤC LỤC
DANH SÁCH SINH VIÊN THỰC HIỆN CỦA NHÓM 1
LỜI CẢM ƠN 2
LỜI CAM ĐOAN 3
PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN 4
A CÁC LINH KIỆN CỦA PROJECT 7
I Cảm biến nhiệt độ LM35 7
1 Khái niệm 7
2 Sơ đồ chân của cảm biến nhiệt độ LM35 7
3 Thông số kỹ thuật của cảm biến LM35 8
4 Nguyên lý hoạt động của cảm biến nhiệt độ LM35 8
II LED 7 đoạn 9
1 Khái niệm 9
2 Cấu tạo của LED bảy đoạn 9
3 Phân loại LED 7 đoạn: 9
4 Nguyên lý hoạt động của LED 7 đoạn: 10
III Vi điều khiển PIC16F877A 11
1 Khái niệm 11
2 Thông số kỹ thuật 11
3 Sơ đồ chân 13
4 Cổng nối tiếp PIC16F877A 15
5 Giao tiếp I2C PIC16F877A 15
6 Ngắt PIC16F877A 15
IV.Bộ chuyển đổi ADC 17
Trang 81 Khái niệm 17
2 Chân của ADC PIC16F877A 17
3 Các thanh ghi được sử dụng cho ADC 17
B NGUYÊN LÝ HOẠT ĐỘNG CỦA PROJECT 22
I Giới thiệu về phần cứng 22
II Nguyên lý hoạt động của mạch : 23
1 Sử dụng BUTTON để thay đổi qua lại giữa các kênh đo nhiệt độ: 23
2 Sử dụng hàm con có tên _DieuKhien() để mạch hoạt động theo mục đích: 25
III Code của phần mềm : 27
Trang 9A CÁC LINH KIỆN CỦA PROJECT
I Cảm biến nhiệt độ LM35
1 Khái niệm
LM35 là một cảm biến nhiệt độ tương tự, điện áp ở đầu ra củacảm biến tỷ lệ với nhiệt độ tức thời và có thể dễ dàng được xử lý để
có được giá trị nhiệt độ bằng oC
Ưu điểm của LM35 so với cặp nhiệt điện là nó không yêu cầubất kỳ hiệu chuẩn bên ngoài nào Lớp vỏ cũng bảo vệ nó khỏi bị quánhiệt Chi phí thấp và độ chính xác cao
2 Sơ đồ chân của cảm biến nhiệt độ LM35
Số
chân
1 VCC hay +VS Chân cấp nguồn với điện áp từ 4V đến 30V
2 VOUT Chân lấy điện áp ra, điện áp ở chân này
Trang 10thay đổi 10mV/oC
3 Thông số kỹ thuật của cảm biến LM35
Hiệu chuẩn trực tiếp theo oC
Điện áp hoạt động: 4-30VDC
Dòng điện tiêu thụ: khoảng 60uA
Nhiệt độ thay đổi tuyến tính: 10mV/°C
Khoảng nhiệt độ đo được: -55°C đến 150°C
Điện áp thay đổi tuyến tính theo nhiệt độ: 10mV/°C
Độ tự gia nhiệt thấp, 0,08oC trong không khí tĩnh
Sai số: 0,25°C
Trở kháng ngõ ra nhỏ, 0,2Ω với dòng tải 1mA
Kiểu chân: TO92
Kích thước: 4.3 × 4.3mm
LM35 có thể đo nhiệt độ trong phạm vi từ -55oC đến 150oC Độchính xác thực tế của cảm biến: ±1/4°C ở nhiệt độ phòng và ±3/4°Ctrong phạm vi nhiệt độ từ -55°C đến 150°C Việc chuyển đổi điện ápđầu ra sang oC cũng dễ dàng và trực tiếp.Trở kháng đầu ra nhỏ, đầu
ra tuyến tính và hiệu chuẩn chính xác là những đặc tính vốn có củaLM35, giúp tạo giao tiếp để đọc hoặc điều khiển mạch rất dễ dàng
4 Nguyên lý hoạt động của cảm biến nhiệt độ LM35
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị điện ápnhất định tại chân VOUT (chân giữa) ứng với mỗi mức nhiệt độ Như
Trang 11vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 điện áp5V, chân phải nối đất, đo hiệu điện thế ở chân giữa, bạn sẽ có đượcnhiệt độ (0-100ºC) tương ứng với điện áp đo được.
Trang 12II LED 7 đoạn
1 Khái niệm
LED 7 đoạn là một mô-đun hiển thị kỹ thuật số được thiết kếđặc biệt để hiển thị thông tin số Nó bao gồm một số lượng đèn LEDđược sắp xếp theo hình dạng của các con số, tạo ra một màn hình dễdàng nhìn thấy Mỗi con số trong màn hình được tạo ra bằng cáchbật hoặc tắt các đèn LED tương ứng
2 Cấu tạo của LED bảy đoạn
LED 7 đoạn là một loại LED có cấu tạo khá đơn giản và thườngđược sử dụng để hiển thị các chữ số và chữ cái đơn giản Nó được gọi
là “7 đoạn” vì gồm tối thiểu 8 đoạn LED, từ a đến g và một đoạnchấm thập phân, được kết nối với nhau để có thể hiển thị được các
ký tự như “0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, d, E, F,…” và các sốkhông phải là số nguyên
3 Phân loại LED 7 đoạn:
Dựa vào các cực được nối, có thể phân loại LED 7 đoạn nhưsau:
Trang 13 Loại dương chung (Common Anode): nếu cực dương (anode)của tất cả 8 LED được nối với nhau và các cực âm (cathode) đứngriêng lẻ.
Loại âm chung (Common Cathode): nếu cực âm (cathode) củatất cả 8 LED được nối với nhau và các cực dương (anode) đứng riênglẻ
4 Nguyên lý hoạt động của LED 7 đoạn:
Nguyên tắc chung : Muốn LED nào sáng thì LED đó phải được
phân cực thuận.Do đó muốn tạo ra chữ số nào ta chỉ cần cho LED ởcác vị trí tương ứng sáng lên Bảng mô tả cách tạo ra các chữ số đểhiển thị lên LED 7 đoạn:
Dương chung :
Âm chung:
Trang 15III Vi điều khiển PIC16F877A
1 Khái niệm
PIC16F877A là một vi điều khiển PIC 40 chân và được sử dụnghầu hết trong các dự án và ứng dụng nhúng Nó có năm cổng bắtđầu từ A đến cổng E Nó có ba bộ định thời trong đó có 2 bộ định thời
8 bit và 1 bộ định thời 16 bit Nó hỗ trợ nhiều giao thức giao tiếp nhưgiao thức nối tiếp, giao thức song song, giao thức I2C PIC16F877A
Độ phân giải ADC tối đa (bit) 10
Trang 16Tham chiếu điện áp nội bộ Có
Bộ tạo dao động được điều khiển bằng số 0
Nhiệt độ hoạt động tối thiểu (* C) -40Nhiệt độ hoạt động tối đa (* C) 125Điện áp hoạt động tối thiểu (V) 2Điện áp hoạt động tối đa (V) 5.5
Trang 173 Sơ đồ chân
Chân 1: MCLR là chân clear của mạch này Nó sẽ khởi động lại
vi điều khiển và được kích hoạt bởi mức logic thấp, có nghĩa là chânnày phải được cấp liên tục một điện áp 5V và nếu cấp điện áp 0V thìPIC16F877A sẽ bị đặt lại
Một nút nhấn và một điện trở được kết nối đến chân này ChânMCLR này luôn được cấp điện áp 5V Khi muốn khởi động lại mạch.Bạn chỉ cần nhấn vào nút nhấn thì chân MCLR sẽ được đưa về 0 vàmạch được đặt lại
Chân 2 RA0/AN0: PORT A có 6 chân, từ chân số 2 đến chân số
7 Tất cả đều là các chân xuất, nhập dữ liệu hai chiều Chân số 2 làchân đầu tiên của PORT A Chân này có thể được sử dụng như mộtchân tương tự (analog) chân AN0 Nó được tích hợp bộ chuyển đổianalog sang digital
Chân 3 RA1/AN1: Đầu vào tín hiệu analog 1
Trang 18 Chân 4 RA2/AN2/Vref-: Có thể hoạt động như đầu vào analogthứ 2 hoặc chân điện áp tham chiếu âm.
Chân 5 RA3/AN3/Vref+: Có thể hoạt động như đầu vào analogthứ 3 hoặc chân điện áp tham chiếu dương
Chân 6 RA0/T0CKI: Với timer 0, chân này hoạt động được nhưmột đầu vào xung clock và đầu ra open drain
Chân 7 RA5/SS/AN4: Có thể hoạt động như một đầu vào analogthứ 4 Có cổng nối tiếp đồng bộ và là chân SS cho cổng này
Chân 8 RE0/RD/AN5: PORT E bắt đầu từ chân số 8 đến chân số
10 và là cổng I/O hai chiều Nó còn là cổng analog thứ 5 hoặc là chân
RD (tích cực mức logic thấp) cho cổng slave giao tiếp song song
Chân 9 RE1/WR/AN6: Là đầu vào analog thứ 6 và là chân WR(tích cực mức logic thấp) cho cổng slave giao tiếp song song
Chân 10 RE2/CS/A7: Là đầu vào analog 7 và là chân CS chocổng slave song song
Chân 11 và 32 VDD: Đây là hai chân cấp nguồn 5V
Chân 12 và 31 VSS: Các chân tham chiếu nối đất cho I/O vàcác chân logic. Chúng nên được nối với 0V hoặc mắc GND
Chân 13 OSC1/CLKIN: Là đầu vào bộ dao động hoặc chân đầuvào xung nhịp bên ngoài
Chân 14 OSC2/CLKOUT: Đây là chân đầu ra của bộ daođộng. Một bộ dao động thạch anh được nối vào giữa hai chân 13 và
14 để cấp xung nhịp bên ngoài cho bộ vi điều khiển. ¼ tần số củaOSC1 được OSC2 xuất ra trong chế độ RC. Điều này xác định tốc độchu kỳ xử lý lệnh
Chân 15 RC0/T1OCO/T1CKI: PORT C có 8 chân Là cổng I/O haichiều Trong số đó, chân 15 là chân đầu tiên. Nó có thể là đầu vàoxung nhịp của bộ định thời 1 hoặc đầu ra bộ dao động của bộ địnhthời 2
Chân 16 RC11/T1OSI/CCP2: Là đầu vào dao động của bộ địnhthời 1 hoặc đầu vào capture 2 / đầu ra so sánh 2 / đầu ra PWM 2
Trang 19 Chân 17 RC2/CCP1: Đầu vào capture 1/ đầu ra so sánh 1/ đầu
Chân 24 RC5/SDO: Là chân xuất dữ liệu chế độ SPI
Chân 25 RC6/TX/CK: Có thể là chân xung clock đồng bộ hoặcchân truyền không đồng bộ UART
Chân 26 RC7/RX/DT: Là chân dữ liệu đồng bộ hoặc chân nhậntín hiệu UART
Các chân 19, 20, 21, 22, 27, 28, 29, 30: Tất cả các chân nàyđều thuộc PORT D, đây là một cổng I/O hai chiều. Khi bus vi xử lýđược kết nối, nó có thể hoạt động ncho cổng slave giao tiếp dữ liệusong song
Chân 33-40 PORT B: Hai chân này đều thuộc PORTB. Trong đóRB0 có thể được sử dụng làm chân ngắt ngoài và RB6 và RB7 có thểđược sử dụng làm chân debugger
4 Cổng nối tiếp PIC16F877A
PIC16F877A có một cổng nối tiếp trong đó được sử dụng đểgiao tiếp dữ liệu
Chân số 25 cũng hoạt động như TX vì vậy nếu muốn thực hiệngiao tiếp nối tiếp thì nó được sử dụng để gửi dữ liệu nối tiếp
Chân số 26 cũng hoạt động như RX vì vậy nếu muốn thực hiệngiao tiếp nối tiếp thì nó sẽ được sử dụng để nhận dữ liệu nối tiếp
5 Giao tiếp I2C PIC16F877A
PIC16F877A cũng có một cổng I2C có thể dễ dàng thực hiệngiao tiếp I2C
Trang 20 Chân số 23 hoạt động như SDA, viết tắt của Serial Data Line.
Bây giờ bạn có thể thấy chúng ta có cổng nối tiếp và cổng I2Ctrong cổng C, vì vậy chúng ta có thể sử dụng cổng C như một cổngđơn giản nhưng cũng có thể thực hiện 2 giao tiếp này với các châncủa nó, vì vậy nó hoàn toàn phụ thuộc vào lập trình viên
6 Ngắt PIC16F877A
PIC16F877A có tổng cộng 8 nguồn ngắt Nguồn ngắt là một số
sự kiện tạo ra ngắt, nguồn này có thể là bộ đếm thời gian như cácngắt được tạo sau mỗi 1 giây hoặc cũng có thể là sự kiện thay đổitrạng thái chân, chẳng hạn như nếu trạng thái chân bị thay đổi sau
đó ngắt sẽ tọa ra
Vì vậy, ngắt PIC 16F877A có thể được tạo ra bằng 8 cách sau:
Ngắt ngoài
Ngắt bộ định thời (Timer0 / Timer1)
Thay đổi trạng thái cổng B
Cổng Slave song song đọc / ghi
Bộ chuyển đổi A/D
Nhận/Truyền nối tiếp
PWM(CCP1 / CCP2)
Thao tác ghi EEPROM
Trang 21IV.Bộ chuyển đổi ADC
1 Khái niệm
ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạngtương tự và số PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệu điệnthế chuẩn V REF có thể được lựa chọn là V DD , Vss hay hiệu điện thể chuẩn được xác lậptrên hai chân RA2 và RA3
Kết quả chuyển đổi từ tín tiệu tương tự sang tín hiệu số là 10 bit số tương ứng
và được lưu trong hai thanh ghi ADRESH:ADRESL Khi không sử dụng bộ chuyểnđổi ADC, các thanh ghi này có thể được sử dụng như các thanh ghi thông thườngkhác Khi quá trình chuyển đổi hoàn tất kết quả sẽ được lưu vào hai thanh ghiADRESH:ADRESL, bit GO /DONE (ADCON0<2>) được xóa về 0 và cờ ngắt ADIFđược set
2 Chân của ADC PIC16F877A
3 Các thanh ghi được sử dụng cho ADC
Thanh ghi điều khiển A/D 0 (ADCON0):
Được hiển thị trong hình ảnh bên dưới, điều khiển hoạt động của mô-đun A/D, tức
là được sử dụng để BẬT ADC, Chọn Tần số lấy mẫu và Bắt đầu chuyển đổi
Trang 22o ADCS1-ADCS0: Đồng hồ chuyển đổi A/D Chọn các bit Các bit nàydựa trên bit ADCS2 của ADCON1 Resister.
o CHS2-CHS0: Các bit chọn kênh tương tự
1 = Đang chuyển đổi A/D (thiết lập bit này bắt đầu chuyển đổi A/D, chuyển đổi này sẽ
tự động bị xóa bằng phần cứng khi chuyển đổi A/D hoàn tất)
0 = Chuyển đổi A/D không diễn ra
Trang 23o ADON: A/D trên bit
1 = Mô-đun chuyển đổi A/D được cấp nguồn
0 = Mô-đun chuyển đổi A/D bị tắt và không tiêu thụ dòng điện hoạt động
Thanh ghi điều khiển A/D 1 (ADCON1):
Được hiển thị bên dưới, cấu hình các chức năng của các chân cổng, tức là được sửdụng để cấu hình các chân GPIO cho ADC Các chân cổng có thể được cấu hình làmđầu vào tương tự (RA3 cũng có thể là điện áp tham chiếu) hoặc dưới dạng I/O kỹ thuậtsố
o ADFM: Bit chọn định dạng kết quả A/D
1 = Căn phải Sáu (6) bit quan trọng nhất của ADRESH được đọc là '0'
0 = Căn trái Sáu (6) bit ít quan trọng nhất của ADRSL được đọc là '0'
o ADCS2: Bit chọn đồng hồ chuyển đổi A/D
o PCFG3-PCFG0: Các bit điều khiển cấu hình cổng A/D
Trang 24 Thanh ghi kết quả A/D cao (ADRESH) & Thanh ghi kết quả A/D thấp(ADRESL)
Các thanh ghi ADRESH: ADRESL chứa kết quả 10 bit của chuyển đổi A/D Khi quátrình chuyển đổi A/D hoàn tất, kết quả được tải vào cặp thanh ghi Kết quả A/D này, bitGO/DONE (ADCON0<2>) bị xóa và bit cờ ngắt A/D ADIF được đặt Sơ đồ khối củamô-đun A/D được hiển thị bên dưới
Trang 25 Qui trình chuyển đổi từ tương tự sang số bao gồm các bước sau:
B1: Thiết lập các thông số cho bộ chuyển đổi ADC:
o Chọn ngõ vào analog, chọn điện áp mẫu (dựa trên các thông số của thanhghi
o ADCON1)
o Chọn kênh chuyển đổi AD (thanh ghi ADCON0)
o Chọn xung clock cho kênh chuyển đổi AD (thanh ghi ADCON0)
o Cho phép bộ chuyển đổi AD hoạt động (thanh ghi ADCON0)
B2: Thiết lập các cờ ngắt cho bộ AD
o Clear bit ADIF
o Set bit ADIE
o Set bit PEIE
o Set bit GIE
B3: Đợi cho tới khi quá trình lấy mẫu hoàn tất
B4: Bất đầu quá trình chuyển đổi (set bit O / DONE ),
B5: Đợi cho tới khi quá trình chuyển đổi hoàn tất bằng cách:
o Kiểm tra bit GO /DONE, Nếu GO /DONE =0, quá trình chuyển đổi đã hoàntất
Trang 26B NGUYÊN LÝ HOẠT ĐỘNG CỦA PROJECT
I Giới thiệu về phần cứng
Mạch sử dụng cảm biến LM35 để đo nhiệt độ
Điện áp tuyến tính theo nhiệt độ : 10mV/°C
Thạch anh được sử dụng có tần số 4MHz
Khối vi điều khiển được chọn là PIC16F877A
LED được sử dụng là 7-SEG-COM-ANODE
Ngoài ra còn có nút nhấn, điện trở và các dây
Trang 27II Nguyên lý hoạt động của mạch :
1 Sử dụng BUTTON để thay đổi qua lại giữa các kênh đo nhiệt độ: