Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Устройства ультрафиолетового стирания 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [ 68 ] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

******* *****

Start

MCLR RESET

MOVLW

OxFF

Установить PORTB на ввод.

MOVWF

LCD DATA TRIS

STATUS, RPO

Банк 0.

LCD CNTL, RS

Установить Индикатору командный режим.

LCD CNTL, RW

Установить индикатор для чтения флажка

LCD CNTL, E

Установите на Е высокий уровень.

LCD CNTL, E

Установите Е низкий уровень.

SWAPF

LCD DATA, W

Считать старший полубайт

флажков состояния, адрес DDR.

ANDLW

OxFO

Маска на младший полубайт.

MOVWF

TEMP

LCD CNTL, E

Переключить Е,

LCD CNTL, E

для чтения младшего полубайта.

MOVF

LCD DATA, W

Считать младший полубайт

флажков состояния, адрес DDR.

ANDLW

OxOF

Маска на старший полубайт.

IORWF

TEMP, F

Объединить полубайты.

BTFSC

TEMP, 7

Проверить флажок, 1 = занят.

GOTO

BUSY CHECK

Если занят, проверить снова.

LCD CNTL, RW

STATUS, RPO

Банк 1.

MOVLW

OXFO;

MOVWF

LCD DATA TRIS

RB? - 4 = входы, RB3 - 0 = выводы.

STATUS, RPO

Банк 0.

RETURN

r ****** *

************************

******************Т***********

>чало программы, сброс при включении питания.

Сброс прл включении питания.

STATUS, RPO

Банк 0.

MOVLW

OxOC

Десятичное число 12.

MOVWF

ЧАСОВ - 12.

CLRF

МИНУТ = 00.

MOVLW

0x00

MOVWF

FLAG REG

Установить РМ.

MOVLW

0x04

Значение секунд {64d - 60d),

MOVWF

SECS

это позволяет простым разрядным тестом

определить когда секунды = 60.

MOVLW

0x80

TIM1H:TMR1L = 0x8000, значение

MOVWF

TMRIH ; 1 секунды при

частоте в 32 КГЦ.

CLRF

TMRIL;

; Сброс по входу 1

MCLR.

CLRF

STATUS

Инициализация (Банк 0).

CLRF

INTCON

CLRF

PIRl

STATUS, RPO

Банк 1.

MOVLW

, 0x00

Модуль ЖКИ не может работать.

если W/R низкий.

MOVWF

OPTION REG

CLRF

PIEl

Отключить все прерывания ввода-вывода.

MOVLW

OXFF

MOVWF

ADCONl

Все входы цифровые (для 16С7х).

STATUS, RPO

Банк 0.

CLRF

PORTA; Ha всех выводах

портов установить

CLRF

PORTB ; низкий уровень

CLRF

PORTC

CLRF

PORTD

CLRF

PORTE

TICON, TMRION

Отключить таймер 1.

STATUS, RPO

Банк 1.

CLRF

TRISA

RA5 - 0 выходы.

MOVLW

OxFO

MOVWF

TRISB

RB7 - 4 входы, RB3 - 0 выходы.

CLRF

TRISC

Порт С все выходы.

TRISC, TIOSO

RCO вход для кварцевого резонатора.

CLRF

TRISD

Порт D все выходы.

CLRF

TRISE

Порт Е все выходы.

PIEl, TMRIIE

Разрешить прерывания TMRl.

OPTION REG, NOT RBPU

Подтянуть PORTB к высокому уровню.

STATUS, RPO

Банк 0.

MOVF

PORTB, F

Прочитать PORTB и сбросить RBIF,

INTCON, RBIF

если установился.



; Инициализация модуля ЖКИ.

CLRF LCD CNTL

DISPLAY INIT

MOVLW MOVWF BSF BCF

0x02

LCD DATA LCD CNTL, E LCD CNTL, E

; Ha всех выводах порта установить ; низкий уровень.

; Команда для 4 разрядного интерфейса

Подпрограмма расчета времени цикла задержки индикатора, на основании lcd INIT delay и частоты выполнения операций. Использует регистры до их инициализации.

LCD DELAY

MOVLW MOVWF CLRF

1Л0Р2 DECFSZ

GOTO DECFSZ

END LCD DELAY

GOTO

LCD INIT DELAY

LSD, F L00P2 MSD, F

Регистры MSD и LSD ДЛЯ инициализации индикатора.

Время задержки MSD* ((3*256)+) 3*Тс .

L00P2 ;

; Последовательность команд для индикатора 2 строки 5x7 символов.

CMD SEQ

MOVLW

MOVWF

MOVLW

MOVWF

0X02

lcd data

lcd;;;cntl, e

lcd cntl, e 0x05 LCD DATA lcd cntl, e lcd cntl, E

Флажок состояния должен быть допустим после точки.

MOVLW

CALL

MOVLW

CALL

MOVLW

CALL

MOVLW

CALL

DISP ON

SEND CMD

CLR DISP

SEND CMD

ENTRY INC

SEND CMD

DD RAM ADDR

SEND CMD

Инициализация специальных функциональных регистров прерывания(SFR)

CLRF

MOVLW

MOVWF

CALL CALL

MOVLW MOVWF

goto

PIRI OxOE

TICON ,-RCl установить как ТСКО.

INTCON, PEIE .-Разрешить прерывания ввода-вывода.

INTCON, RBIE ;Отключите прерывание по изменению PORTB.

INTCON, GIE ;Разрешить общее прерывание.

INITDISPLAY ;

DISPLAY

ОхОЕ

TICON; Таймер 1 от кварцевого резонатора, ; предделитель 1. T1C0N, TMR10N ; Включить таймер 1.

if (PICMaster) Izz

; Цикл ожидания прерывания ; (при использовании PICMASTER)

SLEEP LP

else

; Ожидание прерывания TMRl или изменения на PORTB. SLEEP LP; endif

; Определение типа СБРОСА (кроме сброса при включении питания).

SLEEP

NOP;

GOTO



OTHER RESET BTFSS STATUS, NOT TO ; Сброс WDT?

WDT TIMEOUT GOTO ERRORl ; ДА, Это - условие ошибки,

if (Debug PU)

goto Start ; Сброс MCLR, переход на начало.

else

GOTO MCLR RESET ; Сброс MCLR, переход MCLR RESET.

endif

END START

if ( Debug )

endif

; Метка конца отладки.

org TABLE ADDR

NUM TABLE

MOVWF TEMP

MOVLW HIGH (TABLE ADDR)

MOVWF PCLATH

MOVF TEMP, W

ANDLW OxOF

NUM TBL

NUM TBL

ADDWF

PCL, F

; Определить смещение

в таблице

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

2

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

М

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

большее значение, ошибка

(отображается как Е).

RETLW

E-

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

; ASCII значение

регистре

RETLW

E

,- ASCII значение

регистре

Сохранить значение. Проверьте, что PCLATH имеет Правильное значение. Значение для таблицы. Маска на 4 младших разряда (00 - OFh) .

if ((NUM TBL S OxFFOO)! - (NUM TBL END S OxFFOO)) MESSG Предупреждение: Таблица NUM TBL пересекает границу страницы в вычисленном переходе

endif

org PMEM END GOTO ERRORl

;Конец памяти программ.

;Если програ а здесь.

то она потерялась.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [ 68 ] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.