Управление барокамерой

Алгоритм работы микропроцессорной системы управления барокамерой. Подпрограмма контроля температуры. Разработка схемы сопряжения для подключения датчика уровня воды. Подключение светодиодов "Нагрев" и "Низкий уровень воды". Разработка блока питания МПС.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 28.05.2012
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

BTFSS FLAG_R,2 ;РЕЖИМ УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ ВКЛЮЧЕН

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

BTFSS FLAG_R,5 ;РЕЖИМ УСТАНОВКИ МИНУТ ВКЛЮЧЕН

GOTO SET_HOUR ;НЕТ - ПЕРЕХОД К УСТАНОВКЕ ЧАСОВ

BTFSC PORTB,6 ;НАЖАТА КНОПКА "+1"

GOTO M13 ;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ "-1"

;-----------------------------------------------------------------

;СЧЕТЧИК ЕДИНИЦ МИНУТ

INCF MIN_L,F ;ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТ

BCF STATUS,Z

MOVF MIN_L,W ;СЧЕТЧИК ДОСЧИТАЛ ДО 10

XORLW 0x0A

BTFSS STATUS,Z

GOTO SET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

CLRF MIN_L ;ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК МИНУТ

;----------------------------------------------------------------

;СЧЕТЧИК ДЕСЯТКОВ МИНУТ

INCF MIN_H,F ;ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТ

BCF STATUS,Z

MOVF MIN_H,W ;СЧЕТЧИК ДОСЧИТАЛ ДО 6

XORLW 0x06

BTFSS STATUS,Z

GOTO SET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

CLRF MIN_H ;ДА - ОЧИСТИТЬ СТАРШИЙ СЧЕТЧИК МИНУТ

GOTO SET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

;-----------------------------------------------------------------

M13

BTFSC PORTB,7 ;НАЖАТА КНОПКА "-1"

GOTO STOP_TMR2_4 ;ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2

;-----------------------------------------------------------------

;СЧЕТЧИК ЕДИНИЦ МИНУТ

BCF STATUS,C

DECF MIN_L,F ;ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК МИНУТ

BTFSS STATUS,C ;ПРОИЗОШЕЛ ЗАЕМ

GOTO SET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

BCF STATUS,C

MOVLW 0x09 ;ДА - ЗАГРУЗКА НАЧАЛЬНОГО ЗНАЧЕНИЯ

MOVWF MIN_L

;----------------------------------------------------------------

;СЧЕТЧИК ДЕСЯТКОВ МИНУТ

DECF MIN_H,F ;ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК МИНУТ

BTFSS STATUS,C ;ПРОИЗОШЕЛ ЗАЕМ

GOTO SET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

BCF STATUS,C

MOVLW 0x05 ;ДА - ЗАПИСАТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕ

MOVWF MIN_H

GOTO SET_REG_LCD2;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ

;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-----------------------------------------------------------------

BTFSS FLAG_R,4 ;РЕЖИМ УСТАНОВКИ ЧАСОВ ВКЛЮЧЕН

GOTO STOP_TMR2_4 ;ПЕРЕХОД НА ПОДПРОГРАММУ ОСТАНОВКИ ТАЙМЕРА TMR2

;-----------------------------------------------------------------

BTFSC PORTB,6 ;НАЖАТА КНОПКА "+1"

GOTO M14 ;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ "-1"

SET_HOUR

;СЧЕТЧИКИ ЧАСОВ

INCF HOUR_L,F ;ИНКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ

BCF STATUS,Z

MOVF HOUR_H,W ;СТАРШИЙ СЧЕТЧИК ДОСЧИТАЛ ДО 2

XORLW 0x02

BTFSS STATUS,Z

GOTO M15 ;НЕТ - ПЕРЕХОД НА ПРОВЕРКУ МЛАДШЕГО СЧЕТЧИКА

BCF STATUS,Z

MOVF HOUR_L,W

XORLW 0x04

BTFSS STATUS,Z

GOTO M15

BCF STATUS,Z

CLRF HOUR_L ;ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ

CLRF HOUR_H

GOTO SET_REG_LCD2 ;ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ТЕКУЩЕГО ВРЕМЕНИ НА ИНДИКАЦИЮ

M15

MOVF HOUR_L,W

XORLW 0x0A ;СЧЕТЧИК ДОСЧИТАЛ ДО 10

BTFSS STATUS,Z

GOTO SET_REG_LCD2 ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ

;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

CLRF HOUR_L ;ДА - ОЧИСТИТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ

INCF HOUR_H ;ИНКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВ

GOTO SET_REG_LCD2 ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ

;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-----------------------------------------------------------------

M14

BTFSC PORTB,6 ;НАЖАТА КНОПКА "-1"

GOTO SET_REG_LCD2 ;ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ ВЫВОДОМ

;ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;СЧЕТЧИК ЕДИНИЦ ЧАСОВ

BCF STATUS,C

DECF HOUR_L,F ;ДЕКРЕМЕНТИРОВАТЬ МЛАДШИЙ СЧЕТЧИК ЧАСОВ

BTFSS STATUS,C ;ПРОИЗОШЕЛ ЗАЕМ

GOTO SET_REG_LCD2 ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ

;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

BCF STATUS,C

MOVLW 0x09 ;ДА - ЗАГРУЗИТЬ НАЧАЛЬНОЕ ЗНАЧЕНИЕ

MOVWF HOUR_L

;----------------------------------------------------------------

;СЧЕТЧИК ДЕСЯТКОВ ЧАСОВ

DECF HOUR_H,F ;ДЕКРЕМЕНТИРОВАТЬ СТАРШИЙ СЧЕТЧИК ЧАСОВ

BTFSS STATUS,C ;ПРОИЗОШЕЛ ЗАЕМ

GOTO SET_REG_LCD2 ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ

;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

BCF STATUS,C

MOVLW 0x02 ;ДА - ЗАГРУЗИТЬ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ В СЧЕТЧИКИ

MOVWF HOUR_H

MOVLW 0x04

MOVWF HOUR_L

GOTO SET_REG_LCD2 ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ УПРАВЛЕНИЯ

;ВЫВОДОМ ВРЕМЕНИ ВКЛЮЧЕНИЯ НА ИНДИКАЦИЮ

;-----------------------------------------------------------------

STOP_TMR2_4

BCF T2CON,TMR2ON ;ОСТАНОВКА ТАЙМЕРА TMR2

SET_REG_LCD2

MOVF MIN_L,W

MOVWF IND_0

MOVF MIN_H,W

MOVWF IND_1

MOVF HOUR_L,W

MOVWF IND_2

MOVF HOUR_H,W

MOVWF IND_3

BCF POINT,2 ;ВЫКЛЮЧИТЬ ТОЧКУ ВО 2-М РАЗРЯДЕ

BSF POINT,1 ;ВКЛЮЧИТЬ ТОЧКУ В 1-М РАЗРЯДЕ

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

2.10.5 Подпрограмма обработки прерываний по входу INT

Данная подпрограмма проверяет нажатие кнопок выбора режима. При первом нажатии кнопки включается соответствующий режим и разрешаются прерывания по входам <RB4:RB7> от кнопок «Установка часов», «Установка минут», «+1» и «-1». При повторном нажатии этой же кнопки происходит выключение соответствующего режима, запрет прерываний по входам <RB4:RB7> и, при необходимости, производится запись установленных значений в EEPROM память данных.

;-----------------------------------------------------------------

INT_INT ;ОБРАБОТЧИК ПРЕРЫВАНИЙ ПО ВХОДУ INT

;-----------------------------------------------------------------

BCF INTCON,INTF ;СБРОСИТЬ ФЛАГ ПРЕРЫВАНИЯ ПО ВХОДУ INT

BTFSC PORTA,2 ;НАЖАТА КНОПКА "УСТАНОВКА ТЕМПЕРАТУРЫ"

GOTO B_TIME_START ;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ

;"УСТАНОВКА ВРЕМЕНИ ВКЛЮЧЕНИЯ"

BTFSS FLAG_R,0 ;РЕЖИМ УСТАНОВКИ ТЕМПЕРАТУРЫ ВКЛЮЧЕН

GOTO START_UST_T ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ ВКЛЮЧЕНИЯ РЕЖИМА

;УСТАНОВКИ ТЕМПЕРАТУРЫ

BCF FLAG_R,0 ;ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ТЕМПЕРАТУРЫ

BSF FLAG_R,6 ;ВКЛЮЧИТЬ РЕЖИМ ОТОБРАЖЕНИЯ ТЕКУЩЕГО ВРЕМЕНИ

BCF INTCON,RBIE ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

;-----------------------------------------------------------------

;ЗАПИСЬ В EEPROM

BANC2

CLRF EEADR ;УСТАНОВКА НАЧАЛЬНОГО АДРЕСА 00h

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF MAX_TL,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА MAX_TL

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF MAX_TH,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА MAX_TH

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC0

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

START_UST_T ;ПОДПРОГРАММА ВКЛЮЧЕНИЯ РЕЖИМА УСТАНОВКИ ТЕМПЕРАТУРЫ

MOVLW B'00000001' ;ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ТЕМПЕРАТУРЫ

MOVWF FLAG_R ;ОСТАЛЬНЫЕ ВЫКЛЮЧИТЬ

BSF INTCON,RBIE ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

B_TIME_START ;ПРОВЕРКА НАЖАТИЯ КНОПКИ "УСТАНОВКА ВРЕМЕНИ

;ВКЛЮЧЕНИЯ"

BTFSC PORTA,2 ;НАЖАТА КНОПКА "УСТАНОВКА ВРЕМЕНИ ВКЛЮЧЕНИЯ"

GOTO B_TIME_STOP ;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ

;"УСТАНОВКА ВРЕМЕНИ ВЫКЛЮЧЕНИЯ"

BTFSS FLAG_R,1 ;РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВКЛЮЧЕНИЯ ВКЛЮЧЕН

GOTO START_UST_T_ST ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ ВКЛЮЧЕНИЯ РЕЖИМА

;УСТАНОВКИ ВРЕМЕНИ ВКЛЮЧЕНИЯ

BCF FLAG_R,1 ;ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ

BSF FLAG_R,6 ;ВКЛЮЧИТЬ РЕЖИМ ОТОБРАЖЕНИЯ ТЕКУЩЕГО ВРЕМЕНИ

BCF INTCON,RBIE ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

;-----------------------------------------------------------------

;ЗАПИСЬ В EEPROM

BANC2

MOVLW 0x02

MOVWF EEADR ;УСТАНОВКА НАЧАЛЬНОГО АДРЕСА 02h

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF START_ML,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА START_ML

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF START_MH,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА START_MH

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF START_HL,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА START_HL

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF START_HH,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА START_HH

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC0

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

START_UST_T_ST ;ПОДПРОГРАММА ВКЛЮЧЕНИЯ РЕЖИМА УСТАНОВКИ ВРЕМЕНИ ВКЛЮЧЕНИЯ

MOVLW B'00000010' ;ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВКЛЮЧЕНИЯ

MOVWF FLAG_R ;ОСТАЛЬНЫЕ ВЫКЛЮЧИТЬ

BSF INTCON,RBIE ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

B_TIME_STOP ;ПРОВЕРКА НАЖАТИЯ КНОПКИ "УСТАНОВКА ВРЕМЕНИ

;ВЫКЛЮЧЕНИЯ"

BTFSC PORTA,3 ;НАЖАТА КНОПКА "УСТАНОВКА ВРЕМЕНИ ВЫКЛЮЧЕНИЯ"

GOTO B_TIME_CURR ;НЕТ - ПЕРЕХОД К ПРОВЕРКЕ НАЖАТИЯ КНОПКИ

;"УСТАНОВКА ТЕКУЩЕГО ВРЕМЕНИ"

BTFSS FLAG_R,2 ;РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ ВКЛЮЧЕН

GOTO START_UST_T_SP ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ ВКЛЮЧЕНИЯ РЕЖИМА

;УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ

BCF FLAG_R,2 ;ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ

BSF FLAG_R,6 ;ВКЛЮЧИТЬ РЕЖИМ ОТОБРАЖЕНИЯ ТЕКУЩЕГО ВРЕМЕНИ

BCF INTCON,RBIE ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

;-----------------------------------------------------------------

;ЗАПИСЬ В EEPROM

BANC2

MOVLW 0x06

MOVWF EEADR ;УСТАНОВКА НАЧАЛЬНОГО АДРЕСА 06h

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF STOP_ML,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА STOP_ML

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF STOP_MH,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА STOP_MH

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF STOP_HL,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА STOP_HL

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ АДРЕС НА 1

BANC3

BTFSC EECON1,WR ;ПРОВЕРКА ОКОНЧАНИЯ ЗАПИСИ В EEPROM

GOTO $+1

BANC0

MOVF STOP_HH,W ;ЧТЕНИЕ ДАННЫХ ИЗ РЕГИСТРА STOP_HH

BANC2

MOVWF EEDATA

BANC3

BCF EECON1,EEPGD ;ЗАПИСЬ БУДЕТ ПРОИЗВОДИТЬСЯ В EEPROM

BSF EECON1,WREN ;РАЗРЕШЕНИЕ ЗАПИСИ В EEPROM

MOVLW 0x55

MOVWF EECON2

MOVLW 0xAA

MOVWF EECON2

BSF EECON1,WR ;ИНИЦИАЛИЗАЦИЯ ЗАПИСИ

BCF EECON1,WREN ;ЗАПРЕТ ЗАПИСИ ВEEPROM

BANC0

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

START_UST_T_SP ;ПОДПРОГРАММА ВКЛЮЧЕНИЯ РЕЖИМА УСТАНОВКИ ВРЕМЕНИ

;ВЫКЛЮЧЕНИЯ

MOVLW B'00000100' ;ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ВРЕМЕНИ ВЫКЛЮЧЕНИЯ

MOVWF FLAG_R ;ОСТАЛЬНЫЕ ВЫКЛЮЧИТЬ

BSF INTCON,RBIE ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

B_TIME_CURR ;ПРОВЕРКА НАЖАТИЯ КНОПКИ "УСТАНОВКА ТЕКУЩЕГО

;ВРЕМЕНИ"

BTFSC PORTA,4 ;НАЖАТА КНОПКА "УСТАНОВКА ТЕКУЩЕГО ВРЕМЕНИ"

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

BTFSS FLAG_R,3 ;РЕЖИМ УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ ВКЛЮЧЕН

GOTO START_UST_T_CUR ;НЕТ - ПЕРЕХОД НА ПОДПРОГРАММУ ВКЛЮЧЕНИЯ РЕЖИМА

;УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ

BCF FLAG_R,3 ;ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ

BSF FLAG_R,6 ;ВКЛЮЧИТЬ РЕЖИМ ОТОБРАЖЕНИЯ ТЕКУЩЕГО ВРЕМЕНИ

MOVLW B'00001011' ;ВКЛЮЧИТЬ МОДУЛЬ CCP1

MOVWF CCP1CON

BCF INTCON,RBIE ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

;-----------------------------------------------------------------

START_UST_T_CUR ;ПОДПРОГРАММА ВКЛЮЧЕНИЯ РЕЖИМА УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ

CLRF CCP1CON ;ВЫКЛЮЧИТЬ МОДУЛЬ CCP1

MOVLW B'00001000' ;ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ТЕКУЩЕГО ВРЕМЕНИ

MOVWF FLAG_R ;ОСТАЛЬНЫЕ ВЫКЛЮЧИТЬ

CLRF SEC_L ;ОЧИСТИТЬ СЧЕТЧИКИ СЕКУНД

CLRF SEC_H

BSF INTCON,RBIE ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

2.10.6 Подпрограмма обработки прерываний по входам <RB4:RB7>

Данная подпрограмма проверяет нажатие кнопок «Установка часов», «Установка минут», «+1» и «-1». Если нажата кнопка «+1» или «-1», происходит запуск таймера TMR2 и переход к установке соответствующей величины (температуры, времени включения, времени выключения, текущего времени). Если же обе кнопки отпущены, происходит остановка таймера TMR2. Нажатие кнопок «Установка часов» и «Установка минут» приводит к включению соответствующего режима.

Листинг подпрограммы приведен ниже.

;-----------------------------------------------------------------

INT_RB ;ОБРАБОТЧИК ПРЕРЫВАНИЙ ПО ВХОДАМ <RB4:RB7>

BCF INTCON,RBIF ;СБРОСИТЬ ФЛАГ ПРЕРЫВАНИЯ ПО ВХОДАМ <RB4:RB7>

BTFSC PORTB,5 ;НАЖАТА КНОПКА "УСТАНОВКА МИНУТ"

GOTO $+4

BSF FLAG_R,5 ;ДА - ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ МИНУТ

BCF FLAG_R,4 ;ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ЧАСОВ

GOTO $+5

BTFSC PORTB,4 ;НАЖАТА КНОПКА "УСТАНОВКА ЧАСОВ"

GOTO $+3

BSF FLAG_R,4 ;ДА - ВКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ ЧАСОВ

BCF FLAG_R,5 ;ВЫКЛЮЧИТЬ РЕЖИМ УСТАНОВКИ МИНУТ

BTFSC PORTB,6 ;НАЖАТА КНОПКА "+1"

GOTO $+2

GOTO $+3

BTFSC PORTB,7

GOTO $+3

BSF T2CON,TMR2ON ;ЗАПУСК ТАЙМЕРА TMR2

GOTO DOWN_BUTT ;ПЕРЕХОД НА ПРОВЕРКУ СОСТОЯНИЙ КНОПОК

BCF T2CON,TMR2ON ;ОСТАНОВКА ТАЙМЕРА TMR2

CLRF COUNTER

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

2.10.7 Подпрограмма приема/передачи данных через USART

Данная подпрограмма проверяет данные, записанные в буфер приемника USART, и, если они соответствуют коду запроса чтения EEPROM (константа CONST_COD), читает данные из EEPROM, а затем осуществляет передачу этих данных во внешнее устройство, используя модуль USART.

;-----------------------------------------------------------------

SERIAL_PRT ;ПОДПРОГРАММА ПРИЕМА/ПЕРЕДАЧИ ДАННЫХ ЧЕРЕЗ USART

BANC1

BCF PIE1,RCIE ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ ОТ ПРИЕМНИКА USART

BANC0

;-----------------------------------------------------------------

;ПРОВЕРКА НА ОТСУТСТВИЕ ОШИБОК КАДРА

BTFSS RCSTA,OERR ;ПРОИЗОШЛА ОШИБКА КАДРА

GOTO $+3 ;НЕТ - ПЕРЕХОД К ИДЕНТИФИКАЦИИ КОДА ЗАПРОСА

;ПЕРЕДАЧИ ДАННЫХ

BCF RCSTA,OERR ;СБРОСИТЬ ФЛАГ ОШИБКИ КАДРА

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

;ИДЕНТИФИКАЦИЯ КОДА ЗАПРОСА ПЕРЕДАЧИ ДАННЫХ

BCF STATUS,Z

MOVF RCREG,W ;ЧТЕНИЕ ДАННЫХ ИЗ БУФЕРА ПРИЕМНИКА

BCF PIR1,RCIF ;СБРОСИТЬ ФЛАГ ПРЕРЫВАНИЯ ОТ ПРИЕМНИКА USART

XORLW CONST_COD ;СРАВНИТЬ КОД

BTFSS STATUS,Z ;КОД ВЕРНЫЙ

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

;ЧТЕНИЕ ДАННЫХ ИЗ EEPROM И ПЕРЕДАЧА ЧЕРЕЗ USART

BANC2

CLRF EEADR ;ОЧИСТИТЬ РЕГИСТР АДРЕСА

READ

BANC3

BCF EECON1,EEPGD;УСТАНОВИТЬ ЧТЕНИЕ ИЗ EEPROM

BSF EECON1,RD ;НАЧАТЬ ЧТЕНИЕ

BANC2

MOVF EEDATA,W ;ПРОЧИТАТЬ РЕГИСТР ДАННЫХ

BANC0

MOVWF TXREG ;ПОМЕСТИТЬ СОДЕРЖИМОЕ ТЕКУЩЕЙ ЯЧЕЙКИ ПАМЯТИ

; В БУФЕР ПЕРЕДАТЧИКА

BANC1

BSF TXSTA,TXEN ;РАЗРЕШИТЬ ПЕРЕДАЧУ

BANC2

INCF EEADR,F ;УВЕЛИЧИТЬ НА 1 АДРЕС ТЕКУЩЕЙ ЯЧЕЙКИ ПАМЯТИ

MOVF EEADR,W

XORLW 0x0A

BANC0

BTFSC PIR1,TXIF ;ОЖИДАТЬ ОКОНЧАНИЕ ПЕРЕДАЧИ

GOTO $-1

BTFSS STATUS,Z

GOTO READ

GOTO INT_SOURCE ;ВЕРНУТЬСЯ К ПОИСКУ ИСТОЧНИКОВ ПРЕРЫВАНИЙ

;-----------------------------------------------------------------

2.10.8 Подпрограмма восстановления контекста

Данная подпрограмма осуществляет восстановление содержимого аккумулятора и регистра STATUS перед выходом из обработчиков прерываний.

Листинг программы приведен ниже.

;-----------------------------------------------------------------

END_INT ;ВОССТАНОВЛЕНИЕ АККУМУЛЯТОРА И РЕГИСТРА STATUS

BANC1

BSF PIE1,RCIE ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ ОТ ПРИЕМНИКА USART

BANC0

SWAPF STATUS_TEMP,W ;ВОССТАНОВИТЬ РЕГИСТР STATUS

MOVWF STATUS

BTFSS STATUS,RP0 ;ОПРЕДЕЛЕНИЕ ТЕКУЩЕГО БАНКА

GOTO REST_WREG

BCF STATUS,RP0 ;ВЫБОР БАНКА 0

SWAPF W_TEMP,F ;ВОССТАНОВИТЬ АККУМУЛЯТОР

SWAPF W_TEMP,W

BSF STATUS,RP0 ;ВЫБОР БАНКА 1

RETURN

REST_WREG

SWAPF W_TEMP,F ;ВОССТАНОВИТЬ АККУМУЛЯТОР

SWAPF W_TEMP,W

RETURN ;ВЕРНУТЬСЯ ИЗ ПРЕРЫВАНИЯ

;-----------------------------------------------------------------

3 РАСЧЕТ ЭЛЕКТРИЧЕСКИХ ПАРАМЕТРОВ МПС

Рассчитаем мощность, потребляемую микроконтроллером:

;

где - напряжение относительно ;

- максимальный ток вывода ;

- выходное напряжение высокого уровня;

- ток I/O канала;

- выходное напряжение низкого уровня;

- ток I/O канала.

Рассчитаем мощность, рассеиваемую всеми резисторами схемы:

;

где - напряжение на i-м резисторе;

- сопротивление i-го резистора.

;

Рассчитаем мощность, рассеиваемую светодиодами:

;

где - напряжение на i-м светодиоде;

- ток в i-м светодиоде.

;

Рассчитаем мощность, рассеиваемую светодиодными индикаторами:

;

где - напряжение на i-м индикаторе;

- ток в i-м индикаторе.

Ток определяется суммой токов всех сегментов, .

;

Токи, потребляемые микросхемами, приведены в таблице 3.

Таблица 3 - Токи, потребляемые микросхемами.

Напряжение питания, В

Микросхема

Потребляемый ток, мА

Обозначение

Наименование

+15

DA2

AD210

50

Итого

50

+5

DD1

К155ЛН1

33

DD2

PIC16F873

43

DD3

MAX6958

150

DD4

MXL1543

150

DA1

АОТ101АС

5

Итого

381

Таким образом, суммарная потребляемая мощность будет равна:

4. РАЗРАБОТКА БЛОКА ПИТАНИЯ

Для питания проектируемой микропроцессорной системы управления необходим блок питания, отдающий в нагрузку мощность не менее 2,81 Вт. Максимальный выходной ток по цепи +5В должен быть не менее 381 мА, по цепям +15В - не менее 50 мА. Схема блока питания приведена на рисунке 16.

В качестве трансформатора T1 выбран унифицированный трансформатор ТПП232-127/220-50. Этот трансформатор имеет габаритную мощность 9 В·А. Напряжения на обмотках следующие: U11-12 = U13-14 = 5,04В; U15-16 = U17-18 = 10В; U19-20 = U20-22 = 2,63В. Максимальный ток каждой обмотки 0,255А.

Для стабилизации напряжения +5В используется интегральный стабилизатор LM7805, рассчитанный на максимальный ток 1,5 А. Для стабилизации напряжения +15В используется интегральный стабилизатор LM7815. Он рассчитан на максимальный ток 0,15 А.

Рисунок 15 - Принципиальная электрическая схема блока питания

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Сташин В.В. Проектирование цифровых устройств на однокристальных микроконтроллерах / Сташин В.В. - М.: Энергоатомиздат, 1990. 189-224 с

2. Щелкунов Н.Н. Микропроцессорные средства и системы / Щелкунов Н.Н., Дианов А.Н. - М.: Радио и связь, 1989. - 117-152 c

3. Официальный сайт компании Maxim Integrated Products and Dallas Semiconductor [Электронный ресурс] MAX6958/MAX6959 2-Ware Interfaced, 3V to 5,5V, 4-Digit, 9-Segment LED Display Drivers with Keyscan. Режим доступа: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3638

Размещено на Allbest.ru


Подобные документы

  • Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.

    курсовая работа [3,3 M], добавлен 26.06.2016

  • Разработка структурной и принципиальной схемы микропроцессора. Подключение шины адреса, данных и управления к соответствующим блокам на схеме. Формирование блока устройства памяти (ОЗУ и ПЗУ) и подключение его к шинам блока центрального процессора.

    контрольная работа [220,5 K], добавлен 08.07.2012

  • Разработка схемы блока чтения информации с датчиков, устройства сопряжения с аналоговым датчиком. Расчет электрических параметров микропроцессорной системы управления. Алгоритмы работы блока взаимодействия с оператором и обработки аварийных ситуаций.

    курсовая работа [2,0 M], добавлен 06.03.2016

  • Структурная схема микропроцессорной системы управления. Разработка принципиальной схемы блока чтения информации с датчиков. Алгоритм работы блока обмена данными по последовательному каналу связи. Электрические параметры системы, листинг программы.

    курсовая работа [1,4 M], добавлен 21.11.2013

  • Создание микропроцессорной системы на базе микроконтроллера, предназначенного для функциональной диагностики цифровых и интегральных микросхем. Разработка и расчёт блоков микроконтроллера, сопряжения, управления, питания, цифровой и диодной индикации.

    курсовая работа [1,5 M], добавлен 28.01.2016

  • Анализ существующих систем контроля и управления доступом (СКУД). Разработка структурной схемы и описание работы устройства. Выбор и обоснование эмулятора для отладки программы работы СКУД. Отладка программы системы управления охранной сигнализацией.

    курсовая работа [2,1 M], добавлен 23.03.2015

  • Разработка микропроцессорной системы для контроля и индикации параметров изменяющегося по случайному закону 8-ми разрядного двоичного кода. Проектирование принципиальной схемы микроконтроллера, описание работы схемы. Разработка блок-схемы программы.

    курсовая работа [752,4 K], добавлен 10.01.2013

  • Структурная схема системы управления кондиционером. Выбор пульта управления, датчика температуры, вентилятора, микроконтроллера и компрессора. Внутренняя структура и система команд транспортного уровня микросхемы DS18B20. Алгоритм работы кондиционера.

    курсовая работа [2,1 M], добавлен 14.11.2010

  • Функциональная схема микропроцессорной системы управления, алгоритм ее работы. Инициализация микроконтроллера и листинг соответствующей программы. Преобразование напряжения от датчика температуры. Обработка прерываний. Расчет электрических параметров.

    дипломная работа [1,7 M], добавлен 23.05.2012

  • Разработка принципиальных схем блоков чтения информации с датчиков. Сопряжение с цифровыми и аналоговыми датчиками. Алгоритм работы блока чтения информации с цифровых датчиков. Расчет электрических параметров микропроцессорной системы управления.

    дипломная работа [760,0 K], добавлен 27.06.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.