PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   Nhờ các anh em giúp về code này! (http://www.picvietnam.com/forum/showthread.php?t=11497)

congnghia2011 20-10-2011 12:26 PM

Nhờ các anh em giúp về code này!
 
em đang làm mạch đèn giao thông dùng 16F877A mà viết được từng này (các bác xem file đi kèm) , em muốn thêm cái nút nhấn để điều khiển chuyển chế độ bằng nút nhấn đó mà không viết được. các anh em coi giúp cái!!
file đính kèm: http://www.mediafire.com/?2vxalaoqq6z5t8t

qloi 02-01-2012 11:56 AM

Trích:

Nguyên văn bởi congnghia2011 (Post 50781)
em đang làm mạch đèn giao thông dùng 16F877A mà viết được từng này (các bác xem file đi kèm) , em muốn thêm cái nút nhấn để điều khiển chuyển chế độ bằng nút nhấn đó mà không viết được. các anh em coi giúp cái!!
file đính kèm: http://www.mediafire.com/?2vxalaoqq6z5t8t

Chuyển chế độ ra sao??? Nếu chuyển chế độ thì disable timer rồi zô vòng lặp chính muốn làm j thì làm chứ sao.

longtu 03-01-2012 08:54 AM

2 Attachment(s)
Trích:

Nguyên văn bởi congnghia2011 (Post 50781)
em đang làm mạch đèn giao thông dùng 16F877A mà viết được từng này (các bác xem file đi kèm) , em muốn thêm cái nút nhấn để điều khiển chuyển chế độ bằng nút nhấn đó mà không viết được. các anh em coi giúp cái!!
file đính kèm: http://www.mediafire.com/?2vxalaoqq6z5t8t

Minh không xem code của bạn. Tuy nhiên, gợi ý sau để bạn viết code có liên quan đến nút nhấn.
Nút nhấn là chuyển mạch cơ khí, khi bạn nhấn hay nhả phím thì đều sinh ra xung dội. Xung dội này có thể kéo dài từ một vài đến hàng trăm ms. Thời gian xung dội này là đủ lâu để microcontroller hiểu sai sự tác động của nút nhấn.
Hình ảnh sau minh họa xung dội khi nhấn nút nhấn, xung dội sảy ra tương tự khi nhã nút nhấn.

Ta có thể để giải quyết vấn đề này bằng phần cứng lẫn phần mềm:
1. Phần cứng: Đơn giản là việc kết nối nút nhấn với mạch RC như hình mô tả dưới đây để ngăn chặn sự thay đổi điện áp nhanh chóng(do xung dội gây ra), từ loại được xung dội.

2. Phần mềm: Đoạn chương trình kiểm tra trạng thái logic của nút nhấn và phát hiện có sự thay đổi của nút nhấn. Thực hiện như sau:
- Khi nhấn nút: Cần được kiểm tra lại khoảng 20-50 lần. Trong 20 - 50 lần này nếu phát hiện bất kỳ 1 thay đổi mức logic(ví dụ do xung dội) thì phải kiểm tra lại 20 - 50 lần lại, đến khi nào kiểm tra 20 - 50 lần mà không có sự thay mức logic, mới ghi nhận là nút nhấn đã được nhấn.
- Khi nhã nút nhất: tương tự như khi nhấn, cũng phải được kiểm tra lại khoảng 20 - 50 lần.

ngdnhanbk 11-01-2012 01:57 PM

longtu cho code luôn cho dễ hiểu

phapdp 24-02-2012 02:30 PM

1 Attachment(s)
cho bạn cái file nè.không chạy dc pm yahoo: jamdbond_thantinhai@yahoo.com


Múi giờ GMT. Hiện tại là 08:07 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