|
PIC доки и вопросы, вопрос про МК PIC |
|
|
|
Aug 26 2007, 20:10
|
Группа: Новичок
Сообщений: 12
Регистрация: 23-08-07
Пользователь №: 30 013

|
Здраствуйте.
Подскажите пожалуйста какую литературу нужно прочитать чтобы "смочь" программировать пики конкретно PIC16F676. Программировать - подразумевается написать программу на асме(его я знаю) для того чтобы этот контроллер мог считывать показания с датчиков, выводить результат на ЖКИ и посылать управляющие сигналы.
+ Чтобы литература помогла ответить на вопросы: что такое ICSPDAT/ICSPCLK (из его DataSheet'a); почему на пин повешенно аж 4 функции (RA0/AT0/CIN+/ICSPDAT) как использовать его, как используются прерывания в пиках ну и много всяких других вопросов который как я понял о МК в целом.
Микроконтроллеры я никогда до этого не программировал.
Спасибо.
|
|
|
|
|
Aug 26 2007, 20:37
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(fura @ Aug 27 2007, 00:10)  Здраствуйте.
Подскажите пожалуйста какую литературу нужно прочитать чтобы "смочь" программировать пики конкретно PIC16F676. Программировать - подразумевается написать программу на асме(его я знаю) для того чтобы этот контроллер мог считывать показания с датчиков, выводить результат на ЖКИ и посылать управляющие сигналы.
+ Чтобы литература помогла ответить на вопросы: что такое ICSPDAT/ICSPCLK (из его DataSheet'a); почему на пин повешенно аж 4 функции (RA0/AT0/CIN+/ICSPDAT) как использовать его, как используются прерывания в пиках ну и много всяких других вопросов который как я понял о МК в целом.
Микроконтроллеры я никогда до этого не программировал.
Спасибо. Для ЖКИ сей девайс хиловат, хотя при желании можно... ICSPDAT/ICSPCLK - выводы последовательного программирования прямо в схеме. Туда перемычки ставить надо. Программируем - замыкаем. Работаем - размыкаем. Почему на пин повешено 4 функции - надо спрашивать у разработчиков. Вообще-то в конкретном включении используется одна из набора. Все остальное - снижение надежности. Прерывания - одельная песня, ближе к философии. В данном случае - один вектор и программный поллинг. А вообще-то, Вам надо сначала DS освоить, потом поработать в симуляторе MPLABа и большинство вопросов отпадет само собой. Вопрос. Что значит АСМ я знаю? Это как в известном фильме? "Пойду работать переводчиком. А что? Английский я знаю..." И последнее. Плюньте Вы на PIC 16-ой серии. Займитесь сразу PIC24. Там все несколько проще.
|
|
|
|
|
Aug 26 2007, 21:00
|
Группа: Новичок
Сообщений: 12
Регистрация: 23-08-07
Пользователь №: 30 013

|
Цитата(Прохожий @ Aug 27 2007, 00:37)  Для ЖКИ сей девайс хиловат, хотя при желании можно... ICSPDAT/ICSPCLK - выводы последовательного программирования прямо в схеме. Туда перемычки ставить надо. Программируем - замыкаем. Работаем - размыкаем. Почему на пин повешено 4 функции - надо спрашивать у разработчиков. Вообще-то в конкретном включении используется одна из набора. Все остальное - снижение надежности. Прерывания - одельная песня, ближе к философии. В данном случае - один вектор и программный поллинг. А вообще-то, Вам надо сначала DS освоить, потом поработать в симуляторе MPLABа и большинство вопросов отпадет само собой. Вопрос. Что значит АСМ я знаю? Это как в известном фильме? "Пойду работать переводчиком. А что? Английский я знаю..." И последнее. Плюньте Вы на PIC 16-ой серии. Займитесь сразу PIC24. Там все несколько проще.  про асм ну чтобы по асму книжки не советовали. Прo симулятор MPLAB'а: я не понимаю какой пин где и что куда записывать и считывать. Я догадываюсь что все описанно в DataSheet'е, но его я осилить не могу по причине не понимания много чего. Собсно и вопрос задал по этому, где бы найти книжку (или набор доков или метод по которому получается познание) с которой начниают люди. А пики24 они же наверное дороже, такие выбрал по совету человека - сказал и дешевые и лишнего ничего не будет.
|
|
|
|
|
Aug 26 2007, 21:28
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(fura @ Aug 27 2007, 01:00)   про асм ну чтобы по асму книжки не советовали. Прo симулятор MPLAB'а: я не понимаю какой пин где и что куда записывать и считывать. Для начала оставьте пины в покое. Займитесь изучением инструментария. Напишите простейшую программку по сложению, а лучше делению двух чисел и посмотрите на нее в симуляторе. Цитата(fura @ Aug 27 2007, 01:00)  Я догадываюсь что все описанно в DataSheet'е, но его я осилить не могу по причине не понимания много чего. Вот здесь Вам не поможет никто. Независимо от типа процессора. Надо напрячься. Все через это проходили. Так или иначе. Цитата(fura @ Aug 27 2007, 01:00)  Собсно и вопрос задал по этому, где бы найти книжку (или набор доков или метод по которому получается познание) с которой начниают люди. А пики24 они же наверное дороже, такие выбрал по совету человека - сказал и дешевые и лишнего ничего не будет. Дело в том, что 16-е PICи старые, и ничего хорошего Вы от них не дождетесь.С ЖКИ на PIC16F676 работать практически невозможно. А PIC24 поновее будет. Раз Вы начинающий, то Вам все равно. Сравнить цены можно здесь
|
|
|
|
|
Aug 26 2007, 21:53
|
Группа: Новичок
Сообщений: 13
Регистрация: 5-07-07
Пользователь №: 28 914

|
Цитата Прo симулятор MPLAB'а: я не понимаю какой пин где и что куда записывать и считывать. Я догадываюсь что все описанно в DataSheet'е, но его я осилить не могу по причине не понимания много чего. Может Proteus попробовать? Там ничего прописывать не надо. Цитата + Чтобы литература помогла ответить на вопросы: что такое ICSPDAT/ICSPCLK (из его DataSheet'a); почему на пин повешенно аж 4 функции (RA0/AT0/CIN+/ICSPDAT) как использовать его, как используются прерывания в пиках ну и много всяких других вопросов который как я понял о МК в целом. Вот полезные книжки, мне они помогли: Предко М.Справочник по PIC-микроконтроллерам.2002 Шпак Ю.А. Программирование на языке С для AVR и PIC
|
|
|
|
|
Aug 26 2007, 22:09
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(muravey @ Aug 27 2007, 01:53)  Может Proteus попробовать? Там ничего прописывать не надо. Вот уж где гадость. Лучше Proteus не пробовать. Пункт N1 - использование ворованного софта запрещено. А денег это дело стоит конкретных. Пункт N2 - лучше освоить бесплатный MPLAB до тонкостей. Средств для симулирования всяких-разных состояний пинов там более чем достаточно. Пункт N3 - Proteus неоднократно был замечен в неадекватном поведении. Начиная от проблем конвергенции на ровном месте и заканчивая некорректнам поведением модели МК. Пункт N4 - если позволяют финансы, то лучше приобрести ICD2 и отлаживать все непосредственно на "еже".
|
|
|
|
|
Aug 27 2007, 07:20
|

Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266

|
Цитата(Прохожий @ Aug 27 2007, 01:28)  ...Дело в том, что 16-е PICи старые, и ничего хорошего Вы от них не дождетесь... Интересно, а почему тогда вообще Майкрочип их производит? Цитата(Прохожий @ Aug 27 2007, 01:28)  А PIC24 поновее будет. Раз Вы начинающий, то Вам все равно. Правильно! Я Вам предлагаю задуматся сразу о PentiumIV. Раз Вы начинающий и Вам все равно... Цитата(Прохожий @ Aug 27 2007, 01:28)  Почему на пин повешено 4 функции - надо спрашивать у разработчиков. Вообще-то в конкретном включении используется одна из набора. Все остальное - снижение надежности. Надежность всегда снижается, когда не хватает сил на управление наличных ресурсов.  Цитата(Прохожий @ Aug 27 2007, 01:28)  С ЖКИ на PIC16F676 работать практически невозможно. А не подскажете ли поподробнее, почему все мои I/O контроллеры (клавиатура, управляемая подсветка и индикация + серийный интерфейс = 16f676) должны быт "практически невозможные"? Интересно как они вообще умудряются работать?! То что вы не видели ЖКИ, с управлением по I2C ( например эти), не означает что они не существуют в природе. @fura, Вам нужен пояльник, программатор, осциллограф и DS. И упорность! И когда будут конкретные вопросы, получите и толковые ответы. Успехов!
--------------------
УЭР
|
|
|
|
|
Aug 27 2007, 11:30
|
Группа: Новичок
Сообщений: 5
Регистрация: 4-02-06
Пользователь №: 13 986

|
Цитата(fura @ Aug 26 2007, 23:10)  почему на пин повешенно аж 4 функции (RA0/AT0/CIN+/ICSPDAT) как использовать его, как используются прерывания в пиках ну и много всяких других вопросов который как я понял о МК в целом.
Микроконтроллеры я никогда до этого не программировал.
Спасибо. Чтобы один контакт мог выполнять различные функции в зависимости от режима работы (программируется разработчиком). Прерывания используются также как и в любом другом процессоре. Если понимаешь механизм работы, то сложностей с пониманием работы периферийных модулей по прерываниям не возникает. Если нет - начинай с азов компьютерной техники, а именно - как работает процессор. Кстати, даташиты для того и пишутся, чтобы отпало море вопросов, и, к сожалению, это порой единственная достоверная информация по чипу, поэтому умение работать с даташитом - самое главное для разработчика.
|
|
|
|
|
Aug 27 2007, 13:03
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(evc @ Aug 27 2007, 11:20)  Интересно, а почему тогда вообще Майкрочип их производит? Microchip много чего производит. Но начинать с 16-ой серии нежелательно. Ей уже лет 20 как. Цитата(evc @ Aug 27 2007, 11:20)  Правильно! Я Вам предлагаю задуматся сразу о PentiumIV. Раз Вы начинающий и Вам все равно... Дело в том, что архитектура у PIC24, как это ни странно звучит, проще, чем у предыдущих PICов, команды мощнее и понятнее, а цена незначительно отличается от 16-х. Начинать следует именно с него. За систему команд i486 с MMX браться не советую - изучать можно до конца жизни. Цитата(evc @ Aug 27 2007, 11:20)  Надежность всегда снижается, когда не хватает сил на управление наличных ресурсов.  Вот я и говорю, что надо начинать с PIC24. Там вопрос назначения выводов решен несколько красивее и опять же проще. А для тех, кто любит менять назаначение вывода "на лету" предусмотрен сравнительно сложный механизм блокировки и, соответственно, разблокировки назначенного вывода. Интересно, почему? Цитата(evc @ Aug 27 2007, 11:20)  А не подскажете ли поподробнее, почему все мои I/O контроллеры (клавиатура, управляемая подсветка и индикация + серийный интерфейс = 16f676) должны быт "практически невозможные"? Интересно как они вообще умудряются работать?! То что вы не видели ЖКИ, с управлением по I2C ( например эти), не означает что они не существуют в природе. Не знаю. И честно скажу, и узнавать не хочу. Потому как не вижу смысла заниматься извратами на устаревшем ядре при наличии значительно более производительного за те же деньги. А если вспомнить, что системы команд PIC24 и dsPIC30/33 практически идентичны, за исключением DSP ядра, то здесь очевиден потенциал для роста в классе решаемых задач. А советовать начинающему ядро 20-летней давности считаю просто неэтичным по отношению к тому же самому начинающему.
|
|
|
|
|
Aug 28 2007, 08:12
|

Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266

|
Цитата(Прохожий @ Aug 27 2007, 17:03)  Microchip много чего производит. Но начинать с 16-ой серии нежелательно. Ей уже лет 20 как. Угу. А Мерседес ни в коем случае не покупать, ведь они их производят уже больше чем 80! Цитата(Прохожий @ Aug 27 2007, 17:03)  Там вопрос назначения выводов решен несколько красивее и опять же проще. А для тех, кто любит менять назначение вывода "на лету" предусмотрен сравнительно сложный механизм блокировки и, соответственно, разблокировки назначенного вывода. Интересно, почему? Это вы издеваетесь, наверное!  Вы про PIC24? Какой механизм блокировки?!?! Может быт что-то типа кодовый замок на каждой ножке? Нету, конечно, ничего такогого. У 24-х назначение выводов делается, как и у всех остальных ПИКов. Про того что архитектура у 16-битовых контроллеров проще чем у 8-биттовых, вообще не хочу говорит, это и есть доказательство, что нужно изучить буквы прежде чем начинать писать романы. Вообще я не против 24-х, сам с ними вожусь уже 2ой год. Но нельзя стрелять из пушек по воробьям! П.С. Кстати, цена у 16Ф676 - 0,89$. Вы можете мне показать хоть один из 24-х, у которого цена ниже, чем в два раза? Интересно, почему?
--------------------
УЭР
|
|
|
|
|
Aug 28 2007, 21:57
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(evc @ Aug 28 2007, 12:12)  Угу. А Мерседес ни в коем случае не покупать, ведь они их производят уже больше чем 80! Мерседес, как раз покупать, но только модельку поновее, если деньги есть... Точно так же, как и Microchip, но опять же, модельку более новую. А дришпак 20 летней давности даже от Мерседес - сегодня не то. Цитата(evc @ Aug 28 2007, 12:12)  Это вы издеваетесь, наверное!  Вы про PIC24? Какой механизм блокировки?!?! Может быт что-то типа кодовый замок на каждой ножке? Нету, конечно, ничего такогого. У 24-х назначение выводов делается, как и у всех остальных ПИКов. Рекомендую Вам обратиться к литературе - PIC24FJ64GA004 Family Data Sheet (DS39881B). Там есть раздел 9.4. Perepheral Pin Select. Особенно рекомендую обратить внимание на пример 9-2 из вышеупомянутого раздела. А насчет замка Вы почти угадали. Только не на каждой ножке, а на всех сразу. Цитата(evc @ Aug 28 2007, 12:12)  Про того что архитектура у 16-битовых контроллеров проще чем у 8-биттовых, вообще не хочу говорит, это и есть доказательство, что нужно изучить буквы прежде чем начинать писать романы. А то, что программная модель проще - это очевидно невооруженным глазом. 1. Прямоадресуемая память данных (сплошной массив без всяких страниц). 2. Векторная система прерываний с достаточно гибкой и прозрачной системой приоритетов. 3. Система команд ортогональна и симметрична с наличием всех методов адресации, как для операнда приемника, так и операнда источника. 4. Наличие команд целочисленного умножения и деления. 5. Простой аппаратный механизм для поддержки локальных переменных. 6. Наличие специальных команд работы со стеком. 7. Упорядоченная и прозрачная система команд условного перехода. 8. Наличие косвенных переходов. 9. Наличие команд сравнения, не портящих данные, воздействующих исключительно на флаги. 10. 16 - разрядные данные по-любому приятние, чем 8 -разрядные. Иными словами, PIC24 намного ближе к классической модели RISC процессора, чем PIC16. На такой основе можно (и нужно) и буквы выучить и роман написать. Цитата(evc @ Aug 28 2007, 12:12)  Вообще я не против 24-х, сам с ними вожусь уже 2ой год. Но нельзя стрелять из пушек по воробьям! Почему это? Если картечью, то должно быть эффективно. Цитата(evc @ Aug 28 2007, 12:12)  П.С. Кстати, цена у 16Ф676 - 0,89$. Вы можете мне показать хоть один из 24-х, у которого цена ниже, чем в два раза? Интересно, почему? А чего это ради она должна быть ниже? Где это Вы видели BMW-X5 по цене ЗАЗ-968? По ценам рекомендую посмотреть на PIC24FJ64GA002-I/SO за 91.25 руб. В том же месте PIC16F676-I/P и его SOIC вариант стоят одинаково - 39.78 руб. Разница в цене - 2.3 раза. По возможностям же разница намного больше. Если Вы не производите свой продукт сотнями тысяч в год, то на фоне стоимости всего остального (ПП, корпус, остальные компоненты) разница между применением PIC24 или PIC16 не будет играть особого значения.
|
|
|
|
|
Aug 29 2007, 10:14
|

Местный
  
Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266

|
Цитата(Прохожий @ Aug 29 2007, 01:57)  ... Вам лучше политикой заниматься, прохожий! Вы путаете такие основные понятия как архитектура и программная модель! Однажды утверждаете, что разница цен никакая: "значительно более производительного за те же деньги", а потом, в следующем посте спрашиваете "А чего это ради она (цена 24-х) должна быть ниже?". Вы можете два раза подряд сказать одно и то же?  Вопрос риторический. DS39881b это вам читать. В разделе 9.4 говорится о совсем другие вещи - возможность переключения расположение периферийных функции, как у контроллеров SyLabs-а, например. Но это вообще не то, что вы здесь несете. Очевидно, у вас нет никакого опита, ни с PIC24, ни с PIC16, а про PIC18 вы, наверное, и не слышали! Причина вам отвечать, что бы своими писаниями не ввели в заблуждение кого-нибудь! Мой вам совет: Возьмите камень, напишите для него простую программу, пошевелите ногами, поморгайте светодиодам и т.д., прежде чем давать советы другим начинающим!
Сообщение отредактировал evc - Aug 29 2007, 10:15
--------------------
УЭР
|
|
|
|
|
Aug 29 2007, 11:11
|

Частый гость
 
Группа: Свой
Сообщений: 117
Регистрация: 6-04-05
Пользователь №: 3 928

|
Цитата(evc @ Aug 29 2007, 14:14)  Мой вам совет: Возьмите камень, напишите для него простую программу, пошевелите ногами ... Как правильно шевелить, а то после раза 10 они как правило отваливаются ? P.S. Использую DIP корпуса  )).
|
|
|
|
|
Aug 29 2007, 16:40
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(evc @ Aug 29 2007, 14:14)  Вам лучше политикой заниматься, прохожий! Вы путаете такие основные понятия как архитектура и программная модель! Однажды утверждаете, что разница цен никакая: "значительно более производительного за те же деньги", а потом, в следующем посте спрашиваете "А чего это ради она (цена 24-х) должна быть ниже?". Вы можете два раза подряд сказать одно и то же?  Вопрос риторический. Смысл моих высказываний по цене достаточно прост. На фоне стоимости всего устройства цена МК особой роли не играет: что 36 рублей, что 92. Если же говорить о конкретных ценах, то у PIC24 она выше. Преимущества 24-ой серии очевидны, т.е. совершенно понятно за что ты платишь деньги. Что же касается программной модели и архитектуры, то эти вещи взаимоувязаны. Если в 16 серии программная модель подогнана под архитектуру, то в 24-ой все сделано с точностью до наоборот. Цитата(evc @ Aug 29 2007, 14:14)  DS39881b это вам читать. В разделе 9.4 говорится о совсем другие вещи - возможность переключения расположение периферийных функции, как у контроллеров SyLabs-а, например. А как же Ваше утверждение? Цитата Нету, конечно, ничего такогого. У 24-х назначение выводов делается, как и у всех остальных ПИКов. Цитата(evc @ Aug 29 2007, 14:14)  Но это вообще не то, что вы здесь несете. Очевидно, у вас нет никакого опита, ни с PIC24, ни с PIC16, а про PIC18 вы, наверное, и не слышали! Причина вам отвечать, что бы своими писаниями не ввели в заблуждение кого-нибудь! Видимо, до примера 9.2 в разделе 9.4.5 Вы не дошли... Жаль. Цитата(evc @ Aug 29 2007, 14:14)  Мой вам совет: Возьмите камень, напишите для него простую программу, пошевелите ногами, поморгайте светодиодам и т.д., прежде чем давать советы другим начинающим! Спасибо за совет. Желаю Вам и дальше продолжать нести в массы свои достижения на почве ногодрыгания и светодиодоморгания. Заодно и подучите начинающих делать правильные выводы из трех строчек текста и уважительному отношению к оппоненту. У Вас это здорово получается.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|