Em đã dùng timer... vòng lặp tạo xung mà cũng bế tắc, YÊU CẦU TẠO TẦN SỐ PHÁT RA LOA KHI NHẤN 1 NÚT TƯƠNG ỨNG Ở BÀN PHÍM(GIÁ TRỊ TẦN SỐ LÀ GIÁ TRỊ CỦA BÀN PHÍM) ,dùng ngắt nhưng lại bị lỗi Từ phím 2?
Mạch proteus
Ghi chú:
("Led 7 đoạn hiển thị tần số phát ra loa, bàn phím ma trận dùng để nhập giá trị tần số phát, cho loa ngừng kêu.")
Mạch proteus
Code:
http://www.mediafire.com/view/jv11pna4gbj9q38/Untitled(2).png
Code:
ORG 0 LJMP MAIN ORG 000BH LJMP NGAT_T0 ORG 0030H MAIN: ;QUET HANG 1 MOV P3,#11111110B JNB P3.4,PHIM7 JNB P3.5,PHIM8 JNB P3.6,PHIM9 JNB P3.7,PHIM10 ;QUET HANG 2 MOV P3,#11111101B JNB P3.4,PHIM4 JNB P3.5,PHIM5 JNB P3.6,PHIM6 JNB P3.7,PHIM11 ;QUET HANG 3 MOV P3,#11111011B JNB P3.4,PHIM1 JNB P3.5,PHIM2 JNB P3.6,PHIM3 JNB P3.7,PHIM12 ;QUET HANG 4 MOV P3,#11110111B JNB P3.4,PHIM13 JNB P3.5,PHIM14 JNB P3.6,PHIM15 JNB P3.7,PHIM16 JMP MAIN PHIM1: MOV R0,#1 CALL CTHT MOV TMOD,#00000001B MOV TH0,#HIGH(-500) MOV TL0,#LOW(-500) SETB TR0 MOV IE,#82H SJMP $ LJMP MAIN PHIM2: MOV R0,#2 CALL CTHT MOV TMOD,#00000001B MOV TH0,#HIGH(-500) MOV TL0,#LOW(-500) SETB TR0 MOV IE,#82H SJMP $ LJMP MAIN PHIM3: MOV R0,#3 CALL CTHT LJMP MAIN PHIM4: MOV R0,#4 CALL CTHT LJMP MAIN PHIM5: MOV R0,#5 CALL CTHT LJMP MAIN PHIM6: MOV R0,#6 CALL CTHT LJMP MAIN PHIM7: MOV R0,#7 CALL CTHT LJMP MAIN PHIM8: MOV R0,#8 CALL CTHT LJMP MAIN PHIM9: MOV R0,#9 CALL CTHT LJMP MAIN PHIM10: MOV R0,#10 CALL CTHT LJMP MAIN PHIM11: MOV R0,#11 CALL CTHT LJMP MAIN PHIM12: MOV R0,#12 CALL CTHT LJMP MAIN PHIM13: MOV R0,#13 CALL CTHT LJMP MAIN PHIM14: MOV R0,#14 CALL CTHT LJMP MAIN PHIM15: MOV R0,#15 CALL CTHT LJMP MAIN PHIM16: MOV R0,#16 CALL CTHT LJMP MAIN CTHT: MOV R7,#20 QUAY: MOV A,R0 MOV B,#10 DIV AB MOV DPTR,#MALED MOVC A,@A+DPTR MOV P0,A SETB P2.0 CALL DELAY CLR P2.0 MOV A,B MOVC A,@A+DPTR MOV P0,A SETB P2.1 CALL DELAY CLR P2.1 DJNZ R7,QUAY RET NGAT_T0: CPL P1.7 RETI MALED:DB 11000000B,11111001B,10100100B,10110000B,10011001B,10010010B,10000010B,11111000B,10000000B,10010000B DELAY: MOV R1,#100 LAP: NOP NOP DJNZ R1,LAP RET END
("Led 7 đoạn hiển thị tần số phát ra loa, bàn phím ma trận dùng để nhập giá trị tần số phát, cho loa ngừng kêu.")