| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| PIC на 4.194304MHz ? http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=1016 |
Страница 1 от 5 |
| Автор: | PIC [ Вто Сеп 13, 2005 8:59 am ] |
| Заглавие: | PIC на 4.194304MHz ? |
Здравейте , поразрових се из форума и срещнах една тема за таймер за реално време. Та тъй като мисля да пробвам да пусна един часовник по този начин т.е. с кварц на 4.194304МНz за такт на процесора от който да деля честотата за един от таймерите и да получа период 0.5 или 1сек. За да получа период 0.5сек. честотата трябва да е 2Нz и тук нещо не можах да схвана как да го докарам , защото при делител 1:8 не се получава число кратно на 2. Ако някой има възможност нека удари едно рамо!
А и още нещо ме тормози. Значи пробвах пик 84А който е 04 да работи на 20МНz и промених осцилатора на тип HS , но той въобще не помръдва , а на 4МХц си работи. Та дали ще имам проблем с тоя кварц за часовника щото е малко по-голям , а също и за пик16Ф628А? |
|
| Автор: | Реконструктор [ Вто Сеп 13, 2005 9:59 am ] |
| Заглавие: | |
Какви са му делителите на таймерите на тоя пик? |
|
| Автор: | alek [ Вто Сеп 13, 2005 10:06 am ] |
| Заглавие: | |
4194304 е 2 на степен 22. Т.е. ако сложиш такъв кварц, още вътрешния делител на процесора ще ти го раздели най-напред на 4, и ще имаш 1048576 машинни цикъла в секунда, което е 2 на степен 20. Ако използваш TIMER1 на 16F628A, който е 16-битов с прескелър нагласен да дели на 8 (още три бита), ще получиш едно прекъсване на всяка половин секунда. За осцилатора си провери хардуера - кондензатори, кварц, захранване, конфигурационни битове. Би трябвало да си работи! |
|
| Автор: | Wise [ Вто Сеп 13, 2005 10:54 am ] |
| Заглавие: | |
Е как ще тръгне на 20, като си е за 4MHz? Аз съм виждал на 10 , но на 20 досега не ми е попадал. Тиренцето след наименованието са си мегахерците. Разбира се, че и на 4.4 ще работи, но вече на 8 става съмнително. А за 20 е изключено да отлепи. |
|
| Автор: | alek [ Вто Сеп 13, 2005 11:28 am ] |
| Заглавие: | |
@Wise, прав си! Не обърнах внимание, че е написал, че неговия е 04. А 20 мегахерцови предлагат разбира се, ето тук http://home.comet.bg/main/index.html |
|
| Автор: | PIC [ Вто Сеп 13, 2005 12:51 pm ] |
| Заглавие: | |
Преди време имаше доста спорове по този въпрос във форума и доста хора твърдяха , че става 04 да работи на 20М , в което и аз се осъмних пък и след като пробвах не потегли. За това се чудех дали нещо не бъркам по конфигурацията има явно не става , благодаря за мненията! |
|
| Автор: | ¶ [ Вто Сеп 13, 2005 2:50 pm ] |
| Заглавие: | |
Редовно си овърклоквам PIC-ове, които са на 4MHz да работят и на 20 MHz. Знам че няма да работят в разширен температурен обхват ( а някой път и там работят ), но за тестове и проби става. PIC16F84 е много дърт модел и мисля, че не подлежи на овърклокване, или е много малко, но от следните PIC16F873,874,876,877,627,628,684,819 нямам оплаквания. Не знам защо толкова стар професор като PIC16F84 все още се използва ( да не говорим пък за 16C54 ) , при положение че няма никаква периферия, на всичкото отгоре е двойно по-скъп от сродните му и по-добри от него заместители като 627,628,818,819 и т.н. |
|
| Автор: | bateAz [ Вто Сеп 13, 2005 7:33 pm ] |
| Заглавие: | |
Малко встрани от темата : пробвал съм 16LF876 на 3.3 волта на 20 MHz - не ще. На 10 работи като змей. |
|
| Автор: | VSU [ Вто Сеп 13, 2005 11:28 pm ] |
| Заглавие: | |
bateAz to shtoto e LF te се препоръчват до 4MHz щом си го подкарал на 10 значи не са толкова лоши така сега за часовника що трябва да е с този кварц 4.194304MHz ползвай 4.096МHz /4 =1.024MHz/16prescaler*256ot timera =250Hz = 0.004sec posle вътрешен брояч на 250(1byte) и става 1сек. i t.n. |
|
| Автор: | Edesign [ Сря Сеп 14, 2005 9:26 am ] |
| Заглавие: | |
Не знам каква точност ти трябва на честотата но направата на часовник никак не е лесно. Аз съм направил едно доста сложно реле за време (www.epd.hit.bg) с PIC16F628 с кварц 4MHz. Ако се използва прекъсване от ТМР0 трябва да се знае че след като дойде прекъсването после за няколко инструкции таймера не расте. Т. е. искам да кажа че е необходимо внимателно изчисление на броя команди и въвеждане на nop. Значи това реле съм го докарал с нелинейна корекция на грешка за 24 часа точност над 1 секунда. А иначе ако не ти трябва за продължително време (т. е. да се наслагва грешката от прекъсване) както предложиха колегите по горе вапрос на прости сметки с делител.... |
|
| Автор: | Predator_MF [ Сря Сеп 14, 2005 10:57 am ] | |||||||||
| Заглавие: | ||||||||||
Е, да, но това се повтаря при всеки такт на таймера, така че ще имаш константно отклонение на времето. |
||||||||||
| Автор: | Edesign [ Сря Сеп 14, 2005 11:06 am ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Да разбира се, че е кнстанта |
|||||||||||||||||||
| Автор: | Predator_MF [ Сря Сеп 14, 2005 11:10 am ] |
| Заглавие: | |
Ами ако нямаш серийна комуникация, всичко стои доста елементарно пред мене (сигурно защото съм го правил вече) |
|
| Автор: | bateAz [ Сря Сеп 14, 2005 11:16 am ] |
| Заглавие: | |
Вярно, проблемът е елементарен. По-скоро няма проблем. Пускаш го да ти дава периодично прекъсване с автоматично презареждане и няма грешка. Ако коефициентът на делене не ти харесва, това се решава софтуерно. |
|
| Автор: | Edesign [ Сря Сеп 14, 2005 11:54 am ] |
| Заглавие: | |
Е разбира се, че не е и много сложно все пак програмата се пише за ден два |
|
| Страница 1 от 5 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|