Ðàçäåëû ñàéòà

Ïîäïðîãðàììà äâîè÷íî-äåñÿòè÷íîé êîððåêöèè

2

Äàííàÿ ïîäïðîãðàììà îñóùåñòâëÿåò îïðîñ ñîñòîÿíèÿ êíîïîê «+1» è «-1» ÷åðåç ïðîìåæóòêè âðåìåíè, îïðåäåëÿåìûå òàéìåðîì TMR2. Åñëè íàæàòà è óäåðæèâàåòñÿ îäíà èç êíîïîê «+1» è «-1», ïðîèñõîäèò èíêðåìåíòèðîâàíèå èëè äåêðåìåíòèðîâàíèå ñîîòâåòñòâóþùèõ ðåãèñòðîâ ñ ÷àñòîòîé ïðåðûâàíèé îò òàéìåðà TMR2. Ïðè êðàòêîâðåìåííîì íàæàòèè ïðîèñõîäèò îäíîêðàòíîå èçìåíåíèå çíà÷åíèé ðåãèñòðîâ.

Åñëè íè îäíà èç êíîïîê «+1» è «-1» íå íàæàòà, òî òàéìåð TMR2 âûêëþ÷àåòñÿ.

Ëèñòèíã ïîäïðîãðàììû ïðèâåäåí íèæå.

;-_TMR2 ; ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈÉ ÎÒ TMR2 PIR1, TMR2IF ; ÑÁÐÎÑÈÒÜ ÔËÀà ÏÐÅÐÛÂÀÍÈß ÎÒ ÒÀÉÌÅÐÀ TMR2

BCF STATUS, Z COUNTER, W COUNT STATUS, Z ; Ñ×ÅÒ×ÈÊ ÇÀÊÎÍ×ÈË Ñ×ÅÒ

GOTO DOWN_BUTT ; ÄÀ - ÏÅÐÅÕÎÄ Ê ÏÐÎÂÅÐÊÅ ÑÎÑÒÎßÍÈÉ ÊÍÎÏÎÊ COUNTER, F ; ÍÅÒ - ÈÍÊÐÅÌÅÍÒÈÐÎÂÀÍÈÅ Ñ×ÅÒ×ÈÊÀ INT_SOURCE ; ÂÅÐÍÓÒÜÑß Ê ÏÎÈÑÊÓ ÈÑÒÎ×ÍÈÊΠÏÐÅÐÛÂÀÍÈÉ

_BUTT ; ÏÐÎÂÅÐÊÀ ÑÎÑÒÎßÍÈÉ ÊÍÎÏÎÊ

; - FLAG_R, 0 ; ÐÅÆÈÌ ÓÑÒÀÍÎÂÊÈ ÒÅÌÏÅÐÀÒÓÐÛ ÂÊËÞ×ÅÍ START_TIME ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÓÑÒÀÍÎÂÊÅ ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß

PORTB, 6 ; ÍÀÆÀÒÀ ÊÍÎÏÊÀ «+1» M6 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÏÐÎÂÅÐÊÅ ÍÀÆÀÒÈß ÊÍÎÏÊÈ «- 1» MAX_TL ; ÈÍÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÐÅÃÈÑÒÐ MAX_TL

MOVF MAX_TH, W MAX_TH MAX_TH, F MAX_TH, F ; ÏÐÈÁÀÂÈÒÜ Ê ÐÅÃÈÑÒÐÓ MAX_TH ÔËÀÃ ÏÅÐÅÍÎÑÀ

STATUS, Z MAX_TL, W TEMP_MAXL ; ÇÍÀ×ÅÍÈÅ Â MAX_TL ÄÎÑÒÈÃËÎ TEMP_MAXL

BTFSS STATUS, Z M6 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÏÐÎÂÅÐÊÅ ÍÀÆÀÒÈß ÊÍÎÏÊÈ «- 1»

BCF STATUS, Z MAX_TH, W TEMP_MAXH ; ÇÍÀ×ÅÍÈÅ Â MAX_TH ÄÎÑÒÈÃËÎ TEMP_MAXH

BTFSS STATUS, Z M6 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÏÐÎÂÅÐÊÅ ÍÀÆÀÒÈß ÊÍÎÏÊÈ «- 1» STATUS, Z MAX_TH ; ÄÀ - ÎÁÍÓËÈÒÜ ÐÅÃÈÑÒÐÛ MAX_TH È MAX_TL

CLRF MAX_TL CALL_BIN_DEC PORTB, 7 ; ÍÀÆÀÒÀ ÊÍÎÏÊÀ «- 1»

GOTO STOP_TMR2 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÎÑÒÀÍÎÂÊÅ TMR2 MAX_TL ; ÄÅÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÐÅÃÈÑÒÐ MAX_TL STATUS, C ; ÅÑËÈ ÁÛË ÇÀÅÌ MAX_TH, W ; ÄÅÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÐÅÃÈÑÒÐ MAX_TH

BCF STATUS, C

STATUS, Z

MOVF MAX_TL, F ; ÇÍÀ×ÅÍÈÅ Â MAX_TL ÄÎÑÒÈÃËÎ 0 STATUS, Z STOP_TMR2 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÎÑÒÀÍÎÂÊÅ TMR2 STATUS, Z MAX_TH, F ; ÇÍÀ×ÅÍÈÅ Â MAX_TH ÄÎÑÒÈÃËÎ 0 STATUS, Z STOP_TMR2 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÎÑÒÀÍÎÂÊÅ TMR2

BCF STATUS, Z TEMP_MAXL MAX_TL TEMP_MAXH MAX_TH

_BIN_DEC MAX_TL, W TEMP_TL MAX_TH, W TEMP_TH

CALL BIN_DEC ; ÂÛÇΠÏÎÄÏÐÎÃÐÀÌÌÛ ÄÂÎÈ×ÍÎ-ÄÅÑßÒÈ×ÍÎÉ ÊÎÐÐÅÊÖÈÈ_TMR2 T2CON, TMR2ON; ÎÑÒÀÍÎÂÊÀ ÒÀÉÌÅÐÀ TMR2 INT_SOURCE ; ÂÅÐÍÓÒÜÑß Ê ÏÎÈÑÊÓ ÈÑÒÎ×ÍÈÊΠÏÐÅÐÛÂÀÍÈÉ

;-_TIME ; ÓÑÒÀÍÎÂÊÀ ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß FLAG_R, 1 ; ÐÅÆÈÌ ÓÑÒÀÍÎÂÊÈ ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß ÂÊËÞ×ÅÍ STOP_TIME ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÓÑÒÀÍÎÂÊÅ ÂÐÅÌÅÍÈ ÂÛÊËÞ×ÅÍÈß

FLAG_R, 5 ; ÐÅÆÈÌ ÓÑÒÀÍÎÂÊÈ ÌÈÍÓÒ ÂÊËÞ×ÅÍ SET_HOUR ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÓÑÒÀÍÎÂÊÅ ×ÀÑÎÂ

PORTB, 6 ; ÍÀÆÀÒÀ ÊÍÎÏÊÀ «+1» M7 ; ÍÅÒ - ÏÅÐÅÕÎÄ Ê ÏÐÎÂÅÐÊÅ ÍÀÆÀÒÈß ÊÍÎÏÊÈ «- 1»

;-

; Ñ×ÅÒ×ÈÊ ÅÄÈÍÈÖ ÌÈÍÓÒ START_ML, F ; ÈÍÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÌËÀÄØÈÉ Ñ×ÅÒ×ÈÊ ÌÈÍÓÒ STATUS, Z START_ML, W ; Ñ×ÅÒ×ÈÊ ÄÎÑ×ÈÒÀË ÄÎ 10 0x0A STATUS, Z SET_REG_LCD ; ÍÅÒ - ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÓÏÐÀÂËÅÍÈß ÂÛÂÎÄÎÌ

; ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß ÍÀ ÈÍÄÈÊÀÖÈÞ START_ML ; ÄÀ - Î×ÈÑÒÈÒÜ ÌËÀÄØÈÉ Ñ×ÅÒ×ÈÊ ÌÈÍÓÒ

;-

; Ñ×ÅÒ×ÈÊ ÄÅÑßÒÊΠÌÈÍÓÒ START_MH, F ; ÈÍÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÑÒÀÐØÈÉ Ñ×ÅÒ×ÈÊ ÌÈÍÓÒ STATUS, Z START_MH, W ; Ñ×ÅÒ×ÈÊ ÄÎÑ×ÈÒÀË ÄÎ 6

XORLW 0x06 STATUS, Z

GOTO SET_REG_LCD ; ÍÅÒ - ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÓÏÐÀÂËÅÍÈß ÂÛÂÎÄÎÌ

; ÒÅÊÓÙÅÃÎ ÂÐÅÌÅÍÈ ÍÀ ÈÍÄÈÊÀÖÈÞ START_MH ; ÄÀ - Î×ÈÑÒÈÒÜ ÑÒÀÐØÈÉ Ñ×ÅÒ×ÈÊ ÌÈÍÓÒ SET_REG_LCD ; ÍÅÒ - ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÓÏÐÀÂËÅÍÈß ÂÛÂÎÄÎÌ

; ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß ÍÀ ÈÍÄÈÊÀÖÈÞ

;-

PORTB, 7 ; ÍÀÆÀÒÀ ÊÍÎÏÊÀ «- 1» STOP_TMR2_2 ; ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÎÑÒÀÍÎÂÊÈ ÒÀÉÌÅÐÀ TMR2

;-

; Ñ×ÅÒ×ÈÊ ÅÄÈÍÈÖ ÌÈÍÓÒ STATUS, C START_ML, F ; ÄÅÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÌËÀÄØÈÉ Ñ×ÅÒ×ÈÊ ÌÈÍÓÒ STATUS, C ; ÏÐÎÈÇÎØÅË ÇÀÅÌ SET_REG_LCD ; ÍÅÒ - ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÓÏÐÀÂËÅÍÈß ÂÛÂÎÄÎÌ

; ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß ÍÀ ÈÍÄÈÊÀÖÈÞ STATUS, C 0x09 ; ÄÀ - ÇÀÃÐÓÇÊÀ ÍÀ×ÀËÜÍÎÃÎ ÇÍÀ×ÅÍÈß START_ML

;-

; Ñ×ÅÒ×ÈÊ ÄÅÑßÒÊΠÌÈÍÓÒ START_MH, F ; ÄÅÊÐÅÌÅÍÒÈÐÎÂÀÒÜ ÑÒÀÐØÈÉ Ñ×ÅÒ×ÈÊ ÌÈÍÓÒ STATUS, C ; ÏÐÎÈÇÎØÅË ÇÀÅÌ SET_REG_LCD ; ÍÅÒ - ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÓÏÐÀÂËÅÍÈß ÂÛÂÎÄÎÌ

; ÂÐÅÌÅÍÈ ÂÊËÞ×ÅÍÈß ÍÀ ÈÍÄÈÊÀÖÈÞ STATUS, C 0x05 ; ÄÀ - ÇÀÏÈÑÀÒÜ ÍÀ×ÀËÜÍÎÅ ÇÍÀ×ÅÍÈÅ START_MH SET_REG_LCD ; ÍÅÒ - ÏÅÐÅÕÎÄ ÍÀ ÏÎÄÏÐÎÃÐÀÌÌÓ ÓÏÐÀÂËÅÍÈß ÂÛÂÎÄÎÌ

Ïåðåéòè íà ñòðàíèöó: 1 2 3 4 5 6 7 8

Ñàìîå ÷èòàåìîå:

Àëãîðèòì ïîèñêà íåèñïðàâíîñòè è ñïîñîá íàñòðîéêè è ðåãóëèðîâêè èìïóëüñíîãî èñòî÷íèêà ïèòàíèÿ
Èñòî÷íèêàìè ïèòàíèÿ íàçûâàþò óñòðîéñòâà, ïðåäíàçíà÷åííûå äëÿ ñíàáæåíèÿ ýëåêòðîííîé àïïàðàòóðû ýëåêòðè÷åñêîé ýíåðãèåé è ïðåäñòàâëÿþùèå ñîáîé êîìïëåêñ ïðèáîðîâ è àïïàðàòîâ, êîòîðûå âûðàáàòûâàþò ýëåêòðè÷åñêóþ ýíåðãèþ è ïðåîáðàçóþò å¸ ê âèäó, íåîáõîäèìîìó äëÿ íîðìàëüíîé ðàáîòû êàæäîãî óçëà ýëåêòðîííîé àïïàðàòóðû.  íàñòîÿùåå âðåìÿ ñ ...

www.techstages.ru : Âñå ïðàâà çàùèùåíû! 2024