рефераты рефераты
Главная страница > Курсовая работа: Разработка микропроцессорной системы цифрового термометра на базе микроконтроллера  
Курсовая работа: Разработка микропроцессорной системы цифрового термометра на базе микроконтроллера
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Разработка микропроцессорной системы цифрового термометра на базе микроконтроллера

MOVLW.253;-

MOVWFSOT1X;ЗНАК 1 MAX.

MOVWFSOT2X;ЗНАК 2 MAX.

MOVLW.55;-55.

MOVWFLSB1X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ 1 ДАТЧИКА.

MOVWFLSB2X;-"- 2 ДАТЧИКА.

CLRFDST1X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ ДЕСЯТЫХ 1 ДАТЧИКА.

CLRFDST2X;-"- 2 ДАТЧИКА.

MOVLW.251;+

MOVWFSOT1N;ЗНАК 1 MIN.

MOVWFSOT2N;ЗНАК 2 MIN.

MOVLW.99;+99.

MOVWFLSB1N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 1 ДАТЧИКА.40

MOVWFLSB2N;-"- 2 ДАТЧИКА.

MOVLW.9;0,9

MOVWFDST1N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ ДЕСЯТЫХ 1 ДАТЧИКА.

MOVWFDST2N;-"- 2 ДАТЧИКА.

RETURN

;=========================================

; 32. ИНИЦИАЛИЗАЦИЯ ЖКИ.

;=========================================

JEKINI

MOVLW03;

CALLJEKOM;

CALLSTROB;

MOVLW03;

CALLJEKOM;

CALLSTROB;

MOVLW03;

CALLJEKOM;

CALLSTROB;

MOVLW03;

CALLJEKOM;

CALLSTROB;

MOVLW10;ВЫКЛЮЧЕНИЕ ДИСПЛЕЯ.

CALLJEKOM;

CALLSTROB;

MOVLW06;СМЕЩЕНИЕ КУРСОРА.

CALLJEKOM;

CALLSTROB;

MOVLW01;СТИРАНИЕ ПАМЯТИ ДИСПЛЕЯ.

CALLJEKOM;

CALLSTROB;

MOVLW28;ФОРМАТ ОБМЕНА: 4 РАЗР., 5х7, 2 СТРОКИ.

CALLJEKOM;

CALLSTROB;

MOVLW0C;ВКЛЮЧЕНИЕ ДИСПЛЕЯ, ЗАПРЕТ КУРСОРА.

CALLJEKOM;

CALLSTROB;

GOTOMYLTIK;НА РАСПРЕДЕЛИТЕЛЬ.

;=========================================

; 33. ФОРМИРОВАНИЕ СТРОБИРУЮЩЕГО ИМПУЛЬСА.

;=========================================

STROB

 BSF PORTB,E ;ВКЛЮЧАЕМ СТРОБ-ИМПУЛЬС.

NOP

 BCF PORTB,E ;ВЫКЛЮЧАЕМ СТРОБ.

 RETURN  ;ВЕРНЕМСЯ.

;===============================================

; 34. ПЕРЕДАЧА КОМАНДЫ В ЖКИ.

;===============================================

JEKOM

 MOVWF TEMP ;ПЕРЕПИШЕМ ЗНАЧЕНИЕ ВО ВРЕМЕННЫЙ РЕГИСТР.

 ANDLW B'11110000';ЗАМАСКИРУЕМ МЛАДШИЕ РАЗРЯДЫ ПОД НОЛЬ.

 MOVWF PORTB ;ОСТАЛЬНЫЕ РАЗРЯДЫ ПЕРЕПИШЕМ В ПОРТ "В".

 CALL STROB ;ПРОСТРОБИРУЕМ.

 CALL PAUSA ;ПАУЗА.

 MOVFW TEMP

 SWAPF TEMP,W ;ПОМЕНЯЕМ МЕСТАМИ ПОЛУБАЙТЫ.

 ANDLW B'11110000';ЗАМАСКИРУЕМ СТАРШИЕ РАЗРЯДЫ ПОД НОЛЬ.

 MOVWF PORTB ;ПЕРЕПИШЕМ В ПОРТ "В".

 CALL STROB ;ПРОСТРОБИРУЕМ.

PAUSA

 MOVLW .255;1 МС. ПАУЗА ДЛЯ ЗАПИСИ КОМАНДЫ.

 ADDLW -1

 BTFSS STATUS,2

 GOTO $-2

 RETURN

;=====================================

; 35. ЗАПИСЬ ДАННЫХ В ЖКИ.

;=====================================

JEDAT

 MOVWF TEMP;ПЕРЕПИШЕМ ЗНАЧЕНИЕ ВО ВРЕМЕННЫЙ РЕГИСТР.

 ANDLW B'11110000';ЗАМАСКИРУЕМ МЛАДШИЕ РАЗРЯДЫ ПОД НОЛЬ.

 ADDLW 30;ПЕРЕВОД В КОД ASCII, ТОЛЬКО ДЛЯ ЦИФР!

 MOVWF PORTB;ОСТАЛЬНЫЕ РАЗРЯДЫ ПЕРЕПИШЕМ В ПОРТ "В".

 BSF PORTB,RS;УСТАНОВИМ R/S НА РАЗРЕШЕНИЕ ЗАПИСИ ДАННЫХ.

 CALL STROB;ПРОСТРОБИРУЕМ.

 CALL PAUS;ПАУЗА ДЛЯ ОСВОБОЖДЕНИЯ ЖКИ ОТ ЦИКЛА ЗАПИСИ.

 MOVFW TEMP;

 SWAPF TEMP,0;ПОМЕНЯЕМ МЕСТАМИ ПОЛУБАЙТЫ.

 ANDLW B'11110000';ЗАМАСКИРУЕМ СТАРШИЕ РАЗРЯДЫ ПОД НОЛЬ.

 MOVWF PORTB;ОСТАЛЬНЫЕ РАЗРЯДЫ ПЕРЕПИШЕМ В ПОРТ "В".

 BSF PORTB,RS;УСТАНОВИМ R/S НА РАЗРЕШЕНИЕ ЗАПИСИ ДАННЫХ.

 CALL STROB;ПРОСТРОБИРУЕМ.

PAUS

 MOVLW .10;40 МКС. ПАУЗА ДЛЯ ЗАПИСИ ДАННЫХ.

 ADDLW -1

 BTFSS STATUS,2

 GOTO $-2

 RETURN

;========================================

; 36. ПЕРЕЗАПИСЬ В РЕГИСТРЫ ИНДИКАЦИИ.

;========================================

CTP1

BTFSCFLAG2,0;

GOTOTEK1;ТЕКУЩАЯ ИНДИКАЦИЯ.

BTFSCFLAG2,1;

GOTOINDYC1;УСТАНОВКА ЧАСОВ И ДНЕЙ.

GOTOCMOTP1;ПРОСМОТР.

CTP2

BTFSCFLAG2,0;

GOTOTEK2;ТЕКУЩАЯ ИНДИКАЦИЯ.

BTFSCFLAG2,1;

GOTOINDYC2;УСТАНОВКА ЧАСОВ И ДНЕЙ.

GOTOCMOTP2;ПРОСМОТР.

TEK1

MOVFWDHUDI;ТЕКУЩАЯ ИНДИКАЦИЯ 1 СТРОКИ, ДЕСЯТКИ ДНЕЙ.

MOVWFR1;

MOVFWDHUEI;ЕДИНИЦЫ ДНЕЙ.

MOVWFR2;

MOVLW.240;ПУСТО.

MOVWFR3;

MOVWFR9;

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

MOVWFR4;

MOVFWHOUL;ЕДИНИЦЫ ЧАСОВ.

MOVWFR5;

MOVLW.240;ПУСТО.

BTFSCCEK,0;ДВОЕТОЧИЕ ВКЛЮЧАЕТСЯ ЧЕРЕЗ 1 СЕКУНДУ.

MOVLW.10;ДВОЕТОЧИЕ.

MOVWFR6;

MOVFWMINH;ДЕСЯТКИ МИНУТ.

MOVWFR7;

MOVFWMINL;ЕДИНИЦЫ МИНУТ.

MOVWFR8;

MOVFWSOT1;ЗНАК.

MOVWFR10;

MOVFWDES1;ДЕСЯТКИ ТЕМПЕРАТУРЫ 1.

MOVWFR11;

MOVFWEDI1;ЕДИНИЦЫ ТЕМПЕРАТУРЫ 1.

MOVWFR12;

MOVLW.252;ЗАПЯТАЯ 1.

MOVWFR13;

MOVFWDST1;ДЕСЯТЫЕ ТЕМПЕРАТУРЫ 1.

MOVWFR14;

MOVLW.14;>.

MOVWFR15;

MOVLW.1;1.

MOVWFR16;

RETURN

TEK2

MOVFWMECDI;ТЕКУЩАЯ ИНДИКАЦИЯ 2 СТРОКИ, ДЕСЯТКИ МЕСЯЦА.

MOVWFR1;

MOVFWMECEI;ЕДИНИЦЫ МЕСЯЦА.

MOVWFR2;

MOVLW.240;ПУСТО.

MOVWFR3;

MOVWFR4;

MOVWFR5;

MOVWFR6;

MOVWFR7;

MOVWFR8;

MOVWFR9;

MOVFWSOT2;ЗНАК 2.

MOVWFR10;

MOVFWDES2;ДЕСЯТКИ ТЕМПЕРАТУРЫ 2.

MOVWFR11;

MOVFWEDI2;ЕДИНИЦЫ ТЕМПЕРАТУРЫ 2.

MOVWFR12;

MOVLW.252;ЗАПЯТАЯ 2.

MOVWFR13;

MOVFWDST2;ДЕСЯТЫЕ ТЕМПЕРАТУРЫ 2.

MOVWFR14;

MOVLW.14;>.

MOVWFR15;

MOVLW.2;2.

MOVWFR16;

RETURN

INDYC1

BTFSSPORTA,HOL;ЕСЛИ НАЖАТА КНОПКА "СБРОС",

CALLYC00;ТО ОБНУЛИМ СЕКУНДЫ И МИНУТЫ.

MOVLW.123;УСТАНОВКА ЧАСОВ И ДАТЫ 1 СТРОКА.

MOVWFR1;Ч.

MOVLW.17;А.

MOVWFR2;

MOVLW.19;С.

MOVWFR3;

MOVLW.126;Ы.

MOVWFR4;

MOVLW.240;ПУСТО.

MOVWFR5;

MOVWFR11;

MOVWFR12;

MOVWFR13;

MOVWFR14;

MOVWFR15;

MOVWFR16;

MOVFWHOUH;ТЕКУЩИЕ ЗНАЧЕНИЯ: ДЕСЯТКИ ЧАСОВ,

MOVWFR6;

MOVFWHOUL;ЕДИНИЦЫ ЧАСОВ.

MOVWFR7;

MOVLW.10;ДВОЕТОЧИЕ.

MOVWFR8;

MOVFWMINH;ДЕСЯТКИ МИНУТ.

MOVWFR9;

MOVFWMINL;ЕДИНИЦЫ МИНУТ.

MOVWFR10;

RETURN

INDYC2

MOVLW.176;Д.

MOVWFR1;

MOVLW.17;А.

MOVWFR2;

MOVLW.36;Т.

MOVWFR3;

MOVLW.17;А.

MOVWFR4;

MOVLW.240;ПУСТО.

MOVWFR5;

MOVWFR11;

MOVWFR12;

MOVWFR13;

MOVWFR14;

MOVWFR15;

MOVWFR16;

MOVFWDHUDI;ДЕСЯТКИ ДНЕЙ.

MOVWFR6;

MOVFWDHUEI;ЕДИНИЦЫ ДНЕЙ.

MOVWFR7;

MOVLW.253;ПРОЧЕРК.

MOVWFR8;

MOVFWMECDI;ДЕСЯТКИ МЕСЯЦА.

MOVWFR9;

MOVFWMECEI;ЕДИНИЦЫ МЕСЯЦА.

MOVWFR10;

RETURN

CMOTP1

MOVFWDHUDI;ЕСЛИ ПРОСМОТР

ADDWFDHUEI,0;СЕГОДНЯШНЕЙ ДАТЫ,

SUBWFDHU,0;ТО РЕГИСТРЫ ИНДИКАЦИИ НЕ МЕНЯЕМ.

 SKPC;

GOTO$+5;

MOVFWMECDI;

ADDWFMECEI,0;

SUBWFMEC,0;

SKPNC;

CALLBDINZ1;ИНАЧЕ УСТАНОВИМ СЧИТАННЫЕ ЗНАЧЕНИЯ 1 СТРОКИ.

MOVFWDHUDI;ДЕСЯТКИ ДНЕЙ.

MOVWFR1;

MOVFWDHUEI;ЕДИНИЦЫ ДНЕЙ.

MOVWFR2;

MOVLW.14;>.

MOVWFR3;ПО УМОЛЧАНИЮ

MOVLW.1;1.

BTFSCFLAG1,1;ЕСЛИ ФЛАГ УСТАНОВЛЕН,

MOVLW.2;ТО - 2.

MOVWFR4;

MOVLW.240;ПУСТО.

MOVWFR5;

MOVWFR11;

MOVLW.253;ПРОЧЕРК.

MOVWFR8;

MOVFWDES1;ДЕСЯТКИ ТЕМПЕРАТУРЫ.

MOVWFR13;

MOVFWEDI1;ЕДИНИЦЫ ТЕМПЕРАТУРЫ.

MOVWFR14;

MOVLW.252;ЗАПЯТАЯ 1.

MOVWFR15;

MOVFWDST1;ДЕСЯТЫЕ ТЕМПЕРАТУРЫ.

MOVWFR16;

RETURN

CMOTP2

MOVFWDHUDI;ЕСЛИ ПРОСМОТР

ADDWFDHUEI,0;СЕГОДНЯШНЕЙ ДАТЫ,

SUBWFDHU,0;ТО РЕГИСТРЫ ИНДИКАЦИИ НЕ МЕНЯЕМ.

 SKPC;

GOTO$+5;

MOVFWMECDI;

ADDWFMECEI,0;

SUBWFMEC,0;

SKPNC;

CALLBDIN12;ИНАЧЕ УСТАНОВИМ СЧИТАННЫЕ ЗНАЧЕНИЯ 2 СТРОКИ.

MOVFWMECDI;ДЕСЯТКИ МЕСЯЦА.

MOVWFR1;

MOVFWMECEI;ЕДИНИЦЫ МЕСЯЦА.

MOVWFR2;

MOVLW.240;ПУСТО.

MOVWFR3;

MOVWFR4;

MOVWFR5;

MOVWFR11;

MOVLW.253;ПРОЧЕРК.

MOVWFR8;

MOVFWDES2;ДЕСЯТКИ ТЕМПЕРАТУРЫ 2.

MOVWFR13;

MOVFWEDI2;ЕДИНИЦЫ ТЕМПЕРАТУРЫ 2.

MOVWFR14;

MOVLW.252;ЗАПЯТАЯ 2.

MOVWFR15;

MOVFWDST2;ДЕСЯТЫЕ ТЕМПЕРАТУРЫ 2.

MOVWFR16;

RETURN

;======================================================

; 37. ВЫВОД ЗНАЧЕНИЙ РЕГИСТРОВ НА ИНДИКАЦИЮ.

;======================================================

JEKIND

BSFSTATUS,5;ПЕРЕХОДИМ В БАНК 1.

BCFTRISB^80H,YCMI;НА ВЫХОД.

BCFTRISB^80H,YCPL;НА ВЫХОД.

BCFSTATUS,5;ПЕРЕХОДИМ В БАНК 0.

BTFSSFLAG1,0;ЕСЛИ ТЕКУЩАЯ ИНДИКАЦИЯ,

GOTO$+3;ТО ПРОПУСКАЕМ ИНДИКАЦИЮ КУРСОРА.

BTFSSFLAG,6;ЕСЛИ ИНДИКАЦИЯ КУРСОРА ВЫПОЛНЕНА, ТО ПРОПУСКАЕМ ЕЕ.

GOTO JEKYC;ПРОИНДИЦИРУЕМ КУРСОР.

 MOVLW 02;ВОЗВРАТ КУРСОРА В ИСХОДНОЕ СОСТОЯНИЕ.

 CALL JEKOM;ЗАПИШЕМ КОМАНДУ.

 MOVLW B'10000000';КУРСОР НА 0 ПОЗИЦИЮ ПЕРВОЙ СТРОКИ.

 CALL JEKOM;ЗАПИШЕМ КОМАНДУ.

CALLCTP1;ПЕРЕПИШЕМ В РЕГИСТРЫ ИНДИКАЦИИ 1 СТРОКУ.

CALLJEKCTP;ЗАПИШЕМ В ИНДИКАТОР 1 СТРОКУ.

 MOVLW B'11000000';ВТОРАЯ СТРОКА. 0x0C0

 CALL JEKOM;ЗАПИШЕМ КОМАНДУ.

CALLCTP2;ПЕРЕПИШЕМ В РЕГИСТРЫ ИНДИКАЦИИ 2 СТРОКУ.

CALLJEKCTP;ЗАПИШЕМ В ИНДИКАТОР 2 СТРОКУ.

BCFFLAG,6;

RETURN

JEKCTP

MOVLW.16;

MOVWFCOUN;УСТАНОВИМ СЧЕТЧИК ИНДИКАЦИИ ЗНАКОМЕСТ.

 MOVLW R1;АДРЕС ПЕРВОГО РЕГИСТРА ИНДИКАЦИИ.

MOVWFFSR;ПО КОСВЕННОЙ АДРЕСАЦИИ

MOVFWINDF;УСТАНОВИМ ЗНАЧЕНИЕ РЕГИСТРА.

 CALL JEDAT;ЗАПИШЕМ В ИНДИКАТОР.

DECFCOUN,1;УМЕНЬШИМ СЧЕТЧИК.

BTFSCSTATUS,2;ЕСЛИ НЕТ НУЛЯ,

RETURN;

INCFFSR,1;ТО ВЫБЕРЕМ СЛЕДУЮЩИЙ РЕГИСТР.

GOTO$-6;ПОВТОРИМ ВЫВОД НА ИНДИКАЦИЮ.

;=======================================

; 38. ПРОВЕРКА КНОПОК.

;=======================================

KHOP

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

рефераты
Новости