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
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
hôm nay, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
Hôm qua, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
Hôm qua, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment