Ðăng Nhập

View Full Version : Mạch đèn giao thông sử dụng pic


aidinhvan
16-03-2012, 09:20 PM
các bạn ơi , có ai có code mạch điều khiển đèn giao thông bằng pic : có chế độ auto và chế độ tự điều chỉnh cho mình xin với. Mình xin chân thành cảm ơn.

hein_ts
19-03-2012, 06:12 PM
Bạn hỏi quá chung chung. Mình thiết nghĩ là để làm được một mạch giao thông chuẩn mà bán được phải gồm đèn xanh đèn đỏ rồi nek, thêm cái phần led thời gian nữa. Mỗi cái cách nhau bao xa? làm sao mà dòng dây rợ loằng ngoằng hết được. ++> Phải dùng nhiều con để giao tiếp với nhau.++> nhiều phần mềm tùy vào mạch. Bạn yêu cầu đến mức nào nhỉ?

1041002
21-03-2012, 07:33 PM
ĐÈN GIAO THÔNG

Ở project này mình giới thiệu đến các bạn mạch và code mô phỏng đèn giao thông.
- Ngôn ngữ lập trình Mikroc.
- File mô phỏng PROTEUS 7.8 SP2.

PHÍA DƯỚI LÀ MỘT SỐ HÌNH ẢNH VÀ FILE HEX + FILE MÔ PHỎNG PROTUES

duybeo1512
24-03-2012, 11:15 PM
bác ơi bác copy code lên luôn đi cho em xem với

duybeo1512
24-03-2012, 11:17 PM
bác up cả đoạn code lên luôn đi cho anh em xem với!

1041002
25-03-2012, 01:14 AM
/*Ngon ngu Mikroc Pro v1.65
Tac gia Huynh Minh Trung (1041002)
CMU: 16f84*/
unsigned int mask(unsigned short num) {
switch (num) {
case 0 : return 0xc0;
case 1 : return 0xf9;
case 2 : return 0xa4;
case 3 : return 0xb0;
case 4 : return 0x99;
case 5 : return 0x92;
case 6 : return 0x82;
case 7 : return 0xf8;
case 8 : return 0x80;
case 9 : return 0x90;
} //case end
}//~
int digit_no, digit10, digit1, digit, i;

void interrupt() {
if (digit_no==0) {
PORTA.F3 = 0; // Turn off all 7seg displays
PORTB = digit1; // send mask for ones digit to PORTB
PORTA.F3 = 1; // turn on 1st 7 seg., turn off 2nd
digit_no = 1;
} else {
PORTA.F4 = 0; // Turn off all 7seg displays
PORTB = digit10; // send mask for tens digit to PORTB
PORTA.F4 = 1; // turn on 2nd 7 seg., turn off 1st
digit_no = 0;
}
TMR0 = 0; // clear TMRO
INTCON = 0x20; // clear TMR0IF and set TMR0IE
}
void hienthi(){
digit = i % 10u;
digit1 = mask(digit); // prepare ones digit
digit = (char)(i / 10u) % 10u;
digit10 = mask(digit); // prepare tens digit
}
void main(){
OPTION_REG = 0x80; // Timer0 settings
TMR0 = 0;
INTCON = 0xA0; // Disable PEIE,INTE,RBIE,T0IE
TRISA=0X00;
PORTA=0;
TRISB=0X00;
PORTB=0;

do{
PORTA=0;
i=10;
for(i;i>=0;i--){
hienthi();
PORTA.F0=1;
delay_ms(1000);
}
PORTA=0;
i=3;
for(i;i>=0;i--){
hienthi();
PORTA.F1=1;
delay_ms(1000);
}
PORTA=0;
i=20;
for(i;i>=0;i--){
hienthi();
PORTA.F2=1;
delay_ms(1000);
}

}while(1);
}

duybeo1512
29-03-2012, 07:13 PM
chương trình mikoc của bác viết code với yêu cầu như thế nào vậy bác ơi??????????????????????????????????????

1041002
01-04-2012, 07:39 AM
Yêu cầu: Set thời gian (thay đổi các thông số ở phần mềm - không hổ trợ nút set time ỏ phần cứng) và hiển thị thời gian các đèn (đỏ, vàng, xanh) trên led 7seg :-)

hangocminh1989
24-04-2012, 01:37 AM
tại sao những đề tài cũ, người ta đã làm chạy phà phà rồi, có hẳn những bài viết chỉ cách làm rồi, các bạn lại không chịu đọc, không chịu tìm, đọc những cái này mình rất mệt, chung quy mình kết luận, các bạn thụ động quá

lekhacvu
02-12-2012, 08:19 PM
đây là phần báo cáo mah đèn giao thông và đo nhiệt độ.http://www.mediafire.com/?tpmpcdkbx8gms98
các bạn tham khảo.mình viết bằng mikro C http://www.mediafire.com/?ituwwsclc1r2ew9