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

thiết kế bộ đo và khống chế nhiệt độ hiển thị lên màn hình máy vi tính

17 658 0
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

Định dạng
Số trang 17
Dung lượng 657,83 KB

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

Nội dung

Minh – Thế 2 LỜI NÓI ĐẦU Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh vực

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA : ĐIỆN TỬ

ĐỒ ÁN MÔN HỌC

ĐỀ TÀI: THIẾT KẾ BỘ ĐO VÀ KHỐNG CHẾ

NHIỆT ĐỘ HIỂN THỊ LÊN MÀN HÌNH MÁY VI TÍNH

“Nhiệt độ khống chế được đặt bằng phím nhấn, thao tác khống chế được mô phỏng bằng

Giáo viên hướng dẫn: Nguyễn Anh Dũng Sinh viên thực hiện:

1.Mai Xuân Minh 2.Tạ Xuân Thế

Trang 2

Minh – Thế

2

LỜI NÓI ĐẦU

Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh vực khác nữa So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất nhiều do nó được tích hợp lại và có khả năng lập trình được để điều khiển Nên rất tiện dụng và cơ động Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, em chỉ dùng vdk để đo và khống chế nhiệt độ, đồng thời cho hiển thị lên màn hình máy vi tính

Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệm những ứng dụng của vdk trong thực tiễn để rồi từ đó tìm tòi, phát triển nhiều ứng dụng khác trong đời sống hằng ngày cần đến

Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sách tham khảo và một số nguồn tài liệu khác nên không tránh khỏi những thiếu sót Vì vậy nhóm rất mong được sự góp ý của thầy cô và các bạn

Trang 3

Mục lục

trang

Lời nói đầu .2

Mục lục .3

Chương I>Tổng quan thiết kế phần cứng cho đồ án .4

I sơ đồ khối tổng quát .4

II Các vi mạch chính sử dụng trong từng khối và nguyên lý hoạt động từng khối .5

Chương II >Lập trình cho vi điều khiển .14

1 sơ đồ giải thuật 14

2 code lập trình

Trang 4

Minh – Thế

4

I SƠ ĐỒ KHỐI TỔNG QUÁT

1.sơ đồ

KHỐI

CHUYỂN

ĐỒI

TƯƠNG TỰ

=> SỐ

KHỐI XỬ LÝ TRUNG TÂM: 8051

KHỐI HIỂN THỊ:MVT

KHỐI ĐIỀU KHIỂN (khống chế) KHỐI CẢM

BIẾN

ĐẦU RA ỨNG DỤNG (điều khiển lò nhiệt, cảnh báo,…)

Trang 5

2> sơ đồ nguyên lý

II CÁC VI MẠCH CHÍNH SỬ DỤNG TRONG ĐỒ ÁN

1.trong khối cảm biến: có LM35;

2.Trong khối chuyển đổi: ADC 0804;

3.Trong khối xử lý trung tâm: AT89C52;

4.khối hiển thị : màn hình máy tính

5.Khối điều khiển (khống chế): hệ thống các phím nhấn

6.đầu ra ứng dụng: (đơn giản) là các led hiển thị

III CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG CƠ BẢN CỦA TỪNG VI MẠCH

1> Cảm biến nhiệt LM35

1.1 Nguyên lý hoạt động chung của IC đo nhiệt độ

Trang 6

Minh – Thế

6

IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt độ chuyển thành tín hiệu điện dưới dạng dòng điện hay điện áp Dựa vào đặc tính rất nhạy của các bán dẫn với nhiệt độ, tạo ra điện áp hoặc dòng điện tỷ lệ thuận với nhiệt độ tuyệt đối Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo Sự tác động của nhiệt độ tạo ra điện tích tự do và các lỗ trống trong chất bán dẫn Bằng sự phá vỡ các phân

Trang 7

tử, bứt các electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể

tạo sự xuất hiện các lỗ trống Làm cho tỷ lệ điện tử tự do và lỗ trống tăng lên theo

quy luật hàm mũ với nhiệt độ

+LM135, LM35

Ngõ ra là điện áp

Độ nhạy 10mv/10

C Sai số cực đại 1,50C khi nhiệt độ lớn hơn 1000C

Phạm vi sử dụng :00 C=>1000 C

3> bộ chuyển đổi tương tự-số: ADC 0804;

a, cấu tạo

ADC 0804 là một bộ chuyển đổi tương tự số Gồm có 20 chân

DB0-DB7: là 8 chân ra dữ liệu

RD: lối vào đọc

WR :lối vào ghi

INTR: lối ra ngắt

CLKR/CLKIN: các lối vào điều khiển xung nhịp

VIN: lối vào analog dương

b, sơ đồ

c, tính toán và cân chỉnh

Chọn điện trở R6 và tụ C1 cho bộ dao động của ADC0804

R6=10k Ω và C1=15pf

Có đầu ra số: N= 256 xVin.;

5

d, nguyên lý hoạt động

¾ DB0- DB7: các lối ra số, dữ liệu chuyển đổi xuất hiện trên 8bit này Bộ biến đổi

có độ phân giải là 5/256

¾ RD :là chân điều khiển đọc dữ liệu RD=0: có dữ liệu lối ra

RD=1: không có dữ liệu lối ra

¾ WR: bình thường ở mức logic cao, và lối vào này sẽ được kéo xuống mức thấp,

sau đó lại trở về mức cao để bắt đầu quá trình chuyển đổi

Trang 8

Minh – Thế

8

¾ INTR: là lối ra ngắt của bộ biến đổi A/D 1 sườn xung âm được tạo lên chân này

khi quá trình chuyển đổi kết thúc Lối ra này thường được sử dụng để tạo ra một

ngắt trong vi điều khiển sao cho dữ liệu đã chuyển đổi có thể được đọc

¾ ADC 0804 chứa một bộ dao động bên trong và cần có 1 tụ điện và 1điện trở bên

ngoài nối chân CLKR và CLKIN để khởi động bộ dao động

¾ VIN là chân lối vào của điện áp tương tự

¾ Bít 0 và 1 của ADC phải có điện trở kéo lên, do lối ra bộ điều khiển tại những

chân này không có sẵn điện trở kéo lên

Khối giao tiếp với máy tính qua max232

Chức năng truyền dữ liệu biến đổi được lên máy tính thông qua max232

CÁC BƯỚC CỦA QUÁ TRÌNH CHUYỂN ĐỔI

Đặt WR =RD=0;

Bắt đầu biến đổi Đặt WR=1, trễ( )ms

Phát hiện điểm kết thúc của quá trình biến đổi khi INTR xuống mức thấp

Đọc dữ liệu từ DB0=>DB7

4> vi điều khiển AT89C52;

a, cấu tạo và chức năng các khối của AT89S52

• CPU( CPU centralprocessing unit) bao gồm:

9 Thanh ghi tích lũy A;

9 Thanh ghi tích lũy phụ B;

9 Đơn vị logic học (ALU);

9 Thanh ghi từ trạng thái chương trình;

Trang 9

9 Bốn băng thanh ghi;

9 Con trỏ ngăn xếp

• Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash

• Bộ nhớ dữ liệu( RAM) gồm 256 byte

• Bộ UART, có chức năng truyền nhận nối tiếp

• 3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự kiện

• Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong

• Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử dụng có thể nạp các chương trình cho chíp mà không cần các bộ nạp chuyên dụng

• Bộ chia tần số với hệ số chia là 12

• 4 cổng xuất nhập với 32 chân

b, chức năng các chân của AT89C52

™ Port 0( P0.0=>P0.7)

Port 0 gồm 8 chân, ngoài chức năng xuất nhập, port 0 còn là bus đa hợp dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi 89c52 giao tiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch PIO…

™ Port 1( P1.0=>P1.7)

Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port khác Port1

có thể xuất nhập theo bit và theo byte

™ Port 2( P2.0=>P2.7)

Port 2 ngoài chức năng là cổng vào/ra như Port 0 và 1 còn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài

Trang 10

Minh – Thế

10

™ Port 3

Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng riêng, cụ thể như sau:

™ Chân /PSEN : là chân điều khiển đọc chương trình ở bộ nhớ ngoài

™ Chân ALE

ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của vi điều khiển Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 7473

™ Chân /EA

Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài EA=1 thì thực hiện chương trình trong RAM nội EA=0 thực hiện ở RAM ngoài

™ RST( reset)

Ngõ vào reset trên chân số 9 khi RST=1 thì bộ vi điều khiển sẽ được khởi động lại thiết lập ban đầu

™ XTAL1, XTAL2

2 chân này được nối song song với thạch anh tần số max=33 Mhz Để tạo dao động cho bộ vi điều khiển

™ Vcc, GND : cung cấp nguồn nuôi cho bộ vi điều khiển cấp qua chân 20 và 40

c, sơ đồ AT89C52 trong mạch

Trang 11

d, nguyên lý hoạt động

+Chân 9 được nối với mạch reset Khi nhấn SW1 thì bộ vi điều khiển sẽ được khởi động lại từ đầu

+điện trở băng: có tác dụng làm điện trở kéo lên nguồn

+ chân 18-19 được nối // với thạch anh 12Mhz mạch có nhiệm vụ tạo dao động cho vi điều khiển

+chân P2.4=>P2.7 điều khiển led Khi nhiệt độ đo được vượt qua khoảng nhiệt độ khống chế thì 1 trong 4 đèn led này sẽ sáng

+ chân P1.0=>P1.7 giao tiếp với ADC0804 Cổng P0 này có nhiệm vụ đọc nhiệt độ thu được từ bộ chuyển đổi

+P3.0=>P3.1 giao tiếp với max232 để truyền dữ liệu hiển thị lên máy tính

+P3.5, P3.7 lần lượt nối với INTR /RD và /WR của ADC0804 Nhiệm vụ điều khiển hoạt động của bộ chuyển đổi số - tương tự

+P3.2=> P3.3 dùng để nối với các phím nhấn Có tác dụng để thực hiện các thao tác khống chế nhiệt độ cần đo

Trang 12

Minh – Thế

12

6> bộ phím nhấn điều khiển (khống chế)

a, sơ đồ mạch

b, chức năng: dùng để thiết lập nhiệt độ khống chế

SW2 (đƣợc nối với INT0 ) là phím dùng để đặt nhiệt độ khống chế

SW3 (đƣợc nối với INT1) là phím dùng để tăng giảm nhiệt độ khống

chế SW1 (đƣợc nối với 9) là phím dùng để làm phím reset

7> ứng dụng điều khiển

a, sơ đồ mạch

b, chức năng: hiển thị khi nhiệt độ đo đƣợc so sánh với nhiệt độ khống chế

Nếu t0 đo > t0

khống chế max thì led 1 sáng

Nếu t0 đo<t0

khống chế min thì led 2 sáng

Nếu t0 kcmin< t0 đo< t0

kc max thì led 3sáng

Đây chỉ là mạch điều khiển đơn giản sử dụng led Còn trong thực tế có thể ứng dụng

nhiều: nhƣ việc khống chế nhiệt độ của lò lung, máy lạnh,…

Trang 13

I>sơ đồ giải thuật

CHƯƠNG II>LẬP TRÌNH CHO VI ĐIỀU KHIỂN

Chương trình chính

START

NẠP GIÁ TRỊ ĐẦU

Tăng t0 đặt T0 đo > t0

max

Đọc ADC

Giảm t0 đặt T0 đo <t0

min

Hiển thị cảnh báo

Khối xử lý

Hiển thị t0 đo được Hiển thị t0 đặt

Trang 14

Minh – Thế

14

II> code chương trình

#include<reg52.h>

#include<stdio.h>

sbit led0=P2^0;

sbit led1=P2^1;

sbit led2=P2^2;

sbit led_do=P2^4; // nhiet do moi truong < nhiet do khong che

sbit led_vang=P2^5; // nhiet do moi truong = nhiet do khong che

sbit led_xanh=P2^6; // nhiet do moi truong > nhiet do khong che

sbit led_trang=P2^7;

sbit adc_intr=P3^5;

sbit adc_wr=P3^6;

sbit adc_rd=P3^7;

int ngat0,ngat1,tong;

unsigned char chuc,donvi,nhiet_do,dien_ap,khong_che,i,k;

unsigned char M[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

void delay(unsigned int n) // ham tre

{

unsigned int j;

for(j=0;j<n;j++);

}

{

adc_rd=0;

adc_wr=0;

delay(2);

adc_wr=1;

while(!adc_intr);

dien_ap=P0;

nhiet_do=dien_ap/2;

}

void hien_thi(unsigned char nhiet_do) // hien thi nhiet do moi truong

{

if(nhiet_do>=0 && nhiet_do<10)

Trang 15

{

chuc = 0;

donvi = nhiet_do;

}

if(nhiet_do>=10 && nhiet_do<100)

{

chuc = nhiet_do/10;

donvi = nhiet_do%10;

}

while(!TI);

SBUF=M[chuc];

TI=0;

while(!TI);

SBUF=M[donvi];

TI=0;

while(!TI);

SBUF=0x0D;

TI=0;

if(nhiet_do<0 && nhiet_do>=100)

{

printf("ngoai dai do");

}

}

chính

{

IE=0x85;

IT0=IT1=1;

khong_che=20;

SCON=0x52; // REN =1 DE CHO PHEP TRUYEN DU LIEU

TMOD=0x20; // TIMER 1 LÀM VIEC O CHE DO 2

TH1=TL1=-3; // tao toc do baud la 9600

TR1=1;

Trang 16

Minh – Thế

16

while(1)

{

tong=0;

for (i=0;i<20;i++) {

bien_doi_adc();

tong=tong+nhiet_do;

}

nhiet_do=tong/20;

if(ngat0==0) {

led_xanh=led_do=led_vang=1;

printf("nhiet do moi truong la : ");

hien_thi(nhiet_do);

} if(ngat0==1||ngat0==2) {

bien_doi_adc();

printf("nhiet do khong che la : ");

hien_thi(khong_che);

if(khong_che < nhiet_do) {

led_do=led_vang=1;

led_xanh=0;

} if(khong_che > nhiet_do) {

led_vang=led_xanh=1;

led_do=0;

} if(khong_che == nhiet_do) {

led_do=led_xanh=1;

led_vang=0;

} }

}

Trang 17

} void khongche(void) interrupt 0 // khong che nhiet do o 20

do C

{

led_trang=1;

if(ngat0<2)

{

ngat0++;

if(ngat0==1) led_trang=0;

else

led_trang=1;

}

else

ngat0=0;

}

void tang_giam(void) interrupt 2 // tang, giam nhiet do khong che

{

if(ngat0==1)

{

ngat1=khong_che++;

}

if(ngat0==2)

{

ngat1=khong_che ;

}

}

Ngày đăng: 15/04/2014, 11:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w