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 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!
Hôm qua, 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 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCa sĩ AI cũng có vài loại, có ca sĩ chuyên và không chuyên.Ca sỉ chuyên thì là Synthesizer V, còn không chuyên thì là Suno. Ca sĩ chuyên thì mệt với nó lắm, phải biết nhạc và biết cả ngôn ngữ của nó để điều khiển, còn ca sĩ không chuyên thì...
-
Channel: Tâm tình dân kỹ thuật
04-05-2026, 21:33 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chúc mừng bác có ca khúc hay tặng bà xã nhé! Nếu muốn hát đúng ý mình thì bác chịu khó... thuê ca sĩ nha!!!!😁😁😁...
-
Channel: Tâm tình dân kỹ thuật
04-05-2026, 15:43 -
-
bởi dinhthuong92Trong các công thức không có mặt L bạn. Trước mình nghĩ cứ phải có L cơ....
-
Channel: Nguồn!
04-05-2026, 15:35 -

Comment