Hiện nay, tình trạng tắc nghẽn giao thông còn nhiều. Do đó, nhóm em có ý tưởng thực hiện mô phỏng đèn giao thông trên đường tại các nơi giao nhau ở ngã tư và ngã ba. Nhóm sử dụng vi điều khiển 8051để nghiên cứu và mô phỏng quá trình hoạt động của đèn giao thông, đồng thời đưa ra một số đề xuất về chức năng của đèn giao thông để giảm thiểu tình trạng giao thông trên. Mạch thực hiện đếm lùi, số đếm được hiển thị qua Led 7 đoạn. Khi mạch thực hiện đếm lùi , 3 Led đỏ, xanh và vàng sẽ lần lượt sáng biểu thị cho cột đèn giao thông . Mạch có thể áp dụng cho nhiều đèn giao thông ở ngã tư và ngã ba có các tuyến đường cắt nhau. Mạch có chức năng điều tiết lưu lượng giao thông, khi lượng xe lưu thông của tuyến đường không đều
Trang 1BÁO CÁO BÀI TẬP LỚN MÔN KỸ THUẬT VI XỬ LÝ
MẠCH MÔ PHỎNG ĐÈN GIAO THÔNG
Giảng viên hướng dẫn:
Cao Văn Nam
Môn : Kỹ Thuật Vi Xử Lý
Sinh viên thực hiên:
Lê Văn Bảo
Võ Thị Hoàng Anh
Nguyễn Hoàng Anh
Lớp : ĐHVT3A
Khoa : KTVT
Trang 2I > Ý TƯỞNG THỰC HIỆN:
Hiện nay, tình trạng tắc nghẽn giao thông còn nhiều Do đó, nhóm em có ý tưởng thực hiện mô phỏng đèn giao thông trên đường tại các nơi giao nhau ở ngã tư và ngã ba Nhóm sử dụng vi điều khiển 8051để nghiên cứu và mô phỏng quá trình hoạt động của đèn giao thông, đồng thời đưa ra một số đề xuất về chức năng của đèn giao thông để giảm thiểu tình trạng giao thông trên
II> CHỨC NĂNG CỦA MẠCH:
Mạch thực hiện đếm lùi, số đếm được hiển thị qua Led 7 đoạn Khi mạch thực hiện đếm lùi , 3 Led đỏ, xanh và vàng sẽ lần lượt sáng biểu thị cho cột đèn giao thông Mạch có thể áp dụng cho nhiều đèn giao thông ở ngã tư và ngã ba có các tuyến đường cắt nhau Mạch có chức năng điều tiết lưu lượng giao thông, khi lượng xe lưu thông của tuyến đường không đều
III> LINH KIỆN LÀM MẠCH:
- Vi điều khiển 8051
- Led đỏ, xanh, vàng số lượng mỗi loại 1
- Điện trỏ 220Ω
- Tụ thạch anh 12Mhz, tụ 33pF
- 1 Led 7 đoạn loại 7SEG-MPX2-CA
- Nguồn 5V
IV> NGUYÊN LÝ HOẠT ĐỘNG:
Mô tả mạch:
Cực âm Led Xanh nối điện trở 220 ôm và nối với cổng P0.0 , cực âm Led Vàng nối điện trở
220 ôm và nối với cổng P0.3, cực âm Led Đỏ nối điện trở 220 ôm và nối với cổng P0.6 của
vi điều khiển, cực dương các Led Xanh, Vàng và Đỏ được nối chung với nhau và nối với nguồn dương 5V
Các chân A,B,C,D,E,F,G của Led 7 đoạn được nối với điện trở 220 ôm và nối với các chân của PORT 2 vi điều khiển lần lượt P2.0, P2.1, P2.2, P2.3, P2.4, P2.5 và P2.6 Chân P3.0 và P3.1 của vi điều khiển nối với 2 chân nguồn lần lượt 1,2 của Led 7 đoạn
Nguyên lý làm việc:
Ban đầu khi mạch hoạt động, Led 7 đoạn hiển thị 20 (tương ứng 20 giây) đồng thời Led Xanh sẽ sáng, tương ứng với tín hiệu đèn xanh ở cột đèn giao thông, đồng thời Led 7 đoạn sẽ đếm lùi từ 20 trở về 00
Kế tiếp, Led 7 đoạn hiển thị 05 (tương ứng 05 giây) đồng thời Led Vàng sẽ sáng, tương ứng với tín hiệu đèn vàng , đồng thời Led 7 đoạn sẽ đếm lùi về 00
Cuối cùng Led 7 đoạn hiển thị 20 (tương ứng 20 giây) đồng Led Đỏ sẽ sáng, tương ứng với tín hiệu đèn đỏ, đồng thời Led 7 đoạn sẽ đếm lùi về 00 Sau đó , mạch lặp lại chu trình ban đầu
Trang 3V> CODE :
#include <REGX51.H>
void delay(int time)
{ while(time ); }
int dem; char i;
unsigned char chuc, donvi;
char so[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; void ledxanhdo()
{ P3_0 = P3_1 = 0;
for(dem=20;dem>=0;dem )
{ chuc = dem/10;
donvi = dem%10;
for(i=0;i<20;i++)
{ P3_0 = 1;
P2 = so[chuc];
delay(2000);
P3_0 = 0;
P3_1 = 1;
P2 = so[donvi];
delay(2000);
P3_1 = 0;
}
}
}
void led()
{ P3_0 = P3_1 = 0;
for(dem=5;dem>=0;dem )
{ chuc = dem/10;
donvi = dem%10;
for(i=0;i<20;i++)
{ P3_0 = 1;
P2 = so[chuc];
delay(2000);
Trang 4P3_0 = 0; P3_1 = 1; P2 = so[donvi]; delay(2000); P3_1 = 0; }
}
}
void main()
{ while(1)
{ P0_0 = 0;
P0_3 = 1;
P0_6 = 1;
ledxanhdo();
delay(2000);
P0_0 = 1;
P0_3 = 0;
P0_6 = 1;
led();
delay(2000);
P0_0 = 1;
P0_3 = 1;
P0_6 = 0;
ledxanhdo();
delay(2000);
}
}
Trang 5VI> MẠCH MÔ PHỎNG TRÊN PROTEUS: