CALLHYL2;ÏÎÑÛË ÈÌÏÓËÜÑÀ ÎÁÍÓËÅÍÈß.
MOVLW0xCC;ÏÐÎÏÓÑÊ ÏÎÑÛËÀ ÍÎÌÅÐÀ DS.
CALLPOSIL2;ÏÎØËÅÌ.
MOVLW0x44;ÐÀÇÐÅØÀÅÌ ÏÐÅÎÁÐÀÇÎÂÀÍÈÅ.
MOVLW.3;ÏÀÓÇÀ 0,75 ÑÅÊ.
MOVWFCOUN;ÌÀÊÑÈÌÀËÜÍÎ 750 ÌÑ.
SPLU
MOVLW .255
MOVWF TEMP
PLUS
ADDLW -1
BTFSS STATUS,2
GOTO $-2
DECFSZ TEMP,1
GOTO PLUS
DECFSZCOUN,1
GOTOSPLU
GOTOPRIEM2;ÍÀ ÏÐÈÅÌ ÒÅÌÏÅÐÀÒÓÐÛ.
HYL2
CALLWUX2;ÂÛÕÎÄ ÍÓËß.
MOVLW.125;ÍÓËÅÂÎÉ ÈÌÏÓËÜÑ
ADDLW-1;= 500 ÌÊÑ.
BTFSSSTATUS,2;
GOTO$-2;
CALLWXO2;ÂÛÕÎÄ ÅÄÈÍÈÖÛ.
MOVLW.125;ÈÌÏÓËÜÑ =
ADDLW-1;500 ÌÊÑ.
RETURN
;=======================================
; 11. ÈÇÌÅÍÅÍÈÅ ÂÕÎÄÀ ÍÀ ÏÐÈÅÌ/ÏÅÐÅÄÀ×Ó.
WUX2
BCFPORTA,DS2;
BSFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 1.
BCFTRISA^80H,DS2;ÍÀ ÂÛÕÎÄ.
BCFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 0.
WXO2
BSFTRISA^80H,DS2;ÍÀ ÂÕÎÄ.
;====================================
; 12. ÏÐÈÅÌ 16 ÁÈÒ ÎÒ DS2.
PRIEM2
MOVLW0xCC;ÏÐÎÏÓÑÊ ÍÎÌÅÐÀ.
CALLPOSIL2;ÏÎÑÛË.
MOVLW0xBE;×ÒÅÍÈÅ ÒÅÌÏÅÐÀÒÓÐÛ ÈÇ ÁËÎÊÍÎÒÀ.
BCFINTCON,7;ÇÀÏÐÅÒ ÏÐÅÐÛÂÀÍÈÉ.
CALL PRIE2;ÍÀ ÏÐÈÅÌ.
MOVFWLSBH;ÏÅÐÅÏÈØÅÌ ÏÐÈÍßÒÛÉ ÁÀÉÒ
MOVWFLSB;Â ÌËÀÄØÈÉ ÐÅÃÈÑÒÐ.
CALLPRIE2;È ÏÐÈÌÅÌ ÑÒÀÐØÈÉ ÁÀÉÒ.
GOTOCXET2;ÍÀ ÏÅÐÅÑ×ÅÒ.
PRIE2
MOVLW.8
MOVWFCOUN;ÇÀÏÈØÅÌ ×ÈÑËÎ ÁÈÒ.
CLRFLSBH;ÎÁÍÓËÈÌ ÐÅÃÈÑÒÐ ÏÐÈÅÌÀ.
PRI2
CALLWUX2;ÂÛÄÀÅÌ ÊÎÐÎÒÊÈÉ ÍÎËÜ È ÆÄÅÌ ÎÒÊËÈÊÀ.
CALLWXO2;ÍÀ ÏÐÈÅÌ.
MOVLW.2;ÇÀÄÅÐÆÊÀ
CALLX4;8 ÌÊÑ.
MOVFWPORTA;ÏÅÐÅÏÈØÅÌ
MOVWFTEMP;ÇÍÀ×ÅÍÈÅ ÏÎÐÒÀ.
BTFSSTEMP,DS2;
BCFSTATUS,0;ÓÑÒÀÍÎÂÈÌ ÁÈÒ ÏÐÈÅÌÀ Â ÍÎËÜ.
BTFSCTEMP,DS2;
BSFSTATUS,0;ÈËÈ ÅÄÈÍÈÖÓ.
RRFLSBH,1;ÇÀÏÈØÅÌ Â ÐÅÃÈÑÒÐ.
MOVLW.12;ÎÁÙÀß ÏÀÓÇÀ 60 ÌÊÑ.
CALLX4;
DECFSZCOUN,1;ÓÌÅÍÜØÈÌ Ñ×ÅÒ×ÈÊ.
GOTOPRI2;ÏÎÂÒÎÐÈÌ ÏÐÈÅÌ.
BSFINTCON,7;ÐÀÇÐÅØÀÅÌ ÏÐÅÐÛÂÀÍÈß.
RETURN;ÂÅÐÍÅÌÑß.
;==========================================
; 13. ÏÎÑÛË ÊÎÌÀÍÄÛ Â DS2.
POSIL2
MOVWFTEMP;ÏÅÐÅÏÈØÅÌ ÂÎ ÂÐÅÌÅÍÍÛÉ.
MOVLW.8;ÇÀÏÈØÅÌ ×ÈÑËÎ ÁÈÒ.
MOVWFCOUN;
POSI2
RRFTEMP,1;ÂÛÒÎËÊÍÅÌ ÌËÀÄØÈÉ ÁÈÒ.
BTFSSSTATUS,0;ÅÑËÈ ÎÍ ÍÓËÅÂÎÉ,
GOTOW0_2;ÏÎØËÅÌ ÈÌÏÓËÜÑ ÍÓËß.
GOTOW1_2;ÈËÈ ÅÄÈÍÈÖÛ.
POS2
DECFSZCOUN,1;ÓÌÅÍÜØÀÅÌ Ñ×ÅÒ×ÈÊ.
GOTOPOSI2;ÍÀ ÑËÅÄÓÞÙÈÉ ÁÈÒ.
RETURN;ÂÎÇÂÐÀÒ.
W0_2
CALLWUX2;ÓÑÒÀÍÎÂÈÌ ÂÛÕÎÄ Â ÍÎËÜ.
MOVLW.15;ÓÄÅÐÆÈÂÀÅÌ 60 ÌÊÑ.
CALL X4;
CALLWXO2;ÍÀ ÂÕÎÄ = 1 ÍÀ ÂÛÕÎÄÅ.
GOTOPOS2;ÏÎÂÒÎÐÈÌ.
W1_2
CALLWUX2;ÊÎÐÎÒÊÈÉ ÍÓËÅÂÎÉ ÈÌÏÓËÜÑ.
;==================================
; 14. ÂÛÄÅËÅÍÈÅ 2.
CXET2
BTFSCFLAG1,6;ÇÀÄÅÐÆÊÀ ÏÐÈ ÂÊËÞ×ÅÍÈÈ ÂÛÏÎËÍÅÍÀ.
GOTO$+3;
BSFFLAG1,6;ÇÀÄÅÐÆÊÀ ÏÐÈ ÂÊËÞ×ÅÍÈÈ.
RETURN;
BCFFLAG1,3;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.
BTFSCLSBH,3;ÅÑËÈ ÈÍÀ×Å,
BSFFLAG1,3;ÒÎ ÓÑÒÀÍÎÂÈÌ ÌÈÍÓÑ.
BTFSSFLAG1,3;ÅÑËÈ ÇÍÀÊ ÏËÞÑ,
GOTO$+7;ÒÎ ÍÅ ÈÍÂÅÐÒÈÐÓÅÌ.
COMFLSB,1;ÏÐÎÈÍÂÅÐÒÈÐÓÅÌ ÌËÀÄØÈÉ
COMFLSBH,1;È ÑÒÀÐØÈÉ ÐÅÃÈÑÒÐÛ ÏÐÈÅÌÀ.
BCFSTATUS,0;
INCFLSB,1;ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.
BTFSCSTATUS,0;ÅÑËÈ ÅÑÒÜ ÏÅÐÅÍÎÑ,
INCFLSBH,1;ÒÎ ÓÂÅËÈ×ÈÌ ÑÒÀÐØÈÉ ÐÅÃÈÑÒÐ.
MOVFWLSB;ÂÛÄÅËÈÌ ÄÅÑßÒÛÅ.
ANDLWB'00001111';ÇÀÌÀÑÊÈÐÓÅÌ.
CALLDESATI;ÏÅÐÅÊÎÄÈÐÓÅÌ Ñ ÎÊÐÓÃËÅÍÈÅÌ.
MOVWFDST2;ÇÀÏÈØÅÌ Â ÐÅÃÈÑÒÐ ÄÅÑßÒÛÕ.
MOVLW.4;ÑÄÂÈÃÎÌ ÂÏÐÀÂÎ ÍÀ 4 ÐÀÇÐßÄÀ
BCFSTATUS,0;ÂÛÄÅËÈÌ ÖÅËÓÞ ×ÀÑÒÜ.
RRFLSBH,1;
RRFLSB,1;
DECFSZCOUN,1;
GOTO$-4;
MOVLW.251;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.
MOVWFSOT2;
BTFSSFLAG1,3;ÅÑËÈ ÈÍÀ×Å,
GOTO$+3;ÒÎ ÓÑÒÀÍÎÂÈÌ
MOVLW.253;ÌÈÍÓÑ.
;======================================================
; 15. ÂÛÁÎÐ ÑÐÀÂÍÅÍÈß ÏÎ ÑÎÕÐÀÍÅÍÍÎÌÓ È ÈÇÌÅÐÅÍÍÎÌÓ ÇÍÀÊÀÌ 2.
MAXZ2
MOVFWSOT2;ÅÑËÈ ÑÎÕÐÀÍÅÍÍÛÉ
SUBWFSOT2X,0;È ÈÇÌÅÐÅÍÍÛÉ ÇÍÀÊÈ ÐÀÂÍÛ,
SKPZ;ÒÎ ÎÏÐÅÄÅËÈÌ ÇÍÀÊ.
GOTO$+5;
BTFSSFLAG1,3;ÅÑËÈ ÇÍÀÊ ÏÎËÎÆÈÒÅËÜÍÛÉ,
GOTOCOPL2X;ÒÎ ÑÐÀÂÍÈÌ ÍÀ ÏÐÅÂÛØÅÍÈÅ.
BTFSCFLAG1,3;ÅÑËÈ ÇÍÀÊ ÎÒÐÈÖÀÒÅËÜÍÛÉ,
GOTOCOMI2X;ÒÎ ÑÐÀÂÍÈÌ ÍÀ ÓÌÅÍÜØÅÍÈÅ.
SKPNC;ÅÑËÈ ÈÇÌÅÐÅÍÍÛÉ ÇÍÀÊ ÌÅÍÜØÅ (+) ÑÎÕÐÀÍÅÍÍÎÃÎ,
GOTOCOXP2X;ÒÎ ÑÎÕÐÀÍÈÌ ÈÇÌÅÐÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ.
MINZ2
SUBWFSOT2N,0;È ÈÇÌÅÐÅÍÍÛÉ ÇÍÀÊÈ ÐÀÂÍÛ,
GOTOCOPL2N;ÒÎ ÑÐÀÂÍÈÌ ÍÀ ÏÐÅÂÛØÅÍÈÅ.
GOTOCOMI2N;ÒÎ ÑÐÀÂÍÈÌ ÍÀ ÓÌÅÍÜØÅÍÈÅ.
SKPC;ÅÑËÈ ÈÇÌÅÐÅÍÍÛÉ ÇÍÀÊ ÁÎËÜØÅ (-) ÑÎÕÐÀÍÅÍÍÎÃÎ,
GOTOCOXP2N;ÒÎ ÑÎÕÐÀÍÈÌ ÈÇÌÅÐÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ.
GOTOBDIN2;ÍÀ ÇÀÏÈÑÜ ÇÍÀ×ÅÍÈÉ Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
;===================================
; 16. ÑÐÀÂÍÅÍÈÅ ÍÀ MAX 2.
COPL2X
MOVFWLSB2X;ÅÑËÈ ÑÎÕÐÀÍÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ
SUBWFLSB,0;ÁÎËÜØÅ ÈÇÌÅÐÅÍÍÎÃÎ,
BTFSSSTATUS,0;ÒÎ ÑÎÕÐÀÍÅÍÈß ÍÅÒ.
GOTOMINZ2;ÏÐÎÂÅÐÈÌ ÍÀ ÌÈÍÈÌÓÌ.
BTFSSSTATUS,2;ÅÑËÈ ÐÀÂÅÍÑÒÂÎ ÖÅËÛÕ,
MOVFWDST2X;ÒÎ ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
SUBWFDST2,0;ÅÑËÈ ÈÇÌÅÐÅÍÍÎÅ ÁÎËÜØÅ
BTFSSSTATUS,0;ÈËÈ ÐÀÂÍÎ ÑÎÕÐÀÍÅÍÍÎÌÓ, ÒÎ ÑÎÕÐÀÍÈÌ.
GOTOMINZ2;ÅÑËÈ ÌÅÍÜØÅ, ÒÎ ÏÐÎÂÅÐÈÌ ÍÀ ÌÈÍÈÌÓÌ.
COXP2X
BTFSSFLAG1,3;-0 ÍÅÒ.
GOTO$+4;
TSTFLSB;
BZMINZ2;
MOVFWSOT2;ÑÎÕÐÀÍÈÌ ÇÍÀÊ.
MOVWFSOT2X;
MOVFWLSB;ÑÎÕÐÀÍÈÌ ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ
MOVWFLSB2X;ÖÅËÛÕ
MOVFWDST2;È ÄÅÑßÒÛÕ.
MOVWFDST2X;
MOVFWMIN;ÑÎÕÐÀÍÈÌ
MOVWFMIN2X;ÌÈÍÓÒÛ
MOVFWHOU;
MOVWFHOU2X;È ×ÀÑÛ.
BTFSCFLAG1,3;ÏÅÐÅÏÈØÅÌ ÇÍÀÊ
BSFFLAG2,3;ÂÎ ÔËÀÃ ÕÐÀÍÅÍÈß.
BTFSSFLAG1,3;
BCFFLAG2,3;
GOTOMINZ2;ÍÀ ÏÐÎÂÅÐÊÓ ÏÎ ÌÈÍÈÌÓÌÓ.
COMI2X
SUBWFLSB,0;ÐÀÂÍÎ ÈÇÌÅÐÅÍÍÎÌÓ,
BTFSCSTATUS,2;
GOTO$+3;ÒÎ ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
BTFSSSTATUS,0;ÅÑËÈ ÁÎËÜØÅ,
GOTOCOXP2X;ÒÎ ÑÎÕÐÀÍÈÌ.
MOVFWDST2X;ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
SUBWFDST2,0;ÅÑËÈ ÑÎÕÐÀÍÅÍÍÎÅ ÌÅÍÜØÅ
BTFSCSTATUS,0;ÈËÈ ÐÀÂÍÎ ÈÇÌÅÐÅÍÍÎÌÓ,
GOTOMINZ2;ÒÎ ÏÐÎÂÅÐÈÌ ÍÀ ÌÈÍÈÌÓÌ.
GOTOCOXP2X;ÈËÈ ÑÎÕÐÀÍÈÌ.
; 17. ÑÐÀÂÍÅÍÈÅ ÍÀ MIN 2.
COPL2N
MOVFWLSB2N;ÅÑËÈ ÑÎÕÐÀÍÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ
GOTOBDIN2;ÏÅÐÅÏÈØÅÌ.
MOVFWDST2N;ÒÎ ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
SUBWFDST2,0;
BTFSSSTATUS,0;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ, ÒÎ ÑÎÕÐÀÍÈÌ.
COXP2N
BZBDIN2;
MOVWFSOT2N;
MOVWFLSB2N;ÖÅËÛÕ
MOVWFDST2N;
MOVWFMIN2N;ÌÈÍÓÒÛ
MOVWFHOU2N;È ×ÀÑÛ.
BSFFLAG2,4;ÂÎ ÔËÀÃ ÕÐÀÍÅÍÈß.
BCFFLAG2,4;
COMI2N
SUBWFLSB,0;ÌÅÍÜØÅ ÈÇÌÅÐÅÍÍÎÃÎ,
GOTOCOXP2N;ÈÍÀ×Å ÑÎÕÐÀÍÈÌ.
MOVFWDST2N;ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
SUBWFDST2,0;ÅÑËÈ ÌÅÍÜØÅ
BTFSCSTATUS,0;ÈËÈ ÐÀÂÍÎ,
GOTOBDIN2;
GOTOCOXP2N;ÒÎ ÑÎÕÐÀÍÈÌ.
; 18. ÇÀÄÅÐÆÊÀ ÌÊÑ, ÓÌÍÎÆÅÍÍÀß ÍÀ 4.
X4
ADDLW-1;
;=========================================
; 19. ÈÍÈÖÈÀËÈÇÀÖÈß DS1.
INIDS1
CALLHYL1;ÏÎÑÛË ÈÌÏÓËÜÑÀ ÎÁÍÓËÅÍÈß.
CALLPOSIL1;ÏÎØËÅÌ.
MOVLW0x4E;ÐÀÇÐÅØÀÅÌ ÇÀÏÈÑÜ ÓÑÒÀÍÎÂÊÈ 0,1 ÃÐÀÄÓÑÀ.
MOVLW0x7D;ÂÅÐÕÍÈÉ ÏÐÅÄÅË +125. ÌÎÆÍÎ ÏÎÑÒÀÂÈÒÜ ËÞÁÎÅ ÇÍÀ×ÅÍÈÅ.
MOVLW0x77;ÍÈÆÍÈÉ ÏÐÅÄÅË -55. ËÞÁÎÉ.
MOVLW0x7F;ÊÎÍÔÈÃÓÐÀÖÈß 11 = 0,1 ÃÐÀÄÓÑ.
SPLU1
PLUS1
GOTO PLUS1
GOTOSPLU1
GOTOPRIEM1;ÍÀ ÏÐÈÅÌ ÒÅÌÏÅÐÀÒÓÐÛ.
HYL1
CALLWUX1;ÂÛÕÎÄ ÍÓËß.
CALLWXO1;ÂÛÕÎÄ ÅÄÈÍÈÖÛ.
; 20. ÈÇÌÅÍÅÍÈÅ ÂÕÎÄÀ ÍÀ ÏÐÈÅÌ/ÏÅÐÅÄÀ×Ó.
WUX1
BCFPORTA,DS1;
BCFTRISA^80H,DS1;ÍÀ ÂÛÕÎÄ.
WXO1
BSFTRISA^80H,DS1;ÍÀ ÂÕÎÄ.
; 21. ÏÐÈÅÌ 16 ÁÈÒ ÎÒ DS1.
PRIEM1
CALLPOSIL1;ÏÎÑÛË.
CALL PRIE1;ÍÀ ÏÐÈÅÌ.
Ñòðàíèöû: 1, 2, 3, 4, 5, 6, 7, 8, 9