1. Trang chủ >
  2. Kỹ thuật >
  3. Điện - Điện tử - Viễn thông >

2 Chương trình C viết cho mạch điều khiển hệ thống đèn giao thông

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 (790.86 KB, 33 trang )


Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



}

// ham khai bao dung ngat timer 0& 1

void Setup_Timer0(void)

{

TMOD = 0x11;



// timer0 & 1 : CHE DO 1



TH0 = 0xEC;

TL0 = 0x77;

TH1 = 0x3C;

TL1 = 0xAF;

ET0 = 1;

ET1 = 1;

EA = 1;

TF0 = 0;

TF1 = 0;

TR0 = 1;

TR1 = 1;

}

// ham ngat timer 0

void T0_ISR(void)



== quet led

interrupt1



{ TR0 = 0;

TH0 = 0xEC;

TL0 = 0x76;

if (td == 0)

{// qui doi gia tri

if (d1)



{



n1 = tg_d1 / 10;

n2 = tg_d1 % 10;

};

if (x1)



{



n1 = tg_x1 / 10;

n2 = tg_x1 % 10;

};

Đồ Án Môn Học Vi Xử Lý



23



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



if (v1){

n1 = tg_v1 / 10;

n2 = tg_v1 % 10;

};

if (d2)



{



n3 = tg_d2 / 10;

n4 = tg_d2 % 10;

};

if (x2){

n3 = tg_x2 / 10;

n4 = tg_x2 % 10;

};

if (v2){

n3 = tg_v2 / 10;

n4 = tg_v2 % 10;

};

P2_7 = 1; // KHOA TRANZITOR

P2_6 = 1;

P2_5 = 1;

P2_4 = 1;

dem++;

if (dem == 1)

{

P0 = bang_ma[n1];

P2_7 = 0;

};

if (dem == 2)

{

P0 = bang_ma[n2];

P2_6 = 0;

};

if (dem == 3)

Đồ Án Môn Học Vi Xử Lý



24



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



{

P0 = bang_ma[n3];

P2_5 = 0;

};

if (dem == 4) {

P0 = bang_ma[n4];

P2_4 = 0;

dem = 0;

};

}

else



{



P2_7 = 1;

P2_6 = 1;

P2_5 = 1;

P2_4 = 1;

}

TF0 = 0;

TR0 = 1;

}

// ham ngat timer 1 = tạo clock

void T1_ISR(void)



interrupt



3



{



TR1 = 0;

TH1 = 0x3C; //TIMER 1 CHAY TU 15.535 DEN 65.535 = 50.000 MICRO

SECOND TUONG UNG 1 LAN TIMER1 1 TRÀN

TL1 = 0xAF;

time++;

if (time == 20)

{

time = 0;

if (td == 0)

{

// nga tu 1

Đồ Án Môn Học Vi Xử Lý



25



Trường CĐ CNTT Hữu Nghị Việt - Hàn

if (d1)



tg_d1--;



if (v1)



tg_v1--;



if (x1)



Hệ Thống Đèn Giao Thông



tg_x1--;



if (tg_d1 < 0)

{

if (bt)



tg_x1 = 20;



if (cd)



tg_x1 = 30;



tg_d1 = 0;

d1 = 0;

x1 = 1;

LED_D_1 = 1; // OFF

LED_X_1 = 0; // ON

LED_DBX1 = 1;

LED_DBD1 = 0;

LED_DBX2 = 0;

LED_DBD2 = 1;

};

if (tg_x1 < 0) {

tg_v1 = 3;

tg_x1 = 0;

x1 = 0;

v1 = 1;

LED_X_1 = 1;

LED_V_1 = 0;

LED_DBX1 = 1;

LED_DBD1 = 0;

LED_DBX2 = 0;

LED_DBD2 = 1;

};

if (tg_v1 < 0) {

if (bt)



tg_d1 = 24;



if (cd)



tg_d1 = 34;



Đồ Án Môn Học Vi Xử Lý



26



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



tg_v1 = 0;

v1 = 0;

d1 = 1;

LED_V_1 = 1;

LED_D_1 = 0;

LED_DBX1 = 0;

LED_DBD1 = 1;

LED_DBX2 = 1;

LED_DBD2 = 0;

};

// nga tu 2

if (d2)



tg_d2--;



if (v2)



tg_v2--;



if (x2)



tg_x2--;



if (tg_d2 < 0)

{

if (bt)



tg_x2 = 20;



if (cd)



tg_x2 = 30;



tg_d2 = 0;

d2 = 0;

x2 = 1;

LED_D_2 = 1;

LED_X_2 = 0;

LED_DBX1 = 0;

LED_DBD2 = 0;

LED_DBX2 = 1;

LED_DBD1 = 1;

};

if (tg_x2 < 0) {

tg_v2 = 3;

tg_x2 = 0;

x2 = 0;

Đồ Án Môn Học Vi Xử Lý



27



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



v2 = 1;

LED_X_2 = 1;

LED_V_2 = 0;

LED_DBX1 = 0;

LED_DBD2 = 0;

LED_DBX2 = 1;

LED_DBD1 = 1;

};

if (tg_v2 < 0) {

if (bt)



tg_d2 = 24;



if (cd)



tg_d2 = 34;



tg_v2 = 0;

v2 = 0;

d2 = 1;

LED_V_2 = 1;

LED_D_2 = 0;

LED_DBX1 = 1;

LED_DBD1 = 0;

LED_DBX2 = 0;

LED_DBD2 = 1;

};

}

else



{

LED_V_1 = !LED_V_1;

LED_V_2 = !LED_V_2;



}

};

TF1 = 0;

TR1 = 1;

}

// chuong trinh chinh

void main(void)

Đồ Án Môn Học Vi Xử Lý



{

28



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



dem = 0;

time = 0;

bt = 1;

cd = td = 0;

tg_d1 = tg_d2 = 24;

tg_x1 = tg_x2 = 20;

d1 = 1;

v1 = x1 = 0;

x2 = 1;

v2 = d2 = 0;

LED_D_1 = 0;

LED_X_2 = 0;

LED_DBX1 = 0;

LED_DBD1 = 1;

LED_DBX2 = 1;

LED_DBD2 = 0;

Setup_Timer0();

while(1)



{



// phim cao diem

if (!P1_0)



{



while(!P1_0);

delay(10);

tg_d1 = tg_d2 = 34;

tg_x1 = tg_x2 = 30;

cd = 1;

td = bt = 0;

d1 = 1;

v1 = x1 = 0;

x2 = 1;

v2 = d2 = 0;

OFF_LED;

LED_D_1 = 0;

Đồ Án Môn Học Vi Xử Lý



29



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



LED_X_2 = 0;

LED_DBX1 = 0;

LED_DBD1 = 1;

LED_DBX2 = 1;

LED_DBD2 = 0;

};

// phim binh thuong

if (!P1_1)



{



while(!P1_1);

delay(10);

tg_d1 = tg_d2 = 24;

tg_x1 = tg_x2 = 20;

bt = 1;

cd = td = 0;

d1 = 1;

v1 = x1 = 0;

x2 = 1;

v2 = d2 = 0;

OFF_LED;

LED_D_1 = 0;

LED_X_2 = 0;

LED_DBX1 = 0;

LED_DBD1 = 1;

LED_DBX2 = 1;

LED_DBD2 = 0;

};

// phim thap diem

if (!P1_2)



{



while(!P1_2);

delay(10);

OFF_LED;

td = 1;

Đồ Án Môn Học Vi Xử Lý



30



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



cd = bt = 0;

};

}

}



Đồ Án Môn Học Vi Xử Lý



31



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



KẾT LUẬN



Đồ Án Môn Học Vi Xử Lý



32



Trường CĐ CNTT Hữu Nghị Việt - Hàn



Hệ Thống Đèn Giao Thông



TÀI LIỆU THAM KHẢO

[1] Tống Văn On – Hoàng Đức Hải, Họ Vi Điều Khiển 8051, Nhà Xuất Bản Lao

Động – Xã Hội.

[2] R.H.WARRING, Sổ Tay Linh Kiện Điện Tử Cho Người Thiết Kế Mạch, NXB

Thống Kê, 1996.

[3] Website: dientuvietnam.net

[4] Website: dientuvienthong.net

[5] Website: dtvt.org



Đồ Án Môn Học Vi Xử Lý



33



Xem Thêm
Tải bản đầy đủ (.pdf) (33 trang)

×