ок. как всегда, если желаешь хорошо спрятать - положи на самом видном месте:Клапауций wrote:а, как в AVR SPI программно сделать то, что делает пин SS?
Code: Select all
SPCR |= (1<<SPE); // включить SPI
SPCR &= ~(1<<SPE); // выключить SPI
Moderator: Shaos
ок. как всегда, если желаешь хорошо спрятать - положи на самом видном месте:Клапауций wrote:а, как в AVR SPI программно сделать то, что делает пин SS?
Code: Select all
SPCR |= (1<<SPE); // включить SPI
SPCR &= ~(1<<SPE); // выключить SPI
спасибо.piotr433 wrote:Я попробовал построить внешний дисплей для МК-85 с применением USI. Вроде получилось, устройство работает надёжно даже в турбо режиме и при пониженной до 6 МГц тактовой частоте ATtiny.
всё похоже, но за малыми, но существенными отличиями для:piotr433 wrote:Я посмотрел сигналы SHIFT, AD, SYNC логическим анализатором и вот что заметил:
1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
2. спад сигнала SYNC наступает позже чем SHIFT
3. лишние импульсы SYNC
Code: Select all
ЭЛЕКТРОНИКА МК-85
ЗАВ.№ 048817
ДАТА ВЫПУСКА IV 1992 г.
СВОБОДНАЯ РОЗНИЧНАЯ ЦЕНА
СДЕЛАНО В СССР
импульсов SHIFT всегда 8-мь - у меня нет анализатора, но этот факт проверен тремя разными способами:1. шестой короткий (порядка 0.1 микросекунды) импульс SHIFT
ок. это не критично - для меня важен переход сигнала SYNC с "0" в "1", когда переданы два байта.2. спад сигнала SYNC наступает позже чем SHIFT
так и должно быть - линия SYNC для контроллера дисплея по совместительству исполняет W/R для микросхемы RAM.3. лишние импульсы SYNC
Это интересное наблюдение. В статьи "Электроника МК-85": подковать калькулятор упоминается о существовании разных вариантов процессора КА1013ВМ1. Возможно для микросхемы 1013ВГ2 точное количество битов данных не критично и она принимает только первые 5 битов, остальные игнорирует. Но всё-таки, логический анализатор надо иметь. Восьмиканальные клоны Saelae с частотой дискретизации до 24 МГц стоят на eBay 6-7 долларов.импульсов SHIFT всегда 8-мь - у меня нет анализатора, но этот факт проверен тремя разными способами
Некоторые импульсы SYNC не сопровождены последовательным потоком AD, SHIFT.так и должно быть - линия SYNC для контроллера дисплея по совместительству исполняет W/R для микросхемы RAM.
верно.piotr433 wrote:Некоторые импульсы SYNC не сопровождены последовательным потоком AD, SHIFT.
верно - но нигде же не указано, что рисунок - это график с разрывами или нам предоставлен непрерывный временной промежуток.piotr433 wrote:Ещё выдержка из
Code: Select all
//настройки SPI
SPCR = 0;
SPCR |= (1<<CPHA); // SPI mode 1
SPCR |= (1<<DORD); // младший бит первым
SPCR |= (1<<SPIE); // включить прерывание SPI
SPCR |= (1<<SPE); // включить SPI
// обработчики прерываний.
ISR(SPI_STC_vect) { // прерывание SPI - получено 8-мь бит(1 байт).
if (mode_byte == 0) {// первый байт - в переменную "address"
address = ~SPDR - 0x80;
mode_byte = 1;
}
else {// второй байт - в переменную "data"
data = ~SPDR;
SPCR &= ~(1<<SPE); // выключить SPI
mode_byte = 0;
}
}
ISR(INT1_vect) {// прерывание SYNC - SYNC изменился с "0" в "1".
SPCR |= (1<<SPE); // включить SPI
if (address <= 0x68 /*0xE8 - 0x80*/) {LCD_MK85[address] = data; print_screen = 1;} // сложить всё бобро в массив и распечатать массив в экран.
}
Я лишь теперь понял, что сигналы SYNC для дисплея и W/R для ОЗУ - одно и тожеверно.
и, наверняка они сопровождаются параллельным потоком данных по шинам "адрес", "данные" микросхемы RAM
Нет, плата зелёная, дата выпуска III 1991, процессор обозначен Т36ВМ1-2, 9005, ОП-опытный. Но у меня есть ещё другие, я их тоже проверю.Piotr, я более чем уверен, что вы снимали логи с МК-85 с красной платой - т.е. это одна из первых ревизий сабжа.
я угадал?
Замечаний к коду у меня нет, может это действительно аппаратная проблема.цитата из кода: настройки SPI, обработчики прерываний
ок. спасибо.piotr433 wrote:Нет, плата зелёная, дата выпуска III 1991, процессор обозначен Т36ВМ1-2, 9005, ОП-опытный. Но у меня есть ещё другие, я их тоже проверю.
ок. спасибо.piotr433 wrote:Микропроцессор Т36ВМ1-2 датирован 9105 ведёт себя так же. Более поздних у меня нет
Я не спорю, мне просто любопытно.если кто не верит, что на процессоре Т36ВМ1-2 даты выпуска 9204 всегда передаётся 8-бит, то выше я приводил методы проверки.