-
Похожие публикации
-
Автор: perec200
Здравствуйте! По нажатию на кнопку (1) срабатывает прерывание INTF (RB0) необходимо вывести надпись и так она должна отображаться до тех пор, пока я не нажму на (2) кнопку и сработает прерывание RB7 которое напечатает другую надпись.
Решено было использовать задержки, но в тот момент пока вызвана задержка, не срабатывает другое прерывание.
Как мне вывести надпись на экран и чтобы она не пропадала, до тех пор пока не будет вызвано другое прерывание?
void interrupt isr(){ if(INTF){ INTF = 0; // reset interrupt flag/ Lcd_Clear(); Lcd_Set_Cursor(1,1); Lcd_Write_String("1."); Lcd_Set_Cursor(1,3); Lcd_Write_String("Hello"); __delay_ms(1000); } if(RBIF){ if(RB7){ activeItem++; Lcd_Clear(); Lcd_Set_Cursor(1,1); Lcd_Write_String("RB7"); __delay_ms(1000); } RBIF = 0; } }
-
Автор: vintik87
Добавил Модбас в проект все работало. Добавил еще несколько функций в main и модбас перестал работать. Когда присоединяю сериальный кабель модбас IAR дебагер пререстает работать (вероятно есть общие линии). Вопросы : 1. как решить конфликт кабелей (IAR JTAG) и Modbus и отлаживать модбас с его кабелем ? 2. Если решить конфликт кабелей нельзя тогда ... Как симулировать прерывания на ногах UART (модбас) чтобы программа зашла в обработчит прерывания модбас ?
-
Автор: imol
Добрый день. Сразу оговорюсь, что не имею профильного образования в электронике и, в частности, в оптике.
Имеем некую измерительную систему, основанную на оптоволоконной паре. В системе присутствует фотодиодный компонент фирмы HoneyWell, выполненный в едином корпусе вместе с оптическим входом ST. Сигнал с него мы оцифровываем и обрабатываем по специальным алгоритмам.
А теперь суть проблемы. Фотодиод имеет пиковую чувствительность в инфракрасном диапазоне. Возникла задача заменить фотодиод с пиком чувствительности в другом оптическом диапазоне (типа - https://www.chipdip.ru/product/bpw21r). Таким образом появилась проблема как-то спозиционировать его на один из оптических входов (ST или FC), которого, в отличие от предыдущего фотодиода HoneyWell, здесь нет. В связи с этим мы обращаемся с просьбой, помочь нам балбесам в этой области, решить эту задачу. Учитывая, что форм-фактор найденного фотодиода очень распространен (в отличие от предыдущего решения HoneyWell), я предполагаю, что существует некое стандартное решение (компоненты: корпуса, разъемы, линзы, коллиматоры и т. п.) для организации вывода на фотоприемник оптоволоконного сигнала через какой-либо оптический коннектор (желательно FC или ST).
Буду признателен за любое пояснение, ссылку.
-
Автор: ma3
Добрый день. Хотелось бы найти энтузиаста желающего вести свой блог на радиолюбительскую тематику на нашем сайте. Работа не оплачиваемая по этому нету и требований к авторам. Сайт не приносит прибыли, поэтому гонорары обещать не могу.
-
Автор: Пентагрид
Здравствуйте, товарищи! Я только начал изучать программирование МК с ассемблера для пиков. Прошёл светодиодную мигалку и взялся за вывод текста с PIC16F628A на ЖКИ 1602А. Но не заладилось. Взял готовую прошивку (сама она успешно запустилась), слегка подредактировал: задал соответствие DB0...DB7=RB0...RB7, вывел отдельные переменные address и symbol для адреса и символа ячейки на экране. Это выглядит следующим образом:
MOVLW 0x00 ;вывод единицы в первую ячейку
MOVWF address
MOVLW 0b00110001
MOVWF symbol
CALL znak
при этом используются подпрограммы
znak:
MOVF address,0 ;вывод адреса
MOVWF PORTB
BCF RS
CALL strob
CALL delay_39us
MOVF symbol,0 ;вывод символа
MOVWF PORTB
BSF RS
CALL strob
CALL delay_39us
RETURN
strob:
BSF E
NOP ;задержка 2 мкс
NOP
BCF E
RETURN
Второй день до поздней ночи перепроверяю прошивку, надёжность и правильность на бредборде, RC-цепочку на MCLR. Скачанный проект работает, а моя программа - нет. Прошу помочь в поиске ошибки в коде.
lcd-test.asm
-