Ðåôåðàòû. Ðàçðàáîòêà ìèêðîïðîöåññîðíîé ñèñòåìû "Àâòîìîáèëüíûå ÷àñû-òåðìîìåòð-âîëüòìåòð" íà áàçå ìèêðîêîíòðîëëåðà

         RETLW      B'10111010' ;5

         RETLW      B'11111010' ;6

         RETLW      B'00001110' ;7

         RETLW      B'11111110' ;8

         RETLW      B'10111110' ;9

         RETLW      B'00000000' ;10-> ÏÓÑÒÎ.

         RETLW      B'00100000' ;11-> ÏÐÎ×ÅÐÊ.

         RETLW      B'10000000' ;12-> ÏÐÎ×ÅÐÊ.

;=================================================

; 4. ÒÀÁËÈÖÀ ÏÅÐÅÊÎÄÈÐÎÂÊÈ ÊÓÐÑÎÐÀ.

;=================================================

KYPCY

         MOVFW    KYPC                  ;

         ADDWF     PCL,1                  ;

         RETURN                       ;ÍÅÒ ÊÓÐÑÎÐÀ.

         RETLW      B'00000100' ;3

         RETLW      B'00001000' ;4

         RETLW      B'00010000' ;5

         RETLW      B'00100000' ;6

         RETLW      B'01000000' ;7

;===================================================

; 5. ÂÛÁÎÐ ÐÅÆÈÌÀ ÈÍÄÈÊÀÖÈÈ.

;===================================================

VUBOR

         MOVFW    PEID ;ÈÇÌÅÍßÅÌ ÐÅÆÈÌ ÈÍÄÈÊÀÖÈÈ.

         ADDWF     PCL,1         ;

         GOTO        INDH ;ÈÍÄÈÊÀÖÈß ×ÀÑÎÂ.

         GOTO        INDT ;ÒÀÉÌÅÐÀ.

         GOTO        INDU ;ÍÀÏÐßÆÅÍÈß.

;======================================================

; 6. ÂÛÁÎÐ ÐÀÇÐßÄÀ ÓÑÒÀÍÎÂÊÈ.

;======================================================

YCT

         BTFSC       PORTA,YC;ÅÑËÈ ÊÍÎÏÊÀ "ÐÅÆÈÌ" ÍÀÆÀÒÀ,

         RETURN

         MOVFW    KYPC         ;ÒÎ ÏÎ ÊÓÐÑÎÐÓ

         ADDWF     PCL,1         ;ÂÛÁÈÐÀÅÌ ÐÀÇÐßÄ ÓÑÒÀÍÎÂÊÈ.

         RETURN             ;ÍÅÒ ÊÓÐÑÎÐÀ.

         GOTO        YC0  ;ÌÈÍÓÒÛ.

         GOTO        YC1  ;ÄÅÑßÒÊÈ ÌÈÍÓÒ.

         GOTO        YCE  ;ÎÁÍÓËÅÍÈÅ.

         GOTO        YC2  ;×ÀÑÛ.

         GOTO        YC3  ;ÄÅÑßÒÊÈ ×ÀÑÎÂ.

;======================================================

; 7. ÒÀÁËÈÖÛ ÏÅÐÅÂÎÄÀ ÄÅÑßÒÊΠ ÄÂÎÈ×ÍÎÅ ×ÈÑËÎ.

;======================================================

DEBIN

         ADDWF     PCL,1         ;

         RETLW      .0

         RETLW      .10

         RETLW      .20

         RETLW      .30

         RETLW      .40

         RETLW      .50

         RETLW      .60

         RETLW      .70

         RETLW      .80

         RETLW      .90

;======================================================

; 8. ÏÐÎÂÅÐÊÀ ÍÀÆÀÒÛÕ ÊÍÎÏÎÊ ÓÑÒÀÍÎÂÊÈ.

;======================================================

KHOP

         BTFSS       FLAG,1      ;ÅÑËÈ ÍÅÒ ÐÅÆÈÌÀ ×ÀÑÎÂ,

         GOTO        $+5    ;ÒÎ ÊÓÐÑÎÐ ÍÅ ÌÅÍßÅÒÑß.

         BTFSS       PORTA,KY;ÏÐÈ ÍÀÆÀÒÎÉ ÊÍÎÏÊÅ

         CALL         KYPCOP    ;ÈÄÅÌ ÍÀ ÓÑÒÀÍÎÂÊÓ ÊÓÐÑÎÐÀ.

         BTFSC       FLAG,7      ;ÅÑËÈ ÈÄÅÒ ÓÑÒÀÍÎÂÊÀ,

         GOTO        VUBOR      ;ÒÎ ÐÅÆÈÌ ÍÅ ÌÅÍßÅÒÑß.

         BTFSC       PORTA,YC;ÅÑËÈ ÊÍÎÏÊÀ "ÐÅÆÈÌ" ÍÀÆÀÒÀ,

         GOTO        VUBOR      ;ÈËÈ ÈÄÅÌ ÍÀ ÂÛÁÎÐ ÐÅÆÈÌÀ ÈÍÄÈÊÀÖÈÈ.

         INCF PEID,1        ;ÈÇÌÅÍÅÍÈÅ ÐÅÆÈÌÀ ÈÍÄÈÊÀÖÈÈ.

         MOVLW    .3       ;3 ÐÅÆÈÌÎÂ ÈÍÄÈÊÀÖÈÈ.

         SUBWF      PEID,0        ;ÅÑËÈ ÁÎËÜØÅ,

         BTFSS       STATUS,2;ÒÎ ÏÎÉÄÅÌ ÍÀ ÑÁÐÎÑ.

         GOTO        VUBOR      ;ÍÀ ÇÀÏÈÑÜ Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.

         CLRF         PEID ;ÑÁÐÎÑ ÐÅÆÈÌÀ.

         GOTO        VUBOR      ;ÍÀ ÂÛÁÎÐ ÐÅÆÈÌÀ ÈÍÄÈÊÀÖÈÈ.

         RETURN

;=================================================

; 9. ÓÑÒÀÍÎÂÊÀ ÊÓÐÑÎÐÀ (ÂÛÁÎÐ ÐÀÇÐßÄÀ ÓÑÒÀÍÎÂÊÈ).

;=================================================

KYPCOP

         BSF   FLAG,7      ;ÓÑÒÀÍÎÂÊÀ.

         BCF  FLAG,4      ;ÑÁÐÎÑ ÔËÀÃÀ ÍÅÒ ÊÓÐÑÎÐÀ.

         INCF KYPC,1      ;ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ Â ÊÓÐÑÎÐ.

         MOVLW    .6       ;ÍÅ ÁÎËÅÅ 5.

         SUBWF      KYPC,0      ;

         SKPC                  ;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 6,

         RETURN             ;

         CLRF         KYPC         ;ÎÁÍÓËÈÌ.

         BSF   FLAG,4      ;ÍÅÒ ÊÓÐÑÎÐÀ Â ÏÎËÅ.

         BCF  FLAG,7      ;ÍÅÒ ÓÑÒÀÍÎÂÊÈ.

         RETURN             ;

;=========================================

; 10. ÂÂÎÄ ÊÓÐÑÎÐÀ  ÌË. ÐÀÇÐßÄ ÐÅÃÈÑÒÐÎÂ.

;=========================================

KYPVO

         BTFSC       FLAG,4      ;ÅÑËÈ ÍÅÒ ÊÓÐÑÎÐÀ,

         RETURN             ;ÒÎ ÂÅÐÍÅÌÑß.

         CALL         KYPCY      ;ÓÑÒÀÍÎÂÈÌ ÐÅÆÈÌÛ.

         MOVWF    KYPCI        ;Â ÊÓÐÑÎÐ ÈÍÄÈÊÀÖÈÈ.

         RRF  KYPCI,1     ;ÇÀÏÎËÍÈÌ ÁÈÒ "Ñ".

         ADDCF      R1,1  ;ÏÅÐÅÍÅÑÅÌ Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ.

         RRF  KYPCI,1     ;ÇÀÏÎËÍÈÌ ÁÈÒ "Ñ".

         ADDCF      R2,1  ;ÏÅÐÅÍÅÑÅÌ Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ.

         RRF  KYPCI,1     ;ÎÑÒÀËÜÍÛÅ ÐÅÃÈÑÒÐÛ

         ADDCF      R3,1  ;ÇÀÏÎËÍßÅÌ ÀÍÀËÎÃÈ×ÍÎ.

         RRF  KYPCI,1     ;

         ADDCF      R4,1  ;

         RRF  KYPCI,1     ;

         ADDCF      R5,1  ;

         RRF  KYPCI,1     ;

         ADDCF      R6,1  ;

         RRF  KYPCI,1     ;

         ADDCF      R7,1  ;

         RRF  KYPCI,1     ;

         ADDCF      R8,1  ;

         RETURN             ;

;=============================================

; 11. ÂÛÂÎÄ ÍÀ ÈÍÄÈÊÀÖÈÞ.

;=============================================

IND

         CALL         KYPVO      ;ÂÂÅÄÅÌ ÊÓÐÑÎÐÛ Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.

         MOVFW    ZPT   ;ÇÍÀ×ÅÍÈß ÇÀÏßÒÛÕ ÏÅÐÅÏÈØÅÌ

         MOVWF    TZPT          ;ÂÎ ÂÐÅÌÅÍÍÛÉ ÐÅÃÈÑÒÐ.

         BSF   FLAG1,2    ;ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ.

         BCF  PORTC,DIN        ;ÄÀÍÍÛÅ ÐÀÂÍÛ ÍÓËÞ.

         BCF  PORTC,LOAD    ;ÍÀ×ÀËÎ ÏÅÐÅÄÀ×È (LOAD=0).

         RRF  TZPT,1       ;ÂÛÒÎËÊÍÅÌ Î×ÅÐÅÄÍÓÞ ÇÀÏßÒÓÞ.

         CALL         VUV0         ;

         BCF  FLAG1,2    ;ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ.

         MOVLW    R1     ;ÇÀÏÈØÅÌ ÀÄÐÅÑ ÏÅÐÂÎÃÎ ÐÅÃÈÑÒÐÀ ÈÍÄÈÊÀÖÈÈ.

         MOVWF    FSR  ;

         MOVFW    INDF ;ÇÍÀ×ÅÍÈÅ ÏÅÐÂÎÃÎ ÐÅÃÈÑÒÐÀ

         MOVWF    TEMP         ;ÏÅÐÅÏÈØÅÌ ÂÎ ÂÐÅÌÅÍÍÛÉ.

         BCF  PORTC,LOAD    ;ÍÀ×ÀËÎ ÏÅÐÅÄÀ×È (LOAD=0).

         CALL         VUVOD      ;ÍÀ ÂÛÂÎÄ.

POVT

         BSF   FLAG1,2    ;ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ.

         RRF  TZPT,1       ;ÂÛÒÎËÊÍÅÌ Î×ÅÐÅÄÍÓÞ ÇÀÏßÒÓÞ.

         CALL         VUV0         ;

         BCF  FLAG1,2    ;ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ.

         INCF FSR,1         ;ÓÂÅËÈ×ÈÌ ÀÄÐÅÑ ÐÅÃÈÑÒÐÀ ÈÍÄÈÊÀÖÈÈ.

         MOVFW    INDF ;ÏÅÐÅÏÈØÅÌ ÅÃÎ ÇÍÀ×ÅÍÈÅ

         MOVWF    TEMP         ;ÂÎ ÂÐÅÌÅÍÍÛÉ.

         CALL         VUVOD      ;ÍÀ ÂÛÂÎÄ.

         INCF COUZ,1      ;ÏÎÄÑ×ÈÒÀÅÌ ×ÈÑËÎ

         MOVLW    .7       ;ÏÅÐÅÄÀÂÀÅÌÛÕ

         SUBWF      COUZ,0      ;ÇÀÏßÒÛÕ.

         BTFSC       STATUS,2;

         CLRF         COUZ         ;ÎÁÍÓËÈÌ Ñ×ÅÒ×ÈÊ.

         BTFSS       STATUS,2;

         GOTO        POVT                  ;ÏÎÂÒÎÐÈÌ ÂÛÂÎÄ.

         BSF   PORTC,LOAD    ;ÊÎÍÅÖ ÏÅÐÅÄÀ×È.

         RETURN             ;

CUNX

         BSF   PORTC,DCLK     ;ÑÈÍÕÐÎÒÌÏÓËÜÑ = 1.

         CALL         PAUS         ;ÏÀÓÇÀ.

         BCF  PORTC,DCLK     ;ÑÈÍÕÐÎÈÌÏÓËÜÑ = 0.

         RETURN             ;ÂÎÇÂÐÀÒ.

PAUS

MOVLW .5 ;ÌÎÆÍÎ ÏÎÄÁÈÐÀÒÜ ÇÍÀ×ÅÍÈÅ ÏÀÓÇÛ.

ADDLW -1 ;ÏÀÓÇÀ = ×ÈÑËÎ Õ 4 ÌÊÑ.

BTFSS STATUS,2;

GOTO $-2  ;ÏÎÂÒÎÐÈÌ.

RETURN             ;ÂÅÐÍÅÌÑß.

VUVOD

         RRF  TEMP,1      ;ÑÄÂÈÍÅÌ ÂÏÐÀÂÎ.

VUV0

         BTFSS       STATUS,0;ÏÎ ÍÓËÅÂÎÌÓ ÐÀÇÐßÄÓ

         BCF  PORTC,DIN        ;ÓÑÒÀÍÀÂËÈÂÀÅÌ ÄÀÍÍÛÅ

         BTFSC       STATUS,0;Â 0 ÈËÈ 1.

         BSF   PORTC,DIN        ;

         CALL         CUNX        ;ÑÈÍÕÐÎÍÈÇÈÐÓÅÌ ÄÀÍÍÛÅ.

         BTFSC       FLAG1,2    ;ÅÑËÈ ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ,

         RETURN             ;ÒÎ ÂÅÐÍÅÌÑß.

         INCF COU,1        ;ÏÎÄÑ×ÈÒÀÅÌ ×ÈÑËÎ ÁÈÒ.

         MOVLW    .8       ;

         SUBWF      COU,0        ;

         BTFSS       STATUS,2;ÅÑËÈ ÍÅ ÂÑÅ ÁÈÒÛ ÏÅÐÅÄÀÍÛ,

         GOTO        VUVOD      ;ÏÎÂÒÎÐÈÌ ÂÛÂÎÄ.

         CLRF         COU ;ÎÁÍÓËÈÌ Ñ×ÅÒ×ÈÊ.

         RETURN             ;

;======================================================

; 12. ÑÎÕÐÀÍÅÍÈÅ È ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÇÍÀ×ÅÍÈÉ ÐÅÃÈÑÒÐΠÏÐÈ ÏÐÅÐÛÂÀÍÈÈ.

;======================================================

PRER

MOVWF    WTEMP     ;ÑÎÕÐÀÍÅÍÈÅ ÇÍÀ×ÅÍÈÉ ÐÅÃÈÑÒÐΠW,

MOVFW    STATUS    ;STATUS,

MOVWF    STEMP       ;

MOVFW    FSR  ;FSR.

MOVWF    FTEMP       ;

         BSF   FLAG1,1    ;1 ÑÅÊ ÖÈÊËÀ.

         CALL         S1     ;ÏÎÄÑ×ÈÒÀÅÌ ÂÐÅÌß.

         BTFSC       FLAG,2      ;

         CALL         TAIM         ;

REPER ;ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÑÎÕÐÀÍÅÍÍÛÕ ÇÍÀ×ÅÍÈÉ.

         MOVFW    STEMP       ;ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÐÅÃÈÑÒÐÎÂ:

         MOVWF    STATUS    ;STATUS,

         MOVFW    FTEMP       ;

         MOVWF    FSR  ;FSR,

         MOVFW    WTEMP     ;W.

         BCF  INTCON,2;ÑÁÐÀÑÛÂÀÅÌ ÔËÀÃ ÏÐÅÐÛÂÀÍÈß ÎÒ TMR0.

         RETFIE               ;ÂÎÇÂÐÀÒ ÈÇ ÏÐÅÐÛÂÀÍÈß.

;=============================================

; 13. ÏÎÄÑ×ÅÒ ÂÐÅÌÅÍÈ.

;=============================================

S1

         BTFSC       FLAG1,5    ;

         GOTO        $+8    ;

         BTFSS       FLAG1,4    ;

         GOTO        $+6    ;

         BTFSC       PORTC,0   ;ÑÌÅÍÀ ÂÊËÞ×ÅÍÈß ÇÓÌÌÅÐÀ.

         GOTO        $+3    ;

         BSF   PORTC,0   ;ÂÊËÞ×ÈÌ ÑÈÃÍÀË.

         GOTO        $+2    ;

         BCF  PORTC,0   ;

         MOVLW    .9       ;ÅÑËÈ ÓÆÅ 9 ÑÅÊÓÍÄ,

         SUBWF      CL,0  ;

         BC    SH     ;ÈÄÅÌ ÍÀ ÑÐÀÂÍÅÍÈÅ ÄÅÑßÒÊÎÂ ÑÅÊÓÍÄ.

         INCF CL,1  ;ÈÍÀ×Å ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.

         RETURN

SH

         CLRF         CL     ;ÎÁÍÓËÈÌ ÑÅÊÓÍÄÛ.

         MOVFW    CH    ;ÅÑËÈ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ

         ADDLW     -5H    ;ÐÀÂÍÛ 5,

         BZ     MIL   ;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÌÈÍÓÒÛ.

         INCF CH,1 ;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.

         RETURN

MIL

         CLRF         CH    ;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.

         MOVFW    ML    ;ÅÑËÈ ÅÄÈÍÈÖÛ ÌÈÍÓÒ

         ADDLW     -9H    ;ÐÀÂÍÛ 9,

         BZ     MIH  ;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÄÅÑßÒÊÈ.

Ñòðàíèöû: 1, 2, 3, 4, 5, 6



2012 © Âñå ïðàâà çàùèùåíû
Ïðè èñïîëüçîâàíèè ìàòåðèàëîâ àêòèâíàÿ ññûëêà íà èñòî÷íèê îáÿçàòåëüíà.