Thiết kế bộ hẹn giờ cho một thiết bị - Pdf 22

Trng HCN H Ni Khoa in t

Bộ CÔNG THƯƠNg
Trờng đại học công nghiệp hà nội
Khoa điện tử

đồ án môn:
Vi điều khiển
Đề tài: Thiết kế bộ hẹn giờ cho một thiết bị
Sinh viên thực hiên: Cao Xuân Đức
Trơng Quang Huy
Phạm Thị Lan Hơng Giáo viên hớng dẫn: Nguyễn Anh Dũng

Hà nội -11/2009
Mục lục
1
Trng HCN H Ni Khoa in t

Chơng i: Giới thiệu chung về bộ vi điều khiển 3
I. Giới thiệu chung về bộ vi điều khiển . 4
II. Khảo sát bộ vi điều khiển 8051(89S52) 4
1. Kiến trúc phần cứng 5
2. Chức năng các chân 6
3. Các thanh ghi 9
4. Hoạt động của bộ định thời 10
5. Hoạt động của port nối tiếp 11
6. Hoạt động ngắt 12
Chơng ii: bộ hẹn giờ dùng 89s52

Trng HCN H Ni Khoa in t

I.Giới thiệu chung về bộ vi điều khiển:
Bộ vi điều khiển viết tắt là Micro-contronller, là mạch tích hợp trên một chíp có thể lập
trình đợc, dùng để điều khiển hoạt động của hệ thống. Theo các tập lệnh của ngời lập trình,
bộ vi điều khiển tiến hành đọc, lu trữ thông tin, xử lý thông tin, đo lờng thời gian và tiến
hành đọc mở một cơ cấu nào đó.
Trong các thiết bị điện và điện tử dân dụng, thiết bị tự động hoá các bộ vi điều khiển,
điều khiển hoạt đọng của các thiết bị này Trong hệ thống sản xuất tự động, bộ vi điều
khiển đợc sử dụng trong điều khiển robot, dây chuyền tự động Các hệ thống càng thông
minh thì vai trò của vi điều khiển càng quan trọng
II. Khảo sát bộ vi điều khiển 8051(89S52)
Họ vi điều khiển 8051 (còn gọi là họ C51) là một trong những họ vi điều khiển thông dụng
nhất. Đây là các bộ vi điều khiển 8bits, có kiến trúc theo kiểusản xuất theo công nghệ
CMOS, Một số loại vi điều khiển thuộc họ 8051 thông dụng có thể kể ra : AT89C2051(20
chân), AT89C4051(20 chân), AT89C51(40 chân), AT89C52(40 chân), AT89S51(40 chân),
AT89S52(40 chân), AT89S53(40 chân)
Trong chơng trình môn học này chúng ta tập trung nghiên cứu về bộ vi điều khiển 89S52.
Đây là một bộ vi điều khiển thông dụng, giá rẻ có khá nhiều chức năng hay đặc
biệt là có tích hợp sẵn bộ nạp trên chip giúp sinh viên có thể dễ dàng tự thực hiện các bài thí
nghiệm với chi phí rất thấp.
Cũng trong chơng trình môn học này, ngôn ngữ đợc sử dụng để trình bày các ví dụ ứng
dụng sẽ là ngôn ngữ C.
Cụ thể họ vi điều khiển 8051 có các đặc điểm sau :
-8 kbyte ROM (đợc lập trình bởi nhà sản xuất chỉ có ở 8051 )
-256 byte RAM
-4 port I/0 8 bit
-3 bộ định thời 16 bit
-Giao tiếp nối tiếp
-64 KB khônh gian bộ nhớ dũ liệu mở rộng

với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong vảy rộng và đợc ấn định bằng
một bộ định thời.
Trong vi điều khiển 8051 có hai thành phần quan trọng khác đó là bộ nhớ và các thanh ghi:
Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lu trữ dữ liệu và mã lệnh
Các thanh ghi sử dụng để lu trữ thông tin trong quá trình xử lý. Khi CPU làm việc nó thay
đổi nội dung các thanh ghi.
b). Chức năng các chân của vi điều khiển 8051
1. Port 0.
Port 0 gồm 8 chân, ngoài chức năng xuất nhập ra, 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 89S52 giao tiếp với các thiết bị
ngoài có kiến trúc Bus.
Hình 2.4. Cấu trúc của các chân trên port 0
2. Port 1.
Đối với 8051, 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, Port 1 có thể xuất nhập theo bit và theo byte.
6
Trng HCN H Ni Khoa in t

Hình 2.5. Cấu trúc của các chân trên port 1 và port 3.
Riêng dòng 89Sxx, 4 chân P1.4, P1.5, P1.6, P1.7 đợc dùng để nạp ROM theo chuẩn
ISP, 2 chân P1.0 và P1.1 đợc dùng cho bộ Timer 2. Trên hình 2.3 là một sơ đồ kết nối
89S52 với cổng song song để nạp chơng trình (file mã - *.hex) từ máy tính.
Trên sơ đồ này các đờng dẫn DO, DI, SCK, RTS lần lợt là các đờng dẫn dữ liệu lên
máy tính, xuống nối tiếp từ máy tính, đờng dẫn xung Clock và đờng dẫn xung Reset từ máy
tính xuống sau khi nạp xong chơng trình.
3. Port 2.
Port 2 có hai tác dụng, hoặc làm nhiệm vụ là cổng xuất nhập, hoặc là phần byte
cao của bus địa chỉ 16-bit cho các thiết kế hệ thống cần nhiều hơn 256 byte bộ nhớ ngoài.
Hình 2.7. Cấu trúc của các chân trên port 2
4. Port 3

7. EA (External Access) .
Chân này đợc nối lên 5V khi thực thi chơng trình trong ROM nội và đợc nối
đất khi thực thi chơng trình bộ nhớ ngoài. Chú ý đối với các chip không có ROM nội
/EA phải đợc nối đất. Các chip họ 8051 có EPROM còn nhận chân /ALE làm chân
nhận điện áp cấp điện 12V cho việc lập trình (nạp) cho EPROM nội.
8. RST (Reset).
Dùng để thiết lập lại trạng thái ban đầu của hệ thống hay gọi tắt là reset hệ thống
khi đợc treo ở mức logic là ít nhất 2 chu kỳ máy. Các thanh ghi bên trong của 8051
đợc nạp các giá trị thích hợp cho việc khởi động lại hệ thống.
9. XTAL1, XTAL2.
Mạch dao động bên trong chip 8051 đợc ghép với thạch anh bên ngoài ở 2 chân
XTAL1 v XTAL2. Thờng tần số l 12MHz v các tụ ổn định có giá trị trong khoảng
30pF 33 pF.
10 Vcc,GND:
8
Trng HCN H Ni Khoa in t

89S52 nối với dơng nguồn một chiều điện áp đầu vào 4V đến 5.5V qua chân 40 còn âm
nguồn nối với mát(GND) qua chân 20.
c). Các thanh ghi:
1. Các thanh ghi Port xuất nhập:
Các Port cua 8051 bao gồm port 0 ỏ địa chỉ 80H.port1 ỏ dịa chỉ 90H,port2 ỏ địa chỉ
A0H và port 3 ỏ địa chỉ B0H.Tất cả các port dều đợc địa chỉ hoá tùng bit .Điều đó cung cấp
một khả năng giao tiếp thuận lợi.
2.Các thanh ghi TIMER:
8051 chứa 2 bộ định thời đếm 16bit đợc dùng trong việc định thời hoạc đém sự
kiện.Timer0 ở địa chỉ 8AH(TLO:byte thấp) và 8CH (THO:byte cao)Timer1 ở địa chỉ 8BH
(TL1 byte thấp)và 8DH(TH1:byte cao).Việc vận hành của Timer đợc set bởi thanh ghi
Timer MODE(TMOD)ở địa chỉ 89H cà thanh ghi điều khiển timer(TCON)ở địa chỉ
88H.Chỉ có TCON đợc địa chỉ hoá từng bit.

TCON.4 TR0 8CH Bit điều khiển chạy cho Timer 0. đặt xóa bằng phần
mềm.
TCON.3 IE1 8BH Cờ báo ngắt 1 bên ngoài.
TCON.2 IT1 8AH Cờ ngắt do Timer 1
TCON.1 IE0 89H Cờ báo ngắt do Timer 0
TCON.0 IT0 88h Cờ ngắt do Timer 0
C. Các chế độ timer.
10
Trng HCN H Ni Khoa in t

.Chế độ 0,chế độ timer 13bit
Để tơng thích với 8048(có trớc 8051), ba bit cao của TLX(TL0 /hoặc TL1) không dùng
Xung nhịp timer
Cờ báo tràn
chế độ 1-chế độ timer 16bit.
Hoạt động nh timer 16 bit đầy đủ.Cờ báo tràn la bit TFx trong TCON có thế đọc hoạc ghi
bằng phần mềm .
MSB của giá trị trong các thanh ghi timer là bit7 của THx và LBS là bit 0 của TLx .Các
thanh ghi timer (TLx/THx)có thể đọc hoặc ghi bắt cứ lúc nào bằng phần mềm.

Xung nhịp timer

Cờ báo tràn
.Chế độ 2 chế độ 8 bit tự nạp lại
TLx hoạt động nh một timer 8 bit,trong khi đó THx vẫn giữ nguyên giá trị đợc nạp .Khi số
đếm tràn từ ffH đến 00H,không những cờ timer đợc set mà giá trị trong THx động thời đợc
nạp vào TLx .Việc đếm tiếp tục từ giá trị naỳ đến ffH xuống 00Hvà nạp lại CHế độ này rất
thông dụng vì sự tràn timer sảy ra trong khoảng thời gian nhất định và tuần hoàn khi đã
khởi động TMOD và THx.


SCON.0 RI 98H
-Bit 0 của chế độ port nối tiếp
-Bit 1 của chế độ port nối tiếp
-Bit 2 của chế độ 2 nối tiếp
Cho phép truyền thông đa xử lý trong các chế
độ 2 và 3 ,RI sẽ không bị tác động
Nếu bit thứ 9 thu đợc bằng 0
-cho phép thu (đặt bằng 1)
-bit 8 phát bit thứ 9 đợc phát các chế độ 2 và 3
-bit 8 thu bit thứ 9
-cờ ngắt phát ,đặt lên 1 khi kết thúc phát
-cờ ngắt thu ,đặt lên 1 khi kết thúc nhận
Bảng 2.7:Tóm tắt thanh ghi chế độ port nối tiếp SCON.
Các chế độ hoạt động của PORT nối tiếp
Port nối tiếp có 4 chế độ hoạt động :
1) Chế độ 0 :
2) Chế độ 1 : -
3) Chế độ 2 :
4) Chế độ 3 :
7. Các ngắt của 8051:
Các ngắt Timer.
Các ngắt cổng nối tiếp.
Các ngắt ngoài.
Chơng II
Bộ hen giờ cho rơle hiển thị bằng led 7 đoạn
13
Trng HCN H Ni Khoa in t

I. Các thiết bị sử dụng trong mạch :
Rơle: sử dụng rơle 12 vôn DC. để kích mở cho rơle này, cần một transistor mở

Chơng trình điều khiển của mạch viết bằng phần mềm Kiel C.
16
Kiểm tra
trạng thái
nút menu
Cấm ngắt bằng
timer 1
Tăng biến vị trí
(VT)
VT=1-Chỉnh giờ
VT=2-Chỉnh phút
Không bấm
Có bấm
Kiểm tra
giờ, phút,
giây, 1/10
giây=0?
sai
Cấp nguồn cho cuộn hút
Rơle, đồng thời bật đèn báo
đã hết giờ.
đún
g
VT=4-chỉnh 1/10
giây
Tăn
g
giả
m
Trng HCN H Ni Khoa in t

void set_phut (void);
void set_giay(void);
void set_giay1(void);
void scan_vitri (void);
void down_time (void);
//====================================
void main (void)
{ role=0;
set_time();
while (1)
{
if (menu ==0)
{
while (menu ==0);
EA=0;TR1=0;
vi_tri =vi_tri+1;
if (vi_tri ==5)
{vi_tri=0;
IE=0X88;
EA=1;
TF1 =0;TR1=1;
}
}
scan_vitri();
18
Trường ĐHCN Hà Nội Khoa điện tử

}
}
void set_time (void) // dat gia tri ban dau cho cac led 7 thanh

delay_ms (3);
}
void quet_gio (void)
{
clear();
P2=0X7F; //1
P0=so[gio/10]; delay_ms(2);
clear();
P2=0XBF; //2
P0=so[gio%10]; delay_ms(2);
}
void quet_phut (void)
19
Trường ĐHCN Hà Nội Khoa điện tử

{
clear();
P2=0XDF; //3
P0=so[phut/10];delay_ms(2);
clear();
P2=0XEF; //4
P0=so[phut%10];delay_ms(2);
}
void quet_giay (void)
{
clear();
P2=0XF7; //5
P0=so[giay/10];delay_ms(2);
clear();
P2=0XFB; //6

}
20
Trường ĐHCN Hà Nội Khoa điện tử

void set_phut (void)
{if (tang ==0)
{while (tang==0);
phut = phut +1;
if (phut>=60) phut=0 ;
}
if (giam ==0)
{while (giam ==0 );
phut = phut-1;
if (phut==-1) phut=59 ;
}
}
void set_giay (void)
{if (tang==0)
{while (tang==0);
giay=giay+1;
if(giay>=60) giay=0 ;
}
if (giam==0)
{while (giam==0) ;
giay=giay-1 ;
if(giay==-1) giay=59 ;
}
}
void set_giay1 (void)
{ if(tang==0)

void down_time (void) //chay giam gio_phut_giay
{giay1 = giay1-1;
if (giay1==-1)
{ giay1=9; giay=giay -1;
if (giay ==-1)
{ giay=59; phut = phut-1;
if (phut==-1)
{ phut=59;gio=gio-1;
if (gio==-1)
{gio=phut=giay=giay1=0;
role=1; // dong relay
}
}
}
}
}
//======================================================
void ngatT1 (void) interrupt 3 //ham ngat do timer 1
{
TR1=0; TF1=0;
k=k+2;
if(k>=3) // 1/10 S (chinh tan so tang giay1)
{
down_time();
k=0;
}
gio_phut_giay ();
TR1 =1;
}
22


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status