PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC - Thiết kế và Ứng dụng (http://www.picvietnam.com/forum/forumdisplay.php?f=23)
-   -   Mạch đèn giao thông sử dụng pic (http://www.picvietnam.com/forum/showthread.php?t=13511)

aidinhvan 16-03-2012 09:20 PM

Mạch đèn giao thông sử dụng pic
 
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

Project đèn giao thông dùng pic 16f84
 
5 Attachment(s)
ĐÈ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

Code viết bằng Mikroc đây
 
/*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


Múi giờ GMT. Hiện tại là 02:23 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam