| Автор |
Съобщение |
|
traqn_savov
Ранг: Новодошъл
Регистриран на: Чет Окт 01, 2009 8:50 am Мнения: 125 Местоположение: Varna
|
 Проблем с код
Купих си новата книга от мк ПИК микроконтролери първа част..
И се мъча с първото упражнение, диода би тлябвало да мига, ама не мига свети си, и не мога да разбера защо не тръгва..
Някой има ли идея..
Ето кода.
 |  |  |  | Код: list p=16f84a #include <p16f84a.inc> __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
w EQU 0 f EQU 1 Counter EQU H'0C'
ORG H'0000' goto start
start bsf STATUS,RP0 ; H'0003',RP0 movlw B'11010111' movwf OPTION_REG ; H'0081' bcf STATUS,RP0 ; H'0003',RP0 clrf PORTB ; H'0006' bsf STATUS,RP0 ; H'0003',RP0 movlw B'11111110' movwf TRISB ; H'0086' bcf STATUS,RP0 ; H'0003',RP0 goto main
Wait movlw D'7' movwf Counter clrf TMR0 ; H'0001' again bcf INTCON,T0IF ; H'000B' loop btfss INTCON,T0IF ; H'000B' goto loop return
main bsf PORTB,0 ; H'0086',0 call Wait bcf PORTB,0 ; H'0086',0 goto main END
|  |  |  |  |
Ето я и преснимана стараницата..
_________________http://truna.freehosting.bg/
форум за механици..
"Любителска електроника" не означава скапана а означава с много любов правена..
Ако можеше да се съберат техническият отдел на atmel и маркетинговият отдел на microchip, ще се получи нещо велико.
Последна промяна traqn_savov на Сря Ное 04, 2009 10:47 pm, променена общо 1 път
|
| Сря Ное 04, 2009 10:22 pm |
|
 |
|
sigkill
Ранг: Популярен
Регистриран на: Чет Ное 29, 2007 2:22 pm Мнения: 309 Местоположение: Vratsa
|
не пропускаш ли още един КОЛ УЕЙТ ?
ЕДИТ:(ако осцилатора тик-така и при така написана програма диода си мига ама не го виждаш зачото гасне за много кратко , сега пробвай да сметнеш за колко кратко гасне ?)
|
| Сря Ное 04, 2009 10:29 pm |
|
 |
|
traqn_savov
Ранг: Новодошъл
Регистриран на: Чет Окт 01, 2009 8:50 am Мнения: 125 Местоположение: Varna
|
_________________http://truna.freehosting.bg/
форум за механици..
"Любителска електроника" не означава скапана а означава с много любов правена..
Ако можеше да се съберат техническият отдел на atmel и маркетинговият отдел на microchip, ще се получи нещо велико.
|
| Сря Ное 04, 2009 10:33 pm |
|
 |
|
sigkill
Ранг: Популярен
Регистриран на: Чет Ное 29, 2007 2:22 pm Мнения: 309 Местоположение: Vratsa
|
Хехе сетих се каква мигалка правих някога със Z80 циклещ NOP-oве на 1МХЗ и с цели три светодиода на А13 А14 и А15 ....
|
| Сря Ное 04, 2009 10:37 pm |
|
 |
|
traqn_savov
Ранг: Новодошъл
Регистриран на: Чет Окт 01, 2009 8:50 am Мнения: 125 Местоположение: Varna
|
На мен ми трябва един такъв осцилатор с който програмно да му мениш честотата и времето на единият период, тоест коефицента на запълване...
Ама за сега писането на такава програма е непосилно, ще почета малко и ще видя дали ще се справя..
Едит стана урааа мига.
сега ще се опитам коефицентите на мигане да разбутам, не само да написвам готов код..
_________________http://truna.freehosting.bg/
форум за механици..
"Любителска електроника" не означава скапана а означава с много любов правена..
Ако можеше да се съберат техническият отдел на atmel и маркетинговият отдел на microchip, ще се получи нещо велико.
|
| Сря Ное 04, 2009 10:42 pm |
|
 |
|
stannik
Ранг: Минаващ
Регистриран на: Нед Юни 11, 2006 9:57 pm Мнения: 13 Местоположение: Ямбол
|
Ето така работи:
 |  |  |  | Код: Counter EQU H'0C'
ORG H'0000' goto start
start bsf STATUS,RP0 ; H'0003',RP0 movlw B'11010010' movwf OPTION_REG ; H'0081' bcf STATUS,RP0 ; H'0003',RP0 clrf PORTB ; H'0006' bsf STATUS,RP0 ; H'0003',RP0 movlw B'11111110' movwf TRISB ; H'0086' bcf STATUS,RP0 ; H'0003',RP0 goto main Wait movlw D'1' movw Counter clrf TMR0 ; H'0001' again bcf INTCON,T0IF ; H'000B' loop btfss INTCON,T0IF ; H'000B' goto loop return
main bsf PORTB,0 ; H'0086',0 call Wait bcf PORTB,0 ; H'0086',0 call Wait goto main END
обаче съм сменил делителя на таимера и съм заредил 1 в клетката вместо с 7 много е бавно и затова съм ги променил ако искаш си ги оправи |  |  |  |  |
Последна промяна stannik на Сря Ное 04, 2009 11:01 pm, променена общо 2 пъти
|
| Сря Ное 04, 2009 10:56 pm |
|
 |
|
sigkill
Ранг: Популярен
Регистриран на: Чет Ное 29, 2007 2:22 pm Мнения: 309 Местоположение: Vratsa
|
Е честита мигалка ( трябва да снимам моето творение от 5-6-ти клас , още си я пазя макетната платка ) , за туй програмното задаване на период и честота ще трябва да му разучиш много добре таймера , защо не минеш на нещо по-новичко например 16F63x,628,87x (та следващите програми няма да не тръгват поради пропуски в конфиг-а  ?
|
| Сря Ное 04, 2009 10:56 pm |
|
 |
|
stannik
Ранг: Минаващ
Регистриран на: Нед Юни 11, 2006 9:57 pm Мнения: 13 Местоположение: Ямбол
|
От тези примери в книгата всички искат малко пипане
"само за начинаещи които започват от нулата"
|
| Сря Ное 04, 2009 11:04 pm |
|
 |
|
traqn_savov
Ранг: Новодошъл
Регистриран на: Чет Окт 01, 2009 8:50 am Мнения: 125 Местоположение: Varna
|
Не мога да разбера, в самият инклуднат файл #include <p16f84a.inc> си има дефинирани вече тея константи.
w EQU 0
f EQU 1
Не виждам смисъл от предефиниране, още повече че са константи, а смисъла на константите е друг...
Само етози ред не го разбирам movlw B'11010010'
П.П. По нови, както се казва стеб бай степ.. 
_________________http://truna.freehosting.bg/
форум за механици..
"Любителска електроника" не означава скапана а означава с много любов правена..
Ако можеше да се съберат техническият отдел на atmel и маркетинговият отдел на microchip, ще се получи нещо велико.
|
| Сря Ное 04, 2009 11:10 pm |
|
 |
|
stannik
Ранг: Минаващ
Регистриран на: Нед Юни 11, 2006 9:57 pm Мнения: 13 Местоположение: Ямбол
|
Това са битовете на OPTION_REG погледни ги в книгата
Изтигли си PIC Simulator IDE
|
| Чет Ное 05, 2009 4:33 pm |
|
|