a_sorien Posted February 14, 2013 Share Posted February 14, 2013 Salutare ! Lucrez cu un 12f508 la care am selectat si intrari si iesiri pentru un proiect . Am o nedumerire :daca MCLRE e disabled si folosit drept port , o intrare de tip port ce nivel de cc trebuie sa aibe?Sau mai bine zis se poate comanda soft zero sau unu..? Mie imi raman intrari setate in 1 logic....! Spre exemplu am o intrare care simte 12v , pe care-l divizez sa apara 5v ( ttl ) , dar cand nu aplic 12v , intrarea e deja in 1 divizat cu rezistenta spre masa..!! Link to comment
a_sorien Posted February 14, 2013 Author Share Posted February 14, 2013 reformulez , ca nici eu n-am inteles ce am scris..!Ce tensiuni se vad pe un terminal pic setat ca intrare..?! Cum fac soft sa fie zero sau unu..?!MCLRE e disabled deci setat ca port I/O Link to comment
nico_2010 Posted February 14, 2013 Share Posted February 14, 2013 reformulez , ca nici eu n-am inteles ce am scris..!Ce tensiuni se vad pe un terminal pic setat ca intrare..?! Cum fac soft sa fie zero sau unu..?!MCLRE e disabled deci setat ca port I/ODaca pinul cu pricina are rezistenta de "pull-up" activata (OPTION_REG<7>) atunci fara semnal la intrare vei avea 1 logic.Daca pinul cu pricina are rezistenta de "pull-up" dezactivata (din soft, sau la Power on Reset) atunci fara semnal la intrare vei avea orice (intrarea este flotanta ). In acest caz, este recomandat sa conectezi o rezistenta fie la Vcc fie la GND. Citeste cu atentie foaia de catalog, capitolul "I/O Ports". Link to comment
a_sorien Posted February 14, 2013 Author Share Posted February 14, 2013 Merci mult ...nico! Desi m-am benoclat de cateva ceasuri pe program , abia acum am vazut ca MCLRE este on in config..!Ptiuuuuu ...mama, ce stoarcere de creiere , scrieri si rescrieri ...!Mai am o mica nelamurire , sau mai bine zis cum ar fi mai bine sa fac ?Am intrari externe care au valoarea 12v , pe care eu le divizez si chiar le protejez cu zener ! Exista vreo schema mai eleganta de legare mai simpla/directa la un port I/O pic? Link to comment
nico_2010 Posted February 14, 2013 Share Posted February 14, 2013 Mai am o mica nelamurire , sau mai bine zis cum ar fi mai bine sa fac ?Am intrari externe care au valoarea 12v , pe care eu le divizez si chiar le protejez cu zener ! Exista vreo schema mai eleganta de legare mai simpla/directa la un port I/O pic?O solutie eleganta si sigura este utilizarea optocuplorilor pentru acele porturi care prezinta 12V. O solutie simpla ai folosit-o tu. Daca semnalele pe porturile cuplate la optocuplori au frecventa ridicata (>1MHz) va trebui sa cauti optocuplori speciali (gen 6N135, 6N136). Link to comment
a_sorien Posted February 14, 2013 Author Share Posted February 14, 2013 Mai am o problema !! Vreau ca programul meu sa inceapa dupa 10 s de la punerea sub tensiune .Am folosit un delay code generator , am dat copy/paste in codul sursa si am folosit un call Delay chiar dupa initial;izari . In simulare si in real , nu reuseste sa iasa din bucla de 10 s : ................. ................ . ...................RCCAL CODE 0x1FF ; processor reset vector res 1 ; holds internal RC cal value, as a movlw k RESET CODE 0x000 ; effective reset vector movwf OSCCAL ; apply internal RC factory calibration ini movlw b'001111' tris GPIO call Delay ; 10s delay initiale start ........................................................................................................................Delay ;1999996 cycles movlw 0x11 movwf a1 movlw 0x5D movwf a2 movlw 0x05 movwf a3Delay_00 decfsz a1, f goto $+2 decfsz a2, f goto $+2 decfsz a3, f goto Delay_00 ;4 cycles (including call) END Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now