Mam problem.
Musze napisać program w asemblerze na dwóch licznikach który ma włączać diode na 100 ms i wyłączać na 900 ms.
Napisałem i nie działa (bynajmniej u mnie) Czemu ??
$$ ORG 00h LJMP START ORG 0Bh LJMP 50h ORG 1Bh LJMP 70h START: ILOSC EQU 65536-46080 ; czas odliczania 50ms MOV TH0,#ILOSC/256 MOV TL0,#ILOSC-(ILOSC/256)*256 MOV TMOD,#00010001B SETB TR0 CLR TF0 MOV IE,#10000010B CLR P1.7 MOV R0,#2 MOV R1,#18 PETLA: NOP SJMP PETLA END ORG 5Oh MOV TH0,#ILOSC/256 MOV TL0,#ILOSC-(ILOSC/256)*256 DJNZ R0,DALEJ SETB P1.7 MOV R0,#2 MOV TH1,#ILOSC/256 MOV TL1,#ILOSC-(ILOSC/256)*256 MOV IE,#10001000B CLR TR0 SETB TR1 DALEJ: RETI ORG 7Oh MOV TH1,#ILOSC/256 MOV TL1,#ILOSC-(ILOSC/256)*256 DJNZ R1,DALEJ CLR P1.7 MOV R1,#18 MOV TH0,#ILOSC/256 MOV TL0,#ILOSC-(ILOSC/256)*256 MOV IE,#10000010B CLR TR1 SETB TR0 DALEJ: RETI $$
Musze napisać program w asemblerze na dwóch licznikach który ma włączać diode na 100 ms i wyłączać na 900 ms.
Napisałem i nie działa (bynajmniej u mnie) Czemu ??
$$ ORG 00h LJMP START ORG 0Bh LJMP 50h ORG 1Bh LJMP 70h START: ILOSC EQU 65536-46080 ; czas odliczania 50ms MOV TH0,#ILOSC/256 MOV TL0,#ILOSC-(ILOSC/256)*256 MOV TMOD,#00010001B SETB TR0 CLR TF0 MOV IE,#10000010B CLR P1.7 MOV R0,#2 MOV R1,#18 PETLA: NOP SJMP PETLA END ORG 5Oh MOV TH0,#ILOSC/256 MOV TL0,#ILOSC-(ILOSC/256)*256 DJNZ R0,DALEJ SETB P1.7 MOV R0,#2 MOV TH1,#ILOSC/256 MOV TL1,#ILOSC-(ILOSC/256)*256 MOV IE,#10001000B CLR TR0 SETB TR1 DALEJ: RETI ORG 7Oh MOV TH1,#ILOSC/256 MOV TL1,#ILOSC-(ILOSC/256)*256 DJNZ R1,DALEJ CLR P1.7 MOV R1,#18 MOV TH0,#ILOSC/256 MOV TL0,#ILOSC-(ILOSC/256)*256 MOV IE,#10000010B CLR TR1 SETB TR0 DALEJ: RETI $$