Отговори на тема  [ 13 мнения ] 
Проблем с инициализацията на PIC12F508 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Мар 03, 2010 2:05 pm
Мнения: 4
Мнение Проблем с инициализацията на PIC12F508
Молбата ми е дали някой може да ми покаже как да инициализирам два входа и два изхода за PIC12F508 и как да направя конфигурационната дума?
(Пина на MCLR - може да е вход и в CONFIG как трябва да е написан за да е вътрешен и така да се ползва пина за вход)?
Имам описанието на чипа, но за съжаление и с английският ми е трудно все още и нещо пропускам.

Понеже е една банката - видях нещо като за директна команда
movlw B'........' за входове и изходи и после
TRIS 0x06 или TRIS 0x07

Тук не съм на ясно какво всъщност ще стане и кои TRIS 0x07 или TRIS 0x06 (кое за какво се ползва) да се използва.
Дано някой може да напише няколко реда за инициализация и ако може да обясни поне мъничко.
Благодаря предварително.


Сря Апр 04, 2012 9:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Проблем с инициализацията на PIC12F508
Имаш три варианта :

1. Да научиш китайски
2. Да научиш английски
3. Поне да се научиш да ползваш търсачките

На български има само книгите на Млад Конструктор. Които всъщност не са лошо начало.
И някой да ти напише инициализацията какво? Ти това като сам не можеш да направиш, смяташ ли че с другото ще се оправиш?


Сря Апр 04, 2012 10:24 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Май 01, 2009 4:01 pm
Мнения: 1438
Мнение Re: Проблем с инициализацията на PIC12F508
Има и четвърти вариант, но е много рискован да те освиркат. Питаш в MCU-BG.COM

Тия малките имат една особеност. Стойността за калибриране на вътрешния осцилатор е записана на последния адрес във флаша. Ако ползваш програматор куче марка или дадеш ОК без да разбереш какво те пита след първото програмиране затрива всичко. Та преди да го програмираш го прочети и си го запиши някъде!

При стартиране процесорчето прочита тая стойност и я слага в работния регистър. Та ако ще си на вътрешен осцилатор първия ред трябва да започва с - MOVWF OSCCAL.

Код:
START:
      MOVWF   OSCCAL
      MOVLW   B'11111001'   
      TRIS    GPIO
      MOVLW   B'00000111'
      OPTION
      ;надолу е твойта програма

Ето ти и пример за конфигурация:
__CONFIG _MCLRE_OFF & _CP_ON & _WDT_OFF & _IntRC_OSC

С тия примери, дето ти дадох, не ти отпада препоръката за четене от колегата преди мен.


Чет Апр 05, 2012 12:17 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Проблем с инициализацията на PIC12F508
Майната му на осккал-а - той коригира в рамките на 5% - и да го затрие няма да му е фатално за разни дреболии. Пък ако е нужен по-прецизен клок не бих разчитал на вътрешния...


Чет Апр 05, 2012 9:22 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Мар 03, 2010 2:05 pm
Мнения: 4
Мнение Re: Проблем с инициализацията на PIC12F508
Благодаря Ви за отговорите.
Закупих си прогаматор PICKIT2 и 2-те книги на Николай Кенаров от "Млад Конструктор".
Ползвам MPLAB 8.83
Чета доста и търсачките ползвам.....да проблем имам доста с онглийският.
Досега проблеми с PIC12F675 и PIC16F84А нямам и ги поразбрах и даже практически което съм направил работи без проблем.
Явно особеността на PIC12F508, е че няма регистър за да отидя и задам входове и изходи (както между банките при други типове контролери, който за съответните портове си имат прилежащ регистър......тук и прекъсванията са по странни за мен, като това явно става на един адрес с вектор Resset а от къде ще е един господ знае????) а това явно става с директна команда като се зареди примерно:
movlw B'00001010' ;GP1 - вход
;GP3 - вход
и се прати в
TRIS 0x06

TRIS 0x06 или TRIS 0x07 - не знам кое какво и какво означава все още (да 0х06 е шеснадесетичен адрес, но защо там???)!
За съжаление TRIS GPIO дава грешка - няма такова животно (казва)
Точно това ме озадачи и търся компетентни като Вас.
За конфигурационната дува отивам директно във файл с разширение .inc за този тип контролер и там ми дава само начина за думата ще е :
_CONFIG EQU H'FFF'
Всичко друго ми дава грешка, включително и горепосочената от колегата.
В училище се учат директно по сложните контролери, а ето че един прост такъв (доста евтин) за дребни опити за да се учиш ме спъва.
Четенето си е четене, но и добре обясняващият е безценен.......за да се разбере.
Благодаря Ви за препоръките и ще чета, но като имам нужда от едно рамо - ПИТАМ.
Още веднъж благодаря за отзивчивостта.


Чет Апр 05, 2012 10:19 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Май 01, 2009 4:01 pm
Мнения: 1438
Мнение Re: Проблем с инициализацията на PIC12F508
Регистъра за входове и изходи е виртуален в тоя контролер и затова се прави с TRIS. Същото важи и за OPTION.

След дефиниране на процесора в началото добави #include <p12F508.inc> и няма да ти дава грешка за GPIO и други подобни.

И пак опираме до четене. 0х06 е адреса на GPIO, затова там. 0х07 ти е първия адрес от рам'а


Чет Апр 05, 2012 10:45 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Дек 06, 2008 9:22 am
Мнения: 119
Местоположение: Пловдив
Мнение Re: Проблем с инициализацията на PIC12F508
Принципно не е TRIS GPIO, а се използва TRISIO. Това е регистъра за промяна на предназначението на порта.


Съб Апр 07, 2012 7:52 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Май 01, 2009 4:01 pm
Мнения: 1438
Мнение Re: Проблем с инициализацията на PIC12F508
a_stankov написа:
Принципно не е TRIS GPIO, а се използва TRISIO. Това е регистъра за промяна на предназначението на порта.


А случайно обърна ли внимание, че става въпрос за 12F508? Би ли споделил кой точно е адреса на въпросния TRISIO?


Съб Апр 07, 2012 8:18 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: Проблем с инициализацията на PIC12F508
Ами то не знам струва ли си въобще да се обръща внимание на 12f508? 12F629/675 си е тотален заместител + екстри.


Съб Апр 07, 2012 7:57 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Сря Мар 03, 2010 2:05 pm
Мнения: 4
Мнение Re: Проблем с инициализацията на PIC12F508
Успешно се справих и практически тествах следното:

;GP0 - изход за биполярен транзистор
;GP1 - изход за биполярен транзистор
;GP2 - вход маса

#include<P12F508.inc>
__CONFIG _OSC_ExtRC & _WDT_OFF & _MCLRE_OFF & _CP_OFF
;
BRO EQU 0x07 ;Брояч за време BRO на адрес 07h
ORG 0x00 ;Вектор Reset
clrf GPIO ;Нулираме изходите
;********************************************
; *** Инициализация ***
;********************************************
Start movlw B'00000100' ;GP2 - вход
TRIS 0x06
;********************************************
; *** Програма ***
;********************************************

Програмата ми е нищожна, но важното е че работи.
Доволен съм от направеният опит и успеха с подкарването на 12F508.
Все пак едно бебе и да му говориш няма да те разбере.... и докато не го подхванеш и покажеш вече е друго и то ще се научи.... примерно да ХОДИ.
Благодаря Ви за одареното рамо.


Пон Апр 09, 2012 10:56 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Дек 06, 2008 9:22 am
Мнения: 119
Местоположение: Пловдив
Мнение Re: Проблем с инициализацията на PIC12F508
CarBeta написа:
a_stankov написа:
Принципно не е TRIS GPIO, а се използва TRISIO. Това е регистъра за промяна на предназначението на порта.


А случайно обърна ли внимание, че става въпрос за 12F508? Би ли споделил кой точно е адреса на въпросния TRISIO?


Добре де, грешката е моя! А ти приемай по-спокойно нещата от живота :)


Пон Апр 09, 2012 8:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Май 01, 2009 4:01 pm
Мнения: 1438
Мнение Re: Проблем с инициализацията на PIC12F508
Аз съм си много спокоен, колега...


Вто Апр 10, 2012 8:36 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Дек 06, 2008 9:22 am
Мнения: 119
Местоположение: Пловдив
Мнение Re: Проблем с инициализацията на PIC12F508
Здраве да е, Весели празници на Всички ! :)


Пет Апр 13, 2012 7:30 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 13 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни