BCFINTCON,7;ÇÀÏÐÅÒ ÏÐÅÐÛÂÀÍÈÉ.
CALLPRIE1;È ÏÐÈÌÅÌ ÑÒÀÐØÈÉ ÁÀÉÒ.
GOTOCXET1;ÍÀ ÏÅÐÅÑ×ÅÒ.
PRIE1
MOVLW.8
MOVWFCOUN;ÇÀÏÈØÅÌ ×ÈÑËÎ ÁÈÒ.
CLRFLSBH;ÎÁÍÓËÈÌ ÐÅÃÈÑÒÐ ÏÐÈÅÌÀ.
PRI1
CALLWUX1;ÂÛÄÀÅÌ ÊÎÐÎÒÊÈÉ ÍÎËÜ È ÆÄÅÌ ÎÒÊËÈÊÀ.
CALLWXO1;ÍÀ ÏÐÈÅÌ.
MOVLW.2;ÇÀÄÅÐÆÊÀ
CALLX4;8 ÌÊÑ.
MOVFWPORTA;ÏÅÐÅÏÈØÅÌ
MOVWFTEMP;ÇÍÀ×ÅÍÈÅ ÏÎÐÒÀ.
BTFSSTEMP,DS1;
BCFSTATUS,0;ÓÑÒÀÍÎÂÈÌ ÁÈÒ ÏÐÈÅÌÀ Â ÍÎËÜ.
BTFSCTEMP,DS1;
BSFSTATUS,0;ÈËÈ ÅÄÈÍÈÖÓ.
RRFLSBH,1;ÇÀÏÈØÅÌ Â ÐÅÃÈÑÒÐ.
MOVLW.12;ÎÁÙÀß ÏÀÓÇÀ 60 ÌÊÑ.
CALLX4;
DECFSZCOUN,1;ÓÌÅÍÜØÈÌ Ñ×ÅÒ×ÈÊ.
GOTOPRI1;ÏÎÂÒÎÐÈÌ ÏÐÈÅÌ.
BSFINTCON,7;ÐÀÇÐÅØÀÅÌ ÏÐÅÐÛÂÀÍÈß.
RETURN;ÂÅÐÍÅÌÑß.
;==========================================
; 22. ÏÎÑÛË ÊÎÌÀÍÄÛ Â DS1.
POSIL1
MOVWFTEMP;ÏÅÐÅÏÈØÅÌ ÂÎ ÂÐÅÌÅÍÍÛÉ.
MOVLW.8;ÇÀÏÈØÅÌ ×ÈÑËÎ ÁÈÒ.
MOVWFCOUN;
POSI1
RRFTEMP,1;ÂÛÒÎËÊÍÅÌ ÌËÀÄØÈÉ ÁÈÒ.
BTFSSSTATUS,0;ÅÑËÈ ÎÍ ÍÓËÅÂÎÉ,
GOTOW0_1;ÏÎØËÅÌ ÈÌÏÓËÜÑ ÍÓËß.
GOTOW1_1;ÈËÈ ÅÄÈÍÈÖÛ.
POS1
DECFSZCOUN,1;ÓÌÅÍÜØÀÅÌ Ñ×ÅÒ×ÈÊ.
GOTOPOSI1;ÍÀ ÑËÅÄÓÞÙÈÉ ÁÈÒ.
RETURN;ÂÎÇÂÐÀÒ.
W0_1
CALLWUX1;ÓÑÒÀÍÎÂÈÌ ÂÛÕÎÄ Â ÍÎËÜ.
MOVLW.15;ÓÄÅÐÆÈÂÀÅÌ 60 ÌÊÑ.
CALL X4;
CALLWXO1;ÍÀ ÂÕÎÄ = 1 ÍÀ ÂÛÕÎÄÅ.
GOTOPOS1;ÏÎÂÒÎÐÈÌ.
W1_1
CALLWUX1;ÊÎÐÎÒÊÈÉ ÍÓËÅÂÎÉ ÈÌÏÓËÜÑ.
;==================================
; 23. ÂÛÄÅËÅÍÈÅ 1.
CXET1
BTFSCFLAG1,4;ÍÀ×ÀËÜÍÀß ÏÀÓÇÀ.
GOTO$+3;
BSFFLAG1,4;
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;ÏÅÐÅÊÎÄÈÐÓÅÌ Ñ ÎÊÐÓÃËÅÍÈÅÌ.
MOVWFDST1;ÇÀÏÈØÅÌ Â ÐÅÃÈÑÒÐ ÄÅÑßÒÛÕ.
MOVLW.4;ÑÄÂÈÃÎÌ ÂÏÐÀÂÎ ÍÀ 4 ÐÀÇÐßÄÀ
BCFSTATUS,0;ÂÛÄÅËÈÌ ÖÅËÓÞ ×ÀÑÒÜ.
RRFLSBH,1;
RRFLSB,1;
DECFSZCOUN,1;
GOTO$-4;
MOVLW.251;ÏÎ ÓÌÎË×ÀÍÈÞ ÇÍÀÊ ÏËÞÑ.
MOVWFSOT1;
BTFSSFLAG1,3;ÅÑËÈ ÈÍÀ×Å,
GOTO$+3;ÒÎ ÓÑÒÀÍÎÂÈÌ
MOVLW.253;ÌÈÍÓÑ.
;======================================================
; 24. ÂÛÁÎÐ ÑÐÀÂÍÅÍÈß ÏÎ ÑÎÕÐÀÍÅÍÍÎÌÓ È ÈÇÌÅÐÅÍÍÎÌÓ ÇÍÀÊÀÌ 1.
MAXZ
MOVFWSOT1;ÅÑËÈ ÇÍÀÊÈ ÐÀÂÍÛ,
SUBWFSOT1X,0;
SKPZ;ÒÎ ÎÏÐÅÄÅËÈÌ ÇÍÀÊ.
GOTO$+5;
GOTOCOPL1X;ÒÎ ÏÐÎÂÅÐßÅÌ ÍÀ ÏÐÅÂÛØÅÍÈÅ.
BTFSCFLAG1,3;ÅÑËÈ ÇÍÀÊ ÌÈÍÓÑ,
GOTOCOMI1X;ÒÎ ÏÐÎÂÅÐßÅÌ ÍÀ ÓÌÅÍÜØÅÍÈÅ.
SKPNC;ÅÑËÈ ÈÇÌÅÐÅÍÍÛÉ ÇÍÀÊ ÌÅÍÜØÅ (+) ÑÎÕÐÀÍÅÍÍÎÃÎ,
GOTOCOXPX;ÒÎ ÑÎÕÐÀÍÈÌ ÈÇÌÅÐÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ.
MINZ
SUBWFSOT1N,0;
GOTOCOPL1N;ÒÎ ÑÐÀÂÍÈÂÀÅÌ ÍÀ ÏÐÅÂÛØÅÍÈÅ.
GOTOCOMI1N;ÒÎ ÑÐÀÂÍÈÂÀÅÌ ÍÀ ÓÌÅÍÜØÅÍÈÅ.
SKPC;ÅÑËÈ ÈÇÌÅÐÅÍÍÛÉ ÇÍÀÊ ÁÎËÜØÅ (-) ÑÎÕÐÀÍÅÍÍÎÃÎ,
GOTOCOXPN;ÒÎ ÑÎÕÐÀÍÈÌ ÈÇÌÅÐÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ.
GOTOBDIN1;ÍÀ ÏÅÐÅÊÎÄÈÐÎÂÊÓ.
;===================================
; 25. ÑÐÀÂÍÅÍÈÅ ÍÀ MAX 1.
COPL1X
MOVFWLSB1X;ÅÑËÈ ÑÎÕÐÀÍÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ
SUBWFLSB,0;ÁÎËÜØÅ ÈÇÌÅÐÅÍÍÎÃÎ,
BTFSSSTATUS,0;ÒÎ ÑÎÕÐÀÍÅÍÈß ÍÅÒ.
GOTOMINZ;.
BTFSSSTATUS,2;ÅÑËÈ ÐÀÂÅÍÑÒÂÎ ÖÅËÛÕ,
MOVFWDST1X;ÒÎ ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
SUBWFDST1,0;ÅÑËÈ ÁÎËÜØÅ
BTFSSSTATUS,0;ÈËÈ ÐÀÂÍÎ, ÒÎ ÑÎÕÐÀÍÈÌ.
GOTOMINZ;ÈÍÀ×Å ÏÐÎÂÅÐÈÌ ÍÀ ÌÈÍÈÌÓÌ.
COXPX
BTFSSFLAG1,3;-0 ÍÅÒ.
GOTO$+4;
TSTFLSB;
BZMINZ;
MOVFWSOT1;ÑÎÕÐÀÍÈÌ ÌÀÊÑÈÌÀËÜÍÎÅ ÇÍÀ×ÅÍÈÅ.
MOVWFSOT1X;ÇÍÀÊ.
MOVFWLSB;ÑÎÕÐÀÍÈÌ ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ
MOVWFLSB1X;ÖÅËÛÕ
MOVFWDST1;È ÄÅÑßÒÛÕ.
MOVWFDST1X;
MOVFWMIN;
MOVWFMIN1X;ÌÈÍÓÒÛ.
MOVFWHOU;
MOVWFHOU1X;×ÀÑÛ.
BTFSCFLAG1,3;ÏÅÐÅÏÈØÅÌ ÔËÀÃ ÇÍÀÊÀ
BSFFLAG,0;Â ÔËÀÃ ÕÐÀÍÅÍÈß.
BTFSSFLAG1,3;
BCFFLAG,0;
GOTOMINZ;ÍÀ ÏÐÎÂÅÐÊÓ ÏÎ ÌÈÍÈÌÓÌÓ.
COMI1X
SUBWFLSB,0;ÌÅÍÜØÅ ÈÇÌÅÐÅÍÍÎÃÎ,
BTFSCSTATUS,2;ÒÎ ÑÎÕÐÀÍÅÍÈß ÍÅÒ.
BTFSSSTATUS,0;ÅÑËÈ ÐÀÂÅÍÑÒÂÎ ÖÅËÛÕ,
GOTOCOXPX;
SUBWFDST1,0;ÅÑËÈ ÌÅÍÜØÅ
BTFSCSTATUS,0;ÈËÈ ÐÀÂÍÎ,
GOTOMINZ;ÑÐÀÂÍÈÌ ÏÎ ÌÈÍÈÌÓÌÓ.
GOTOCOXPX;ÈÍÀ×Å ÑÎÕÐÀÍÈÌ.
; 26. ÑÐÀÂÍÅÍÈÅ ÍÀ MIN 1.
COPL1N
MOVFWLSB1N;ÅÑËÈ ÑÎÕÐÀÍÅÍÍÎÅ ÇÍÀ×ÅÍÈÅ
GOTOBDIN1;ÏÅÐÅÏÈØÅÌ.
MOVFWDST1N;ÒÎ ÏÐÎÂÅÐÈÌ ÄÅÑßÒÛÅ.
SUBWFDST1,0;ÅÑËÈ ÈÇÌÅÐÅÍÍÎÅ ÌÅÍÜØÅ
BTFSSSTATUS,0;ÈËÈ ÐÀÂÍÎ ÑÎÕÐÀÍÅÍÍÎÌÓ, ÒÎ ÑÎÕÐÀÍÈÌ.
COXPN
BZBDIN1;
MOVFWSOT1;ÑÎÕÐÀÍÅÍÈÅ ÌÈÍÈÌÀËÜÍÎÃÎ.
MOVWFSOT1N;ÇÍÀÊ.
MOVWFLSB1N;ÖÅËÛÕ
MOVWFDST1N;
MOVWFMIN1N;ÌÈÍÓÒÛ.
MOVWFHOU1N;×ÀÑÛ.
BSFFLAG,1;Â ÔËÀÃ ÕÐÀÍÅÍÈß.
BCFFLAG,1;
COMI1N
BTFSCSTATUS,2;
GOTO$+3;ÒÎ ÑÎÕÐÀÍÅÍÈß ÍÅÒ.
GOTOCOXPN;
GOTOBDIN1;
GOTOCOXPN;ÒÎ ÑÎÕÐÀÍÈÌ.
;=======================================
; 27. ÏÅÐÅÊÎÄÈÐÎÂÊÀ 1 ÈÇ 2-ÃÎ Â 2_10.
BDIN1
CALLPERZAP;ÏÅÐÅÏÈØÅÌ ÒÅÊÓÙÈÅ ÇÍÀ×ÅÍÈß.
MOVFWLSB;ÏÅÐÅÊÎÄÈÐÓÅÌ
GOTOBZT1;
BDIN2
GOTOBZT2;
PERZAP
MOVFWHOU1X;ÒÅÊÓÙÈÅ ÇÍÀ×ÅÍÈß
MOVWFHOUZ1X;Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MOVFWMIN1X
MOVWFMINZ1X
MOVFWHOU1N
MOVWFHOUZ1N
MOVFWMIN1N
MOVWFMINZ1N
MOVFWHOU2X
MOVWFHOUZ2X
MOVFWMIN2X
MOVWFMINZ2X
MOVFWHOU2N
MOVWFHOUZ2N
MOVFWMIN2N
MOVWFMINZ2N
MOVFWLSB1X
MOVWFLSBZ1X
MOVFWDST1X
MOVWFDSTZ1X
MOVFWLSB1N
MOVWFLSBZ1N
MOVFWDST1N
MOVWFDSTZ1N
MOVFWLSB2X
MOVWFLSBZ2X
MOVFWDST2X
MOVWFDSTZ2X
MOVFWLSB2N
MOVWFLSBZ2N
MOVFWDST2N
MOVWFDSTZ2N
RETURN
BDINZ1
BTFSCFLAG1,1;ÅÑËÈ ÈÍÄÈÊÀÖÈß 2 ÄÀÒ×ÈÊÀ,
GOTOBDINZ2;ÒÎ ÈÄÅÌ ÍÀ 2 ÄÀÒ×ÈÊ.
MOVFWLSBZ1X;ÏÎ ÌÀÊÑÈÌÓÌÓ - 1 ÑÒÐÎÊÀ 1 ÄÀÒ×ÈÊÀ.
CALLBZT1;
MOVFWDSTZ1X;
MOVWFDST1;
MOVFWLSBZ1N;ÏÎ ÌÈÍÈÌÓÌÓ - 2 ÑÒÐÎÊÀ 1 ÄÀÒ×ÈÊÀ.
CALLBZT2;
MOVFWDSTZ1N;
MOVWFDST2;
MOVFWHOUZ1X;×ÀÑÛ ÌÀÊÑÈÌÓÌÀ 1.
CALLHZ67;
MOVFWMINZ1X;ÌÈÍÓÒÛ ÌÀÊÑÈÌÓÌÀ 1.
CALLMZ910;
MOVFWSOT1X;ÇÍÀÊ.
MOVWFR12;
BDIN12
BTFSCFLAG1,1;ÅÑËÈ ÈÍÄÈÊÀÖÈß 2 ÑÒÐÎÊÈ,
GOTOBDIN22;ÒÎ ÈÄÅÌ ÍÀ 2 ÑÒÐÎÊÓ.
MOVFWHOUZ1N;ÏÅÐÅÇÀÏÈÑÜ 1 ÄÀÒ×ÈÊÀ 2 ÑÒÐÎÊÈ.
CALLHZ67;×ÀÑÛ ÌÈÍÈÌÓÌÀ 1.
MOVFWMINZ1N;ÌÈÍÓÒÛ ÌÈÍÈÌÓÌÀ 1.
MOVFWSOT1N;ÇÍÀÊ.
BDIN22
MOVFWHOUZ2N;ÏÅÐÅÇÀÏÈÑÜ 2 ÄÀÒ×ÈÊÀ 2 ÑÒÐÎÊÈ.
CALLHZ67;×ÀÑÛ ÌÈÍÈÌÓÌÀ 2.
MOVFWMINZ2N;ÌÈÍÓÒÛ ÌÈÍÈÌÓÌÀ 2.
MOVFWSOT2N;ÇÍÀÊ.
BDINZ2
MOVFWLSBZ2X;ÏÎÄÃÎÒÎÂÊÀ Ê ÈÍÄÈÊÀÖÈÈ 2 ÄÀÒ×ÈÊÀ.
CALLBZT1;ÏÎ ÌÀÊÑÈÌÓÌÓ - 1 ÑÒÐÎÊÀ.
MOVFWDSTZ2X;
MOVFWLSBZ2N;
CALLBZT2;ÏÎ ÌÈÍÈÌÓÌÓ - 2 ÑÒÐÎÊÀ
MOVFWDSTZ2N;
MOVFWHOUZ2X;×ÀÑÛ ÌÀÊÑÈÌÓÌÀ 2.
MOVFWMINZ2X;ÌÈÍÓÒÛ ÌÀÊÑÈÌÓÌÀ 2.
MOVFWSOT2X;ÇÍÀÊ.
RETURN;ÏÐÎÂÅÐÈÌ ÊÍÎÏÊÓ.
BZT1
MOVWFTEMP;ÈÇ 2-ÃÎ Â 2_10-Å.
CALLBIDE;ÒÎËÜÊÎ ÄÎ 99!
MOVWFDES1;ÒÅÌÏÅÐÀÒÓÐÀ Â ÏÅÐÂÎÉ ÑÒÐÎÊÅ.
MOVFWTEMP;
MOVWFEDI1;
BZT2
MOVWFDES2;ÒÅÌÏÅÐÀÒÓÐÀ ÂÎ ÂÒÎÐÎÉ ÑÒÐÎÊÅ.
MOVWFEDI2;
HZ67
MOVWFR6;6 È 7 ÐÀÇÐßÄÛ ÈÍÄÈÊÀÒÎÐÀ.
MOVFWTEMP;×ÀÑÛ.
MOVWFR7;
MZ910
MOVWFR9;9 È 10 ÐÀÇÐßÄÛ ÈÍÄÈÊÀÒÎÐÀ.
MOVFWTEMP;ÌÈÍÓÒÛ.
MOVWFR10;
;======================
; 28. ÈÍÈÖÈÀËÈÇÀÖÈß ÌÊ.
INIT
BCFSTATUS,6;
BSFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 1.
MOVLWB'00000011';ÏÐÅÄÄÅËÈÒÅËÜ ÏÅÐÅÄ ÒÀÉÌÅÐÎÌ, Ê=16 ...11,
MOVWFOPTION_REG^80H;ÏÎÄÒßÃÈÂÀÞÙÈÅ ÐÅÇÈÑÒÎÐÛ ÂÊËÞ×ÅÍÛ.
MOVLWB'10100000';ÐÀÇÐÅØÅÍÈÅ ÏÐÅÐÛÂÀÍÈß ÏÐÈ ÏÅÐÅÏÎËÍÅÍÈÈ ÒÀÉÌÅÐÀ.
MOVWFINTCON;
MOVLWB'00100000';RA5 - ÍÀ ÂÕÎÄ.
MOVWFTRISA^80H
MOVLWB'00000011';RB0, RB1 - ÍÀ ÂÕÎÄ.
MOVWFTRISB^80H
CLRFVRCON^80H;ÈÎÍ ÂÛÊËÞ×ÅÍ.
CLRFPIE1^80H;
BCFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 0.
CLRFPORTA;ÂÑÅ ÎÁÍÓËßÅÌ È ÓÑÒÀÍÀÂËÈÂÀÅÌ
CLRFPORTB
CLRFT1CON;
CLRFT2CON;
MOVLW7
MOVWFCMCON;ÊÎÌÏÀÐÀÒÎÐÛ ÂÛÊËÞ×ÅÍÛ.
CLRFTMR0
CLRFFLAG
CLRFFLAG1
CLRFFLAG2
BSFFLAG2,0;ÈÍÄÈÊÀÖÈß ÒÅÊÓÙÀß,
CLRFCEK
CLRFMIN
CLRFHOU
CLRFHOUL
CLRFHOUH
CLRFMINL
CLRFMINH
CLRFREID
CLRFKYPC
CLRFCOUN
CLRFCOUZ
CLRFCOUE
CLRFCOYC
CLRFMCK;ÌÈËËÈÑÅÊÓÍÄ.
CLRFEDI2;ÅÄÈÍÈÖÛ 2.
CLRFDES2;ÄÅÑßÒÊÈ 2.
Ñòðàíèöû: 1, 2, 3, 4, 5, 6, 7, 8, 9