всем доброго времени суток.
в радиоделе не новичек, кое-что знаю, но вот попался мне в руки плата от телефона с кучей функций. и вот управляет этим делом микроконтроллер от фирмы NEC D75104CW. вопрос такой: как программируется этот зверь? два дня потратил на изучение сайтов про AVR и PIC так и не понял к какому семейству принадлежит указанный МК. раньше с цифрой не имел дело, но есть огромное желание освоить.
Мега32 аппаратный TWI, в даташит сказано, что при установке TWEN в 1
SDA и SCL отключаются от порта.
Можно-ли при включенном TWI писать в порт какое-либо значение (остальные пины используются как IO) установив биты PC0 и PC1 в 1 или 0? То есть не повлияет-ли вывод командой OUT на работу TWI ?
как я понял из "When this pin is used by the Two-wire Serial Interface, the pull-up can still be controlled by the PORTC0 bit"
что только подтягивающим резистором можно управлять?
Пожалуйста, помогите.
Подключаю к восмьмой меге КР531ИР24. К 0-му пину порта B подключен С регистра. К 1-му пину Ресет регистра, а ко 2-му VR(т.е. на VR последовательно подается информация. Ножки регистра, которые отвечают за режим работы разведены на печатной плате. Код следующий:
//инициализайция стека ldi temp, low(RAMEND) out SPL, temp ldi temp, high(RAMEND) out SPH, temp //инициализация портов ввода-вывода ldi temp,0b00000111 out DDRB,temp ldi temp,0x00 out PORTB,temp
//основной цикл begin: push loop1 ldi loop1,255 rcall wait pop loop1 sbi PORTB,reset sbi PORTB,data clock_pulse clock_pulse clock_pulse clock_pulse cbi PORTB,data clock_pulse clock_pulse clock_pulse clock_pulse no: rjmp no //подпрограмма ожидания wait: push loop1 push loop2 //ldi loop1,1 wait1: dec loop1 breq end ldi loop2,255 wait2: dec loop2 brne wait2 rjmp wait1 end: pop loop2 pop loop1 ret
И... не работает! После запуска всей схемы на Q1-Q8 регистра устанавливается напряжение 0.73Вольт, хотя на Q1-Q4 должна быть лог.1, а на Q5-Q8 должен быть лог.0.
что только подтягивающим резистором можно управлять?
В режиме, когда пин работает на ввод подтягивающий резистор обеспечивает активную логическую единицу на входе, то есть как будто от VCC к этой ножке подключен внешний резистор.
Цитата:
микроконтроллер от фирмы NEC D75104CW. вопрос такой: как программируется этот зверь? два дня потратил на изучение сайтов про AVR и PIC так и не понял к какому семейству принадлежит указанный МК.
Указанный МК не принадлежит к семействам AVR и PIC.
Указанный МК не принадлежит к семействам AVR и PIC.
Ну, до этого я тоже дошел. Укажите пожалуйста чайнику хотя-бы в каком направлении мне надо копать чтоб я смог запрограммировать этот МК.
Каким программатором заливать прошивку, какой компилятор использовать? За языком дело не стоит, могу освоить любой.
P.S. Просто валяются без дела несколько микроконтроллеров от NEC, хотелось бы найти им применение.
Укажите пожалуйста чайнику хотя-бы в каком направлении мне надо копать чтоб я смог запрограммировать этот МК. Каким программатором заливать прошивку, какой компилятор использовать? За языком дело не стоит, могу освоить любой. P.S. Просто валяются без дела несколько микроконтроллеров от NEC, хотелось бы найти им применение.
Ядро похоже на 51-е, но сдается мне МК одноразовые и скорее всего перепрошить не получится
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Такая проблема: сделал на плате разводку под ISP, подрубаю 6 проводками к ЛПТ, +5В от компа (гэймпорт), и дальше uniprof начинает глючить, прошивку кусками читает, МК (atmega16) через раз распознаёт. В плате кварц 16МГц, получается на такой скорости и идёт обмен с ЛПТ ? Если МК вынимаю и подвешиваю кварц 5 МГц отдельно от схемы, то прошивается.
Кто наступал на эти же грабли, чего делать ? второй кварц в схему и переключатель кварцов ? Или есть вариант попроще.
Такая проблема: сделал на плате разводку под ISP, подрубаю 6 проводками к ЛПТ, +5В от компа (гэймпорт), и дальше uniprof начинает глючить, прошивку кусками читает, МК (atmega16) через раз распознаёт. В плате кварц 16МГц, получается на такой скорости и идёт обмен с ЛПТ ? Если МК вынимаю и подвешиваю кварц 5 МГц отдельно от схемы, то прошивается.
Кто наступал на эти же грабли, чего делать ? второй кварц в схему и переключатель кварцов ? Или есть вариант попроще.
Разобрался как себе помочь Проект avrusbboot подстроил себе под атмегу16, в общем, загрузчик теперь позволяет шить саму мк прямо по юсб, схему пришлось дополнить только одним выключателем.
Здравствуйте. Не подскажите ссылки на примеры кодов для msp430, а конкретно для использования LEDов. Хочу собрать простенькую гирлянду. Контроллер, JTAG, IAR есть. Просто в этом совсем не шарю. Заранее спасибо.
я хочу оформить несколько своих функций как библиотеку, которую можно подключать и оттуда вызвать нужные функции. Значит мне нужно создать inc-файл или как?
ведь при подключении asm-файла с теми функциями выдает ошибку
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
Подключать можно и *.inc и *.asm. Если при подключении асм файла компилятор ругается, то скорее всего не определены сегменты (директивы: .cseg, .dseg, .eseg) или адреса данных пересекаются.
_________________ Чем дальше, тем больше становлюсь занудой...
Просто одну штуку делаю. Впервые работаю с малыми напряжениями. Вот и интересуюсь.
А эти параметры для большинства контроллеров? Чет я в доке не нашел.. сча еще раз гляну..мож не по глазам.
Спасибо! Удалось подключить АСМ-файл с функциями, но при вызове функции в этом файле из программы программный счетчик переходит на ту функцию, выполняются операторы и после return возвращается на вектор прерываний Reset в моей программе.
Микроконтроллер ATmega8
Вот моя программа:
Код:
.include "m8def.inc" .include "something.asm"
.cseg org 0 rjmp Program Program: rcall InitSteak ;функция инициализации стека ;исполняющиеся операторы reti
А вот библиотека с функциями - файл something.asm:
Код:
.def temp=R16
.cseg .org 6000
InitSteak: push temp ldi temp,high(RAMEND) out SPH,temp ldi temp,low(RAMEND) out SPL,temp pop temp ret
Как сделать, чтобы программный счетчик возвращался к следующему после точки вызова оператору в моей программе?
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
1. у тебя последний оператор reti
2. билиотеку подключай после тела основной программы.
3.для зацикливания программы в конце основной программы используй конструкцию:
Код:
forever: rjmp forever ; после этих строк можешь располагать п/п и ; inc, asm файлы со своими библиотеками. .include "funkc.asm" . . .
ЗЫ: инициализация стека должна выполняться до первого вызова п/п, так что инициализировать стек в п/п не получится по любому.
_________________ Чем дальше, тем больше становлюсь занудой...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения