Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Електронний секундомір

Реферат Електронний секундомір





еревірки умов;

(3) - оператор початку (кінця);

(4) - оператор розриву схеми;

(5) - оператор введення/виведення даних.

Рис.4.1 Види операторів

Застосуємо у нашому випадку розгалужений алгоритм (див. додаток A).

Робота нашої програми починається з ініціалізації використовуваних регістрів. Потім проводиться настройка портів, очищення осередків пам'яті, задаються часові цикли, використовувані для формування необхідних величин затримок при роботі. Відбувається звукова індикація, час затримки, в перебігу якої подається сигнал на динамік, одно 829мкс., Тобто з частотою близько 1,2 кГц, чутною людиною. Підключаються підпрограми INDIKATOR і KOD, необхідні для виведення підрахованих секунд на семисегментні індикатори. p> 5.Розробка керуючої програми


Програма, яка забезпечує роботу нашого секундоміра, написана мовою Assembler і побудована у вигляді основної програми та підпрограм. p> Основна програма виконує початкові установки режимів роботи і регістрів. Порти RA0-RA3 і RB0-RB6 налаштовані на виведення інформації, порти RB0-RB6 відповідають за відповідні сегменти індикатора. Порт RB7 зчитує значення з кнопки. Порт RA4 виробляє висновок логічної одиниці, для звукової індикації, яка здійснюється за допомогою підпрограми ZVUK, по першому натискання кнопки. Підпрограми INDIKATOR і KOD, необхідні для вироблення сигналів, які управляють семисегментними індикаторами. Підпрограма DELAY формує основну затримку на 0,1 с., затримка формується одним внутрішнім і одним зовнішнім циклами. Підпрограма INCTIM міняємо, відповідно з відображеними цифрами, значення регістрів temp0-temp3, для індикації.

Робота програми здійснюється за циклом. Спочатку виробляється ініціалізація портів, очищення робочих регістрів. Запуск програми здійснюється натисканням кнопки "Пуск/Стоп/Скидання". Всередині циклу здійснюється перевірка на переповнення секундоміра (якщо воно сталося, то відбувається обнуління всіх регістрів і програма очікує натискання кнопки "Пуск/Стоп/Скидання"). При натисканні кнопки "Пуск/Стоп/Скидання" відбувається зупинка підрахунку секунд, і програма чекає обнулення. Текст програми наведено нижче. br/>

LIST P = 16F628

# include


temp0 EQU H'20 ' p> temp1 EQU H'21 ' p> temp2 EQU H'22 ' p> temp3 EQU H'23 ' p> temp4 EQU H'24 '

temp5 EQU H'25 '

temp6 EQU H'26 ' p> temp7 EQU H'27 '

temp8 EQU H'28 '

i EQU H'29 '

t EQU H'30 '

k EQU H'31 '

N0 EQU H'32 '

N1 EQU H'33 '

В 

org 0

goto Start


Start


clrf PORTA

bsf STATUS, RP0 p> movlw B'10000000 '

movwf TRISB ; Налаштувати RB7 на введення, RB0-RB6 на виведення

clrf TRISA p> bcf STATUS, RP0 p> clrf PORTB

В 

k1

clrf temp0

clrf temp1

clrf temp2

clrf temp3

clrf temp4

clrf temp5

clrf temp6

clrf temp7

clrf temp8

clrf i

clrf t

В 

call INDIKATOR

btfss PORTB, 7 p> goto k1


MOVLW 1 p> MOVWF i

В 

MOVLW 1

MOVWF temp0


call ZVUK

goto c1


k2

call DELAY br/>

c1

call INDIKATOR

btfsc PORTB, 7

goto k3 br/>

c2

btfss i, 0

goto c1



k7

call INCTIM

goto k2


k3

btfsc PORTB, 7

goto k3


movf i, 0

movwf t p> incf i


btfss t, 0

goto k1

goto c2


В 

INCTIM

movlw 0xe6 ; 230 разів

movwf temp4


k8 decfsz temp4, 1

goto k8


; збільшення до 0,9 сек


incf temp0

movf temp0, 0; інкрементіровать на 0,1 сек

sublw 9; перевірка: якщо> 9, то перейти

btfsc STATUS, 0; був позику - так, то clrf temp0 і на наступне збільшення

goto I0; інакше на IO

clrf temp0; очищення значення останнього розряду



; збільшення до 9 сек


В 

incf temp1

movf temp1, 0

sublw 9

btfsc STATUS, 0

goto I1

clrf temp1


; збільшення до 59 сек

В 

incf temp2

movf temp2, 0

sublw 5 p> btfsc STATUS, 0

goto I2

clrf temp2


; збільшення 10 хв

В 

incf temp3

movf temp3, 0

sublw 9

btfsc STATUS, 0

goto I3 p> clrf temp3


return


I0

nop

nop

nop

nop

nop


I1

nop

nop

nop

nop

nop


I2 nop

nop

nop

nop

nop


I3 nop

...


Назад | сторінка 5 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Модернізація заданого алгоритму програми для виведення інформації про стату ...
  • Реферат на тему: Розробка програми маркетингу для виведення нового товару на ринок
  • Реферат на тему: Розробка програми маркетингу для виведення нового товару на ринок
  • Реферат на тему: Пристрій для вимірювання температури в індустріальних системах і розробка п ...
  • Реферат на тему: Розробка програми для зберігання і виведення списку співробітників і їхні з ...