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

Đo nhiệt độ dùng LM35

35 493 0

Đ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 35
Dung lượng 583,25 KB

Nội dung

Đo nhiệt độ dùng LM35

Trang 1

Lời nói đầu

Đồ án 1 là môn học giúp môn học sinh viên áp dụng những gì mình đã họcvào trong thực tiễn, trực tiếp thực hiện những công đoạn trong quá trình làm mộtmạch điện tử thông thường.Qua thời gian tìm hiểu những kiến thức về điện tử để

hoàn thành đề tài “ ĐO NHIỆT ĐỘ DÙNG LM35” của đồ án điện tử Em đã

góp được nhiều kiến thức để bổ sung và hiểu thêm về những gì mà thầy cô đãtruyền đạt cho em trong quá trình học tập tại trường Từ đó, em có thể tự tin hơnsau khi tốt nghiệp đi làm về những lĩnh vực có liên quan

Để có kiến thức và kết quả ngày hôm nay, trước hết em cảm ơn thầy côtrường Đại học Tôn Đức Thắng đã giảng dạy và trang bị cho em những kiếnthức về ngành mà em theo học Đặc biệt, em xin gửi lời biết ơn sâu sắc đến thầy

Đỗ Đình Thuấn đã dành nhiều thời gian và tâm huyết hướng dẫn tìm hiểu vàgiúp em hoàn đồ án này.Bên cạnh đó, em xin gửi lời cảm ơn chân thành đến cácanh, chị trong Thư viện trường Đại học Tôn Đức Thắng đã tạo điều kiện thuậnlợi tìm tài liệu kham khảo và có không gian yên tĩnh, thoải mái để hoàn thành đồ

án này

Mặc dù chúng em đã có nhiều cố gắng hoàn thành đề tài bằng tất cả sựnhiệt tình và năng lực của mình, tuy nhiên do kiến thức còn hạn chế và phạm vicho phép không thể tránh khỏi những thiếu sót, em kính mong nhận được sự cảmthông và những ý kiến đóng góp chân thành của quí thầy cô và các bạn

Em xin chân thành cảm ơn!

Tp Hồ Chí Minh, ngày 24 tháng 11 năm 2011

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN:

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

……….

Trang 3

Mục lục

Lời Cảm ơn……….……….……2

Chương I – Tổng quan về đề tài ……… ……… 7

1.1.Giới thiệu……….……… 7

1.2.Mục đích của đề tài………7

Chương II – Thiết kế……… 8

1.1.Giới thiệu về IC……….8

1.1.1.Giới thiệu về PIC……….8

1.2.Giao thức hiển thị………22

1.3.Giới thiệu linh kiện sử dụng……… 25

1.3.1.LM35……….25

1.3.2.Thạch anh……… 27

1.3.3.Điện trở……….……….28

1.3.4.Tụ Điện……….……….29

1.4.Tính toán………30

1.5.Thiết kế……….……… 31

Chương III – Thi công và thực hiện mạch……….…….33

Chương IV – Kết luận và hướng phát triển……….……35

4.1.Kết luận……….……….…….35

4.2.Hướng phát triển……….…………35

Trang 4

Các hình vẽ:

Hình 1: Sơ đồ chân PIC16F877A……….…8

Hình 2 : Sơ đồ khối vi điều khiên PIC16F877A……….11

Hình 3: Sơ đồ khối bộ chuyển đổi ADC……… 16

Hình 4 : LCD thực tế………22

Hình 5 : LM35……….25

Hình 6 : Các loại thạch anh……… …… 27

Hình 7 : Điện trở 1KΩ……… …….28

Hình 8 : Tụ sứ……… ……….… 29

Hình 9 : Sơ đồ khối của mạch………31

Hình 10 : Sơ đồ nguyên lý của mạch……….32

Hình 11 : Mạch lúc thi công xong……….……… 33

Hình 12 : Mạch lúc chạy……….…………33

Trang 5

Các từ viết tắt :

PIC : Programable Intelligent Computer

ADC : Analog to Digital Converter

Tài liệu tham khảo :

- Tài liệu trên mạng

- Các trang web : www picvietnam.com

www.Dientuvietnam.net

Chương I – Tổng quan về đề tài

Trang 6

1.1 Giới thiệu

Đề tài “ Đo nhiệt độ dùng LM35, hiển thị trên LCD” là một đề tài không mới

và đã có nhiều sinh viên nghiên cứu Nhưng năm nay, đề tài được viết cho

chip PIC16F877A và dùng CCS để lập trình

1.2 Mục đích của đề tài

`- “Đo nhiệt độ dùng LM35, hiển thị trên LCD” dùng để đo nhiệt độ thực củamôi trường, giao tiếp với LCD4bit…Qua đề tài này, sinh viên sẽ có thêmkiến thức về lập trình CCS, tiếp cận với PIC, LCD…và làm mạch thực tế

Chương II –Thiết Kế

1.1.Giới thiệu về IC:

1.1.1.Giới thiệu về PIC:

PIC là viết tắt của “Programable Intelligent Computer”, có thể tạmdịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt têncho vi điều khiển của họ : PIC1650 được thiết kế để dùng làm cho các thiết

bị ngoại vi cho vi điều khiển CP1600 Vi điều khiển này sau đó được nghiêncứu phát triển thêm và từ đó hình thành nên

Hình 1:Sơ Đồ Chân Vi Điều Khiển PIC16F877A

Trang 7

Một số thông số về Vi Điều Khiển PIC16F877A

Đây là vi điều khiển thuôc họ PIC 16FXXX với tập lệnh gồm 35 lệnh có độ dài

14 bit, mỗi lệnh đều được thực thi trong một chu kỳ xung Clock Tốc độ hoạtđộng tối đa cho phép là 20MHz với một chu kỳ lệnh là 200ns Bộ nhớ chươngtrình 8Kx14 bit, bộ nhớ dữ liệu 368x8 buyte Ram và bộ nhớ dữ liệu EEPROMvới dung lượng Số PORT I/O là 5 với 33pin I/O

Các đặc tính ngoại vi bao gồm các khối chức năng sau :

Timer 0 : bộ đếm 8 bit với bộ chia tần số 8 bit

Trang 8

Timer 1 : bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năngđếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ.

Timer 2 : bộ đếm 8 bit với bộ chia tần số, bộ postcaler

Hai bộ Capture/so sánh/điều chế độ rộng xung

Các chuẩn giao tiếp nối tiếp SSP (Synchonous Serial Port), SPI và I2C.Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ

Cổng giao tiếp song song PSP ( Parallel Slave Port) với các chân điềukhiển RD, WR, CS ở bên ngoài

Các đặc tính Analog :

8 kênh chuyển đổi ADC 10 bit

Hai bộ so sánh

Bên cạnh đó là một vài đặc tính khác của vi điều khiển như :

Bộ nhớ flash với khả năng ghi xóa được 100.000 lần

Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần

Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm

Khả năng tự nạp chương trình với sự điều khiển của phần mềm

Nạp được chương trình ngay trên mạch điện ICSP thông qua 2 chân

Watchdog Timer với bộ dao động trong

Chức năng bảo mật mã chương trình

Trang 9

Chế độ Sleep.

Có thể hoạt động với nhiều dạng Oscillator khác nhau

Trang 10

Sơ đồ khối vi điều khiển PIC16F877A :

Trang 11

Hình 2: Sơ đồ khối vi điều khiển PIC16F877A

Các cổng xuất nhập của PIC160F877A

Vi điều khiển PIC16F877A cĩ 5 cổng xuất nhập bao gồm PORT A,PORTB,PORT C, PORT D, PORT E Cấu trúc và chức năng của từng cổng xuất nhập

sẽ được đề cập cụ thể trong phần sau

2.1/PORT A

PORT A (RPA) bao gồm 6I/O pin Đây là các chân :hai chiều” nghĩ là cĩthể xuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghiTRISA

(địa chỉ 85h) Muốn xác lập chức năng của một chân trong PORTA là input, ta

“set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngượclại, muốn xác lập chức năng của một chân trong PORTA là output, ta “clear”bit điều khiển tương ứng với chân đó trong thanh ghi TRISA Thao tác nàyhoàn toàn tương tự đối với các PORT và các thanh ghi điều khiển tương ứngTRIS (đối với PORTA là TRISA, đối với PORTB là TRISB, đối với PORTClà TRISC, đối với PORTD là TRISD vàđối với PORTE là TRISE) Bên cạnhđó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vàoxung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (MasterSynchronous Serial Port)

Trang 12

PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quátrình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau.PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0 PORTB còn được tíchhợp chức năng điện trở kéo lên được điều khiển bởi chương trình

2.3/PORTC

PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh,bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART

2.4/PORTD

(RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISD.PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel SlavePort)

2.5/PORTE

PORTE (RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn làcác chân điều khiển của chuẩn giao tiếp PSP

• TIMER 0 : là bộ đếm 8 bit,được kết nối với bộ chia tầng số 8 bit Cấutrúc của TIMER0 cho phép chọn lựa xung clock tác động và cạnh tíchcực của xung clock

• TIMER 1 : là bộ định thời 16 bit, giá trị của TIMER 1 sẻ được ghitrong hai thanh ghi(TRM1H, TRM1L)

Trang 13

• TIMER 2: là bộ định thời 8 bit và được hổ trợ bởi hai bộ chia tần sốprescaler và postscaler Ngõ ra của TIMER 2 dược đưa qua bộ chia tần

số postcaler điều khiển cờ ngắt

Là bộ so sánh,bao gồm hai bộ so sánh tín hiệu Analog và được đặt ở PORTA.Ngõ vào bộ so sánh là các chân RA3,RA0 ngõ ra là hai chân RA4 vàRA5.Thanh ghi điều khiển bộ so sánh là CMCON

Bộ chuyển đổi ADC

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ện thếchuẩn VREF có thể

được lựa chọn là VDD, VSS hay hiệu điện thể chuẩn được xác lập trên haichâ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 ứngvà được lưu

trong hai thanh ghi ADRESH:ADRESL Khi không sử dụng bộ chuyển đổiADC, các thanh

ghi này có thể được sử dụng như các thanh ghi thông thường khác Khi quátrình chuyển đổi

hoàn tất, kết quả sẽ được lưu vào hai thanh ghi ADRESH:ADRESL, bit(ADCON0<2>) được xóa về 0 và cờ ngắt ADIF được set

Qui trình chuyển đổi từ tương tự sang số bao gồm các bước sau:

Trang 14

Thiết lập các thông số cho bộ chuyển đổi ADC:

Chọn ngõ vào analog, chọn điện áp mẫu (dựa trên các thông số của thanh ghiADCON1)

Chọn kênh chuyển đổi AD (thanh ghi ADCON0)

Chọn xung clock cho kênh chuyển đổi AD (thanh ghi ADCON0)

Cho phép bộ chuyển đổi AD hoạt động (thanh ghi ADCON0)

Thiết lập các cờ ngắt cho bộ AD

1.Clear bit ADIF

2.Set bit ADIE

Set bit PEIE

Set bit GIE

3 Đợi cho tới khi quá trình lấy mẫu hoàn tất

4 Bắt đầu quá trình chuyển đổi (set bit )

5 Đợi cho tới khi quá trình chuyển đổi hoàn tất bằng cách:

Kiểm tra bit Nếu =0, quá trình chuyển đổi đã hoàn tất.Kiểm tra cờ ngắt

6 Đọc kết quả chuyển đổi và xóa cờ ngắt, set bit (nếu cần tiếptục chuyển

đổi)

7 Tiếp tục thực hiện các bước 1 và 2 cho quá trình chuyển đổi tiếp theo

Trang 15

Hình 3: Sơ đồ khối bộ chuyển đổi ADC.

Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm:

INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép các ngắt (các bit GIE,PEIE)

PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD (bit ADIF)

PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE)

ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghi chứa kết quảchuyển đổi AD

Trang 16

ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông số chobộ

chuyển đổi AD

PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõ vàoanalog ở PORTA

PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõ vàoanalog ở PORTE

ADC trong CCS:

Những sự lựa chọn này cho phép người sử dụng định hình thể và sử dụng

bộ chuyển đổi từ tín hiệu tương tự sang tín hiệu số.Chúng chỉ cĩ sẵn trên thiết bị với phần cứng ADC.Sự lựa chọn cho những chức năng và chỉ dẫn thay đổi phụ thuộc vào con chip và đã được liệt kê trong phần header file của thiết bị.Trên 1 vài thiết bị cĩ 2 bộ ADC độc lập đối với những chip này bộ ADC thứ 2 được định hình thể để sử dụng chức năng cài đặt ADC thứ cấp(Ví dụ setup_ADC2)

Những chức năng cĩ liên quan:

ADC_OFF

ADC_CLOCK_INTERNAL

ADC_CLOCK_DIV_32

Trang 17

Trả về:Không được định nghĩa

Chức năng: Định hình thể chuyển từ tín hiệu tương tự sang tín hiệu số

Tiện lợi:Chỉ có trong những thiết bị có bộ chuyển đổi tín hiệu tương tự sang tín hiệu số

Yêu cầu:Những hằng số đã được định nghĩa trong tập tin h của thiết bị

Xem thêm: setup_adc_ports(), set_adc_channel(), read_adc(), #device, ADC

overview,xem tập tin header của thiết bị đã được chọn

setup_adc_ports(value):Thiết lập những chân ADC có sẵn để chuyển từ tín hiệu tương tự sang tín hiệu số

Cú pháp: setup_adc_ports (value)

Thông số: value -Một hằng số được định nghĩa trong tập tin h của thiết bị

Trả về:Không được định nghĩa

Chức năng:Cài đặt những chân ADC là tín hiệu tương tự,tín hiệu số hoặc một sự kết hợp và điện áp tham chiếu để sử dụng khi tính tóan giá trị ADC.Sự kết hợp các chân tín hiệu tương tự đã được cho phép thay đổi phụ thuộc vào con chip và được định nghĩa bằng cách sử dụng từng bit OR để ghép những chân đã được chọn cùng với nhau.Kiểm tra thiết bị bao gồm tập tin các chân và điện áp tham chiếu đã được sắp đặt trong danh sách hòan chỉnh.Hằng số ALL_ANALOG và NO_ANALOG là hợp lý cho tất cả con chip.Một vài ví dụ khác định nghĩa chân

là :

Trang 18

ANALOG_RA3_REF- Kích họat tất cả các chân tín hiệu tương tự và chân RA3

là điện áp tham chiếu

RA0_RA1_RA3_ANALOG- Chỉ có chân RA0,RA1,RA3 là tín hiệu tương tựTiện lợi:Chức năng này có sẵn trong các thiết bị với phần cứng Analog/DigitalYêu cầu: Những hằng số đã được định nghĩa trong tập tin h của thiết bị

Ví dụ:

//Tất cả các chân analog

setup_adc_ports( ALL_ANALOG );

Chân A0,A1,A3 là analog,và tất cả các chân còn lại là digital Điện áp +5V được

sử dụng như điện áp tham chiếu

Xem them: setup_adc(), read_adc(), set_adc_channel(), ADC overview

set_adc_channel(channel):Chỉ rõ những kênh dung để sử dụng cho việc gọi Analog/Digital

Cú pháp: set_adc_channel (chan)

Thông số:Chân là số kênh được chọn.Số chân bắt đầu tại 0 và đã được đặt nhãn trong datasheet AN0,AN1

Trả về:Không được định nghĩa

Chức năng:Chỉ rõ những kênh được sử dụng cho việc gọi lệnh

READ_ADC().Hãy biết rằng bạn phải chờ 1 khỏang thờii gian ngắn sau khi thayđổi kênh trước khi bạn có thể nhận được giá trị đọc hợp lý.Thời gian thay đổi phụ thuộc vào trở kháng của nguồn đầu vào.Khỏang 10us nói chung là tốt cho

Trang 19

hầu hết các ứng dụng.Bạn không cần thay đổi kênh trước mỗi lần đọc nếu kênh không thay đổi

Tiện lợi:Chức năng này có sẵn trong các thiết bị với phần cứng Analog/DigitalYêu cầu:Không cần thứ gì

Ví dụ: set_adc_channel(2);

delay_us(10);

value = read_adc();

Ví dụ những tập tin: ex_admm.c

Xem thêm: read_adc(), setup_adc(), setup_adc_ports(), ADC overview

read_adc(mode):Bắt đầu quá trình chuyển đổi và đọc giá trị.Chế độ này có thể

cũng điều khiển chức năng

Cú pháp: value = read_adc ([mode])

Thông số: mode là một thông số không bắt buộc.Nếu được sử dụng giá trị có thể:

ADC_START_AND_READ (Liên tục đọc,và đây là mặc định )

ADC_START_ONLY (Bắt đầu quá trình chuyển đổi và trả về giá trị)

ADC_READ_ONLY (Đọc kết quả chuyển đổi cuối cùng )

Trả về:8 bit hoặc 16 bit số nguyên phụ thuộc vào #DEVICE ADC= directive (directive:lời chỉ dẫn,8 hoặc 16)

Chức năng: Đây là chức năng đọc giá trị số từ bộ chuyển đổi tín hiệu tương tự sang tín hiệu số.Gọi lệnh setup_adc(), setup_adc_ports() and set_adc_channel() nên được làm vài lần trước khi chức năng này được gọi.Dãy giá trị trả về phụ thuộc vào số lượng bit tbộ chuyển đổi Analog/Digital trong con chip và sự sắp đặt trong DEVICE ADC= directive như sau:

#DEVICE 8 bit 10 bit 11 bit 12 bit 16 bit

ADC=8 00-FF 00-FF 00-FF 00-FF 00-FF

ADC=10 x 0-3FF X 0-3FF x

Trang 20

ADC=11 x x 0-7FF x x

ADC=16 0-FF00 0-FFC0 0-FFEO 0-FFF0 0-FFFF

Lưu ý:X không được định nghĩa

Tiện lợi:Chức năng này có sẵn trong các thiết bị với phần cứng Analog/DigitalYêu cầu: Những chân cố định đã được định nghĩa trong tập tin h của thiết bị

Ví dụ tập tin: ex_admm.c, ex_14kad.c

Xem thêm : setup_adc(), set_adc_channel(), setup_adc_ports(), #DEVICE, ADCoverview

ADC_done():Trả về 1 nếu bộ chuyển đổi đã hòan thành việc chuyển đổi của nó Tiền xử lý có liên quan:

#DEVICE ADC=xx : Định hình thể read_adc rồi trả về kính thước.Ví dụ, sử dụng 1 con PIC với 10 bit A/D bạn có thể sử dụng 8 hoặc 10 cho xx- 8 sẽ trả về bye có trọng số cao nhất,10 sẽ trả về tòan bộ giá trị đọc A/D 10 bit

Các ngắt có liên quan:

Trang 21

INT_AD: Ngắt xảy ra khi quá trình chuyển đổi đã hòan tất

INT_ADOF: Ngắt xảy ra khi quá trình chuyển đổi trong thời gian chờ Các tập tin có liên quan:

Không có,tất cả chức năng được cài đặt sẵn

Các thông số getenv() có liên quan:

ADC_CHANNELS : Số kênh Analog/Digital

ADC_RESOLUTION : Số lượng bit trả về bởi lệnh read_adc

Ngày đăng: 27/03/2016, 23:06

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w