Ðåôåðàòû. Ðàçðàáîòêà ìèêðîïðîöåññîðíîé ñèñòåìû öèôðîâîãî òåðìîìåòðà íà áàçå ìèêðîêîíòðîëëåðà

 ANDLW B'11110000';ÇÀÌÀÑÊÈÐÓÅÌ ÌËÀÄØÈÅ ÐÀÇÐßÄÛ ÏÎÄ ÍÎËÜ.

 ADDLW 30;ÏÅÐÅÂÎÄ Â ÊÎÄ ASCII, ÒÎËÜÊÎ ÄËß ÖÈÔÐ!

 MOVWF PORTB;ÎÑÒÀËÜÍÛÅ ÐÀÇÐßÄÛ ÏÅÐÅÏÈØÅÌ Â ÏÎÐÒ "Â".

 BSF PORTB,RS;ÓÑÒÀÍÎÂÈÌ R/S ÍÀ ÐÀÇÐÅØÅÍÈÅ ÇÀÏÈÑÈ ÄÀÍÍÛÕ.

 CALL STROB;ÏÐÎÑÒÐÎÁÈÐÓÅÌ.

 CALL PAUS;ÏÀÓÇÀ ÄËß ÎÑÂÎÁÎÆÄÅÍÈß ÆÊÈ ÎÒ ÖÈÊËÀ ÇÀÏÈÑÈ.

 MOVFW TEMP;

 SWAPF TEMP,0;ÏÎÌÅÍßÅÌ ÌÅÑÒÀÌÈ ÏÎËÓÁÀÉÒÛ.

 ANDLW B'11110000';ÇÀÌÀÑÊÈÐÓÅÌ ÑÒÀÐØÈÅ ÐÀÇÐßÄÛ ÏÎÄ ÍÎËÜ.

 MOVWF PORTB;ÎÑÒÀËÜÍÛÅ ÐÀÇÐßÄÛ ÏÅÐÅÏÈØÅÌ Â ÏÎÐÒ "Â".

 BSF PORTB,RS;ÓÑÒÀÍÎÂÈÌ R/S ÍÀ ÐÀÇÐÅØÅÍÈÅ ÇÀÏÈÑÈ ÄÀÍÍÛÕ.

 CALL STROB;ÏÐÎÑÒÐÎÁÈÐÓÅÌ.

PAUS

 MOVLW .10;40 ÌÊÑ. ÏÀÓÇÀ ÄËß ÇÀÏÈÑÈ ÄÀÍÍÛÕ.

 ADDLW -1

 BTFSS STATUS,2

 GOTO $-2

 RETURN

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

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

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

CTP1

BTFSCFLAG2,0;

GOTOTEK1;ÒÅÊÓÙÀß ÈÍÄÈÊÀÖÈß.

BTFSCFLAG2,1;

GOTOINDYC1;ÓÑÒÀÍÎÂÊÀ ×ÀÑÎÂ È ÄÍÅÉ.

GOTOCMOTP1;ÏÐÎÑÌÎÒÐ.

CTP2

BTFSCFLAG2,0;

GOTOTEK2;ÒÅÊÓÙÀß ÈÍÄÈÊÀÖÈß.

BTFSCFLAG2,1;

GOTOINDYC2;ÓÑÒÀÍÎÂÊÀ ×ÀÑÎÂ È ÄÍÅÉ.

GOTOCMOTP2;ÏÐÎÑÌÎÒÐ.

TEK1

MOVFWDHUDI;ÒÅÊÓÙÀß ÈÍÄÈÊÀÖÈß 1 ÑÒÐÎÊÈ, ÄÅÑßÒÊÈ ÄÍÅÉ.

MOVWFR1;

MOVFWDHUEI;ÅÄÈÍÈÖÛ ÄÍÅÉ.

MOVWFR2;

MOVLW.240;ÏÓÑÒÎ.

MOVWFR3;

MOVWFR9;

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

MOVWFR4;

MOVFWHOUL;ÅÄÈÍÈÖÛ ×ÀÑÎÂ.

MOVWFR5;

MOVLW.240;ÏÓÑÒÎ.

BTFSCCEK,0;ÄÂÎÅÒÎ×ÈÅ ÂÊËÞ×ÀÅÒÑß ×ÅÐÅÇ 1 ÑÅÊÓÍÄÓ.

MOVLW.10;ÄÂÎÅÒÎ×ÈÅ.

MOVWFR6;

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

MOVWFR7;

MOVFWMINL;ÅÄÈÍÈÖÛ ÌÈÍÓÒ.

MOVWFR8;

MOVFWSOT1;ÇÍÀÊ.

MOVWFR10;

MOVFWDES1;ÄÅÑßÒÊÈ ÒÅÌÏÅÐÀÒÓÐÛ 1.

MOVWFR11;

MOVFWEDI1;ÅÄÈÍÈÖÛ ÒÅÌÏÅÐÀÒÓÐÛ 1.

MOVWFR12;

MOVLW.252;ÇÀÏßÒÀß 1.

MOVWFR13;

MOVFWDST1;ÄÅÑßÒÛÅ ÒÅÌÏÅÐÀÒÓÐÛ 1.

MOVWFR14;

MOVLW.14;>.

MOVWFR15;

MOVLW.1;1.

MOVWFR16;

RETURN

TEK2

MOVFWMECDI;ÒÅÊÓÙÀß ÈÍÄÈÊÀÖÈß 2 ÑÒÐÎÊÈ, ÄÅÑßÒÊÈ ÌÅÑßÖÀ.

MOVWFR1;

MOVFWMECEI;ÅÄÈÍÈÖÛ ÌÅÑßÖÀ.

MOVWFR2;

MOVLW.240;ÏÓÑÒÎ.

MOVWFR3;

MOVWFR4;

MOVWFR5;

MOVWFR6;

MOVWFR7;

MOVWFR8;

MOVWFR9;

MOVFWSOT2;ÇÍÀÊ 2.

MOVWFR10;

MOVFWDES2;ÄÅÑßÒÊÈ ÒÅÌÏÅÐÀÒÓÐÛ 2.

MOVWFR11;

MOVFWEDI2;ÅÄÈÍÈÖÛ ÒÅÌÏÅÐÀÒÓÐÛ 2.

MOVWFR12;

MOVLW.252;ÇÀÏßÒÀß 2.

MOVWFR13;

MOVFWDST2;ÄÅÑßÒÛÅ ÒÅÌÏÅÐÀÒÓÐÛ 2.

MOVWFR14;

MOVLW.14;>.

MOVWFR15;

MOVLW.2;2.

MOVWFR16;

RETURN

INDYC1

BTFSSPORTA,HOL;ÅÑËÈ ÍÀÆÀÒÀ ÊÍÎÏÊÀ "ÑÁÐÎÑ",

CALLYC00;ÒÎ ÎÁÍÓËÈÌ ÑÅÊÓÍÄÛ È ÌÈÍÓÒÛ.

MOVLW.123;ÓÑÒÀÍÎÂÊÀ ×ÀÑÎÂ È ÄÀÒÛ 1 ÑÒÐÎÊÀ.

MOVWFR1;×.

MOVLW.17;À.

MOVWFR2;

MOVLW.19;Ñ.

MOVWFR3;

MOVLW.126;Û.

MOVWFR4;

MOVLW.240;ÏÓÑÒÎ.

MOVWFR5;

MOVWFR11;

MOVWFR12;

MOVWFR13;

MOVWFR14;

MOVWFR15;

MOVWFR16;

MOVFWHOUH;ÒÅÊÓÙÈÅ ÇÍÀ×ÅÍÈß: ÄÅÑßÒÊÈ ×ÀÑÎÂ,

MOVWFR6;

MOVFWHOUL;ÅÄÈÍÈÖÛ ×ÀÑÎÂ.

MOVWFR7;

MOVLW.10;ÄÂÎÅÒÎ×ÈÅ.

MOVWFR8;

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

MOVWFR9;

MOVFWMINL;ÅÄÈÍÈÖÛ ÌÈÍÓÒ.

MOVWFR10;

RETURN

INDYC2

MOVLW.176;Ä.

MOVWFR1;

MOVLW.17;À.

MOVWFR2;

MOVLW.36;Ò.

MOVWFR3;

MOVLW.17;À.

MOVWFR4;

MOVLW.240;ÏÓÑÒÎ.

MOVWFR5;

MOVWFR11;

MOVWFR12;

MOVWFR13;

MOVWFR14;

MOVWFR15;

MOVWFR16;

MOVFWDHUDI;ÄÅÑßÒÊÈ ÄÍÅÉ.

MOVWFR6;

MOVFWDHUEI;ÅÄÈÍÈÖÛ ÄÍÅÉ.

MOVWFR7;

MOVLW.253;ÏÐÎ×ÅÐÊ.

MOVWFR8;

MOVFWMECDI;ÄÅÑßÒÊÈ ÌÅÑßÖÀ.

MOVWFR9;

MOVFWMECEI;ÅÄÈÍÈÖÛ ÌÅÑßÖÀ.

MOVWFR10;

RETURN

CMOTP1

MOVFWDHUDI;ÅÑËÈ ÏÐÎÑÌÎÒÐ

ADDWFDHUEI,0;ÑÅÃÎÄÍßØÍÅÉ ÄÀÒÛ,

SUBWFDHU,0;ÒÎ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ ÍÅ ÌÅÍßÅÌ.

 SKPC;

GOTO$+5;

MOVFWMECDI;

ADDWFMECEI,0;

SUBWFMEC,0;

SKPNC;

CALLBDINZ1;ÈÍÀ×Å ÓÑÒÀÍÎÂÈÌ Ñ×ÈÒÀÍÍÛÅ ÇÍÀ×ÅÍÈß 1 ÑÒÐÎÊÈ.

MOVFWDHUDI;ÄÅÑßÒÊÈ ÄÍÅÉ.

MOVWFR1;

MOVFWDHUEI;ÅÄÈÍÈÖÛ ÄÍÅÉ.

MOVWFR2;

MOVLW.14;>.

MOVWFR3;ÏÎ ÓÌÎË×ÀÍÈÞ

MOVLW.1;1.

BTFSCFLAG1,1;ÅÑËÈ ÔËÀÃ ÓÑÒÀÍÎÂËÅÍ,

MOVLW.2;ÒÎ - 2.

MOVWFR4;

MOVLW.240;ÏÓÑÒÎ.

MOVWFR5;

MOVWFR11;

MOVLW.253;ÏÐÎ×ÅÐÊ.

MOVWFR8;

MOVFWDES1;ÄÅÑßÒÊÈ ÒÅÌÏÅÐÀÒÓÐÛ.

MOVWFR13;

MOVFWEDI1;ÅÄÈÍÈÖÛ ÒÅÌÏÅÐÀÒÓÐÛ.

MOVWFR14;

MOVLW.252;ÇÀÏßÒÀß 1.

MOVWFR15;

MOVFWDST1;ÄÅÑßÒÛÅ ÒÅÌÏÅÐÀÒÓÐÛ.

MOVWFR16;

RETURN

CMOTP2

MOVFWDHUDI;ÅÑËÈ ÏÐÎÑÌÎÒÐ

ADDWFDHUEI,0;ÑÅÃÎÄÍßØÍÅÉ ÄÀÒÛ,

SUBWFDHU,0;ÒÎ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ ÍÅ ÌÅÍßÅÌ.

 SKPC;

GOTO$+5;

MOVFWMECDI;

ADDWFMECEI,0;

SUBWFMEC,0;

SKPNC;

CALLBDIN12;ÈÍÀ×Å ÓÑÒÀÍÎÂÈÌ Ñ×ÈÒÀÍÍÛÅ ÇÍÀ×ÅÍÈß 2 ÑÒÐÎÊÈ.

MOVFWMECDI;ÄÅÑßÒÊÈ ÌÅÑßÖÀ.

MOVWFR1;

MOVFWMECEI;ÅÄÈÍÈÖÛ ÌÅÑßÖÀ.

MOVWFR2;

MOVLW.240;ÏÓÑÒÎ.

MOVWFR3;

MOVWFR4;

MOVWFR5;

MOVWFR11;

MOVLW.253;ÏÐÎ×ÅÐÊ.

MOVWFR8;

MOVFWDES2;ÄÅÑßÒÊÈ ÒÅÌÏÅÐÀÒÓÐÛ 2.

MOVWFR13;

MOVFWEDI2;ÅÄÈÍÈÖÛ ÒÅÌÏÅÐÀÒÓÐÛ 2.

MOVWFR14;

MOVLW.252;ÇÀÏßÒÀß 2.

MOVWFR15;

MOVFWDST2;ÄÅÑßÒÛÅ ÒÅÌÏÅÐÀÒÓÐÛ 2.

MOVWFR16;

RETURN

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

; 37. ÂÛÂÎÄ ÇÍÀ×ÅÍÈÉ ÐÅÃÈÑÒÐΠÍÀ ÈÍÄÈÊÀÖÈÞ.

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

JEKIND


BSFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 1.

BCFTRISB^80H,YCMI;ÍÀ ÂÛÕÎÄ.

BCFTRISB^80H,YCPL;ÍÀ ÂÛÕÎÄ.

BCFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 0.

BTFSSFLAG1,0;ÅÑËÈ ÒÅÊÓÙÀß ÈÍÄÈÊÀÖÈß,

GOTO$+3;ÒÎ ÏÐÎÏÓÑÊÀÅÌ ÈÍÄÈÊÀÖÈÞ ÊÓÐÑÎÐÀ.

BTFSSFLAG,6;ÅÑËÈ ÈÍÄÈÊÀÖÈß ÊÓÐÑÎÐÀ ÂÛÏÎËÍÅÍÀ, ÒÎ ÏÐÎÏÓÑÊÀÅÌ ÅÅ.

GOTO JEKYC;ÏÐÎÈÍÄÈÖÈÐÓÅÌ ÊÓÐÑÎÐ.

 MOVLW 02;ÂÎÇÂÐÀÒ ÊÓÐÑÎÐÀ  ÈÑÕÎÄÍÎÅ ÑÎÑÒÎßÍÈÅ.

 CALL JEKOM;ÇÀÏÈØÅÌ ÊÎÌÀÍÄÓ.

 MOVLW B'10000000';ÊÓÐÑÎÐ ÍÀ 0 ÏÎÇÈÖÈÞ ÏÅÐÂÎÉ ÑÒÐÎÊÈ.

 CALL JEKOM;ÇÀÏÈØÅÌ ÊÎÌÀÍÄÓ.

CALLCTP1;ÏÅÐÅÏÈØÅÌ Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ 1 ÑÒÐÎÊÓ.

CALLJEKCTP;ÇÀÏÈØÅÌ Â ÈÍÄÈÊÀÒÎÐ 1 ÑÒÐÎÊÓ.

 MOVLW B'11000000';ÂÒÎÐÀß ÑÒÐÎÊÀ. 0x0C0

 CALL JEKOM;ÇÀÏÈØÅÌ ÊÎÌÀÍÄÓ.

CALLCTP2;ÏÅÐÅÏÈØÅÌ Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ 2 ÑÒÐÎÊÓ.

CALLJEKCTP;ÇÀÏÈØÅÌ Â ÈÍÄÈÊÀÒÎÐ 2 ÑÒÐÎÊÓ.

BCFFLAG,6;

RETURN

JEKCTP

MOVLW.16;

MOVWFCOUN;ÓÑÒÀÍÎÂÈÌ Ñ×ÅÒ×ÈÊ ÈÍÄÈÊÀÖÈÈ ÇÍÀÊÎÌÅÑÒ.

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

MOVWFFSR;ÏÎ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ

MOVFWINDF;ÓÑÒÀÍÎÂÈÌ ÇÍÀ×ÅÍÈÅ ÐÅÃÈÑÒÐÀ.

 CALL JEDAT;ÇÀÏÈØÅÌ Â ÈÍÄÈÊÀÒÎÐ.

DECFCOUN,1;ÓÌÅÍÜØÈÌ Ñ×ÅÒ×ÈÊ.

BTFSCSTATUS,2;ÅÑËÈ ÍÅÒ ÍÓËß,

RETURN;

INCFFSR,1;ÒÎ ÂÛÁÅÐÅÌ ÑËÅÄÓÞÙÈÉ ÐÅÃÈÑÒÐ.

GOTO$-6;ÏÎÂÒÎÐÈÌ ÂÛÂÎÄ ÍÀ ÈÍÄÈÊÀÖÈÞ.

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

; 38. ÏÐÎÂÅÐÊÀ ÊÍÎÏÎÊ.

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

KHOP

BSFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 1.

BSFTRISB^80H,YCMI;ÍÀ ÂÕÎÄ.

BSFTRISB^80H,YCPL;ÍÀ ÂÕÎÄ.

BCFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 0.

BTFSSFLAG1,0;ÅÑËÈ ÍÅÒ ÓÑÒÀÍÎÂÊÈ,

GOTOKHOP1;ÊÍÎÏÊÈ ÍÅ ÏÐÎÂÅÐßÞÒÑß.

BTFSCFLAG2,2;ÏÐÈ ÏÐÎÑÌÎÒÐÅ

GOTO$+0x0D;ÍÅ ÏÐÎÂÅÐßÅÒÑß ÐÀÇÐßÄ È ÏËÞÑ.

BTFSCFLAG,3;ÅÑËÈ ÐÀÍÅÅ ÁÛËÀ ÍÀÆÀÒÀ ÊÍÎÏÊÀ,

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

BTFSSPORTB,YCPL;ÅÑËÈ ÊÍÎÏÊÀ ÏËÞÑ ÍÀÆÀÒÀ,

BSFFLAG,3;ÏÎÑÒÀÂÈÌ ÔËÀÃ.

BTFSSPORTB,YCPL;ÅÑËÈ ÊÍÎÏÊÀ ÏËÞÑ ÍÀÆÀÒÀ,

BSFFLAG1,2;ÇÀÏÐÅÙÀÅÌ ÈÍÄÈÊÀÖÈÞ.

BTFSCFLAG,5;ÅÑËÈ ÐÀÍÅÅ ÁÛËÀ ÍÀÆÀÒÀ ÊÍÎÏÊÀ "ÐÀÇÐßÄ",

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

BTFSSPORTB,PAZ;ÅÑËÈ ÊÍÎÏÊÀ "ÐÀÇÐßÄ" ÍÀÆÀÒÀ,

BSFFLAG,5;ÏÎÑÒÀÂÈÌ ÔËÀÃ.

BTFSCFLAG2,1;ÏÐÈ ÓÑÒÀÍÎÂÊÅ ÄÀÒÛ

GOTOKHOP1;ÊÍÎÏÊÀ ÌÈÍÓÑ ÍÅ ÏÐÎÂÅÐßÅÒÑß.

BTFSCFLAG,2;ÅÑËÈ ÐÀÍÅÅ ÁÛËÀ ÍÀÆÀÒÀ ÊÍÎÏÊÀ ÌÈÍÓÑ,

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

BTFSSPORTB,YCMI;ÅÑËÈ ÊÍÎÏÊÀ ÌÈÍÓÑ ÍÀÆÀÒÀ,

BSFFLAG,2;ÏÎÑÒÀÂÈÌ ÔËÀÃ.

BTFSSPORTB,YCMI;ÅÑËÈ ÊÍÎÏÊÀ ÌÈÍÓÑ ÍÀÆÀÒÀ,

BSFFLAG1,2;ÇÀÏÐÅÙÀÅÌ ÈÍÄÈÊÀÖÈÞ.

KHOP1

BTFSSPORTB,PEJ;ÅÑËÈ ÊÍÎÏÊÀ "ÐÅÆÈÌ" ÍÀÆÀÒÀ,

BSFFLAG,4;ÏÎÑÒÀÂÈÌ ÔËÀÃ.

BTFSSFLAG,4;ÅÑËÈ ÊÍÎÏÊÀ "ÐÅÆÈÌ" ÍÅ ÁÛËÀ ÍÀÆÀÒÀ,

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

BTFSSPORTB,PEJ;ÅÑËÈ ÊÍÎÏÊÀ "ÐÅÆÈÌ" ÍÀÆÀÒÀ,

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

BCFFLAG,4;ÑÁÐÎÑÈÌ ÔËÀÃ ÊÍÎÏÊÈ.

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

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

SUBWFREID,0;ÅÑËÈ ÁÎËÜØÅ,

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

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

CLRFREID;ÑÁÐÎÑ ÐÅÆÈÌÀ.

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

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

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

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

PRER

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

 MOVFWSTATUS;STATUS,

 MOVWFSTEMP;

 MOVFWFSR;FSR.

 MOVWFFTEMP;

CALLS1;

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

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

 MOVWFSTATUS;STATUS,

 MOVFWFTEMP;

 MOVWFFSR;FSR,

 MOVFWWTEMP;W.

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

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

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

; 40. Ñ×ÅÒ È ÏÅÐÅÊÎÄÈÐÎÂÊÀ ÐÅÃÈÑÒÐΠ×-Ì-Ñ.

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

S1

INCFMCK,1;ÏÐÈÁÀÂÈÌ 1 Â ÐÅÃÈÑÒÐ ÌÈËËÈÑÅÊÓÍÄ.

MOVFWMCK;

ADDLW-0x7D;Ñ×ÈÒÀÅÌ ÄÎ 125.

BTFSSSTATUS,2;

RETURN;

CLRFMCK;ÎÁÍÓËÈÌ.

BTFSCFLAG,7;ÐÀÇÄÅËÈÌ ÍÀ 2.

GOTO$+3;

BSFFLAG,7;

RETURN;

BCFFLAG,7;ÎÁÍÓËÈÌ ÄÅËÈÒÅËÜ.

MOVFWCEK;ÇÀÃÐÓÇÊÀ ÇÍÀ×ÅÍÈÉ ÑÅÊÓÍÄ Â ÐÀÁ. ÐÅÃÈÑÒÐ.

ADDLW-3BH;ÂÛ×ÅÑÒÜ ÈÇ ÐÅÃÈÑÒÐÀ 59.236:4=59-0x0EC;

BZM1;ÑÐÀÂÍÈÒÜ ÍÀ 0, ÅÑËÈ ÐÀÂÍÎ, ÏÅÐÅÉÒÈ ÍÀ M1,

INCFCEK,1;ÈÍÀ×Å ÏÐÈÁÀÂÈÒÜ 1  ÐÅÃÈÑÒÐ ÑÅÊÓÍÄ.

RETURN;

M1

CLRFCEK;ÎÁÍÓËÅÍÈÅ ÐÅÃÈÑÒÐÀ ÑÅÊÓÍÄ.

MOVFWMIN;ÇÀÃÐÓÇÊÀ ÌÈÍÓÒ Â ÐÀÁ. ÐÅÃÈÑÒÐ.

ADDLW-3BH;-59.

BZH1;ÑÐÀÂÍÈÒÜ ÍÀ 0, ÅÑËÈ ÐÀÂÍÎ, ÏÅÐÅÉÒÈ ÍÀ H1.

INCFMIN,1;ÏÐÈÁÀÂÈÒÜ 1 Â ÌÈÍÓÒÛ.

MOVFWMIN;MIN >W.

MOVWFTEMP;.

CALLBIDE;ÏÅÐÅÊÎÄÈÐÓÅÌ.

MOVWFMINH;W > Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÄÅÑßÒÊÎÂ ÌÈÍÓÒ.

MOVFWTEMP;ÂÐÅÌÅÍÍÛÉ

MOVWFMINL;Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÅÄÈÍÈÖ ÌÈÍÓÒ.

RETURN;

H1

CLRFMIN;ÎÁÍÓËßÅÌ ÐÅÃÈÑÒÐ ÌÈÍÓÒ.

CLRFMINL;ÎÁÍÓËßÅÌ ÅÄÈÍÈÖÛ ÌÈÍÓÒ ÈÍÄÈÊÀÖÈÈ.

CLRFMINH;ÎÁÍÓËßÅÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ ÈÍÄÈÊÀÖÈÈ.

MOVFWHOU;ÇÀÃÐÓÇÊÀ ×ÀÑΠ ÐÀÁ. ÐÅÃÈÑÒÐ.

ADDLW-17H;- 23.

BZD1;ÑÐÀÂÍÈÒÜ ÍÀ 0, ÅÑËÈ ÐÀÂÍÎ, ÏÅÐÅÉÒÈ ÍÀ H10.

INCFHOU,1;ÏÐÈÁÀÂÈÒÜ 1  ×ÀÑÛ.

MOVFWHOU;HOU >W.

MOVWFTEMP;

CALLBIDE;ÏÅÐÅÊÎÄÈÐÓÅÌ.

MOVWFHOUH;W >  ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÄÅÑßÒÊΠ×ÀÑÎÂ.

MOVFWTEMP;ÂÐÅÌÅÍÍÛÉ

MOVWFHOUL; ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÅÄÈÍÈÖ ×ÀÑÎÂ.

RETURN;

D1

CLRFHOU;ÎÁÍÓËÅÍÈÅ ÐÅÃÈÑÒÐÀ ×ÀÑÎÂ.

CLRFHOUL;ÎÁÍÓËÅÍÈÅ ÅÄÈÍÈÖ ×ÀÑÎÂ.

CLRFHOUH;ÎÁÍÓËÅÍÈÅ ÄÅÑßÒÊΠ×ÀÑÎÂ.

CALLSAPIS;ÍÀ ÇÀÏÈÑÜ.

CALLPOLNO;ÍÀ ÓÑÒÀÍÎÂÊÓ ÏÐÅÄÅËÜÍÛÕ ÇÍÀ×ÅÍÈÉ.

INCFDHU,1;ÏÐÈÁÀÂÈÒÜ 1 Â ÄÍÈ.

MOVFWMEC;×ÈÑËÎ ÄÍÅÉ ÍÅ ÄÎËÆÍÎ ÏÐÅÂÛØÀÒÜ

CALLDAYMON;×ÈÑËÀ ÄÀÍÍÎÃÎ ÌÅÑßÖÀ.

 SUBWFDHU,0;

 SKPNC;

GOTOME1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÌÅÑßÖ.

MOVFWDHU;

MOVWFTEMP;

CALLBIDE;ÏÅÐÅÊÎÄÈÐÓÅÌ.

MOVWFDHUD;W > Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÄÅÑßÒÊÎÂ ÄÍÅÉ.

MOVFWTEMP;ÂÐÅÌÅÍÍÛÉ

MOVWFDHUE;Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÅÄÈÍÈÖ ÄÍÅÉ.

RETURN;

ME1

MOVLW.1;ÓÑÒÀÍÎÂÈÌ ÏÅÐÂÎÅ ×ÈÑËÎ.

MOVWFDHU;

MOVWFDHUE;

CLRFDHUD;

INCFMEC,1;ÏÐÈÁÀÂÈÌ ÌÅÑßÖ.

MOVLW.13;ÍÅ ÁÎËÅÅ 12.

SUBWFMEC,0;

SKPNC;

GOTOME1ME;ÅÑËÈ ÁÎËÜØÅ, ÒÎ ÓÑÒÀÍÎÂÈÌ 1 ßÍÂÀÐß.

MOVFWMEC;

MOVWFTEMP;

CALLBIDE;ÏÅÐÅÊÎÄÈÐÓÅÌ.

MOVWFMECD;W > Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÄÅÑßÒÊÎÂ ÌÅÑßÖÀ.

MOVFWTEMP;ÂÐÅÌÅÍÍÛÉ

MOVWFMECE;Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ ÅÄÈÍÈÖ ÌÅÑßÖÀ.

RETURN;

ME1ME

MOVLW.1;1 ßÍÂÀÐß.

MOVWFMEC;01-01.

MOVWFMECE;

CLRFMECD;

RETURN;

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

; 41. ÏÅÐÅÊÎÄÈÐÎÂÊÀ ÈÇ 2-ÃÎ Â 2_10.

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

BIDE;ÏÅÐÅÊÎÄÈÐÎÂÊÀ ÄÅÑßÒÊÎÂ

CLRFCOUN;ÎÁÍÓËßÅÌ Ñ×ÅÒ×ÈÊ.

ADDLW-.10;ÂÛ×ÒÅÌ 10.

BTFSSSTATUS,0;ÅÑËÈ ÅÑÒÜ ÏÅÐÅÕÎÄ ×ÅÐÅÇ ÍÎËÜ,

GOTO$+4;ÒÎ ÇÀÂÅÐØÀÅÌ ÏÅÐÅÊÎÄÈÐÎÂÊÓ.

MOVWFTEMP;ÈÍÀ×Å ÏÅÐÅÏÈØÅÌ ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ ÂÎ ÂÐÅÌÅÍÍÛÉ.

INCFCOUN,1;ÓÂÅËÈ×ÈÌ Ñ×ÅÒ×ÈÊ.

GOTO$-5;ÏÎÂÒÎÐÈÌ ÂÛ×ÈÒÀÍÈÅ.

MOVFWCOUN;ÇÍÀ×ÅÍÈÅ Ñ×ÅÒ×ÈÊÀ (ÐÀÂÍÎ ×ÈÑËÓ ÄÅÑßÒÊÎÂ) ÏÅÐÅÏÈØÅÌ Â ÐÀÁÎ×ÈÉ ÐÅÃÈÑÒÐ.

RETURN;ÂÅÐÍÅÌÑß.

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

; 42. ÇÀÏÈÑÜ ÇÍÀ×ÅÍÈÉ Â ÏÀÌßÒÜ.

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

SAPIS

CALLPERZAP;ÏÅÐÅÏÈØÅÌ ÒÅÊÓÙÈÅ ÇÍÀ×ÅÍÈß Â ÐÅÃÈÑÒÐÛ ÇÀÏÈÑÈ.

BTFSCFLAG,0;ÂÂÎÄÈÌ ÇÍÀÊ Â ÐÅÃÈÑÒÐÛ.

BSFLSBZ1X,7;-

BTFSCFLAG,1;

BSFLSBZ1N,7;-

BTFSCFLAG2,3;

BSFLSBZ2X,7;-

BTFSCFLAG2,4;

BSFLSBZ2N,7;-

MOVLWHOUZ1X;ÏÅÐÂÛÉ ÀÄÐÅÑ ÇÀÏÈÑÛÂÀÅÌÎÃÎ ÐÅÃÈÑÒÐÀ

MOVWFFSR;Â ÐÅÃÈÑÒÐ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ.

MOVFWCOUZ;ÍÀ×ÀËÜÍÛÉ ÀÄÐÅÑ ÇÀÏÈÑÈ Â ÐÀÁÎ×ÈÉ ÐÅÃÈÑÒÐ.

BSFSTATUS,5;ÁÀÍÊ 1.

MOVWFEEADR;ÈÇ ÐÀÁÎ×ÅÃÎ Â ÀÄÐÅÑ ÇÀÏÈÑÈ.

BCFINTCON,7;ÇÀÏÐÅÒ ÏÐÅÐÛÂÀÍÈÉ.

CALLZAPIS;ÍÀ ÇÀÏÈÑÜ.

INCFEEADR,1;ÓÂÅËÈ×ÈÌ ÀÄÐÅÑ.

INCFFSR,1;ÂÛÁÅÐÅÌ ÑËÅÄÓÞÙÈÉ ÐÅÃÈÑÒÐ.

BTFSSFSR,7;ÅÑËÈ ÐÅÃÈÑÒÐ ÍÅ ÏÎÑËÅÄÍÈÉ,

GOTO$-4;ÏÎÂÒÎÐÈÌ ÇÀÏÈÑÜ.

BCFSTATUS,5;ÁÀÍÊ 0.

BSFINTCON,7;ÐÀÇÐÅØÀÅÌ ÏÐÅÐÛÂÀÍÈß.

MOVLW.16;ÓÑÒÀÍÎÂÈÌ ÍÀ×ÀËÜÍÛÉ ÀÄÐÅÑ

ADDWFCOUZ,1;ÑËÅÄÓÞÙÅÉ ÇÀÏÈÑÈ.

MOVLW.128;ÅÑËÈ ÝÒÎ ÏÎÑËÅÄÍÈÉ ÀÄÐÅÑ,

SUBWFCOUZ,0;

 SKPNC;

CLRFCOUZ;ÒÎ ÍÀ×ÍÅÌ Ñ ÍÓËß.

RETURN;ÂÎÇÂÐÀÒ.

ZAPIS

MOVFWINDF;ÏÅÐÅÏÈØÅÌ ÇÀÏÈÑÛÂÀÅÌÎÅ ÇÍÀ×ÅÍÈÅ

MOVWFEEDATA;Â ÐÅÃÈÑÒÐ ÄÀÍÍÛÕ.

 BSF EECON1,WREN;ÐÀÇÐÅØÅÍÈÅ ÇÀÏÈÑÈ.

 MOVLW 55H;ÎÁßÇÀÒÅËÜÍÀß ÏÎÑËÅÄÎÂÀÒÅËÜÍÎÑÒÜ

 MOVWF EECON2;/

 MOVLW 0AAH;/

 MOVWF EECON2;/

 BSF EECON1,WR;ÏÐÈ ÇÀÏÈÑÈ ÂÎ ÔËÅØ ÏÇÓ.

 BTFSC EECON1,WR;ÏÎÊÀ ÍÅ ÁÓÄÅÒ ÎÊÎÍ×ÀÍÈß ÇÀÏÈÑÈ

 GOTO $-1;ÕÎÄÈÌ ÏÎ ÊÐÓÃÓ.

 BCF EECON1,WREN;ÇÀÏÐÅÒ ÇÀÏÈÑÈ.

RETURN;ÂÎÇÂÐÀÒ.

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

; 43. ÂÛÁÎÐÊÀ ÈÇ ÏÀÌßÒÈ.

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

CXUTKA

MOVLWHOUZ1X;ÏÅÐÂÛÉ ÀÄÐÅÑ ÇÀÏÈÑÛÂÀÅÌÎÃÎ ÐÅÃÈÑÒÐÀ

MOVWFFSR;Â ÐÅÃÈÑÒÐ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ.

MOVFWCOUE;ÀÄÐÅÑ ÇÀÏÈÑÈ Â ÐÀÁÎ×ÈÉ ÐÅÃÈÑÒÐ.

BSFSTATUS,5;ÁÀÍÊ 1.

MOVWFEEADR;ÈÇ ÐÀÁÎ×ÅÃÎ Â ÀÄÐÅÑ ÇÀÏÈÑÈ.

BCFINTCON,7;ÇÀÏÐÅÒ ÏÐÅÐÛÂÀÍÈÉ.

CALLAKT;ÍÀ Ñ×ÈÒÛÂÀÍÈÅ.

MOVWFINDF;ÏÅÐÅÏÈØÅÌ Â ÐÅÃÈÑÒÐ.

INCFEEADR,1;ÓÂÅËÈ×ÈÌ ÀÄÐÅÑ.

INCFFSR,1;ÂÛÁÅÐÅÌ ÑËÅÄÓÞÙÈÉ ÐÅÃÈÑÒÐ.

BTFSSFSR,7;ÅÑËÈ ÐÅÃÈÑÒÐ ÍÅ ÏÎÑËÅÄÍÈÉ,

GOTO$-5;ÏÎÂÒÎÐÈÌ Ñ×ÈÒÛÂÀÍÈÅ.

BCFSTATUS,5;ÁÀÍÊ 0.

BSFINTCON,7;ÐÀÇÐÅØÀÅÌ ÏÐÅÐÛÂÀÍÈß.

MOVLW.251;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.

MOVWFSOT1X;

BTFSSLSBZ1X,7;ÏÎ 7 ÐÀÇÐßÄÓ ÓÑÒÀÍÎÂÈÌ ÇÍÀÊ.

GOTO$+4;

MOVLW.253;ÌÈÍÓÑ.

MOVWFSOT1X;

BCFLSBZ1X,7;ÑÎÒÐÅÌ ÇÍÀÊ.

MOVLW.251;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.

MOVWFSOT1N;

BTFSSLSBZ1N,7;

GOTO$+4;

MOVLW.253;ÌÈÍÓÑ.

MOVWFSOT1N;

BCFLSBZ1N,7;

MOVLW.251;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.

MOVWFSOT2X;

BTFSSLSBZ2X,7;

GOTO$+4;

MOVLW.253;ÌÈÍÓÑ.

MOVWFSOT2X;

BCFLSBZ2X,7;

MOVLW.251;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.

MOVWFSOT2N;

BTFSSLSBZ2N,7;

GOTO$+4;

MOVLW.253;ÌÈÍÓÑ.

MOVWFSOT2N;

BCFLSBZ2N,7;

BCFFLAG2,5;ÑÁÐÎÑ ÔËÀÃÀ ÓÑÒÀÍÎÂÊÈ ÌÈÍÓÑ.

RETURN

AKT

BSFEECON1,RD;×ÒÅÍÈÅ.

BTFSCEECON1,RD;

GOTO$-1;

MOVLW.255;ÅÑËÈ ÏÀÌßÒÜ ÍÅ ÇÀÏÎËÍÅÍÀ,

SUBWFEEDATA,0;ÇÀÏÈØÅÌ -0.

BTFSCSTATUS,Z;

CLRFEEDATA;ÎÁÍÓËÈÌ, Ò.Ê. 255 ÍÅÊÎÐÐÅÊÒÍÎ.

MOVFWEEDATA;ÏÅÐÅÏÈØÅÌ Â ÐÀÁÎ×ÈÉ ÐÅÃÈÑÒÐ.

RETURN;ÂÎÇÂÐÀÒ.

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

; 44. ÐÀÑÏÐÅÄÅËÈÒÅËÜ.

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

MYLTIK

CALLKHOP;ÏÐÎÂÅÐÈÌ ÊÍÎÏÊÈ.

BTFSSFLAG2,0;ÅÑËÈ ÈÍÄÈÊÀÖÈß ÒÅÊÓÙÀß,

GOTOCMOTP;ÒÎ ÏÐÎÏÓÑÊÀÅÌ ÓÑÒÀÍÎÂÊÓ.

CALLJEKIND;ÏÐÎÈÍÄÈÖÈÐÓÅÌ.

BTFSSCEK,0;ÆÄÅÌ ×ÅÒÍÎÉ ÑÅÊÓÍÄÛ.

GOTO$-1;

CALLINIDS1;ÏÐÎÂÅÐÈÌ ÄÀÒ×ÈÊ.

CALLKHOP;ÏÐÎÂÅÐÈÌ ÊÍÎÏÊÈ.

BTFSSFLAG2,0;ÅÑËÈ ÈÍÄÈÊÀÖÈß ÒÅÊÓÙÀß,

GOTOCMOTP;ÒÎ ÏÐÎÏÓÑÊÀÅÌ ÓÑÒÀÍÎÂÊÓ.

CALLJEKIND;ÏÐÎÈÍÄÈÖÈÐÓÅÌ.

BTFSCCEK,0;ÆÄÅÌ ÍÅ×ÅÒÍÎÉ ÑÅÊÓÍÄÛ.

GOTO$-1;

CALLINIDS2;ÒÎ ÏÐÎÂÅÐÈÌ ÂÒÎÐÎÉ ÄÀÒ×ÈÊ.

GOTOMYLTIK;ÂÑÅ ÑÍÀ×ÀËÀ.

CMOTP

BTFSCFLAG2,0;ÅÑËÈ ÈÍÄÈÊÀÖÈß ÒÅÊÓÙÀß,

GOTOMYLTIK;ÒÎ ÈÄÅÌ ÈÇÌÅÐßÒÜ ÒÅÌÏÅÐÀÒÓÐÓ.

BTFSCFLAG2,5;ÏÐÈ ÓÑÒÀÍÎÂÊÅ ÍÅÒ ÂÛÁÎÐÊÈ ÈÇ ÏÇÓ.

CALLCXUTKA;ÂÛÁÎÐÊÀ ÈÇ ÏÇÓ.

BTFSCFLAG1,2;ÅÑËÈ ÇÀÏÐÅÒ ÈÍÄÈÊÀÖÈÈ, ÒÎ ÏÐÎÏÓÑÒÈÌ.

GOTO$+4;

BTFSSFLAG,7;ÊÀÆÄÛÅ 0,5 ÑÅÊ.

GOTO$-1

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

BTFSCFLAG,7;ÊÀÆÄÛÅ 0,5 ÑÅÊ.

GOTO$-1

CALLKHOP;ÏÐÎÂÅÐÈÌ ÊÍÎÏÊÈ.

GOTOCMOTP;

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

END

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


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



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