Пост N: 202
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 13.08.07 12:45. Заголовок: Re:
Alberto пишет:
цитата:
об этом написано на странице 200 даташита
Так вот здесь я и просмотрел! Alberto пишет:
цитата:
Но сбрасывать сторожевой таймер все-таки надо
В этой программке он выключен. Рабочий вариант для демонстрации вывода в LCD: http://slil.ru/24730908 Кстати, давно хотел поинтересоваться у посетителей форума: кто пользовался программой PIC18 Simulator IDE или PIC Simulator IDE? Как в программе прикрутить LCD?
Пост N: 251
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
1
Награды:
Отправлено: 13.08.07 13:07. Заголовок: Re:
Я иногда пользуюсь PIC Simulator IDE, но у меня старая версия и там нет 18-ой серии. А с другой стороны, не все что работает в симуляторе, работает в железе, и наоборот... Так что я предпочитаю железо. Есть описание PIC Simulator IDE на русском, завтра скину.
Пост N: 253
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
1
Награды:
Отправлено: 13.08.07 14:17. Заголовок: Re:
Подключение ЖКИ опишу сейчас: 1. в меню Tools выбираем LCD Module. 2. В LCD Module нажимаем Setup. 3. Делаем клик мышкой по LCD Type и на цифровой клавиатуре выбираем 0, 1, 2 и т.д. по требованию, Ok. 4. Клик по Data Lines и выбираем нужный порт. 5. В Interface на цифровой клавиатуре нажимаем 1 (4 старшие бита), Ok. 6. В RS Line выбираем порт и номер линии. 7. В E Line то же самое Нажимаем Apply и можно пользоваться.
Пост N: 255
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
1
Награды:
Отправлено: 13.08.07 15:54. Заголовок: Re:
Я стараюсь придерживаться стандартной процедуры, т.к. не все модули ЖКИ работают с урезанными процедурами инициализации, но если устройство будет в единичном экземпляре, то можно делать под конкретный модуль.
Нужно записать в 8 ячеек EEPROM. данные из 8 регистров. Косвенная. Стандартная процедура, но нервы попортила. 877 Пишится только 1 ячейка, потом во всех одинаковые значения из первой ячейки. В симуляторе все на ура. С отладчиком в пошаговом режиме тоже отлично. На реальном режиме начинается проблемы. Если дописываю проверку записи, крить можно до утра. Все проверяет. Решение пришло методом проб. Объяснить не смог. Суть в том, что добавил задержку. (Выделено) Подбирал. Работает как утюг. Почему? ;------------------------------------------------------------------------------------ ; запись из BCD в память (с 0 ячейки) ;------------------------------------------------------------------------------------ zapis_f clrf c_epp u_1 movf c_epp,w ; указать адрес ячейки ( в ADDR должен быть адрес) bcf STATUS,RP0 bsf STATUS,RP1 ; BANK2 movwf EEADR addlw BCD_0 movwf FSR movf INDF,W movwf EEDATA ;записать BCD_0 в регистр данных call zap clrf STATUS call zap_PROBA incf c_epp incf Count movlw 8 subwf c_epp,w btfss STATUS,Z goto u_1
Пост N: 1211
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
2
Фото:
Отправлено: 24.11.09 15:39. Заголовок: С утра бьюсь над зап..
С утра бьюсь над записью во FLASH память программ в PIC16F873A. (стр.43-48 русского перевода даташита PIC16F87X). Не получается. Процедура считывания проходит нормально, а запись нет. Работаю с PicKit2. Флаг WRERR регистра EECON1 никак не хочет опускаться. Ориентируюсь на него, потому, что он сообщает о том, запись завершена или прервана. Кто нибудь пробовал такое дело?
Пост N: 1212
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
2
Фото:
Отправлено: 24.11.09 16:06. Заголовок: Вместо 16F873A пост..
Вместо 16F873A поставил 16F873. И всё заработало. Теперь память программ изменяется из самой программы. Но почему с буквой "А" не работает? это мне нужно, для подключения нескольких (более 20) датчиков DS18 на один порт. Прописывать индивидуальные коды датчиков намертво в программе как то не гибко. А вдруг придётся заменить. Считывать и забивать в EEPROM - так там места не хватит. А вот считывать и забивать средствами самого PICa в его же программу - самое что надо.
И вообще 873А какой то глюкнутый. Если 873 прошивается в отладчике с первого раза, то 873А со второго а то и пятого раза и то после перезагрузки отладчика.
Пост N: 85
Зарегистрирован: 20.10.08
Откуда: Россия, Горно-Алтайск
Рейтинг:
0
Отправлено: 24.11.09 17:58. Заголовок: Однажды пытался вмес..
Однажды пытался вместо 873а использовать 876а, include прописывал, в программаторе всё указывал, - но работало криво, на индикаторах периодически проскакивали глюки. Так и не разобрался в причине сбоев, использовал 873а, с ним всё в норме. Так что трудно бывает объяснить происходящее. Кстати в MPLAB 8.36 не обнаружил файла р873a.inc, брал с другого MPASM
Пост N: 975
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
2
Фото:
Отправлено: 24.11.09 18:07. Заголовок: igor пишет: Так ком..
igor пишет:
цитата:
Так компаратор же по умолчанию отключен.
Его все равно надо отключить. Я в свое время бился с запуском, контроллер не запускался. Пока не отключил модуль компаратора, не запустил, у тебя хоть запускается. Попробуй... Я в свое время записывал в память программ на 876А, все было без проблем. Делал по даташиту, проблем не возникло...
Алексей, какое слово конфигурации писал не скажешь. У 873/876А биты защиты изменились по сравнению с 873/876. У меня описание только на контроллеры без буквы А.
Пост N: 976
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
2
Фото:
Отправлено: 24.11.09 19:05. Заголовок: igor пишет: У 873/8..
igor пишет:
цитата:
У 873/876А биты защиты изменились по сравнению с 873/876.
По рускоязычному даташиту на 873/876, тоже без А. А в чем проблема скачать даташит с буквой А? Хотя лично я еще даже не заглядывал в них, разве что только на модуль компаратора, да и то работал с ним по даташиту на 628А кажется... Ниче, вроде работает.
Пост N: 977
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
2
Фото:
Отправлено: 24.11.09 19:15. Заголовок: А так почти всегда с..
А так почти всегда ставлю так __config 3F39 или 3739 если режим отладки не нужен. Подходит в подавляющем большинстве случаев при отладке. После если надо меняю.
Отправлено: 24.11.09 23:54. Заголовок: А вот как пошла запи..
А вот как пошла запись, так и задержку. Потом все ок, не разу сбоев не было. zapic bsf STATUS,RP1 ; bsf STATUS,RP0 ; BANK3 btfsc EECON1,WR ; проверить завершение операции запись goto $-1 bcf EECON1,EEPGD ; выбрать ЕЕPROM bsf EECON1,WREN ; разрешить запись bcf INTCON,GIE ; запретить прерывание movlw 0x55 movwf EECON2 movlw 0xAA movwf EECON2 bsf EECON1,WR ; запись bcf EECON1,WREN ; запретить запись clrf STATUS call zad_ee ; ЗАДЕРЖКА 40МС
Вставил задержку - не помогает. Увеличил - тоже самое. Без буквы "А" работает без всяких задержек. С буквой, не хочет. Я уже и слово конфигурации десять раз менял. какая то.
Пост N: 86
Зарегистрирован: 20.10.08
Откуда: Россия, Горно-Алтайск
Рейтинг:
0
Отправлено: 25.11.09 09:03. Заголовок: Всё таки попробуйте ..
Всё таки попробуйте отключить компараторы - семёрку в CMCON и если не используете АЦП, то назначьте цифровые каналы вв\выв. в АDCON1. О замене на 876а писал выше.
Пост N: 689
Зарегистрирован: 27.04.07
Откуда: Россия, Воркута
Рейтинг:
0
Фото:
Отправлено: 26.11.09 12:14. Заголовок: Возьми ещё один с бу..
Возьми ещё один с буквой А и с ним попробуй, станет более менее ясно. Я уже говорил, что у меня 876А вообще не прошивается, он шёл вместе с отладчиком ICD2. Так я его не стереть, не прошить немогу. Покупал новый, с новым без проблем.
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет