Перейти к содержанию

Roman_msk

Members
  • Постов

    41
  • Зарегистрирован

  • Посещение

Весь контент Roman_msk

  1. микрухи все в ДИПе? 3296 резисторы с индексом W или P?
  2. To Donec, я понимаю что Вам проще, поскольку Вы постоянно практикуете и вопросов не возникает ... тогда ниже привожу шаблон, не совсем понятно как организовать в основном теле работу циклическим буфером ... плиз продемонстрируйте на примере: ***************************************************************** .nolist ;данная директива отключает генерацию кода в листинг, т.е. далее в файле *.lss не будет фиксироваться ассемблерный код .include "m32def.inc" ;подключение стандартного заголовочного файла для ATmega32 .list ;данная директива включает генерацию кода в листинг, т.е. далее в файле *.lss будет фиксироваться ассемблерный код .equ fCK = 8000000 ;частота в герцах .equ BAUD = 9600 ;скорость для UART в бодах .equ UBRR_value = (fCK/(BAUD*16))-1 ;расчитываем значение для регистра UBRR .dseg UART_IN: .byte 4 ;Адрес буфера приема UART в памяти UART_IN_T: .byte 1 ;Адрес указателя на хвост очереди UART_IN .cseg ;данная директива означает, что дальше идет код программы .org 0 ;данная директива означает, что код программы будет располагаться с 0ого адреса в FLASH ;ВЕКТОР ПРЕРЫВАНИЙ rjmp initial ;прерывание от … , ссылаемся на обработчик прерывания - initial rjmp 0 ;rjmp service_INT0 ;внешнее прерывание 0 rjmp 0 ;rjmp service_INT1 ;внешнее прерывание 1 rjmp 0 ;rjmp service_OC2 ;совпадение TCNT2 и OCR2 rjmp 0 ;rjmp service_OVF2 ;переполнение TCNT2 rjmp 0 ;rjmp service_ICP1 ;захват в ICP1 rjmp 0 ;rjmp service_OC1A ;совпадение TCNT1 и OCR1A rjmp 0 ;rjmp service_OC1B ;совпадение TCNT1 и OCR1B rjmp 0 ;rjmp service_OVF1 ;переполнение TCNT1 rjmp 0 ;rjmp service_OVF0 ;переполнение TCNT0 rjmp 0 ;rjmp service_SPI ;прерывание от модуля SPI rjmp ReceiveInt ;rjmp service_URXC ;получение байта по USART rjmp 0 ;rjmp service_UDRE ;опустошение UDR в USART rjmp 0 ;rjmp service_UTXC ;передача байта по USART rjmp 0 ;rjmp service_ADCC ;прерывание от АЦП rjmp 0 ;rjmp service_ERDY ;завершение записи в EEPROM rjmp 0 ;rjmp service_ACI ;прерывание от компаратора rjmp 0 ;rjmp service_TWI ;прерывание от модуля TWI rjmp 0 ;rjmp service_SPMR ;завершение выполнения spm ;УСТАНОВКА СТЕКА initial: ldi R16,low(RAMEND) ;скопируем в R16 младщий байт из константы RAMEND, которая определена в m8def.inc и хранит размер SRAM out SPL,R16 ;скопируем значение из R16 в SPL ldi R17,high(RAMEND) ;скопируем в R16 старший байт из константы RAMEND, которая определена в m8def.inc out SPH,R17 ;скопируем значение из R17 в SPH ;ПОДПРОГРАММА ИНИЦИАЛИЗАЦИИ USART МОДУЛЯ init_USART: ldi R16,high(UBRR_value) ;устанавливаем скорость 9600 бод out UBRRH,R16 ldi R16,low(UBRR_value) out UBRRL,R16 ldi R16,(1<<TXEN) | (1<<RXEN) ;разрешаем работу передатчика и приемника out UCSRB,R16 ;КОД ОСНОВНОЙ ПРОГРАММЫ main: loop: rjmp loop ;********************************************************************* ;Подпрограмма обработки прерывания при поступлении очередного байта * ;в приемник UART * ;********************************************************************* ; ReceiveInt: push ZL ;Сохранить содержимое регистров в стеке push ZH push tmp1 in tmp1,sreg push tmp1 ; in tmp1,UDR ;Считать байт из регистра данных приемника ; lds ZL,UART_IN_T ;Увеличить количество считанных байт на один inc ZL cpi ZL,4 ;Если считанных байт более 4 brcc Receive1 ;то выход ; sts UART_IN_T,ZL ;Сохранить количество считанных байт dec ZL ;Уменьшить так как был inc ZL clr ZH subi ZL,-UART_IN ;Вычислить адрес места байта в буфере приема st Z,tmp1 ;Записать байт в буфер приема ; Receive1: pop tmp1 ;Восстановить значения регистров из стека out sreg,tmp1 pop ZH pop ZL reti ************************************************************* я использовал только блок на прием, как обрабатывать полученную команду, т.е. определить что это соответствует идентификатору и определить принадлежность к командам? Есть ли в Асме возможность сравнить одновременно сравнить с 3-4 байтами? просьба указать на ошибки ...
  3. to Donec, благодарю за предоставленный код, но к сожалению с прерываниями ранее не работал, боюсь это не придаст мне ускорения ... мне бы разобраться с обработкой без захода в прерывания! Задачи микроконтроллера - работа с ПК и установка данных в цифровой пенциомметр (как расширение - работа с АЦП), чувствительными цепями занимается аналог, поэтому если не поступит посылка от ПК до ус-ва, то можно и продублировать. Скорость выбрана классическая 9600, если на этапе отладки будут возникать баги где потребуется введение прерываний, то тогда будем думать ... сейчас для меня это темный лес, без разжевывания не разберусь самостоятельно ...
  4. к примеру, основной цикл как лучше строить ... на поиске ID и как говорит Геннадий, открывать сессию: main: sbis UCSRA, RXC rjmp main in R16, UDR cpse R16, 0x10 ;(идентификатор к примеру) rjmp main receive_2: sbis UCSRA, RXC rjmp receive_2 in R16, UDR cpse .... и т.д. перебирать команды?
  5. to Alex, согласен с Вами, сейчас у меня есть железо которое работоспособно, под него для теста написал простенькую примочку для проверки приема/передачи, через терминал все работает. Ранее я писал на АСМе, но так и не освоил Си ... изначально когда делал железо, была договоренность с одним товарищем что он поможет с кодом, но как часто такое бывает, человек слился ... сейчас хотел бы найти помощи, возможно что так и выглядит как Вы пишете "сделайте за меня", но я бы сказал что не совсем ... для меня сложность правильно принять 4 байта, правильно интерпретировать и полученные данные в <data> и передать далее. Ус-во, это источник питания (по командам уже понятно я так думаю) тема сама не нова, если кто будет заинтересован в паритетном сотрудничетве, то со своей стороны поделюсь описанием железа (принципиалка, печатка, сила и пр.)
  6. to Alex, ну так в нижней строке в первом моем сообщении, мелким почерком изложено: " Рассматриваю также денежную компенсацию за активную помощь в реализации кода ... ")))
  7. to Alex, если бы я рассчитывал на халяву, то не сообщал бы что готов оплатить помощь ... меня интересует совет как лучше в цикле обработать, мало ли кто может выполнял похожее и есть возможность поделиться опытом!
  8. to donec, благодарю, только вложение не открывается ... просьба продублировать в личку.
  9. Добрый день, прошу помочь в реализации протокола общения между Atmega32 и компером ... язык только АСМ, т.к. Си плохо разумею))) Ниже привожу протокол: ********************* система команд: <ID>, <comand>, <data> <ID> это число или слово в ASCII <data> это слово размером 1 байт <comand>: -SA -- установить значение по напряжению, следующий байт значение от 0 до 255 -SV -- установить значение по току, следующий байт значение от 0 до 255 -M1 -- установить режим работы - ток -M2 -- установить режим работы - напряжение -M3 -- установить режим работы - импульсный -D -- установить все параметры по умолчанию -N -- включить ус-во -F -- выключить ус-во -RA -- передать мастеру действующее значение тока, следующий байт значение от 0 до 255 -RV -- передать мастеру действующее значение напряжения, следующий байт значение от 0 до 255 -RT -- передать мастеру значение температуры, следующий байт значение от 0 до 255 -RM -- передать мастеру характер нагрузки ток/напряжение, в ответ следует значение 'A' или 'V' в ASCII -RQ -- передать мастеру состояние аварии, если ус-во в штатном рехжиме то возвращается значение "0", если произошла остановка работы по причине аварии, то возвращается "1" - перегрузка по току во вторичной цепи, "2" - КЗ в нагрузке, "3" - температура 95С и выше, в ASCII ********************* может кто может оказать поддержку? Рассматриваю также денежную компенсацию за активную помощь в реализации кода ...
  10. Требуется программист работающий с AVRами (меги) удаленка, на текущий момент открыты 2 проекта, за подробностями писать на: furia(dot)fly(гав-гав)gmail.com Язык желательно ASM, но не против и С
  11. литц самооблуживающийся? или аспирин потребуется все-же?
  12. я знаю как работает ПММ-32-1 манометр инверсно-магнетронного типа, говоря тлеющий разряд я хотел обозначить кратко в чем суть работы ... Вы правы, высокий вакуум от -7 степени не получаем, но до -6 качаем, поэтому и хотелось бы получить измерительный тракт приближенный к оригинальному прибору, хоть и думаю максимально сократить аналоговую начинку. Но лепить с нуля аналог я как-то не решаюсь тем более имея рабочий (периодически) прибор)), грех не использовать схемотехнику заведомо исправного прибора!
  13. неужели нельзя заменить наши дубовые Д223Б, уж как-то сомневаюсь ... а по принципу, сам датчик представляет собой два электрода при условии вакуума за счет высокого напряжения 3500В генерится тлеющий разряд и в зависимости от глубины вакуума изменяется ток разряда, а то что я обвел и есть логарифмирующее ус-во, Вы правы
  14. это не коммерческий проект, мне нужно как внутреннее ус-во для работы и регистрации состояния на ПК ... иными словами оснастка, а не серийный прибор! еще, так вопрос мой какраз и был в грамотной стыковке ... мне нужен линейный измерительный блок, а АЦП я уж прицеплю, лишнее (блокировочные каналы, декадные индикаторы и пр.) мне не нужно!
  15. благодарю что ответили, выход 0-10В не очень радует, поскольку необходимо не стыковаться паровозиком к прибору через разные примочки, а хотелось бы сделать функционально-законченное решение ... вот и требуется грамотно взять аналоговую часть и прикрутить АЦП, затем разумеется будет проводится калибровка поддиаппазонов прибора на "эталонном" и создаваться таблица поправочных коэффициентов. На форуме просто спросил, мало ли кто постоянно практикует аналоговую схемотехнику ...
  16. Добрый день, может кто из спецов по аналоговой схемотехнике может оказать помощь? задача в следующем ... есть схема (см вложение) от вакуумметра ВМБ-14, необходимо взять измерительный тракт (см. картинку) чтобы получить линейный выход и затем я подключу к АЦП микроконтроллера. Требуется заменить отечественные компоненты на имп. элементную базу ... суть прибора - измерять средний и высокий вакуум в камере, хотел бы процесс автоматизировать, поэтому необходимо прикрутить интерфейс 232-й, поэтому и микроконтроллер ставлю ... поэтому если кто может подсобить, буду очень благодарен ... давно на цифре сижу, аналог уже подзабыл)) vmb-14.pdf
  17. добрый день, а модули б/у или новые? просьба укажите точное наименование ...
  18. Добрый день, хотел у спецов по "сварко-строению" поинтересоваться относительно регенеративного снаббера для IGBT ключей например как реализовано у Липина http://ruslanlipin.narod.ru/svarka_mmakosoynew.html насколько такой подход эффективнее и надежнее по сравнению с классическими RCD снабберами? Может кто уже реализовывал в своих аппаратах ... поделитесь опытом! Заранее благодарен!
  19. Добрый день, требуется опытный программист на С для реализации низкоуровневого ПО на базе STM32F334 семейства, в кратце о проекте: необходимо организовать PID регулятор с замкнутой петлей аппаратно используя внутренний таймер и компаратор/АЦП, срок реализации 3 недели. Конечный продукт где будет использоваться проект - специализированные источники питания. Из интерфейсов которые необходимо будет реализовать - RS-232 и RS-485 (симплексный). Удаленка допустима, но исполнитель должен находится в Москве/МО/Владимирской обл. для возможности проводить периодические встречи. Бюджет: 35т.р., заключается официальный договор подряда и соглашение о не разглашении информации. Возможна выплата аванса. ТЗ готового нет, задачи будут выполняться поэтапно, необходимое железо (Кит) для отладки будет предоставлено заказчиком. Заинтересованным просьба высылать образцы работ (куски кода) для анализа стиля написания ПО на почту: furia(dot)fly(гав-гав)gmail.com
  20. Добрый день, предлагаю ус-во - киловольтметр электростатический С100 (см. вложение), приборчик специфический поэтому предложения по ценам в ЛС. территориально - Петербург, отправим ТК в регионы за счет покупателя.
  21. да, Вы правы ... за 100 баксов мое рук-во не станет разговаривать, проще отложить на склад, увы!
  22. благодарю за развернутый ответ ... на сегодня какой может быть цена на подобное оборудование, как Вы считаете? нахожусь во Владимирской обл., г.Александров
  23. Добрый день, есть возможность реализации двух комплектов анализаторов спектра: 1) С4-49 с блоком Я4С-52; 2) С4-27 с блоком СВЧ есть ли вообще спрос в подобном оборудовании и какова может быть цена? Давно мы его не используем, но состояние рабочее! Заранее благодарен, Роман.
×
×
  • Создать...