ADDLW-5H;ÐÀÂÍÛ 5,
BZHOL;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ×ÀÑÛ.
INCFMH,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
RETURN
HOL
BCFFLAG1,5;ÍÀÏÎÌÈÍÀÍÈÅ ÎÁ ÀÂÀÐÈÈ ÍÀÏÐ߯ÅÍÈß.
CLRFMH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
MOVFWHH;ÅÑËÈ ÄÅÑßÒÊÈ ×ÀÑÎÂ
ADDLW-2H;ÐÀÂÍÛ 2,
BZHL4;ÏÐÎÂÅÐÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
MOVFWHL;ÅÑËÈ ÅÄÈÍÈÖÛ ×ÀÑΠÐÀÂÍÛ 9,
ADDLW-9H;
BZ$+3;ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
INCFHL,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
CLRFHL;
INCFHH,1;
HL4
MOVFWHL;ÅÑËÈ ÅÄÈÍÈÖÛ ×ÀÑÎÂ
ADDLW-3H;ÐÀÂÍÛ 3,
BZHOH;ÈÄÅÌ ÎÁÍÓËßÒÜ.
INCFHL,1;ÈËÈ ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.
HOH
CLRF HH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
RETURN;
;=============================================
; 14. ÒÀÉÌÅÐ.
TAIM
BSFFLAG,5;ÑËÅÄÓÞÙÀß ÎÑÒÀÍÎÂÊÀ ÒÀÉÌÅÐÀ.
MOVLW.9;ÅÑËÈ ÓÆÅ 9 ÑÅÊÓÍÄ,
SUBWFTCL,0;
BC$+3;ÈÄÅÌ ÍÀ ÑÐÀÂÍÅÍÈÅ ÄÅÑßÒÊÎÂ ÑÅÊÓÍÄ.
INCFTCL,1;ÈÍÀ×Å ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.
CLRFTCL;ÎÁÍÓËÈÌ ÑÅÊÓÍÄÛ.
MOVFWTCH;ÅÑËÈ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ
BZ$+3;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÌÈÍÓÒÛ.
INCFTCH,1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.
CLRFTCH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.
MOVFWTML;ÅÑËÈ ÅÄÈÍÈÖÛ ÌÈÍÓÒ
ADDLW-9H;ÐÀÂÍÛ 9,
BZ$+3;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÄÅÑßÒÊÈ.
INCFTML,1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÌÈÍÓÒÛ.
CLRFTML;ÎÁÍÓËÈÌ ÅÄÈÍÈÖÛ ÌÈÍÓÒ.
MOVFWTMH;ÅÑËÈ ÄÅÑßÒÊÈ ÌÈÍÓÒ
BZ$+3;ÓÂÅËÈ×ÈÌ ×ÀÑÛ.
INCFTMH,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
CLRFTMH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
MOVFWTHL;ÅÑËÈ ÅÄÈÍÈÖÛ ×ÀÑΠÐÀÂÍÛ 9,
INCFTHL,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
CLRFTHL;ÎÁÍÓËÈÌ ×ÀÑÛ.
MOVFWTHH;ÅÑËÈ ÄÅÑßÒÊÈ ×ÀÑΠÐÀÂÍÛ 9,
BZ$+3;ÎÁÍÓËÈÌ.
INCFTHH,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
CLRFTHH;
T00
BTFSSFLAG,5;
GOTO$+4;
BCFFLAG,2;ÒÀÉÌÅÐ ÂÛÊËÞ×ÅÍ.
BCFFLAG,5;ÑËÅÄÓÞÙÅÅ ÂÊËÞ×ÅÍÈÅ ÒÀÉÌÅÐÀ.
CLRFTCL;ÂÑÅ ÎÁÍÓËßÅÌ.
CLRFTCH;
CLRFTML;
CLRFTMH;
CLRFTHL;
BSFFLAG,2;ÂÊËÞ×ÈÌ ÒÀÉÌÅÐ.
;===================================================
; 15. ÀÖÏ - ÏÐÅÎÁÐÀÇÎÂÀÍÈß (ÈÇÌÅÐÅÍÈÅ ÂÕÎÄÍÛÕ ÂÅËÈ×ÈÍ).
ADP
MOVLWB'10000001';ÑÈÍÕÐÎÍÈÇÀÖÈß ÎÒ RC
MOVWFADCON0;ÃÅÍÅÐÀÒÎÐÀ, ÂÕÎÄ 0, ÂÊËÞ×ÅÍÈÅ ÀÖÏ (YBX).
CALLZAD;
BSFADCON0,1;ÂÊËÞ×ÈÌ ÏÐÅÎÁÐÀÇÎÂÀÍÈÅ.
BTFSCADCON0,1;ÎÆÈÄÀÅÌ ÇÀÂÅÐØÅÍÈß
GOTO$-1 ;ÏÐÅÎÁÐÀÇÎÂÀÍÈß.
MOVFWADRESH ;ÏÅÐÅÏÈØÅÌ ÐÅÇÓËÜÒÀÒ ÏÐÅÎÁÐÀÇÎÂÀÍÈß
MOVWFTEKH;Â ÑÒÀÐØÈÉ ÒÅÊÓÙÈÉ ÐÅÃÈÑÒÐ.
BSFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 1.
MOVLW58;
MOVWFFSR;ÏÎ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ
MOVFWADRESL;ÇÀÏÈÑÜ ÌË. ÐÅÃÈÑÒÐÀ ÀÖÏ
MOVWFINDF;Â ÐÅÃÈÑÒÐ TEKL.
BCFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 0.
CALLCOMPA;
GOTOBINDEC;ÏÅÐÅÊÎÄÈÐÓÅÌ Â 2_10 ÊÎÄ.
ZAD
MOVLW.5;ÇÀÄÅÐÆÊÀ 20 ÌÊÑ.
ADDLW-1;
BTFSSSTATUS,2;
GOTO$-2;
;===========================
; 16. ÑÐÀÂÍÅÍÈÅ Ñ ÓÑÒÀÍÎÂÊÎÉ.
COMPA
TSTFTEKL;
BTFSCSTATUS,2;
GOTOVUKL;
MOVFWYCTL;ÓÑÒÀÍÎÂÊÀ ÌÀÊÑÈÌÓÌÀ.
SUBWFTEKL,0;ÈÇÌÅÐÅÍÈÅ,
BTFSCSTATUS,0;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ,
GOTOVUKL;ÒÎ ÂÊËÞ×ÀÅÒÑß ÇÓÌÌÅÐ.
MOVFWYCTLI;ÓÑÒÀÍÎÂÊÀ ÌÈÍÈÌÓÌÀ.
BTFSSSTATUS,0;ÅÑËÈ ÌÅÍÜØÅ,
BTFSCSTATUS,2;ÅÑËÈ ÐÀÂÍÎ,
BCFFLAG1,4;ÇÓÌÌÅÐ ÂÛÊËÞ×ÅÍ.
BCFFLAG1,5;ÇÓÌÌÅÐ ÂÛÊËÞ×ÅÍ.
BCFPORTC,0;ÂÛÊËÞ×ÈÌ ÑÈÃÍÀË.
VUKL
BTFSCPORTA,KY;
GOTO$+5;
BSFFLAG1,5;ÏÎÑÒÀÂÈÌ ÑÒÎÐÎÆÎÊ ÍÀ 1 ×ÀÑ.
BTFSCFLAG1,5;ÅÑËÈ 1 ×ÀÑ ÏÐÎØÅË, ÒÎ ÂÊËÞ×ÈÌ ÑÈÃÍÀË.
BTFSCFLAG1,4;ÅÑËÈ ÂÛÕÎÄ ÓÆÅ ÂÛÊËÞ×ÅÍ,
RETURN;ÑÐÀÂÍÅÍÈÉ ÍÅÒ.
BSFPORTC,0;ÂÊËÞ×ÈÌ ÑÈÃÍÀË.
BSFFLAG1,4;ÇÓÌÌÅÐ ÂÊËÞ×ÅÍ.
;======================================================
; 17. ÏÅÐÅÊÎÄÈÐÎÂÊÀ ÈÇ 16-È ÐÀÇÐßÄÍÎÃÎ 2-ÃÎ Â 5- ÐÀÇÐßÄÍÎÅ 2-10-Å.
; ÀËÃÎÐÈÒÌ ÏÅÐÅÊÎÄÈÐÎÂÊÈ ÎÑÍÎÂÛÂÀÅÒÑß ÍÀ ÏÐÈÁÀÂËÅÍÈÈ 3 Â ÌËÀÄØÈÉ
; È ÑÒÀÐØÈÉ ÏÎËÓÁÀÉÒÛ. ÅÑËÈ ÐÅÇÓËÜÒÀÒ ÑÏÅÐÅÍÎÑÎÌ 1  3 ÐÀÇÐßÄ (10=7+3), ÒÎ ÇÀÏÈÑÛÂÀÅÌ
; ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ Â ÐÅÃÈÑÒÐ. ÂÛÏÎËÍßÅÌ 16 ÐÀÇ ÑÄÂÈÃÀß ÁÈÒÛ ÐÅÃÈÑÒÐÎÂ.
BINDEC
MOVLW .16 ;ÇÀÏÈØÅÌ ×ÈÑËÎ ÑÄÂÈÃÎÂ
MOVWF COU ; Ñ×ÅÒ×ÈÊ.
BIDE
BCF STATUS,0 ;ÎÁÍÓËÈÌ ÁÈÒ "Ñ".
RLF TEKL,1 ;ÑÄÂÈÍÅÌ ÏÅÐÅÊÎÄÈÐÓÅÌÎÅ
RLF TEKH,1 ;×ÈÑËÎ ÏÅÐÅÌÅÙÀß ÅÃÎ ÑÒÀÐØÈÉ ÁÈÒ
RLF EDA,1 ;Â ÌËÀÄØÈÉ ÁÈÒ ÐÅÃÈÑÒÐÎÂ
RLF DEA,1 ;ÐÅÇÓËÜÒÀÒÀ.
DECFSZ COU,1 ;ÇÀÔÈÊÑÈÐÓÅÌ ÑÄÂÈà  Ñ×ÅÒ×ÈÊÅ.
GOTO RASDEC ;ÏÐÎÂÅÐÈÌ ÏÎËÓÁÀÉÒÛ ÍÀ ÑÅÌÅÐÊÓ.
GOTO MESTO ;ÅÑËÈ Ñ×ÅÒ×ÈÊ ÏÓÑÒ, ÇÀÏÎËÍÈÌ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
RASDEC
MOVLW EDA ;ÇÀÏÈØÅÌ ÀÄÐÅÑ ÐÅÃÈÑÒÐÀ
MOVWF FSR ;Â ÐÅÃÈÑÒÐ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ.
CALL BCD ;ÏÐÎÂÅÐÈÌ ÇÍÀ×ÅÍÈÅ ÐÅÃÈÑÒÐÀ ÍÀ 7.
MOVLW DEA ;ÀÍÀËÎÃÈ×ÍÛÅ ÎÏÅÐÀÖÈÈ ÏÐÎÄÅËÀÅÌ
MOVWF FSR ;Ñ ÄÐÓÃÈÌÈ ÐÅÃÈÑÒÐÀÌÈ.
CALL BCD ;
GOTO BIDE ;ÏÎÉÄÅÌ ÏÎÂÒÎÐßÒÜ ÑÄÂÈÃ.
BCD
MOVLW 3 ;0000 0011
ADDWF 0,0 ;ÏÐÈÁÀÂÈÌ 3 Ê ÐÅÃÈÑÒÐÓ È ÐÅÇÓËÜÒÀÒ
MOVWF TEMP ;ÇÀÏÈØÅÌ ÂÎ ÂÐÅÌÅÍÍÛÉ ÐÅÃÈÑÒÐ.
BTFSC TEMP,3 ;ÏÐÎÂÅÐÈÌ 3 ÁÈÒ È ÅÑËÈ ÎÍ ÐÀÂÅÍ ÍÓËÞ,
MOVWF 0 ;ÏÐÎÏÓÑÊÀÅÌ ÇÀÏÈÑÜ ÐÅÇÓËÜÒÀÒÀ Â ÐÅÃÈÑÒÐ.
MOVLW 30 ;48=0011 0000
ADDWF 0,0 ;ÏÐÈÁÀÂÈÌ 3 Ê ÑÒÀÐØÅÌÓ ÏÎËÓÁÀÉÒÓ ÐÅÃÈÑÒÐÀ È ÐÅÇÓËÜÒÀÒ
BTFSC TEMP,7 ;ÅÑËÈ ÁÈÒ ÅÄÈÍÈ×ÍÛÉ,
MOVWF 0 ;ÒÎ ÇÀÏÈØÅÌ ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ Â ÐÅÃÈÑÒÐ.
RETURN ;ÂÅÐÍÅÌÑß ÄËß ÇÀÃÐÓÇÊÈ ÍÎÂÎÃÎ ÇÍÀ×ÅÍÈß ÐÅÃÈÑÒÐÀ.
; 18. ÈÇÂËÅÊÀÅÌ ÏÎËÓÁÀÉÒÛ ÈÇ ÐÅÃÈÑÒÐΠÑ×ÅÒÀ  ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MESTO
MOVLWB'00001111';ÈÇÂËÅÊÀÅÌ ÏÎËÓÁÀÉÒÛ
ANDWFDEA,0;Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MOVWFCOI;
MOVLWB'11110000';
ANDWFEDA,0 ;
MOVWFDEI ;
SWAPFDEI,1 ;
MOVLWB'00001111';
ANDWFEDA,0;
MOVWFEDI;
CLRFEDA;
CLRFDEA;
;==================================================
; 19. ÑÌÅÍÀ ÈÍÄÈÊÀÖÈÈ ÏÐÈ ÑÌÅÍÅ ÐÅÆÈÌÀ.
INDH
BTFSCFLAG,7;ÅÑËÈ ÊÓÐÑÎÐ ÅÑÒÜ,
CALLYCT;ÒÎ ÈÄÅÌ ÍÀ ÓÑÒÀÍÎÂÊÓ.
MOVLW.10;ÏÓÑÒÎ.
CALLSEG;ÇÀÏÎËÍÈÌ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MOVWFR1;
MOVWFR2;
MOVWFR8;
BTFSSFLAG,6;
GOTO$+6;
MOVLW.11;ÏÐÎ×ÅÐÊ ÑÐÅÄÍÈÉ.
CALLSEG;
MOVWFR5;
BCFFLAG,6;
MOVLW.12;ÏÐÎ×ÅÐÊ ÍÈÆÍÈÉ.
BSFFLAG,6;
MOVFWML;
MOVWFR3;
MOVFWMH;
MOVWFR4;
MOVFWHL;
MOVWFR6;
MOVFWHH;
MOVWFR7;
BSFFLAG,1;ÂÊËÞ×ÈÌ ÐÅÆÈÌ ×ÀÑÎÂ.
CLRFZPT;
INDT
BTFSSPORTA,KY;ÅÑËÈ ÊÍÎÏÊÀ ÍÀÆÀÒÀ,
CALLT00;ÒÎ ÈÄÅÌ ÎÁÍÓËßÒÜ ÒÀÉÌÅÐ.
MOVFWTCL;ÇÀÏÎËÍÈÌ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ
CALLSEG;ÌÈÍÓÒ È ÑÅÊÓÍÄ ÏÐÀÂÛÕ ×ÀÑÎÂ.
MOVFWTCH;
MOVFWTML;
MOVFWTMH;
MOVLW.11;ÏÐÎ×ÅÐÊ.
MOVFWTHL;
MOVFWTHH;
BCFFLAG,1;ÐÅÆÈÌ ×ÀÑÛ ÂÛÊËÞ×ÅÍ.
BCFFLAG,7;ÍÅÒ ÓÑÒÀÍÎÂÊÈ.
INDU
MOVFW COI;
MOVFW DEI;
MOVFW EDI;
BSFZPT,4;
; 20. ÐÀÑÏÐÅÄÅËÈÒÅËÜ.
PAC
BTFSSFLAG1,1;ÆÄÅÌ 1 ÑÅÊÓÍÄÓ.
GOTO$-1;
CALLADP;
CALLKHOP;ÍÀ ÏÐÎÂÅÐÊÓ ÊÍÎÏÎÊ.
CALLIND;ÍÀ ÈÍÄÈÊÀÖÈÞ.
BCFFLAG1,1;
GOTOPAC;ÏÎÂÒÎÐÈÌ.
;=====================================================
; 21. ÓÑÒÀÍÎÂÊÀ ÂÐÅÌÅÍÈ.
YC0
INCFML,1;ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ÌÈÍÓÒ.
MOVLW.10;ÍÅ ÁÎËÅÅ 9.
SUBWFML,0;
SKPNC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 10,
CLRFML;ÒÎ ÎÁÍÓËÈÌ.
YC1
INCFMH,1;ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
MOVLW.6;ÍÅ ÁÎËÅÅ 5.
SUBWFMH,0;
SKPNC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 6,
CLRFMH;ÒÎ ÎÁÍÓËÈÌ.
YC2
INCFHL,1;ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
SUBWFHL,0;
SKPNC;
CLRFHL;ÅÑËÈ ÁÎËÜØÅ, ÒÎ ÎÁÍÓËÈÌ.
MOVFWHH;ÏÅÐÅÊÎÄÈÐÓÅÌ Â ÄÂÎÈ×ÍÛÉ
CALLDEBIN;ÊÎÄ ÄÅÑßÒÊÈ.
ADDWFHL,0;ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÛ
MOVWFHOU;ÄÂÎÈ×ÍÎÅ ÇÍÀ×ÅÍÈÅ ÍÅ ÄÎËÆÍÎ
ADDLW-18H;ÏÐÅÂÛØÀÒÜ - 24.
SKPC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 24,
CLRFHOU;ÒÎ ÎÁÍÓËÈÌ ×ÀÑÛ ÄÂÎÈ×ÍÛÅ
CLRFHL;È ÐÀÇÐßÄÛ ÑÒÀÐØÈÉ
CLRFHH;È ÌËÀÄØÈÉ.
YC3
INCFHH,1;ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
MOVLW.3;ÍÅ ÁÎËÅÅ 2.
SUBWFHH,0;
CLRFHH;ÅÑËÈ ÁÎËÜØÅ, ÒÎ ÎÁÍÓËÈÌ.
MOVWFHOU;È ÏÎËÓ×ÈÌ ÄÂÎÈ×ÍÎÅ ×ÈÑËÎ.
ADDLW-18H;
RETURN;ÂÅÐÍÅÌÑß.
YCE
CLRFCL;ÎÁÍÓËÅÍÈÅ.
CLRFCH;
CLRFML;
END
Ñòðàíèöû: 1, 2, 3, 4, 5, 6