80C51GB

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: 80C51GB

Сообщение МитяРа »

Мя с Кейлом конечно не общался, но подходы у всех программ одинаковые, посему могу предположить..

Походу он ругается, что регистры уже определены, а судя по цыфре 15 в скобках, ошибка произошла на 15-й строчке программы..

Выложи сюда листинг программы, это файл с именем, как у твоего ассемблерного файла и расширением .lst..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Аватара пользователя
seedbutcher
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пн окт 10, 2011 19:47:06
Откуда: Екатеринбург

Re: 80C51GB

Сообщение seedbutcher »

я думаю, он ругается, что в этом файле еще раз определены регистры, которые он и так знает
Вложения
adc.rar
(5.58 КБ) 159 скачиваний
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: 80C51GB

Сообщение Ser60 »

Напишите еще каким IDE пользуетесь. К вечеру выложу проверенную программу под Silabs IDE и Keil
Аватара пользователя
seedbutcher
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пн окт 10, 2011 19:47:06
Откуда: Екатеринбург

Re: 80C51GB

Сообщение seedbutcher »

Ser60 писал(а):Напишите еще каким IDE пользуетесь. К вечеру выложу проверенную программу под Silabs IDE и Keil
кроме Keil v4.22 ничего. Ну еще Silabs IDE установлен, но там ведь нет симуляции как я понял
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: 80C51GB

Сообщение МитяРа »

Как мя понял, он ругается только на определения регистров которые есть в "классике-51"..
В Металинке тоже были проблемы с "прикручиванием" СиЛабсовских определений регистров и там мя просто сначала командой выключил стандартные определения, а потом включил конкретный файл определений:

Код: Выделить всё

$NOMOD
$INCLUDE(F300.inc)
Может у Кейла тоже подобное есть.. Попробуй написать:

Код: Выделить всё

$NOMOD
$INCLUDE (C8051F020.inc)
Или, как вариант, там в папке примеров есть пример на Асме для F020-го.. Можно попробовать взять его, как "рыбу" и вписать в него твою собственно программу, а всю шапку и определения, оставить, как есть..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: 80C51GB

Сообщение BOB51 »

ммм... насчет Keil а... не пользовался, а вот в том же c51asm.exe от атмела (синтаксис содран с Keil по инструкции пользователя ) предусматривается определение регистров РСФ по собственному усмотрению - добавляй чего тебе надобно (в разумных пределах) и ругаться не будет... неплохо с редактором dpad уживается... до силапсей пока дело не доходило - смд да и программатор... не "народные", а вот с обычными mcs51 уже давно на атмеловском асме работаю - не глючный и бесплатный :beer:
Реклама
Аватара пользователя
seedbutcher
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пн окт 10, 2011 19:47:06
Откуда: Екатеринбург

Re: 80C51GB

Сообщение seedbutcher »

Спасибо за $NOMOD)
Посмотрел в Silabs IDE, там в начале файла было $NOMOD51.
Ошибок пока не выдает, сейчас буду пробовать.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: 80C51GB

Сообщение BOB51 »

кстати, *.inc там тоже прилагаются, как шаблоны конкретных ИС, но для РСф есть еще собственное определение - можно подходящий шаблон подключить и в основном файле задать определение нужных "добавок" (или их как подключаемые файлы изготовить - но только при условии, что все существенные определения будут сделаны до остального текста программы)
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: 80C51GB

Сообщение МитяРа »

seedbutcher писал(а):Ошибок пока не выдает, сейчас буду пробовать.
Давай, отпишись потом, что получилось..
BOB51 писал(а):на атмеловском асме работаю - не глючный и бесплатный
А ИДЕ-шник от Цугнала с Металинком - тоже "не глючный и бесплатный".. :)))

BOB51, приветствую !!! Куда запропал?
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: 80C51GB

Сообщение BOB51 »

бррр... достали передовые технологии... :cry: народ кинулся на STM/ARM - завидющие кристаллы... платка программатора в продаже недорого появилась... заманчиво вроде... помыкался-потыкался поглядел на финансовую часть (расходы на освоение/доходы по результатам применения)... плюнул на енто дело и решил додавить оставшиеся в "запаснике" PIC18 !!! :roll:
кстати, при повторном анализе материала узрел интересную изюминку - у 18-х, в отличии от младших, регистр wreg является физическим регистром в области РСФ, что позволяет использовать его в командах в позиции f ... весьма полезная новинка 8)
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: 80C51GB

Сообщение МитяРа »

BOB51 писал(а):весьма полезная новинка
Новое, это "недочитанное" старое.. :)))
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
seedbutcher
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пн окт 10, 2011 19:47:06
Откуда: Екатеринбург

Re: 80C51GB

Сообщение seedbutcher »

Продираясь сквозь Keil уперся в такое дело:
хочу сконфигурировать внутренний генератор, а получаю установку флага сброса контрллера MCDRSF.
Сброс происходит после MOV OSCICN, #10000111b.

Код: Выделить всё

$NOMOD51
$INCLUDE (C8051F020.inc)
	
jmp Main

ORG	 30H	
USING 0 

main:

            mov   WDTCN, #0DEH            ; disable watchdog timer
            mov   WDTCN, #0ADH

MOV OSCICN, #10000111b

MOV REF0CN, #00000011b


IFRDY_wait:
MOV A, OSCICN
JNB ACC.4, IFRDY_wait

MOV ADC0CF, #10000000b
MOV AMX0CF, #00H
MOV AMX0SL, #00H
MOV ADC0CN, #10001101b

sjmp $ 
END

Вроде разобрался. Надо было писать MOV OSCICN, #097Н, а не #087H, чтобы сразу и запустить внутренний генератор.
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: 80C51GB

Сообщение Ser60 »

Директива NOMOD51 не нужна, если использовать стандартный INC файл (Ваш случай).
Программу следует поместить начиная с адреса 0xB3, т.е. после таближы прерываний.
Внутренний генератор можно запускать инструкцией ORL OSCICN, #0x83

$include (C8051F020.inc)

CSEG AT 0
ljmp Main

ORG 0xB3
USING 0

main:
Аватара пользователя
seedbutcher
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пн окт 10, 2011 19:47:06
Откуда: Екатеринбург

Re: 80C51GB

Сообщение seedbutcher »

Ser60 писал(а):Директива NOMOD51 не нужна, если использовать стандартный INC файл (Ваш случай).

в том то и дело, что если эту директиву не писать, то Keil выдает ошибку о том, что 2 раза объявляются порты и некоторые регистры. файл с листингом, если не писать NOMOD51, я выкладывал немного выше
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: 80C51GB

Сообщение Ser60 »

Просмотрел Ваш листинг и обнаружил, что в отличии от Вас у меня директива NOMOD51 интегрирована в командной строке компиляции проекта, поэтому в коде она мне и не нужна.

Код: Выделить всё

Invoking project defined assembler.
C:\SiLabs\MCU\Keil\C51\BIN\A51.EXE "test.asm" XR GEN DB EP NOMOD51 INCDIR(C:\SiLabs\MCU\Inc) 
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: 80C51GB

Сообщение Ser60 »

МитяРа писал(а):А ИДЕ-шник от Цугнала с Металинком - тоже "не глючный и бесплатный"..
МитяРа, я хотел-бы попробовать Ваш IDE. Не подскажете где его взять?
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: 80C51GB

Сообщение МитяРа »

У мя вот ещё вопрос, в Металинке используется запись, например:

Код: Выделить всё

mov   WDTCN, #0DEH
а у Кейла, видел типа Си-шных записей:

Код: Выделить всё

mov   WDTCN, 0x0DE
хотя в примерах seedbutcher приводит для Кейла тоже Металинковскую запись..
Или у Кейла можно указать, какой тип записи используется? :dont_know:
Ser60 писал(а):Не подскажете где его взять?
Сцилка на Цугналовский сайт ведёт на СиЛабс, но сами ИДЕ-шники у мя есть, версий 1.3, 1.5, 1.6..
Версия 1.3, которой мя пользуюсь была последней, в которой использовался Металинк ассемблер, а потом они на Кейл перешли..

Отписал в ЛС..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
seedbutcher
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пн окт 10, 2011 19:47:06
Откуда: Екатеринбург

Re: 80C51GB

Сообщение seedbutcher »

Или у Кейла можно указать, какой тип записи используется?
хммм... ничего специально не указывал. А такой записью пользовался во Franklin. вот и привык
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

Re: 80C51GB

Сообщение IM1 »

МитяРа писал(а):У мя вот ещё вопрос, в Металинке используется запись, например:

Код: Выделить всё

mov   WDTCN, #0DEH
а у Кейла, видел типа Си-шных записей:

Код: Выделить всё

mov   WDTCN, 0x0DE
хотя в примерах seedbutcher приводит для Кейла тоже Металинковскую запись..
Или у Кейла можно указать, какой тип записи используется?
Кейл не привередничает и одинаково хорошо воспринимает оба варианта представления 16-ричных чисел. Так что, пишите как Вам удобнее.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: 80C51GB

Сообщение МитяРа »

IM1 писал(а):пишите как Вам удобнее.
Да мя не на Кейле пишу.. :))

Самих Ассемблеров для МК51 перепробовал туеву хучу..
Самый первый был XASM51, ещё на Роботроне-1715 под СР/М.. Но, как потом выяснилось, он неправильно кодировал команду десятичной коррекции..
Пока это понял, провозился неделю.. :twisted:

потом ещё куча всяких была перепробована, да всё чем-то, да не устраивало.. В основном, все не понимали русских комментариев и в листинге "гадили" неимоверно..

Потом, нашёл Металинк, ешё первую версию, а потом, вышел на Цугналовский ИДЕ-шник, там Металинк - по умолчанию использовался..

А запись непосредственных через #, это Интелловская мнемоника, она во всех ихних ассемблерах присутствует..
Первый ассемблер был для i8080, так, что переход на 48-й и 51-й прошёл легко...
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»