Tải bản đầy đủ (.docx) (15 trang)

Thiết kế hệ thống điều khiển đèn tín hiệu tại ngã tư nguyễn phong sắc – hoàng quốc việt, với bộ vi xử lý sử dụng onchip 89c51

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 (303.11 KB, 15 trang )

TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

TRƯỜNG HỌC VIỆN KĨ THUẬT QUÂN SỰ
KHOA VÔ TUYẾN- ĐIỆN TỬ
************************

ĐỀ TÀI:
Thiết kế hệ thống điều khiển đèn tín hiệu tại ngã tư Nguyễn
Phong Sắc – Hoàng Quốc Việt, với bộ vi xử lý sử dụng onchip
89c51.
Giáo viên hướng dẫn: Trần Thị hồng Thắm
Sinh viên thực hiện: Nhóm 4
Lớp

LỜI NÓI ĐẦU
ĐIỆN TỬ VIỄN THÔNG 15A

Page 1

:

DTVT 15A


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

Nghà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ở lê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á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. Trong phạm vi bài tập lớn lần này, chúng em dùng vi điều
khiển để thiết kế HỆ THỐNG ĐÈN TÍN HIỆU TẠI 1 NGÃ TƯ. Đây chỉ là một
trong những ứng dụng rất nhỏ của vi điều khiển nhưng qua quá trình thiết kế đề tài
chúng em đã rút ra được rất nhiều kinh nghiêm thực tiễn quý báu. 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 vi
điều khiển 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.
Mặc dù đã cố gắng hết sức mình để hoàn thành xong đồ án môn học nhưng
cũng không tránh khỏi những thiếu sót. Do vậy, chúng em rất mong được sự góp ý
quý báu của thầy cô và các bạn để đề tài có thể hoàn thiện hơn.
Chúng em xin chân thành cảm ơn

PHẦN A:
ĐIỆN TỬ VIỄN THÔNG 15A

Sơ Lược 8051
Page 2


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

8051 ra đời năm 1981 do hãng Intel sản xuất. Họ điều khiển này có 128

byte RAM,4kbyte ROM,hai bộ đnh thời ,một cổng nối tiếp và 4 cổng ra\vào song
song và là 1 bộ vi xử lý 8 bit.Sau khi Intel cho các nhà sản xuất khác sản xuất và
bán các dạng biến thể của 8051 thì họ 8051càng ngày càng phổ biến và ngày càng
có nhiều phiên bản khác nhau của 8051 nhưng tất cả đều tương thích với 8051 ban
đầu.
Sau đây là bảng so sánh các họ khác nhau:

I.

Số hiệu sản
xuất

Bộ nhớ chương
trình

Bộ nhớ dữ liệu

Số bộ định thời
(bộ đếm)

8031

0K

128 BYTE

2

8051


4K ROM

128 BYTE

2

8571

4K EPROM

128 BYTE

2

8951

4K FLASH

128 BYTE

2

8032

0K

256 BYTE

3


8052

8K ROM

256 BYTE

3

8752

8K EPROM

256 BYTE

3

8952

8K FLASH

256 BYTE

3

C
h
ức

năng các chân của họ 8051
1.


Port 0 (P0.0 _ P0.7)

Port 0 gồm 8 chân .Với chức năng xuất nhập dữ liệu ,ngoài ra Port 0 còn là bus
đa hợp dữ liện và địa chỉ(AD0_AD7).Port 0 cũng nhận các byte mã khi lập trình
Flas và xuất các byte mã khi kiểm tra chương trình .Chú y trong trường hợp này
cần có thêm điện trở trước khi nối vào chân Port 0.
ĐIỆN TỬ VIỄN THÔNG 15A

Page 3


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

2. Port 1 (P1.0_P1.7)
Cũng như Port 0 ,Port 1 cũng có 8 chân. Chức năng của Port 1 chỉ là xuất nhập
dữ liệu .Port 1 cũng có thể xuất nhập theo bit và theo byte.
3. Port 2
Port 2 là port 8 bit ,cũng có chức năng xuất nhập dữ liệu như 2 port trên.Khi
làm nhiệm vụ là port nhập, các chân của port 2 đang được kéo xuống mức thấp do
tác động của bên ngoài sẽ cấp dòng do các điện trở kéo lên từ bên trong .Port 2 tạo
ra byte cao của bus điạ chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình
ngoài và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16
bit.Port 2 cũng nhận các bit địa chỉ cao và tín hiệu điều khiển trông thời gian lập
trình Flash và kiểm tra chương trình.
4. Port 3
Cũng là port xuất nhập dữ liệu 8 bit ,ngoài ra port 3 còn có các chức năng khác
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/counter0
Ngõ vào của timer/counter1
Xung ghi bộ nhớ dữ liệu ngoài
Xung đọc bộ nhớ dữ liệu ngoài


5. RST
Khi tín hiệu vào chân này được đưa lên mức cao ( trong ít 2 chu kỳ),các thanh
ghi trong bộ vi điều khiển được tải lên nhưng giá trị thích hợp để khởi động hệ
thống.
6. Chân /PSEN
PSEN(program store enable) là chân đọc chương trình ở bộ nhớ ngoài ./PSEN
sẽ ở mức thấp trong thời gian đọc mã lệnh.Khi thực hiện chương trình trong ROM
nội thì /PSEN ở mức cao Chân này được kích hoạt 2 lần mỗi chu kỳ máy và hai
hoạt đông này sẽ được bỏ qua khi truy cập bộ nhớ ngoài .
ĐIỆN TỬ VIỄN THÔNG 15A

Page 4


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

7. Chân ALE
ALE(address latch enable) là một xung ngõ ra để chốt byte thấp của địa chỉ
trong khi truy cập bộ nhớ ngoài .Đây cũng là chân truy cập xung lập trình khyi lập
trình Flash.Bình thường khi hoạt động chân ALE sẽ được phát với một tỷ lệ không
đổi 1/6 tần số dao đông của vi điều khiển .Tuy nhiên chân này cũng sẽ bỏ qua mỗi
khi truy cập bộ nhớ ngoài .
8. Chân EA
EA(external access) là chân cho phép chọn bộ nhớ trong hay bộ nhớ ngoài của
vi điều khiển .Khi EA ở mức tích cực cao(nối với VCC) thì vi điều khiển thi hành
chương trình ROM nội,ngược lại(nối với GND) thì vi điều khiển thi hành bộ nhớ
ngoài.
9. XTAL1 và XTAL2

Đây là 2 ngỏ vào và ra của 1 bộ khuyếch đại dao động nghịch được cấu hình để
dùng như một bộ dao động trên chip.Nó thường được nối với bộ dao đông thạch
anh có dải tần thường là 12MHz-33MHz.
10. Vcc và GND
Đây là 2 chân dùng để cấp nguồn cho IC, dải điện áp thích hợp là 4-5V.Với Vcc
nối với dương nguồn ,GND nối với âm nguồn.

Hình 1.
của

Sơ đồ chân
8051

ĐIỆN TỬ VIỄN THÔNG 15A

Page 5


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

Hình 2. Sơ đồ khối điều khiển của 8051
PHẦN B: Phân Tích Bài Toán Thiết Kế

và Thiết Kế Sơ Đồ Phần Cứng
1. Phân tích bài toán
Điều khiển 2 cột đèn ở một ngã tư
Mục đích để phân luồng giao thông, điều khiển đèn đỏ sáng 24 s, đèn xanh 20s,
đèn vàng 4s.

Các đèn vàng, xanh, đỏ trên 2 cột đèn sáng xen kẽ nhau. Đảm bảo sao cho thời
gian đèn đỏ cột này bằng thời gian đèn vàng cộng đèn xanh và ngược lại
Điều đó thể hiện qua giản đồ sau:
Cột 1
Dx1

20s

ĐIỆN TỬ VIỄN THÔNG 15A

20s

Page 6


TRƯỜNG HVKT QUÂN SỰ
Dv1

BÀI TẬP LỚN VI XỬ LÍ
4s

Dd2

4s

24s

24s

Cột 2

Dd1

24s

Dx2

24s

20s

Dv2

20s

4s

4s

Hình 3: Giản đồ thời gian các chế độ hoạt đông

2. Thiết kế phần cứng
- Thành phần linh kiện bao gồm: 4 cột đèn giao thông gồm 3 đèn xanh, đỏ, vàng.
4 cặp led đôi 7 thanh loại cathode, 1 con chip 89c51, 8 cổng logic not, 1 switch, và
các trở va tụ.
- Khối hiện thị

LED 7
THANH

IC 89C51


-

Khối điều khiển đèn

IC 89C51
-

LED ĐƠN

Sơ đồ nguyên lí

ĐIỆN TỬ VIỄN THÔNG 15A

Page 7


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

Phần C: Lưu Đồ Thuật Toàn Và Mã Phần Mềm
1.

Lưu đồ thuật toán

Begin

Thời gian D1=24s


Thời gian D2=24s

Thời gian X2= 20s

Thời gian X1= 20s

Bật đèn đỏ 1 và đèn
xanh 2

Bật đèn đỏ 2 và đèn
xanh 1

ĐIỆN TỬ VIỄN THÔNG 15A
Chạy chương
chương trình
trình led
led
Chạy
đènđếm
đỏ 1lùivàthời
đèn
77Bật
đoạn,
Thời gian
4s
đoạn,
đếmV2=
vàng
2lùi thời
gian


Page 8

Chạy
chương trình
led
Chạy
led7
Bật chương
đèn đỏ 2trình
và đèn
đoạn,
đếm
lùi thời
gian
Thời
gian
V1=thời
4s
7 đoạn,
đếm
vàng lùi
1


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

Hình 4: sơ đồ giải thuật

2. Chương trình
/****************DEN GIAO THONG 1 NGA TU**********************/
/******************** NHOM 4 DTVT 15A*************************/
/*========================================================*/
#include<AT89X51.h>
unsigned char thoi_gian0,thoi_gian1,thoi_gian2,thoi_gian3;
unsigned int over=0;
unsigned char ma[10]={192,249,164,176,153,146,130,248,128,144};
void delay(unsigned char time)
{
ĐIỆN TỬ VIỄN THÔNG 15A

Page 9


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

unsigned char x,y;
for(x=0;x{
for(y=0;y<125;y++);
}
void time0() interrupt 1
{
over++;
if(over==4950)
{
over=0;

thoi_gian0--;

thoi_gian1--;

thoi_gian2--;

thoi_gian3--;

}
}
void h_thi0()
{
unsigned char k,chuc,donvi;
for(k=0;k<2;k++)
{
donvi=thoi_gian0%10;
chuc=thoi_gian0/10;
}
P2=ma[donvi];
ĐIỆN TỬ VIỄN THÔNG 15A

Page 10


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

P0=0xfe; delay(1);
P0=0xff; delay(1);

P0=0xfb; delay(1);
P0=0xff; delay(1);
P2=ma[chuc];
P0=0xfd; delay(1);
P0=0xff; delay(1);
P0=0xf7; delay(1);
P0=0xff; delay(1);
}
void h_thi1()
{
unsigned char k,chuc,donvi;
for(k=0;k<2;k++)
{
donvi=thoi_gian1%10;
chuc=thoi_gian1/10;
}
P2=ma[donvi];
P0_4=0; delay(1);
P0_4=1; delay(1);
P0_6=0; delay(1);
P0_6=1; delay(1);
P2=ma[chuc];
ĐIỆN TỬ VIỄN THÔNG 15A

Page 11


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ


P0_5=0; delay(1);
P0_5=1; delay(1);
P0_7=0; delay(1);
P0_7=1; delay(1);
}
void h_thi2()
{
unsigned char k,chuc,donvi;
for(k=0;k<2;k++)
{
donvi=thoi_gian2%10;
chuc=thoi_gian2/10;
}
P2=ma[donvi];
P0_4=0; delay(1);
P0_4=1; delay(1);
P0_6=0; delay(1);
P0_6=1; delay(1);
P2=ma[chuc];
P0_5=0; delay(1);
P0_5=1; delay(1);
P0_7=0; delay(1);
P0_7=1; delay(1);
}
ĐIỆN TỬ VIỄN THÔNG 15A

Page 12



TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

void h_thi3()
{
unsigned char k,chuc,donvi;
for(k=0;k<2;k++)
{
donvi=thoi_gian3%10;
chuc=thoi_gian3/10;
}
P2=ma[donvi];
P0_0=0; delay(1);
P0_0=1; delay(1);
P0_2=0; delay(1);
P0_2=1; delay(1);
P2=ma[chuc];
P0_1=0; delay(1);
P0_1=1; delay(1);
P0_3=0; delay(1);
P0_3=1; delay(1);
}
void main()
{
P0=255;
P2=255;
TMOD=2;
ĐIỆN TỬ VIỄN THÔNG 15A


Page 13


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

TH0=54;
TR0=1;
ET0=1;
EA=1;
while(1)
{
thoi_gian0=20; thoi_gian1=24;
do
{
P1=0x21;
h_thi0();
h_thi1();
}
while(thoi_gian0!=0);
thoi_gian0=5; thoi_gian1=5;
do
P1=0x11;
h_thi0();
h_thi1();

}

while(thoi_gian0!=0);

thoi_gian2=20;

thoi_gian3=24;

do
{
P1=0x0c;
ĐIỆN TỬ VIỄN THÔNG 15A

Page 14


TRƯỜNG HVKT QUÂN SỰ

BÀI TẬP LỚN VI XỬ LÍ

h_thi2();
h_thi3();
}
while(thoi_gian2!=0);
thoi_gian2=5; thoi_gian3=5;
do
{
P1=0x0a;
h_thi2();
h_thi3();
}
while(thoi_gian2!=0);
}
}

PHẦN D: HƯỚNG MỞ RỘNG ĐỀ TÀI
Trên cơ sở xây dựng đèn giao thông 1 ngã tư, chúng ta có thể mở rộng mô hình
điều khiển sang nhiều hướng khác .Đó cũng chỉ là việc liên kết các cột đèn tín
hiệu. tín hiệu cho phép đi của làn đường này (đèn xanh) cùng lúc đó co tín hiệu
dừng lại (đèn đỏ) của các làn đường khác không cùng chiều cùng hướng.
Ngoải ra chúng ta có thể thiết kê thêm đèn dành cho người đi bộ, làn đường ưu
tiên. Cùng với các bộ cảm biến quang và ic thời gian thực, chúng ta sẽ tự động thay
đổi thời gian ban ngày và ban đêm ( ban đêm thì giảm thời giảm xuống, ban ngày
tăng thời gian lúc cao điểm để tránh gây tắc nghẽn).

ĐIỆN TỬ VIỄN THÔNG 15A

Page 15



×