PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 18-11-2009, 10:50 PM   #1
hahahaa3pro
Nhập môn đệ tử
 
Tham gia ngày: Apr 2009
Bài gửi: 3
:
chống rung nút nhấn

SCAN_BUTTON

movff key2,key3
movff key1,key2
movff PORTD,key1
movff key1,W ; W=key1
cpfseq key2 ;key2 = key1 -> bo qua lenh tiep theo
goto EXIT_SCAN
cpfseq key3 ;key3 =key1 -> bo qua lenh tiep theo
goto EXIT_SCAN

dcfsnz timeout ;bo qua lenh tiep theo neu khac 0 ( neu =0 thi lam)
call clear_key
movff key,W ; key la bien luu gia tri cua nut khi dc nhan
cpfseq key1 ; bo qua lenh ke tiep neu = W
goto SCAN_BUTTON1
goto EXIT_SCAN
SCAN_BUTTON1
movff key1,key
movlw .1
cpfseq flag ;neu flag = 1, nhan lan dau tien
goto LANSAU
movlw .100
movwf timeout
INCF PORTB
movlw .0
movwf flag
EXIT_SCAN
return
LANSAU
movlw .0
cpfseq key1
goto subkey
movlw .1
movwf flag
return
subkey
movlw .100
movwf timeout
INCF PORTB
return

Đây là đoạn code chống rung phím nhấn và kiểm tra phím bị đè.
Ý tưởng là sử dụng ngắt. Cứ 10ms thì sẽ kt giá trị nút nhấn. Nếu 3 lần như nhau thì nút được nhấn và tăng PORTB lên 1. Nếu nút bị đè thì sau tg là 1s mới tích cực lại nút nhấn.
Chương trình này mình test trên protues thì chạy sai. Nếu mà nhấn 1 lần thì PortB nó tăng lên 6,7 :|
Hi vọng các bạn giúp mình tìm ra lí do tại sao lại bị sai như vậy.
Thanks các bạn nhiều.
( Vì mình hok bit cách post code nên nhờ mod sửa giùm, thanks mod nhìu )
hahahaa3pro vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2009, 10:59 PM   #2
nghia_tdh21
Đệ tử 3 túi
 
nghia_tdh21's Avatar
 
Tham gia ngày: Oct 2006
Bài gửi: 46
:
Theo mình nghĩ trong protues ko thể mô phỏng độ rung của phím. Mình thường chống rung bằng delay.
__________________
http://www.hieunghia.info
Lướt web thoải mái với USB3G của Viettel
http://www.hieunghia.info/tin-cong-n...3g-vietel.html
-----------------------------------------------------------------------------------
Một chút giận,hai chút tham,lận đận cả đời ri cũng khổ.
Trăm điều lành,ngàn điều nhịn,thong dong tấc dạ rứa mà vui
nghia_tdh21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam