Читайте также:
|
|
Жобалауға тапсырма. №3 зертханалық жұмыстағы бояу камерасының жұмысын ала отырып, TMR1 таймерін қолданатын ішкі программа құрыңыз. Қосымша боялған детальдар санын санау қажет.
Камераның жұмысының уақыттық диаграммасы 3.2 суретте көрсетілген.
9.1 және 9.2 суреттер бойынша бояу камерасын жұмысын автоматтандыру алгоритмінің блок-сұлбасын жасаңыз. Программа фрагменттерімен таңысыңыздар. Соның негізінде өз нұсқаңыз үшін программа құрыңыз.
9.1 сурет - Программа блок-сұлбасы 9.2 сурет - Timer2 і/п блок-сұлбасы
Л9 программасының фрагменттері.
Include <p16F877.inc>; символдар кітапханасын қосамыз.
T_reg EQU h'20'; кешігу уақытын аынқтайтын регистр.
Kol_det EQU h'21'; боялған детальдар санын көрсететін регистр.
; МБ реттеулері көрсетілмеген.
; TMR1 таймерінің реттеулері
BSF STATUS, 5
CLRF TRISC
CLRF PIE1; перифериялық үзулерге тыйым саламыз.
BCF STATUS, 5
CLRF T1CON; TMR1-ді күту режиіне орнату, TMR1-ді ішкі
;генератордан тактілеу, жиілік бөлгіштің мәні 1:1.
CLRF TMR1H; TMR1 үлкен регистр-санағышын тазартамыз.
CLRF TMR1L; TMR1 кіші регистр-санағышын тазартамыз.
CLRF INTCON; TMR1арқылы үзуге тыйым саламыз.
MOVLW b'00110000'; ішкі генератордан тактілеу.
MOVWF T1CON; жиілік бөлгіштің мәнін 1:8 орнатамыз.
;№3 зертханалық жұмыстың жұмысшы бөлігіне сәйке фрагменті көрсетілмеген.
GOTO$
Timer2; Timer і/п-сы TMR1 бар Timer2 ішкі программамен ауыстырылады.
MOVWF T_reg
; Return; бас программаны жөндегенде Timer2 і/п өшіру үшін.
M_T_reg; келесі 4 команда тек F7 режимі үшін.
; MOVLW D'255'; Timer2 жұмысын жөндеу үшін.
; MOVWF TMR1H; Timer2 жұмысын жөндеу үшін.
; MOVLW D'254'; Timer2 жұмысын жөндеу үшін.
; MOVWF TMR1L; Timer2 жұмысын жөндеу үшін.
BCF PIR1, TMR1IF; әр циклда таймердің толу флагын нөлге түсіру.
BSF T1CON, TMR1ON; TMR1 таймерін жіберу.
; келесі үш жол – бұл TMR1 таймерінің санағыштарын кеміту циклдары.
M_ TRM1; белгі.
BTFSS PIR1, TMR1IF; таймердің толу флагын тексеру.
GOTO M_ TRM1; егер флаг орнамаса, онда TRM1 циклы жалғаса береді.
DECFSZ T_reg, F; регистрдегі санды кемітеміз де нөлге тексереміз.
GOTO M_T_reg; (тек Z=0 болғанда) уақыт біткен жоқ, циклды қайталаймыз.
RETURN
END
Дата добавления: 2015-07-19; просмотров: 111 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат | | | Жұмысты орындау тәртібі |