Показать сообщение отдельно
Старый 04.11.2014, 16:10   #2183
skela
Дастеровод - Гуру
 
Аватар для skela
Подробнее

Онлайн: skela вне форума
Был(а): 2022-03-26 22:11
Адрес: Мурманск
Автомобиль: Duster
По умолчанию Re: skela Мурманск / Privilege 2.0 4x4 /

Цитата:
Сообщение от alex-spb Посмотреть сообщение
skela, Приветствую уважаемый.Собрал ваш девайс сразу в культурном виде плату проверял 2 раза,но что то не пошло. Прошивал JDM но так как прошивка дана не Hex то получалось что то не понятное и система не работала.Вопрос-Как сделать из ваших данных нужный Hex файл для прошивки в айсипрог106в.Или если есть готовый был бы очень благодарен.Схема удлинителя поворотов.
ох, давно это было,
попробую посмотреть...

---------- Добавлено в 18:10 ---------- Предыдущее написано было в 18:08 ----------

;удлиннитель поворотов
; ВСЕ РАБОТАЕТ
;
list p=12f675 ;
#include <p12f675.inc> ; processor specific variable definitions
;БИТЫ КОНФИГУРАЦИИ СТР 54
;__CONFIG 0x7e2 ; HS ВНЕШНИЙ ГЕНЕРАТОР
__CONFIG 0xF94 ;ВНУТРЕННИЙ ГЕНЕРАТОР

;************************************************* **********
;*определение меток замены текста *
;************************************************* **********
cblock 0x20 ;РЕГИСТРЫ И ИХ ОПИСАНИЕ
T0
T1 ;СТАРШИЙ БИТ СЧЕТЧИКА ВРЕМЕНИ ЗАДЕРЖЕК
T2 ;МЛАДШИЙ БИТ СЧЕТЧИКА ВРЕМЕНИ ЗАДЕРЖЕК
T3 ;КОЛИЧЕСТВО СРАБАТЫВАНИЙ СЧЕТЧИКА
T4 ;КОПИЯ СТ. БИТА
T5 ;КОПИЯ МЛ. БИТА
T6 ;
T7


W_TEMP ;ВРЕМЕННЫЕ РЕГИСТРЫ
STATUS_TEMP
endc
;******** Константы ( ПРИСВОЕНИЕ НОРМАЛЬНЫХ ИМЕН)
STATUS equ 03h ; Регистр выбора банка.

;************************************************* **********
;*определение меток замены текста *
;************************************************* **********
#DEFINE OUTP GPIO,0 ;7-ВЫХОД ЛЕВО
#DEFINE OUTL GPIO,1 ;6-ВЫХОД ПРАВО
#DEFINE PIN2 GPIO,2 ;5-
#DEFINE PIN3 GPIO,3 ;4-
#DEFINE INP GPIO,5 ;3- ВХОД ПРАВО
#DEFINE INL GPIO,4 ;2- ВХОД ЛЕВО
;************************************************* ***********
;*исполняемая программа *
;************************************************* ***********
ORG 0x000 ; начального адреса по
GOTO BEGIN ;переход на начало программы
ORG 0x004
GOTO PRER ;ОБРАБОТКА ПРЕРЫВАНИЯ
ORG 0x005 ;установка начального адреса
;размещения программы
BEGIN ;НАЧАЛО ПРОГРАММЫ
; CALL INIT_PORTS ;ВЫЗОВ ПП инициализации портов
INIT_PORTS
bcf STATUS, RP0 ;bank 0
CLRF GPIO
movlw b'00000111'
movwf CMCON ;компараторы не используются
bsf STATUS, RP0 ;bank 1
CLRF ANSEL
movlw b'110000'
movwf TRISIO ;1-вход , 0- выход
bcf OPTION_REG,7;СТР.14 резистор подтягивающий
movlw b'000000'
movwf WPU ;РЕЗИСТОРЫ СТР.22 1-включен
movlw b'110000'
movwf IOCB
BSF INTCON,GPIE
bcf STATUS, RP0 ;bank 0
BCF INTCON,GIE
CLRF GPIO
CALL PR_OFF
CALL PR_CLER

ST_1 ;начало проги
CALL PZ_01
CALL PR_OFF
CALL PR_CLER
BTFSS INP
GOTO PR1
BTFSS INL
GOTO PR2
goto ST_1 ;ЕСЛИ НИЧЕГО НЕ НАЖАТО

PR1
CALL PZ_01
BTFSC INL
GOTO P1
CALL PZ_01
CALL PZ_01
CALL PZ_01
goto ST_1
PR2
CALL PZ_01
BTFSC INP
GOTO P2
CALL PZ_01
CALL PZ_01
CALL PZ_01
goto ST_1

P1
BTFSS INL
GOTO ST_1
bsf OUTL
bsf STATUS, RP0 ;bank 1
movlw b'010000'
movwf IOCB
bcf STATUS, RP0 ;bank 0
CALL PR_OFF
CALL PR_CLER
CALL PZ_01 ;ДРЕБЕЗГ
CALL PR_CLER
CALL PR_ON
call PZ_1
call PZ_1
call PZ_1
ST_3
bCf OUTL
CALL PZ_01
BTFSS INP ;ЖДЕМ ОТКЛЮЧЕНИЯ ПОВОРОТНИКА
GOTO ST_3
CALL PR_OFF
CALL PR_CLER
bCf OUTL
CALL PZ_01
CALL PZ_01
CALL PZ_01
goto ST_1


P2
CALL PZ_01
BTFSS INP
GOTO ST_1
bsf OUTP
bsf STATUS, RP0 ;bank 1
movlw b'100000'
movwf IOCB
bcf STATUS, RP0 ;bank 0
CALL PR_OFF
CALL PR_CLER
CALL PZ_01 ;ДРЕБЕЗГ
CALL PR_CLER
CALL PR_ON
call PZ_1
call PZ_1
call PZ_1
ST_4
bCf OUTP
CALL PZ_01
BTFSS INL ;ЖДЕМ ОТКЛЮЧЕНИЯ ПОВОРОТНИКА
GOTO ST_4
CALL PR_OFF
CALL PR_CLER
bCf OUTP
CALL PZ_01
CALL PZ_01
CALL PZ_01
goto ST_1





PRER ;ОБРАБОТКА ПРЕРЫВАНИЙ
MOVWF W_TEMP ;РЕКОМЕНДОВАНЫЕ МАНУАЛОМ ОПЕРАЦИИ
SWAPF STATUS,W ;ПО СОХРАНЕНИЮ РЕГИСТРОВ
MOVWF STATUS_TEMP ;РЕКОМЕНДОВАНЫЕ МАНУАЛОМ ОПЕРАЦИИ
;ДАЛЕЕ САМА ПРОГРАММА ОБРАБОТКИ
CALL PR_OFF ;ВЫКЛ. ПРЕРЫВАНИЯ

CALL SD1
SWAPF STATUS_TEMP,W;РЕКОМЕНДОВАНЫЕ МАНУАЛОМ ОПЕРАЦИИ
MOVWF STATUS ;ПО ВОССТАНОВЛЕНИЮ РЕГИСТРОВ
SWAPF W_TEMP,F ;РЕКОМЕНДОВАНЫЕ МАНУАЛОМ ОПЕРАЦИИ
SWAPF W_TEMP,W ;РЕКОМЕНДОВАНЫЕ МАНУАЛОМ ОПЕРАЦИИ
CALL PR_ON ;ВКЛЮЧ.ПРЕРЫВАНИЯ
CALL PR_CLER
RETFIE ; ВЫХОД ИЗ ПРЕРЫВАНИЯ
SD1
BCF OUTL
BCF OUTP
goto ST_1

PR_ON ;РАЗРЕШАЕМ прерывания
bsf STATUS, RP0 ; bank 1
bsf INTCON,7 ;1 глобальное разрешение прерываний
bCf STATUS, RP0
RETURN
PR_OFF ;ЗАПРЕЩАЕМ прерывания
bsf STATUS, RP0 ; bank 1
bCf INTCON,7 ;глобальное ЗАПРЕЩЕНИЕ прерываний
BCF INTCON,0 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ ГП
BCF INTCON,1 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ ИНТ
bCf STATUS, RP0
RETURN
PR_CLER
bsf STATUS, RP0 ; bank 1
BCF INTCON,0 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ ГП
BCF INTCON,1 ;СБРАСЫВАЕМ ФЛАГ ПРЕРЫВАНИЯ ОТ ИНТ
bCf STATUS, RP0
RETURN

;************************************
;ПОДПРОГРАММЫ ПАУЗ
;************************************
PZ_1 ;ФОРМИРОВАНИЕ ПАУЗЫ 1 СЕКУНДА
movlw .100
movwf T4 ; Запись в регистр W константы .,
P5 CALL PZ_9MS
clrwdt
DECFSZ T4
GOTO P5
RETURN
PZ_01 ;ФОРМИРОВАНИЕ ПАУЗЫ 01 СЕКУНДА
movlw .10
movwf T4 ; Запись в регистр W константы .,
P6 CALL PZ_9MS
clrwdt
DECFSZ T4
GOTO P6
RETURN

PZ_9MS movlw .10 ;СТАРШИЙ РЕГИСТР СЧЕТЧИКА
movwf T1
movlw .224 ;МЛАДШИЙ РЕГИСТР СЧЕТЧИКА
movwf T2
movwf T3
CALL PZ
RETURN

PZ ;УНИВЕРСАЛЬНАЯ ПОДПРОГРАММА ПАУЗЫ
RR
MOVF T3,W ; КОПИРОВАНИЕ РЕГИСТРА Т3 В Т2
movwf T2 ; Копирование константы .МЛАДШИЙ БИТ
TT
nop
clrwdt
decfsz T2,F ; Декремент содержимого регистра т2 с помещением результата
GOTO TT ; в этот же регистр.Если этот результат не=0,
;то осуществляется переход в BB
DECFSZ T1
GOTO RR
nop
nop
nop
nop
nop
nop
nop
RETURN

;================================================= =======================
END ;конец программы
__________________
Ищу работу.
Не пыльную.
  Ответить с цитированием

Это может быть интересно

Дастершоп77.ру - всё для Рено Дастер!