Mình đang lập trình ASM giao tiếp bàn phím 4*4 cho 8051, sử dụng 2 cổng P1 và P2( mỗi cổng dùng 4 chân).Tuy nhiên, cách này chưa tối ưu, mình muốn chỉ sử dụng 1 cổng nhưng khó quá !Anh em có đoạn chương trình nào về cái này thì post lên giúp mình nhé ! Hic hic ! làm phiền các bạn nha !
Thông báo
Collapse
No announcement yet.
Giao tiếp Key Pad
Collapse
X
-
Tớ chỉ có 3x4 thôi xem tạm nhá ,dùng P1,P2:LCD,bạn có Proteus thì chạy thử ,nhưng tớ chưa làm thật đâu chỉ mô phỏng chơi vậy thôi ,muốn 4x4 thì copy đoạn mã này vào một tab mới.Chúc thành công
HTML Code:http://8052.com/codelib/4x4key%20scan
Attached Files
-
Từ cái thủa tôi học 8051 tới giờ tôi chưa nghe nói đến giao tiếp bàn phím mà dùng 2 port bao giờ ? Tôi chỉ dùng 1 port thôi(luôn luôn là như vậy) . Và đây chính là đoạn chương trình đó !
PHIM: MOV R6,#0
MOV R4,#50
REPEAT1: ACALL BANPHIM
JNB 11,EXIT1
DJNZ R4, REPEAT1
BACK2: MOV R4,#50
REPEAT2: ACALL BANPHIM
JB 11,BACK2
DJNZ R4, REPEAT2
SETB 10
EXIT1: NOP
RET
;============lay gia tri tu ban phim===============
BANPHIM: MOV R6,#4
MOV A,#0FEH;11111110 ;TICH CUC COT 0
MOV R6,#0; DUNG DE LUU SO COT
BACK: MOV P1,A ;p1.0
MOV R5,A
JNB P1.4,HANG0
JNB P1.5,HANG1
JNB P1.6,HANG2
JNB P1.7,HANG3
MOV A,R5
RL A
INC R6
cjne R6,#4,BACK
SJMP EXIT3
HANG0: MOV A,R6 ; XAC DINH COT
ADD A,#0
SETB 11
SJMP EXIT2
HANG1: MOV A,R6
ADD A,#4
SETB 11
SJMP EXIT2
HANG2: MOV A,R6
ADD A,#8
SETB 11
SJMP EXIT2
HANG3: MOV A,R6
ADD A,#12
SETB 11
SJMP EXIT2
EXIT2: SETB 11
MOV GIATRI,A
SJMP EXIT
EXIT3: CLR 11
EXIT:
RET
Bạn gọi hàm "PHIM" và nếu có nhấn phím thì giá trị trả về sẽ nằm trong thanh ghi A , Nếu còn thắc mác gì bạn có thể liên hệ qua mail cho tôi :saobanmai_ht@yahoo.com
Chúc thành công !
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamPhải xem cơ cấu bơm, chứ xem cơ cấu rotor, thì chỉ làm thầy bói xem voi.
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 08:19 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
28-11-2024, 14:37 -
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2024, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
-
bởi pia2k1Cùng câu hỏi và cần được giải đáp thêm ạ...
-
Channel: Hướng dẫn sử dụng diễn đàn
27-11-2024, 11:28 -
-
Trả lời cho Công thức điện tửbởi mèomướpDạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 21:21 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi mèomướpDạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 20:31 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11Ok , thanks bác đã chỉ...
-
Channel: Thiết bị điện tử cá nhân
26-11-2024, 15:06 -
-
bởi nguyendinhvanSau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !
Chập thì thay. Cháy thì tháo
Làm thì láo. Báo thì hay
May thì khoe. Rủi thì bỏ
Thành tích nhỏ. Báo thành to
Làm cho có. Báo chi li
Sai cả li. Báo...-
Channel: Tâm tình dân kỹ thuật
26-11-2024, 00:35 -
Comment