PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Hỏi về đèn giao thông sử dụng Pic (http://www.picvietnam.com/forum/showthread.php?t=8998)

hienroland 25-04-2011 05:53 PM

Hỏi về đèn giao thông sử dụng Pic
 
1 Attachment(s)
Lần đầu tiên post bài, nếu không đúng khu vực thì mong admin thông cảm và di dời dùm em.
Em đang làm đồ án tốt nghiệp về hệ thống đèn giao thông, sử dụng vi điều khiển PIC16f877a( cho rẻ+nhiều tài liệu...),code và mô phỏng như bên dưới.
Mô tả hoạt động của hệ thống: Hệ thống có thể hoạt động ở hai chế độ là auto( tự động) và manual(bằng tay). Ở chế độ auto, em lập trình 3 chương trình chạy,đó là: giờ bình thường ( xanh 20s,đỏ 23s, vàng 3s), giờ cao điểm (xanh 47s,đỏ 50s,vàng 3s) và giờ ban đêm thì chỉ có đèn vàng nhấp nháy; ở chế độ manual thì có thể dùng hai nút bấm để chuyển chế độ xanh hoặc đỏ cho từng cột đèn. Để chuyển chế độ thì em dùng ngắt ngoài RB0, chọn kiểu chạy thì em dùng 3 phím nối với RB5,RB6,RB7 (ở đây không phải ngắt-on-change).
Trong file mô phỏng, 2 cụm đèn 3 bóng đạt gần nhau là báo hiệu cho xe cộ, 2 cụm đèn 2 bóng đặt gần nhau là báo hiệu cho người đi bộ, 1 cụm đèn 5 bóng đặt nằm ngang báo hiệu chế độ đang hoạt động(auo hay manual) và kiểu chạy (xanh 1-bình thường, xanh 2-cao điểm, freetime.
nếu đang ở chế độ điều khiển bằng tay, nhấn nút b5 hoặc b6 thì đèn x1 hoặc x2 sáng, nếu nhấn nút b7 thì chế độ freetime sẽ chạy. Nếu đang ở chế độ tự động, thì khi ấn nút b5 sẽ chạy chương trình giờ bình thường, nhấn nút b6 là giờ cao điểm và nút b7 là giò ban đêm(freetime).
Vấn đề em gặp phải ở đây là: khi đang ở chế độ manual, em có thể chuyển qua lại giữa phím b5 và b6, hoặc là nhấn phím SET dể chuyển chế độ. Nhưng khi ở chế độ auto, nếu em đã chọn một trong 3 phím b5, b6, b7 thì các nút khác không còn tác dụng( kể ca nút SET- ngắt ngoài). muốn chọn phím khác em phải nhấn phím rết khởi động lại.
Em không biết code sai ở đâu rất mong nhận được sự giúp đỡ của mọi người.
Em gần đến ngày nộp đồ án rùi nên rất mong mau chóng dược mọi người giải đáp cho em.
Xin chan thành cảm ơn mọi người.

tanbka 25-04-2011 10:11 PM

Trong chương trình của bạn, các chương trình con bạn đều để điều kiện while(1), điều kiện đó luôn đúng, vì vậy khi PIC đã vào chương trình con thì sẽ không thoát ra được nữa, chính vì thế bạn ấn phím không có tác dụng, kể cả phím ngắt ngoài, vì sau khi ngắt PIC lại quay về thực hiện chương trình con đó.

hienroland 26-04-2011 12:25 AM

Trích:

Nguyên văn bởi tanbka (Post 44349)
Trong chương trình của bạn, các chương trình con bạn đều để điều kiện while(1), điều kiện đó luôn đúng, vì vậy khi PIC đã vào chương trình con thì sẽ không thoát ra được nữa, chính vì thế bạn ấn phím không có tác dụng, kể cả phím ngắt ngoài, vì sau khi ngắt PIC lại quay về thực hiện chương trình con đó.

Em cảm ơn bác tanbka đã trả ời em. Nhưng khi em bỏ mấy cái vòng lặp while(1) đi thì chương trình sẽ chạy không đúng như yêu cầu. Em thử bỏ vòng lặp while(1) ở mấy cái chương trình con như normal(),caodiem() thì vẫn bị lỗi như đã nêu, còn nếu bỏ mấy cái vòng lặp ở các chương trình quét lled, chương trình hienthi() thì dùng được ngắt nhưng mà chuong trình lại chạy không đúng yêu cầu, không thể đếm lùi được. Không lẽ bây giờ em phải viết một chương trình đếm lùi khác??? thật khó khăn cho em wa'.
rất mong các bác trên forum nghiên cứu giúp em nha!. Em cám ơn rất nhiều.

tanbka 26-04-2011 12:51 AM

Như thế chương trình của bạn bắt đầu có tín hiệu rồi hihi...vấn đề bjo của bạn là bạn hãy tách từng phần ra để test sau đó hãy ghép lại thành chương trình chính, như thế bạn mới khắc phục được lỗi nhanh chóng. Mới làm thì cứ từ từ bạn nhé, đến đâu lại hỏi tiếp.

hienroland 26-04-2011 02:07 AM

Trích:

Nguyên văn bởi tanbka (Post 44362)
Như thế chương trình của bạn bắt đầu có tín hiệu rồi hihi...vấn đề bjo của bạn là bạn hãy tách từng phần ra để test sau đó hãy ghép lại thành chương trình chính, như thế bạn mới khắc phục được lỗi nhanh chóng. Mới làm thì cứ từ từ bạn nhé, đến đâu lại hỏi tiếp.

HiHi. Khổ một nỗi là sắp đến hạn nộp bản thuyết minh rùi, nên em cũng cần mau chóng tìm ra lỗi để khắc phục.cám ơn mọi người đã quan tâm. đặc biệt là bác Tanbka. Mong mọi người giúp em sửa bài này nha! chuác mọi người sức khỏe.

tanbka 26-04-2011 10:39 AM

Để có thể được trợ giúp tốt nhất trên diễn đàn, bạn nên đưa ra được những câu hỏi cụ thể, mọi người có thể tranh thủ thời gian giúp bạn, hiện tại bạn đang yêu cầu mọi người sửa cho bạn cả một chương trình, mất thời gian lắm. Mình bảo bạn rồi, chia nhỏ từng phần ra, đến đâu hỏi đến đấy, dễ dàng hơn cho mọi người.

corby 22-05-2011 11:38 AM

Chào bạn
mình là người mới học PIC.hi vọng bạn có những tài liệu hay về PIC thì up lên cho bọn mình học hỏi với.
thanks

hienroland 05-06-2011 01:06 AM

1 Attachment(s)
Trích:

Nguyên văn bởi corby (Post 45390)
Chào bạn
mình là người mới học PIC.hi vọng bạn có những tài liệu hay về PIC thì up lên cho bọn mình học hỏi với.
thanks

Mình cũng toàn lùng trên các diễn dàn này thôi. Nói chung thấy cái gì giải quyết được vấn đề mình đang cần thì down về. sau một thời gian vất vả thì cũng đã tốt nghiệp với cái đề tài đèn giao thông này. Cám ơn mọi người đã quan tâm. Mình xin gủi mô phỏng và bộ code của mình cho những người mới nghiên cứu. Mong mọi người cùng nhau phát triển và tiến bộ.
Ah, mình dùng mô phõng Protues 7.7 sp2 nhé.

nguyeson 05-06-2011 02:36 PM

minh moi lam voi con pic 16f877 mach thi chay ok roi nhung khi khoi dong thinh thoang lai fai rết bang tay no ko tu dong rết duoc co ai giup minh lam no chay on dinh hon khong minh da thu thay nhieu loai tro va tu cho mach tu dong rết nhung van khong duoc m ong moi nguoi giup do

hienroland 17-06-2011 05:41 PM

Trích:

Nguyên văn bởi nguyeson (Post 45875)
minh moi lam voi con pic 16f877 mach thi chay ok roi nhung khi khoi dong thinh thoang lai fai rết bang tay no ko tu dong rết duoc co ai giup minh lam no chay on dinh hon khong minh da thu thay nhieu loai tro va tu cho mach tu dong rết nhung van khong duoc m ong moi nguoi giup do

Reset phải dùng tay chứ sao nữa.hihi. Mà bạn không đưa code lên sao mọi người bit mà trao đổi với bạn.

hovanhop11 07-12-2011 01:54 PM

cho em hoi muon xuat mot gia tri ra led 7 doan roi giam dan thi phai viet chuong trinh nhu the nao.dung pic 16f877a,


Múi giờ GMT. Hiện tại là 08:51 PM.

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