Trích:
Nguyên văn bởi Jerry
Em dùng PortB nối với phím bấm để tạo ngắt onchange. Nhưng em vẫn chưa hiểu cách quét phím bấm vì nghe nói còn phải có trễ bấm phím, trễ nhả phím...gì đó. Nói chung em chưa có kinh nghiệm. Mong bác Nam, bác Falleaf cùng các cao thủ Picbang chỉ giáo, viết cho em 1 đoạn chương trình mô tả việc này với ạ. Thanks các bác nhiều nhiều, vote các bác nghìn sao luôn nhé.
|
Khi bấm phím, do kết cấu cơ khí không tốt sẽ tạo ra rất nhiều xung kim tại thời điểm bạn bấm, nếu bạn không xử lý thì nó sẽ vào ngắt rất nhiều lần. Điều này không chỉ xảy ra với việc bấm phím mà còn xảy ra khi nhả phím.
Cách khác phục thì có nhiều cách, nếu dùng phần cứng thì dùng một mạch RC đơn giản, còn dùng phần mềm thì cách đơn giản nhất là khi có phím bấm, tức là xảy ra ngắt onchange, bạn disable ngắt đó đi, sau đó relay khoảng 50-300ms để qua đoạn xung nhiễu, sau đó bạn đọc lại mức ở chân phím bấm, có thể đọc một vài lần cho chắc, nếu nó vẫn giữ nguyên giá trị thì bạn bắt đầu xử lý và tất nhiên phải enable ngắt để còn xử lý tiếp.
Code nguồn thì bạn phải tự thân vận động, không ai có thời gian mà ngồi viết cho bạn đâu.