Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 29.07.2010, 19:40  
BorisVV
Прохожий
 
Регистрация: 29.07.2010
Сообщений: 6
Сказал спасибо: 2
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
BorisVV на пути к лучшему
Вопрос Помогите разобраться с pIC16F84A

Доброго времени суток! Задал преподу наивный вопрос "что лучше PIC или AVR?". Думал услышу что-то вроде того, что "надо знать и то и то", "каждый по своему хорош".В ответ то одназначно сказал что !!!AVR!! На вопрос почему? Предложил мне написать программку для пика следующего плана: С временным интервалом 2 милисекунды происходят прерывания на ноге RB0. как только оно произошло нужно записать в EEPROM 1 или 0 (смотря какой сигнал на второй ноге).
Выкладываю ту часть подпрограммы прерывания по ноге RB0:
INT movwf W_Temp ; стандартные процедуры сохранения регистров W и Status
movf Status,W
movwf Stat_Temp

Proverk btfss PortB,1 ; Если на 2 ноге 0, то в регистр Reristr записывается число 0
goto NOL
movlw .1 ; Если нет ,то в Registr Записывается число 1
movwf Registr
goto WRITEEPR Собственно переходим к записи в ЕЕПРОМ
NOL movlw .0
movwf Registr
goto WRITEEPR
WRITEEPR bcf Intcon,7 ; запрет всех преываний( нужен ли в ПП прерывания?)
incf SS,F ; Прибавить 1 к SS ( Запись начнется со второй ячейки ЕЕПРОМА)
movf SS,W
movwf EEAdr ; Собственно выбираем это адрес
movf Registr,W
movwf EEData ; Записываем
bsf Status,RP0
bsf EECon1,2 ; Стандартные процедуры записи
movlw 055h
movwf EECon2
movlw 0AAh
movwf EECon2
bsf EECon1,1
bcf EECon1,4
EndInt bcf Intcon,1
movf Stat_Temp,W
movwf Status
swapf W_Temp,F
swapf W_Temp,W
retfile

START clrf Intcon ; Запрещаем все прерывания
bsf Status,RP0 ; Первый банк
movlw .3 ; записываем в W число 0000 0011
movwf TrisB ; Соответсвенно RB0 и RB1 работают на вход.
movlw .64 ; Записываем в W 0100 0000
movwf OptionR ; Преывания по переднему фронту 0/1 включены
bcf Status,RP0 ; Переходим в нулевой банк
movlw .1 ; За писываем 1 в реистр SS(название от балды) нужен
movwf SS ; мне в далнейшем для последовательной записи в адреса EEPROM
Pause1 movlw .245 ; закладываю паузы для ожидания прерываний.
movwf SecH
movlw .255
movwf SecL
;************************************************* ***********************************************
movlw .144
movwf Intcon ; Записываю число 1001 0000( разрешаю глобальные и прерывания по RB0)
Pause decfsz SecL,F ; Собственно ожидаю этого прерывания
goto Pause
incfsz SecH,F
goto Pause
goto Pause1 ; Если прерывания не произошло то снова закладываем паузы и ждем
end
Все вроде как правильно..Только один момент. Если даже использовать ТИп генератора HS и частоту 10 Мгц то, если верить Mlab на выполнение ПП INT( c INT по retfile) требуется 12.4 милисекнды по таймеру!!!!! а должно быть не больше 2-х!!!!!!!!!!!!Вопрос Подскажите пожалуйсто как это можно решить??
Реклама:
BorisVV вне форума  
Непрочитано 29.07.2010, 19:54  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Помогите разобраться с pIC16F84A

Цикл записи во внутреннюю EEPROM длится 4 ms (макс. 8 ms). Как вы будете успевать записывать туда с интервалом 2 мс??? Делайте буфер на x значений в RAM, как только он заполнится заполняйте EEPROM.

PS. И нет retfiLe, а retfie.

Последний раз редактировалось realid; 29.07.2010 в 20:03.
realid вне форума  
Непрочитано 29.07.2010, 21:03  
BorisVV
Прохожий
 
Регистрация: 29.07.2010
Сообщений: 6
Сказал спасибо: 2
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
BorisVV на пути к лучшему
По умолчанию Re: Помогите разобраться с pIC16F84A

Понял. А не подскажите при использовании внешней еепрмом запись происходит быстрее или медленне чем во внутреннюю?
BorisVV вне форума  
Непрочитано 29.07.2010, 21:38  
AJScorp
Почётный гражданин KAZUS.RU
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Помогите разобраться с pIC16F84A

Если нужно что-то быстро или часто сохранять - внешнее ОЗУ с батарейкой(ионистором), либо FRAM. Если медленно и редко - внутренняя или внешняя ЕЕПРОМ.
AJScorp вне форума  
Непрочитано 30.07.2010, 12:47  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Помогите разобраться с pIC16F84A

Сообщение от BorisVV Посмотреть сообщение
В ответ то одназначно сказал что !!!AVR!! На вопрос почему?
ИМХО в СНГ, слово ЛУЧШЕ это синоним слова ДЕШЕВЛЕ.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Помогите разобраться с генератором igor1000 Электроника средств транспорта 10 05.07.2010 12:53
Помогите разобраться в схеме микросхемы koiah Электроника - это просто 85 14.05.2010 17:53
Помогите разобраться с прошивкой Edinolichnik Микроконтроллеры, АЦП, память и т.д 5 26.04.2010 22:24
Помогите разобраться с работой ЖКИ Gonchar Микроконтроллеры, АЦП, память и т.д 8 23.04.2010 17:45
Помогите разобраться с таймером begun Proteus 1 11.04.2010 19:07


Часовой пояс GMT +4, время: 13:49.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot