1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo vi xử lý pdf

18 543 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đo Nhiệt Độ Sử Dụng LM35 Hiển Thị LED 7 Đoạn
Tác giả Phạm Duy Lâm, Phạm Hoàng Minh, Nguyễn Vũ Trọng Nguyên, Phùng Tiến Tài, Bùi Xuân Thịnh
Người hướng dẫn GVHD Trương Ngọc Anh
Trường học Trường Đại Học
Chuyên ngành Vi xử lý
Thể loại Đồ án
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 1,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

GIỚI THIỆU CẢM BIẾN LM35 & KHỐI ADC TRONG PIC16F877A PHẦN CỨNG KẾT NỐI LƯU ĐỒ & CHƯƠNG TRÌNH C LƯU ĐỒ & CHƯƠNG TRÌNH ASSEMLY ĐO NHIỆT ĐỘ SỬ DỤNG LM35 HIỂN THỊ LED 7 ĐOẠN MÔ PHỎNG PHẦN M

Trang 1

NHÓM 16: MSSV GVHD

3.NGUYỄN VŨ TRỌNG NGUYÊN 05101110

Trang 2

GIỚI THIỆU CẢM BIẾN LM35 &

KHỐI ADC TRONG PIC16F877A

PHẦN CỨNG KẾT NỐI

LƯU ĐỒ & CHƯƠNG TRÌNH C

LƯU ĐỒ & CHƯƠNG TRÌNH ASSEMLY

ĐO NHIỆT ĐỘ SỬ DỤNG LM35

HIỂN THỊ LED 7 ĐOẠN

MÔ PHỎNG PHẦN MỞ RỘNG

Trang 3

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35 VÀ

KHỐI ADC

A CẢM BIẾN NHIỆT ĐỘ LM35:

 Khoảng nhiệt độ mà cảm biến còn hoạt động chính xác là từ

-55ºC150 ºC.

 Cảm biến gồm chân GND, chân Vcc (5V12V) và chân V) và chân

OUT(điện áp).

 Điện áp ngõ ra của cảm biến thay đổi tỉ lệ thuận tương ứng với

sự thay đổi nhiệt độ trên thân cảm biến (10mV/ºC) Và khi nhiệt

độ ở 0ºC thì điện áp ở ngõ ra là 0V.

Trang 4

 Hình dạng một số cảm biến nhiệt độ trên thị trường:

Nhiệt độ hoạt động từ - 60 ~ 150 độ C.

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35 VÀ

KHỐI ADC

Nhiệt độ hoạt động từ -65 ~ 150 độ C.

Trang 5

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35

VÀ KHỐI ADC

 Công thức tính độ phân giải:

 N : số nhị phân chuyển đổi được.

 Vi : giá trị điện áp ngỏ vào.

 Vref+, vref- : điện áp tham chiếu.

 Khi nhiệt độ tăng lên 1 độ C thì Vout tăng 10mV , chọn

Vref - = 0, N = 1

 Vref + = 2V) và chân 56

Trang 6

B KHỐI ADC TRONG VI ĐIỀU KHIỂN PIC 16F877A:

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35

VÀ KHỐI ADC

 Giới thiệu các thanh ghi thông dụng trong khối ADC:

1 ADCON0 (ADDRESS 1FH):

 ADCS0 ~ADCS1: các bit lựa chọn xung chuyển đổi AD.

Trang 7

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35 VÀ

KHỐI ADC

 CHS2V) và chân ~ CHS0: các bit lựa chọn kênh tương tự.

000 = kênh 0

001 = kênh 1

010 = kênh 2V) và chân

011 = kênh 3

100 = kênh 4

101 = kênh 5

110 = kênh 6

111 = kênh 7

Trang 8

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35

VÀ KHỐI ADC

 GO/DONE : Bit báo trạng thái chuyển đổi ADC

 Bit này bằng 1 chuyển đổi ADC đang diễn ra và bit sẽ

bị xóa về 0 khi chuyển đổi kết thúc.

 Bit 1: chưa dùng.

 Bit ADON: bit mở nguồn cho ADC hoạt động.

 Bit này bằng 1 khối chuyển đổi ADC được mở nguồn,

bit này bằng 0 thì thì chuyển đổi ADC được tắt nguồn để

giảm công suất tiêu thụ.

Trang 9

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35

VÀ KHỐI ADC

2V) và chân ADCON1 (ADDRESS 9FH):

 Bit ADFM : lựa chọn định dạng kết quả ADC.

 Bit =1 canh lề phải, ngược lại canh lề trái.

Trang 10

GIỚI THIỆU CẢM BIẾN NHIỆT ĐỘ LM35

VÀ KHỐI ADC

 ADCS2V) và chân : Bit lựa chọn xung clock cho chuyển đổi ADC.

 Bit 5, 4: chưa dùng.

 PCFG3 ~ PCFG0 : Bit điều khiển ADC.

 Ngoài ra còn 2V) và chân thanh ghi ADRESH và ADRESL chứa kết quả 10 bit của chuyển đổi, khi chuyển đổi hòan thành thì kết quả được nạp vào thanh ghi kết quả.

Trang 11

PHẦN CỨNG KẾT NỐI

Trang 12

Bắt đầu

Nút

Khởi tạo port C,D

xuất, port B nhập

Khởi tạo

ADC kênh 0

Đọc ADC

Chuyể

n Mod Đúng

Sai

Đúng

Delay 10us

Mod = 11

Hex _ BCD

Hiển thị

Kết thúc

Sai

Đổi sang

độ F

LƯU ĐỒ CHƯƠNG TRÌNH C

Trang 13

CHƯƠNG TRÌNH C

#include<16F877A.h>

#include<def_16f877a.h>

#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP

#use delay(clock=20000000)

#use fast_io(d)

#use fast_io(b)

#bit N=portD.4

int8 i,tram,chuc,donvi,mod;

signed int16 tam,doc;

const unsigned char

tra[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc6,0x8e,0xbf};

void hex_bcd()

{

tram=tam/100;

tam=tam%100;

chuc=tam/10;

donvi=tam%10;

}

void hienthi()

{

i=0;

while(i<100)

{

portb=tra[chuc];

portd=0x02;

delay_us(5);

portd=0x00;

portb=tra[donvi];

portd=0x04;

delay_us(5);

portd=0x00;

portb=tra[mod];

portd=0x08;

delay_us(5);

portd=0x00;

if((doc<55)&&(mod==10)||(doc<37)&&(mod==11))

{

portb=tra[12];

portd=0x01;

delay_us(5);

portd=0x00;

}

else

{

portb=tra[tram];

portd=0x01;

delay_us(5);

portd=0x00;

}

i++;

}

}

void main()

{

set_tris_d(0x10); //thiet lap d0-d3 xuat,d4 nhap

set_tris_b(0x0); //thiet lap xuat cho port b

adfm=1; //canh phai ket qua chuyen doi(6 bit cao cua ADRESH=0) setup_adc(adc_clock_internal); //thoi gian lay mau bang xung clock IC(2-6us) setup_adc_ports(an0_an1_vss_vref); //A0 A1 VRef+=A3, VRef-=0

set_adc_channel(0); //chon chan 0 doc tin hieu analog

delay_us(10); //delay 10us roi moi dung ham read_ADC dam bao ket qua dung

mod=10;

While(1)

{

if(N==1)

{

delay_us(50);

while(N==1)

{

if(mod==10) tam=Abs(doc-55);

if(mod==11) tam=Abs((doc-55)*9/5+32);

hex_bcd();

hienthi();

};

if(mod==10) mod=11;

else mod=10;

};

doc=read_adc();

if(mod==10) tam=abs(doc-55);

if(mod==11) tam=abs((doc-55)*9/5+32);

hex_bcd();

hienthi();

};

}

Trang 14

LƯU ĐỒ CHƯƠNG TRÌNH ASM

BCD – 7ĐOẠN

HIỂN THỊ

END HEX - BCD

BEGIN

KHỞI TẠO PORT C,D

KHỞI TẠO ADC

ĐỌC GIÁ TRỊ TỪ ADC

CHƯƠNG TRÌNH CHÍNH

Trang 15

CHƯƠNG TRÌNH HEX - BCD

LƯU ĐỒ CHƯƠNG TRÌNH ASM

CHƯƠNG TRÌNH ASM

Trang 16

PHẦN CỨNG MỞ RỘNG

Trang 17

CHƯƠNG TRÌNH C MỞ RỘNG

Trang 18

MÔ PHỎNG

CHƯƠNG TRÌNH ASSEMLY

CHƯƠNG TRÌNH C

CHƯƠNG TRÌNH MỞ RỘNG

Ngày đăng: 04/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

w