Tải bản đầy đủ (.doc) (20 trang)

Đồ Án Vi Điều Khiển - Thiết Kế Bộ Hẹn Giờ Dùng Cho 1 Thiết Bị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (495.63 KB, 20 trang )

ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9
LỜI MỞ ĐẦU

Ngành kỹ thuật Điện tử hiện nay đang phát triển mạnh mẽ , kỹ thuật Vi Điều
Khiển đã trở nên quen thuộc trong các nghành kỹ thuật và trong dân dụng. Trong
thực tế các bộ Vi Điều Khiển được ứng dụng vào mọi lĩnh vực của đời sống từ các
thiết bị nhỏ như điện thoại di động , máy nhắn tin, trò chơi điện tử , các thiết bị gia
dụng như ( máy giặt, điều hoà , tủ lạnh…) đến những thiết bị có quy mô lớn như
các bộ điều khiển tự động trong các nhà máy , xi nghiệp, hệ thống thông tin liên
lạc… Vi điều khiển đã góp phần đưa con người đến đỉnh cao của nhân loại .
Qua quá trình học lý thuyết cũng như đi thực hành chúng em được sự chỉ bảo
tận tình của các thầy cô trong Khoa. Để nắm được kiến thức sâu hơn chúng em
được các thầy giao cho làm đồ án môn học nhằm nghiên cứu và học hỏi nhiều hơn
nữa.
Dưới đây chúng em xin giới thiệu một ứng dụng nhỏ của Vi Điều Khiển 8051
( cụ thể là vi điều khiển AT89S52) mà các thầy đã giao cho với đề tài: “ THIẾT
KẾ BỘ HẸN GIỜ DÙNG CHO 1 THIẾT BI.” . Đây là một ứng dụng nhỏ của
Vi Điều Khiển nhưng được sử dụng rất nhiều trong chuyên nghành Điện _ Điện tử.
Đồ án đã hoàn thành, song cũng không thể tránh nổi những sai sót và thiếu
sót. Chúng em rất mong được sự đóng góp ý kiến quý báu của các thầy cô cùng
các bạn để đề tài lần sau được hoàn chỉnh hơn nữa.
Chúng em xin chân thành cám ơn!

Hà Nội ngày :07/2/2010
ĐỀ THI KẾT THÚC HỌC PHẦN
Đề Số :07
Môn Học: Vi Điều Khiển

Hình Thức : Làm Bài Tập Lớn



Số Lượng Sinh Viên : 03
1


ĐỒ ÁN VI ĐIỀU KHIỂN
STT

Họ và Tên Sinh Viên

NHÓM 7___K9
Lớp / Khoa

Ghi chú

1
ĐINH HUY BẮC

CDT___K9

ĐÀO MINH KHA

CDT___K9

MAI QUANG TIẾN

CDT___K9

2
3


NỘI DUNG ĐỀ TÀI :THIẾT KẾ MẠCH HẸN GIỜ CHO MỘT THIẾT BỊ
A. Cơ Sở Lý Thuyết
I. Giới thiệu tổng quan về họ vi điều khiển 8051
Họ vi điều khiển 8051 là một trong những họ vi điều khiển thông dụng nhất . Đây
là họ vi điều khiển được sản xuất theo công nghệ CMOS . Có tốc độ cao và công
suất thấp, bộ nhớ Flash có thể lập trình được .
1. Sơ đồ khối của AT89S52

2


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

2. Những đặc trưng của AT89S52
 4 Kbyte bộ nhớ Flash có thể lập trình lặp vơi 1000 chu kỳ đọc
xoá
 Hoạt động tĩnh đầy đủ : Từ 0 HZ đến 24 MHZ
 Khoá bộ nhớ chương trình ba cấp
 128x8 bit RAM nội
 32 đường xuất nhập lập trình được
 Hai timer / counter khoong bit
 Một port nối tiếp sang công có thể lập trình được
 Mạch đồng hồ và bộ dao động trên chíp
3. Sơ đồ chân và chức năng của AT89S52

Như vậy theo sơ đồ trên AT89S52 có 40 chân .mỗi chân có chức năng như
các đường I/O (xuất nhập ) , trong đó 24 chân có công dụng kép,mỗi đường có thể

hoạt động như một đường I/O hoặc như đường điều khiển hoặc như thành phần của
bus điều khiển và bus dữ liệu.

3.1 Port 0 ( P0.0- P0.7)
3


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

Port 0 gồm 8 chân, ngoài các 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 8051 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 nhớ PIO…

3.2 Port 1 ( P1.0- P1.7)
Port 1 có chức năng xuất nhập theo bit và byte. Ngoài ra, ba chân P1.5, P1.6,
P1.7 được dùng để nạp ROM theo chuẩn ISP, hai chân P1.0, và P1.1 được dùng
cho bộ Timer 2.

4


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

3.3 Port 2 (P2.0-P2.7)
Là một port có công dụng kép, là đường xuất nhập hoặc là byte cao của bus dịa
chỉ đối vớo các thiết bị đồng bộ nhớ mở rộng.


3.4 Port 3 (P3.0- P3.7)
Mỗi chân trên Port 3 ngoai chớc năng xuất nhập còn có chớc năng riêng,
cụ thể như sau :
Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7

Tên
RXD
TXD
INT0
INT1
T0
T1
/WR
/RD

Chức năng
Dữ liệu nhận cho port nối tiếp
Dữ liệu truyền cho port nối tiếp
Ngắt bên ngoài 0
Ngắt bên ngoài 1
Ngõ vào của Timer/counter 0

Ngõ vào của Timer/ counter 1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài.

3.5 Chân /PSEN ( Program store Enable)
/PSEN là chân điều khiển đọc chương trình ở bộ nhớ ngoài, nó được nối với
chân /OE để cho phép đọc các byte mã lệnh trên ROM ngoài . /PSEN sẽ ở mức
thấp trong thời gian đọc mã lệnh . Mã lẹnh được đọc từ bộ nhớ ngoài qua bus dữ
liệu (Port 0) thanh ghi lệnh để được giải mã . Khi thực hiện chương trình trong
ROM nội thì /PSEN ở mức cao.

5


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

3.6 Chân ALE (Address Latch Enable)
ALE là tín hiệu điều chỉnh 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ư
74373, 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ / dữ liệu (Port 0).
3.7 Chân /EA (External Access)
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài vi
điều khiển . Nếu EA ở mức cao (nối với Vcc), thì vi điều khiển thi hành chương
trình trong ROM nội . Nếu /EA ở mức thấp (nối với GND), thì vi điều khiển thi
hành chương trình từ bộ nhớ ngoài .
3.8 RST (Reset)
Ngõ vào RST trên chân 9 la f ngõ Reset của 8051. Khi tín hiệu này được đưa
lên mức cao , các thanh ghi trong bộ vi điều khiển được tải những giá trị thích hợp

để khởi động hệ thống .
3.9 XTAL1, XTAL2
AT89S52 có một bộ dao động trên chíp, nó thường được nối với với bộ dao
động bằng thạch anh có tần số lớn nhất là 33MHZ, thông thường là 12MHZ.

Hình trên là cách nối bộ dao động thạch anh
3.10 Vcc, GND
AT89s52 dùng nguồn điện áp một chiều có dải điện áp từ 4v đến 5,5v được
cấp qua chân 20 và 40.

6


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9



IC 7805

Dung để biến đổi nguồn cấp vào nó là 12V thành 5V.Để cung cấp cho mạch
B. Bản thiết kế đề tài mạch hẹn giờ dung cho một thiết bị

Khối
nguồn

Khối
khuếch đạichuyển


Khối điều
khiển

Motor 1
chiều

đổi

7


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

Hình 1:sơ đồ nguyên lý khối nguồn
Dòng điện 12v vào chân (CON2) sau đó cho qua bộ ổn áp( IC 7805) được điện áp
+ 5v ổn định cấp cho : Vi điều khiển AT89s52,
Trong sơ đồ gồm có diot dung để ngăn dòng điện chạy ngược lại
C4,C5 dùng để lọc dòng điện soay chiều va cho ra dòng một chiều
Khi dòng qua LM 7805 ra được điên áp 5v và cấp nguồn cho vi điều khiển khi đo
LED d4 sáng để nhận biết dòng điện
2. KHỐI ROLE
ROLE là thiết bị điện tự động mà tín hiệu ra thay đổi cấp khi tín hiệu đầu vào
đạt những giá trị xác định .
ROLE là thiết bị điện dung để đóng cắt mạch điện điều khiển bảo vệ và điều
khiển sự làm việc của mach điện
Các bộ phận chính trong ROLE
Cơ cấu tiếp thu : có nhiệm vụ nhận những tín hiệu đầu vào và biến đổi nó
thành đại lượng cần thiết cung cấp tín hiệu phù hơp cho khối trung gian

Cơ cấu trung gian : làm nhiềm vụ nhận nhưng tín hiệu đưa đến từ khối tiếp
thu và biến đổi nó thành đại lương cần thiết
Cơ cấu chấp hành : làm nhiêm vụ phát tín hiệu cho mạch vi điều khi

8


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

SƠ ĐỒ CHÂN LED

Ta sử dụng 2 con led 7seg dung để hiển thi
2 led này là led anot
2 led này thông qua 8 transitor để cấp nguồn cho led
Vì nguồn sử dụng trong vi điều khiển không đủ để cấp nguồn cho led

3.SƠ ĐỒ TOÀN MẠCH

9


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

Trong mạch gồm có 4 nút ấn điều khiển và một nút ấn reset lại toàn bộ
chương trình
4 nút ấn trong đó dung để điều khiển led đếm tiến hay đếm lùi

4. SƠ ĐỒ MẠCH IN
10


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

5. SƠ ĐỒ MẠCH MÔ PHỎNG

11


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

6. CHƯƠNG TRÌNH NẠP CHO VI ĐIỀU KHIỂN

#include <REGX52.H>
#include <RTX51TNY.H>
sbit OK=P3^0; //OK
sbit MODE=P3^1;//MODE
sbit UP=P3^2;//UP
sbit DOW=P3^3;//DOW
sbit l8=P2^7;
12


ĐỒ ÁN VI ĐIỀU KHIỂN


NHÓM 7___K9

sbit l7=P2^6;
sbit l6=P2^5;
sbit l5=P2^4;
sbit l4=P2^3;
sbit l3=P2^2;
sbit l2=P2^1;
sbit l1=P2^0;
sbit role=P3^7;
unsigned char so1,so2,so3,so4,so5,so6,so7,so8;
unsigned char font[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
// font led7 thanh
unsigned int a=0,sec=0,min=0,hour=0,b=0,c=0,d,i;
void time (void) _task_ 1 //chay thoi gian thuc
{
while(1)
{
os_wait(K_TMO,10,0);
a--;
if(a==-1)
{
sec--;
if(sec==-1)
{
min--;
if(min==-1)
{
hour--;

if(hour==0)hour=0;
min=59;
}
sec=59;
}
a=9;
}
}
}
void key (void)
{
if(OK==0) //chay chuong trinh
{
13


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

while(OK==0){;}
b++;
if(b==2) b=0;
}
if(MODE==0) //lua chon chinh
{
while(MODE==0){;}
c++;
if(c==4) c=0;
}

}
void delay(void) //ham tre quet led 7
{
for(i=0;i<100;i++);
}
//set time
void set_time(void)
{
switch (c)
{
case 0://HOUR
{ key();
if(UP==0)
{
while(UP==0){;}
hour++;
if(hour==24) hour=0;
}
if(DOW==0)
{
while(DOW==0){;}
hour--;
if(hour==-1) hour=23;
}
so1=hour/10;
so2=hour%10;
for(d=0;d<10;d++)
{
l1=0;
l2=l3=l4=l5=l6=l7=l8=1;

14


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9
P0=font[so1];
delay();
l2=0;
l1=l3=l4=l5=l6=l7=l8=1;
P0=font[so2];
delay();
}
break;
}

case 1: //MIN
{ key();
if(UP==0)
{
while(UP==0){;}
min++;
if(min==60) min=0;
}
if(DOW==0)
{
while(DOW==0){;}
min--;
if(min==-1) min=59;
}

so3=min/10;
so4=min%10;
for(d=0;d<10;d++)
{
l3=0;
l2=l1=l4=l5=l6=l7=l8=1;
P0=font[so3];
delay();
l4=0;
l2=l3=l1=l5=l6=l7=l8=1;
P0=font[so4];
delay();
}
break;
}
case 2: //SEC
15


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

{ key();
if(UP==0)
{
while(UP==0){;}
sec++;
if(sec==60) sec=0;
}

if(DOW==0)
{
while(DOW==0){;}
sec--;
if(sec==-1) sec=59;
}
so5=sec/10;
so6=sec%10;
for(d=0;d<10;d++)
{
l5=0;
l2=l1=l4=l3=l6=l7=l8=1;
P0=font[so5];
delay();
l6=0;
l2=l3=l1=l5=l4=l7=l8=1;
P0=font[so6];
delay();
}
break;
}
case 3: //a
{ key();
if(UP==0)
{
while(UP==0){;}
a++;
if(a==10) a=0;
}
if(DOW==0)

{
while(DOW==0){;}
a--;
if(a==-1) a=9;
16


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

}
so7=a/10;
so8=a%10;
for(d=0;d<10;d++)
{
l7=0;
l2=l1=l4=l5=l6=l3=l8=1;
P0=font[so7];
delay();
l8=0;
l2=l3=l1=l5=l6=l7=l4=1;
P0=font[so8];
delay();
}
break;
}
}
}
void hien_thi (void) _task_ 2 //hien thi led 7

{
while(1)
{
key();
while(b==0)//vao chuong trinh set
{ role=0;
os_delete_task (1);//xoa task 1
key();
set_time();
}
key();
while(b==1)//chay chuong trinh
{
key();
if((hour!=0)||(min!=0)||(sec!=0)||(a!=0))
{
os_create_task(1);//khoi tao task 1
role=1;
}
17


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

if((hour==0)&&(min==0)&&(sec==0)&&(a==0))//dung chuong
trinh khi chay het
{
os_delete_task (1);//xoa task 1

role=0;
}
so1=hour/10;
so2=hour%10;
so3=min/10;
so4=min%10;
so5=sec/10;
so6=sec%10;
so7=a/10;
so8=a%10;
for(d=0;d<10;d++
)
{
l1=0;
l2=l3=l4=l5=l6=l7=l8=1;
P0=font[so1];
delay();
l2=0;
l1=l3=l4=l5=l6=l7=l8=1;
P0=font[so2];
delay();
l3=0;
l2=l1=l4=l5=l6=l7=l8=1;
P0=font[so3];
delay();
l4=0;
l2=l3=l1=l5=l6=l7=l8=1;
P0=font[so4];
delay();
l5=0;

l2=l3=l1=l4=l6=l7=l8=1;
P0=font[so5];
delay();
18


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

l6=0;
l2=l3=l1=l5=l4=l7=l8=1;
P0=font[so6];
delay();
l7=0;
l2=l3=l1=l5=l6=l4=l8=1;
P0=font[so7];
delay();
l8=0;
l2=l3=l1=l5=l6=l7=l4=1;
P0=font[so8];
delay();
}
}
}
}
void start_up (void) _task_ 0
{
os_create_task(1);
os_create_task(2);

os_delete_task (0);
}

CHÚNG EM XIN KẾT THÚC CHƯƠNG TRÌNH TAI ĐÂY
CÓ GÌ THIẾU SÓT MONG ĐƯỢC THẦY CÔ VÀ BẠN BÈ GIÚP ĐỠ

19


ĐỒ ÁN VI ĐIỀU KHIỂN

NHÓM 7___K9

VI. Tài liệu tham khảo
1.vi điều khiển
NXB GIÁO DỤC
(cấu trúc -lập trình và ứng dụng)
2.vi điều khiển
TỐNG VĂN ON

20



×