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

Vaho1967

Members
  • Постов

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

  • Посещение

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

  1. по амплитуде... разные на 7 ноге 3-4 вольта вместо 11 и периодически срыв генерации (только на 7 ноге) при отпаянных полевиках а почему не будет.. из-за отсутствия напруги на 6 ноге??? я измерения проводил относительно 6 ноги на 7 выводе из-за кондера вольтдобавки может быть беда такая??? я, правда разные пытался ставить - не помогает ща попробую и схему накидаю.
  2. Здравствуйте! Подскажите кто нить... делаю БП на 2153D схема стандартная (стандартное включение микрухи столкнулся с такой штукой... импульсы открытия на мосфеты имеют разную величину по амплитуде (частота 53кГц) все перепробовал, даже мосфеты выпаивол, все равно по осцилографу импульсы разные что такое мож быть... а то я уж в нечистую начинаю верить
  3. весь текст оч. длинный .... около 3кб да и не доделан еще .... это куски проги, где ацп применяется проц - мега8 пробовал по разному: 1 при инициализации ацп ставил сразу как надо для проверки (5В и 1,22В) далее перед измерением контрольная точка останова, затем запуск процедуры и контрольная точка останова по прерыванию от АЦП другие варианты, но суть та-же - контрольные точки останова (ADC посмотреть) ...попробую че-нибудь короткое сочинить на эту тему и опробовать в разных атладчиках
  4. да... извините ...ща срисую кусок проги... это кусок конфигурации АЦП .....; конфигурируем АЦП0 ldi r21,$8E ;ацп-вкл, режим одиночный, прерывание разрешено,частота 8/64=125кгц out adcsr, r21 ;конфигурируем ldi r21, 0 ;опорник внешний, выравнивание вправо, канал 0 out admux, r21 ldi r21, $90 ; режим снижения шумов АЦП out mcucr, r21 ;конфигурируем clr r21 sei ;конец конфиг ацп .... далее кусок для запуска... .....iztem:;подпрограмма обработки измерения температуры push r16 push r17 ; начало процедуры измерения темп sbi adcsr, adsc ;начинаем измерение sleep mov r24, r16 ;младший байт mov r25, r17 ;старший байт темп sbi adcsr, adsc sleep add r24, r16 ;складываем оба значения adc r25, r17..... Далее идет обработка значений... ну и обработка прер... ...aadc:;подпрограмма обработки прерывания АЦП in r16,adcl ;чтение младшего байта in r17, adch reti.... теперь действия... на этапе конфигурации или перед запуском АЦП вручную устанавливаю биты в атмел студио 7 refs - 11 или 01 (5В или 2,56В) биты mux - 1110 - вход напряжения1,22В на выходе регистры ADC в атмел всегда нули...
  5. Вопрос от чайника! про АЦП Здравствуйте всем! вопрос нерешаемый (пока) появился... пишу програмулину, в которой задействован АЦП (мега8) необходимо измерение температуры... прога вроде простая - все по книжке , везде описана... я её написал и решил протестить.. писано и тестино в атмел 7 для тестирования проги (т.к. в ней нет реальных напряжений) вставил конфигурацию АЦП, при которой опорник - внутренний (2,56 или 5 вольт(битами кодируется), а напряжениеизмерение тоже внутреннее (1,22в,- тож битами кодируется) при тестировании в отладчике (атмел7) на выходе в регистрах пустые значения... не пойму в чем дело: то-ли отладчик тупит, то-ли сам дурак... перепробовал все (что придумал) - конфигурации менял - толку ноль... мож кто сталкивался.... или отладчик такой...
  6. спасибо, Members, я все понял... учимся ... с этим (call. jmp) тож разобрался ...
  7. все!!! вроде разобрался ...почти... заработало при включении в регистрах мусор вкючил в прогу код очистки памяти и все заработало... есть вопрос только не пойму пока ковырялся - менял инструкцию call на jmp при выводе значения ( старожил говорил извращение, я пробовал поменять...) так вот c call работает, а вот с jmp нет - перестает включаться обработчик прерывания Т0 с этим пока не разобрался
  8. 1. тактирование одинаковое (я для пробы внутреннее 1 МГц оставлял - т.е. ничего менять не надо было в фьюзах) 2. R31 нулевой всегда здесь - потому не трогал но все равно спасибо - щас замечания погляжу внимательно у меня вопрос тогда - по прерыванию переполнения надо вывод на индикацию проще вроде через салл (пожно и jmp.. ща попробую еще вопрос - чем съеденный такт может повредить обработке и выполнению... ну чуть дольше будет но вроде виснуть не должен попробовал вместо call - rjmp - тоже самое тут можно файлы вставлять??? я не смог хотел архив проекта вставить
  9. Здравствуйте всем! Нужна помощь - не могу разобраться... первая попытка программирования мк - блин комом для первого эксперимента по программированию нарисовал прогу простейшую (в АС7) проверка на симуляторе (АС7) показала работоспособность программы нарисовал в протеусе схему - эмуляция тож показала работоспособность проги начал пробовать программировать МК (мега8а)... а она не работает прикладываю прогу: .include "m8def.inc" ; Используем ATMega8 .list ;= Start macro.inc ======================================== ; Тут будут наши макросы, потом. ;= End macro.inc ======================================== ; RAM ===================================================== .DSEG ; Сегмент ОЗУ ;.org 0x00060 ;перепрыгивыаем область регистров (для мега8- 60) .org sram_start ;то-же самое но дерективой для любой МК perem1: .byte 2 ; определена метка слова данных (2 байта) .org 0x00100 perem2: .byte 2 ; EEPROM ================================================== .ESEG ; Сегмент EEPROM ;globaldata: db 10 ;определена метка в нестираемой памяти (10 байт) ; FLASH =================================================== .CSEG ; Кодовый сегмент.ORG 0x0000 начало таблицы векторов RJMP Start1 ;перепрыгиваем таблицу векторов.вектор 0 reset reti ;rjmp iiaddr1 ;внешнее прерывание 0 (вектор 1) reti ;rjmp iiaddr2 ;внешнее прерывание 1 (вектор 2) reti ;совпадение таймера/счетчика Т2 (вектор 3) RETI ;переполнение таймера/счетчика Т2 (вектор 4) RETI ;захват таймера/счетчика Т1 (вектор 5) RETI ;совпадение (А) таймера/счетчика Т1 (вектор 6) RETI ;совпадение (В) таймера/счетчика Т1 (вектор 7) RETI ;переполнение таймера/счетчика Т1 (вектор 8) rjmp timer00 ;переполнение таймера/счетчика Т0 (вектор 9) RETI ;передача по SPI завершена PI,STC ;(вектор 10) RETI ; USART прием завершен USART,RXC ;(вектор 11) RETI ; регистр данных USART пуст USART,IDRE ;(вектор 12) RETI ; USART передача завершена (вектор 13) RETI ; преобразование АЦП завершено (вектор 14) RETI ; EEPROM готово (вектор 15) RETI ; аналоговый кампаратор ANA_COMP ;(вектор 16) RETI ; прерывание от модуля TWI (вектор 17) RETI ; готовность SPM (вектор 18) .ORG 0x00050 ; пустое место до 100 vivdata: .db $6,$5b,$4f,$66,$6d,$7d,$7,$7f,$5f,$3f .ORG 0x0070 ; Начало основной программы Start1: LDI R16,Low(RAMEND) ; Инициализация стека загрузка в р16 верха озу младший байт OUT SPL,R16 ; Обязательно!!! загружаем в стековый регистр младший байт ldi r16, high (Ramend) ;загружаем в р16 старший байт верха озу out sph, r16 ;загружаем в стековый регистр старший байт ;конфигурируем выводы порта d на выход ldi r21,$ff out ddrd, r21 ;порт d выход ldi r21,$80 ;в начале нулевые значения out portd, r21 ;все выключено (0) ;конфигурируем выводы порта b ldi r21, 0b11001011 ;выводы прерываний 0 и 1 на вход, остальные на выход out ddrb,r21 ldi r21, 0b00110100 ;выходы 0, входы с подтягивающими резисторами out portb, r21 ;конфигурируем таймер/счетчик 1 ldi r21, 1 ;разрешаем прерывание от Т0, остальные запрещаем out TIMSK, r21 ; конфигурируем ldi r21, 0b0000101; устанавливаем пределитель Т0 на 1024 out tccr0, r21 ; конфигурируем ldi r20, 00 ;регистр 20 делитель таймера на 4 ldi r22,0 ;регистр 22 текущее значение и начальный бит включения диода ldi r23, 4 ;регистр 23 переменная делителя таймера ;ldi r30, $9f ;add r30, r23 ;lpm r24,z ;out portd, r24 ;включаем индикацию начальной скорости sei ;разрешаем прерывания st1:nop ;конец начальной конфигурации rjmp st1 ; ожидаем прерывания timer00: in r1, sreg push r1 cp r20,r23 ;если менее 4 в рег 20, пропускаем переход и увеличиваем рег 20 brne st5 rcall viv st5:inc r20 pop r1 out sreg, r1 reti viv: ;вывод индикациии после изменения clr r20 ldi r30, $a0 add r30, r22 cpi r22, $a brne st6 clr r22 rjmp st4 st6:inc r22 st4:lpm r24,z out portd, r24 ;включаем индикацию начальной скорости ret .... прога вырезана для пробы у уменьшена из другой для пробы программирования она последовательно зажигает цифры на индикаторе (3 шт) от 1 до 9 и далее с начала при загрузке предварительно зажигаются точки на индикаторе в протейсе и эмуляторе АС7 все ОК на плате сначала зажигаются точки, а потом вместо перебора цифр зажигаются все диоды на индикаторе и ничего не меняется (зависает) причем как на паяной плате, так и на программаторе запись вроде в норме (сохранял записанный файл из МК и дизассемблировал ... вроде все ок мож кто подскажет по проге гдето явно косяк сам не вижу чотел проект вставить - не получается Хз как тут файлы (архивные вставлять
  10. я тож только начал изучать МК Кстати остановился на семерке (плюс еще версия 4.2 для дизассемблирования) в 7 версии это не работает (очень жаль) могу посоветовать также http://easyelectronics.ru/category/avr-uchebnyj-kurs очкнь приличная подборка по АВР, причем написана неплохо это, конечно, в дополнение к вышесказанному потихоньку обучаясь накатал уже 4 мелких проекта (светодиоды, и даже уже индикация цифровая) если кому надо - пришлю программировать пока нечего, так что обкатывал в протеусе
  11. Здравствуйте! Решил заняться программированием МК… На этом замечательном сайте нашел много полезной инфы, особенно новичку… Но вопросов, как всегда, больше чем ответов... Установил я Атмел студио 7, изучаю потихоньку, со скрипом — видимо прога новая и конкретики мало по 7 в инете Такой вопрос, мож кто поможет Не получается загрузить нех файл для дизассеблирования и анализа хочу разобраться в работе контроллера, на готовой рабочей программе - паяльной станции т.е. есть рабочий нех файл, он открывается в атмел 7, но дизассемблирование невозможно произвести, вернее я не знаю как сделать… подскажите пож…, если вообще это возможно… в инете писали, что студия 6 вроде позволяет, на радиокоте даже описание нашел, но в 7 нет возможности…
×
×
  • Создать...