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 tìm mua đồng hồ vạn năngbởi mèomướpDạ chú mua cái kẹp dòng ấy ạ. Chị hàng xóm nhà cháu có 1 cái thấy lâu lâu rùi chưa hỏng ạ. Ví dụ như mẫu này trên shoppee đầy ạ...
https://vn.shp.ee/dWYVgq7-
Channel: Điện tử dành cho người mới bắt đầu
21-01-2025, 12:48 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi vi van phamBác Đinh Vặn sai rồi,bây giờ con nít mẫu giáo đã giải phương trình 2 ẩn số rồi.
Tôi chứng minh bác lên youtube đầy video đơn giản tựa rất hot, chỉ 1 transistor hay 1 con diode và hướng dẩn cách làm, tác giả không vẽ sơ đồ mạch điện...-
Channel: Điện tử công suất
21-01-2025, 11:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nguyendinhvanBây giờ mới có tháng giêng, bao giờ mới đến tháng mười ?
Các cháu mẫu giáo mới lên lớp 1 được có 4 tháng. Nên đừng lấy lý do chúng nó đã đi học rồi để bắt nó viết một bài luận văn, hay là giải bài toán hàm. Phải kiên nhẫn...-
Channel: Điện tử công suất
21-01-2025, 00:47 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nguyendinhvanKhông có loại nào đủ một vạn chức năng đâu. Nó chỉ được 2345678 , hoặc khủng lắm thì được 10 chức năng.
-
Channel: Điện tử dành cho người mới bắt đầu
21-01-2025, 00:16 -
-
bởi since0501Cảm ơn bác đã chia sẻ!...
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 19:00 -
-
bởi Lê Gia TứMình muốn tìm mua đồng hồ vạn năng giá khoảng 200k có đo tần số cao khoảng 0~1mhz mọi người tư vấn giúp mình với
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 15:47 -
-
Trả lời cho Mạch tự động bật nguồnbởi davidcopyChỉ cần dùng R C mắc vô phím power là ok....
-
Channel: Điện tử gia dụng
18-01-2025, 20:47 -
-
Trả lời cho Hỏi cách điều chế xungbởi davidcopydùng mach khuếch opamp...
-
Channel: Kỹ thuật điện tử tương tự
18-01-2025, 20:42 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi davidcopy
-
Channel: Điện tử dành cho người mới bắt đầu
18-01-2025, 18:56 -
-
bởi bqvietĐấy gọi là cái "điểm gãy" trong đồ thị điện áp - dung lượng còn lại. Dùng điện áp hở cực để xác định sắp hết hoặc gần đầy thì vẫn tạm ổn. Dùng để đo SOC/DOD thì đừng. Ngay cả số km đã đi cũng chả xác định được...
-
Channel: Điện tử dành cho người mới bắt đầu
17-01-2025, 21:36 -
Comment