Asembler EdSim51 – jak zakonczyć działanie programu?

0

Hej, tak jak w temacie , chcę zatrzymać wyświetlanie cyfr na wyświetlaczu, ktoś może coś doradzić? :)

start:
   MOV R0, #0         

   ; scan row0
   SETB P0.3         
   CLR P0.0         
   CALL colScan      
   JB F0, finish      
                  
   ; scan row1
   SETB P0.0         
   CLR P0.1         
   CALL colScan      
   JB F0, finish      
                  

   ; scan row2
   SETB P0.1         
   CLR P0.2         
   CALL colScan      
   JB F0, finish      
                  

   ; scan row3
   SETB P0.2         
   CLR P0.3         
   CALL colScan      
   JB F0, finish      
                  


   JMP start 
finish:
   JMP $      

colScan:
   JNB P0.4, gotKey   
   INC R0         
   JNB P0.5, gotKey   
   INC R0         
   JNB P0.6, gotKey   
   INC R0         
   RET         
gotKey:
   JMP start2

   start2:

   SETB P3.3      
   SETB P3.4      
   MOV P1, #10010000B   ;9
   CALL delay
   MOV P1, #10000000B   ; 8
   CALL delay
   MOV P1, #11111000B   ; 7
   CALL delay
   MOV P1, #10000010B   ; 6
   CALL delay
   MOV P1, #10010010B   ; 5
   CALL delay
   MOV P1, #10011001B   ; 4
   CALL delay
   MOV P1, #10110000B   ; 3
   CALL delay
   MOV P1, #10100100B   ; 2
   CALL delay
   MOV P1, #11111001B   ; 1
   CALL delay
   MOV P1, #01000000B   ; 0
   CALL delay
   RET

delay:
   MOV R0, #200
   DJNZ R0, $
   RET
   
3

Z tego co mi wiadomo w mikrokontrolerach nie ma czegoś takiego jak zakończanie programu, bo niby co by się miało potem dziać.
Może chcesz wyłączyć urządzenie? Wtedy sprawdź czy twój mikrokontroler ma taką opcję.

Czemu nie piszesz tego w jakimś bardziej ludzkim języku? Np C/C++.

0

Zadanie na zaliczenie ;) Nie tak to miało docelowo wyglądać ale byłbym zadowolony jakby zegar zatrzymał się na 0 :D

1

Tak, mikrokontrolery nie mają funkcji zatrzymania programu. Być może da się niektóre z nich programowo wyłączyć, albo zawieś mikrokontroler w ten sposób po zakończeniu działania.:

A:
JMP A

1 użytkowników online, w tym zalogowanych: 0, gości: 1