Hello, Dmitriy!
÷Ôp íÁp 30 2004, Dmitriy Shustov ÐÉÓÁÌ Ë All ÐÏ ÐÏ×ÏÄÕ "pic16f630." DS> TRISA=0b00111111; DS> IOCA=0b00000100; DS> OPTION=0b00000010; CMCON ÂÁÂÕÛËÁ ÂÕÄÅÔ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ? DS> ðÏËÁ. WBR! Maxim Polyanskiy.
Hello, Dmitriy!
DS> OPTION=0b00000010;
óÁÍÏÅ ÎÅÐÏÎÑÔÎÏÅ ÍÅÓÔÏ × ÐÒÏÇÒÁÍÍÅ... ðÒÅÒÙ×ÁÎÉÅ ÐÏ *ÓÐÁÄÕ* ÎÁ RA2/INT, ÐÒÅÓËÅÊÌÅÒ ÐÏÄËÌÀÞÅÎ Ë Timer0 É ÒÁ×ÅÎ 1:8. á ÚÁÞÅÍ? ó Õ×ÁÖÅÎÉÅÍ, Den31 ÍÁpÔÁ 2004 09:59, Maxim Polyanskiy ÐÉÓÁÌ Dmitriy Shustov:
DS>> TRISA=0b00111111; DS>> IOCA=0b00000100; DS>> OPTION=0b00000010;
MP> CMCON ÂÁÂyÛËÁ ÂyÄÅÔ ÉÎÉÃÉÁÌÉÚÉpÏ×ÁÔØ?
ïÎ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉpÏ×ÁÎ, ÐpÏÓÔÏ × ÐÉÓØÍÅ ÎÅ ÎÁÐÉÓÁÌ. CMCON=0b00011111ðÏËÁ.
01 ÁÐpÅÌÑ 2004 11:31, Den Y. Borisov ÐÉÓÁÌ Dmitriy Shustov:
DS>> OPTION=0b00000010;
DB> óÁÍÏÅ ÎÅÐÏÎÑÔÎÏÅ ÍÅÓÔÏ × ÐpÏÇpÁÍÍÅ... DB> ðpÅpÙ×ÁÎÉÅ ÐÏ *ÓÐÁÄy* ÎÁ RA2/INT,
ôÁË ËÁË ÌÉÎÉÑ ÎÁ ÏÔËpÙÔÏÍ ËÏÌÌÅËÔÏpÅ, ÐÁÓÓÉ×ÎÏÅ ÓÏÓÔÏÑÎÉÅ ÌÏÇÉÞÅÓËÁÑ 1.DB> ÐpÅÓËÅÊÌÅp ÐÏÄËÌÀÞÅÎ Ë Timer0 É pÁ×ÅÎ 1:8. á ÚÁÞÅÍ?
þÔÏÂÙ ÏÔÓÞÉÔÙ×ÁÔØ ÉÎÔÅp×ÁÌÙ ×pÅÍÅÎÉ Ó ÐÏÍÏÝØÀ ÔÁÊÍÅpÁ 0. ðÏËÁ.MP> CMCON ÂÁÂÕÛËÁ ÂÕÄÅÔ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ?
CMCON ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÒÁ×ÉÌØÎÏ ÐÒÏÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ - RA2 ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË Digital IO.
ó Õ×ÁÖÅÎÉÅÍ, DenDS> ðpÉ×ÅÔ!
DS> 01 ÁÐpÅÌÑ 2004 11:31, Den Y. Borisov ÐÉÓÁÌ Dmitriy Shustov:
DS>>> OPTION=0b00000010;
DB>> óÁÍÏÅ ÎÅÐÏÎÑÔÎÏÅ ÍÅÓÔÏ × ÐpÏÇpÁÍÍÅ... ðpÅpÙ×ÁÎÉÅ ÐÏ *ÓÐÁÄy* ÎÁ RA2/INT,
DS> ôÁË ËÁË ÌÉÎÉÑ ÎÁ ÏÔËpÙÔÏÍ ËÏÌÌÅËÔÏpÅ, ÐÁÓÓÉ×ÎÏÅ ÓÏÓÔÏÑÎÉÅ ÌÏÇÉÞÅÓËÁÑ 1.
èÏÒÏÛÏ, Á ËÔÏ ÔÁËÏÊ *"ÐÅÒÅÄÎÉÊ ÆÒÏÎÔ"* × ÉÓÈÏÄÎÏÍ ÓÏÏÂÝÅÎÉÉ? ñ ÄÕÍÁÌ, ÞÔÏ ÜÔÏ ÐÅÒÅÈÏÄ ÉÚ *0 × 1*, Á × *OPTION* ÎÁÓÔÒÏÅÎÏ ÉÚ *1 × 0* :/ . ó Õ×ÁÖÅÎÉÅÍ, DenDS> óÔÏÌËÎyÌÓÑ ÓÏ ÓÔpÁÎÎÏÊ ÐpÏÂÌÅÍÏÊ. éÍÅÅÔÓÑ ÓÌÅÄyÀÝÉÊ ËÏÄ ÎÁ Ó:
DS> void main(void) DS> {
uchar temp;
DS> TRISA=0b00111111; DS> IOCA=0b00000100; DS> OPTION=0b00000010;
DS> ...
temp = PORTA;
DS> INTCON=0;
DS> for(;;) DS> { DS> if(INTF) // ïÖÉÄÁÎÉÅ ÚÁÄÎÅÇÏ ÆpÏÎÔÁ ÎÁ RA2 DS> {
temp = PORTA;
DS> INTCON=0; DS> work(); DS> } DS> } DS> }
DS> ÷ main, ÐpÉ ÐÏÓÔyÐÌÅÎÉÉ ÐÅpÅÄÎÅÇÏ ÆpÏÎÔÁ ÎÁ RA2, yÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ INTF æÌÁÇ INTF ÐÒÉ INTEDG = 0 ÏÔ ÐÅÒÅÄÎÅÇÏ ÆÒÏÎÔÁ ×Ú×ÏÄÉÔØÓÑ ÎÅ ÄÏÌÖÅÎ. úÎÁÞÉÔ ÂÙÌ ÐÅÒÅÐÁÄ ÉÚ 1->0, ÎÏ ÔÙ ÅÇÏ ÐÒÏÇÌÑÄÅÌ ÉÌÉ ÏÛÉÂÏÞÎÏ ÐÒÅÄÐÏÌÁÇÁÅÛØ, ÞÔÏ ÅÇÏ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ.
DS> É DS> RAIF. úÁÔÅÍ ÐÏ INTCON=0 ÏÂÁ ÆÌÁÇÁ ÄÏÌÖÎÙ ÓÔÉpÁÔØÓÑ. úÁÔÅÍ × work() DS> ÏÓyÝÅÓÔ×ÌÑÅÔÓÑ ÐpÏ×ÅpËÁ RAIF ÐÏ ÓÌÅÄyÀÝÅÍy ÐÅpÅÐÁÄy. HÏ RAIF ÏÓÔÁÅÔÓÑ × DS> ÅÄÉÎÉÃÅ, ÐÏÜÔÏÍy ÓÌÅÄyÀÝÉÊ ÐÅpÅÐÁÄ ÎÅ ÏÔÌÁ×ÌÉ×ÁÅÔÓÑ.
üÔÁ ÔÁËÁÑ ÆÉÛËÁ Õ ×ÓÅÈ ðÉËÏ× ÓÏ ÓÂÒÏÓÏÍ ÆÌÁÇÁ RBIF ÉÌÉ RAIF Õ 630-ÇÏ. ðÅÒÅÄ ÔÅÍ ËÁË ÓÂÒÁÓÙ×ÁÔØ ÜÔÏÔ ÆÌÁÇ ÎÁÄÏ ÐÒÏÞÉÔÁÔØ ÉÌÉ ÚÁÐÉÓÁÔØ ÐÏÒÔ ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÆÁËÔÁ ÓÒÁ×ÎÅÎÉÑ. ëÏÎËÒÅÔÎÏ ÄÌÑ 630 ÜÔÏ ÏÐÉÓÁÎÏ × ÅÇÏ ÄÁÔÁÛÉÔÅ DS40039C-page 20, ÇÌÁ×Á 3.2.2 INTERRUPT-ON-CHANGEThe user, in the Interrupt Service Routine, can clear the interrupt in the following manner: a) Any read or write of PORTA. This will end the mismatch condition. b) Clear the flag bit RAIF.
A mismatch condition will continue to set flag bit RAIF. Reading PORTA will end the mismatch condition and allow flag bit RAIF to be cleared.
DS> ÷ ÓÉÍyÌÑÔÏpÅ (mplab) ×ÓÅ pÁÂÏÔÁÅÔ ÎÏpÍÁÌØÎÏ.
HÅ ÍÏÇÕ ÐÏÐÒÏÂÏ×ÁÔØ, ÎÅ ÐÏÌØÚÕÀÓØ. ÷ÏÚÍÏÖÎÏ ÏÛÉÂËÁ × ÍÏÄÅÌÅ ÐÏÒÔÁ.
DS> ðÏÓÌÅ ÚÁÄÎÅÇÏ ÆpÏÎÔÁ, ÐÅpÅÄÎÉÊ ÐpÉÈÏÄÉÔ ÞÅpÅÚ 1.1 ÍÓ. DS> æÏpÍÁ ÓÉÇÎÁÌÁ ÎÏpÍÁÌØÎÁÑ. æpÏÎÔÙ DS> <10 ÍËÓ. óÎÁÞÁÌÁ Ñ ÄyÍÁÌ, ÞÔÏ ËpyÔÉÚÎÁ ÆpÏÎÔÁ ÎÅ ÄÏÓÔÁÔÏÞÎÁ. ÷×ÅÌ DS> ÚÁÄÅpÖËy 0,5 ÍÓ É ÏÂÎyÌÑÌ INTCON, ÎÏ DS> ÜÔÏ ÎÉÞÅÇÏ ÎÅ ÄÁÌÏ. RAIF ÎÉËÁË ÎÅ ÏÂÎyÌÑÅÔÓÑ. :((( þÔÏ Ñ ÄÅÌÁÀ ÎÅ ÔÁË?
RTFM :)
÷ÌÁÄÉÍÉÒ þÅËÉÎ06 ÁÐpÅÌÑ 2004 22:05, Vladimir Chekin ÐÉÓÁÌ Dmitriy Shustov:
DS>> ÷ main, ÐpÉ ÐÏÓÔyÐÌÅÎÉÉ ÐÅpÅÄÎÅÇÏ ÆpÏÎÔÁ ÎÁ RA2, yÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ DS>> INTF æÌÁÇ INTF ÐpÉ INTEDG = 0 ÏÔ ÐÅpÅÄÎÅÇÏ ÆpÏÎÔÁ ×Ú×ÏÄÉÔØÓÑ ÎÅ
VC> ÄÏÌÖÅÎ. úÎÁÞÉÔ ÂÙÌ ÐÅpÅÐÁÄ ÉÚ 1->0, ÎÏ ÔÙ ÅÇÏ ÐpÏÇÌÑÄÅÌ ÉÌÉ ÏÛÉÂÏÞÎÏ VC> ÐpÅÄÐÏÌÁÇÁÅÛØ, ÞÔÏ ÅÇÏ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ.
ôÁÍ ÐÏ ÚÁÄÎÅÍy ÆpÏÎÔy - ÐÅpÅÐyÔÁÌ Ñ ËÏÇÄÁ ÐÉÓØÍÏ ÐÉÓÁÌ. HÅÍyÄpÅÎÏ ÜÔÏ, ÅÓÌÉ ÆÉÚÉÞÅÓËÉ ÁËÔÉ×ÎÙÊ ypÏ×ÅÎØ - ÌÏÇ. 0, Á ÌÏÇÉÞÅÓËÉ - 1, ÄÁ ÅÝÅ ÐÏÓÌÅ ÜÔÏÇÏ ÓÉÇÎÁÌ ÉÎ×ÅpÔÉpyÅÔÓÑ × ËyÌÜÄÉÔÅ, × ËÏÔÏpÏÍ Ñ ÅÇÏ ÓÍÏÔpÀ ÞÅpÅÚ Ú×yËÏ×yÈy. :)))VC> üÔÁ ÔÁËÁÑ ÆÉÛËÁ y ×ÓÅÈ ðÉËÏ× ÓÏ ÓÂpÏÓÏÍ ÆÌÁÇÁ RBIF ÉÌÉ RAIF y 630-ÇÏ. VC> ðÅpÅÄ ÔÅÍ ËÁË ÓÂpÁÓÙ×ÁÔØ ÜÔÏÔ ÆÌÁÇ ÎÁÄÏ ÐpÏÞÉÔÁÔØ ÉÌÉ ÚÁÐÉÓÁÔØ ÐÏpÔ VC> ÄÌÑ ÚÁ×ÅpÛÅÎÉÑ ÆÁËÔÁ ÓpÁ×ÎÅÎÉÑ. ëÏÎËpÅÔÎÏ ÄÌÑ 630 ÜÔÏ ÏÐÉÓÁÎÏ × ÅÇÏ
óÐÁÓÉÂÏ - ÐÏÍÏÇÌÏ! ðÏËÁ.DS>>> ÷ main, ÐpÉ ÐÏÓÔyÐÌÅÎÉÉ ÐÅpÅÄÎÅÇÏ ÆpÏÎÔÁ ÎÁ RA2, yÓÔÁÎÁ×ÌÉ×ÁÀÔÓÑ DS>>> INTF æÌÁÇ INTF ÐpÉ INTEDG = 0 ÏÔ ÐÅpÅÄÎÅÇÏ ÆpÏÎÔÁ ×Ú×ÏÄÉÔØÓÑ ÎÅ
VC>> ÄÏÌÖÅÎ. úÎÁÞÉÔ ÂÙÌ ÐÅpÅÐÁÄ ÉÚ 1->0, ÎÏ ÔÙ ÅÇÏ ÐpÏÇÌÑÄÅÌ ÉÌÉ ÏÛÉÂÏÞÎÏ VC>> ÐpÅÄÐÏÌÁÇÁÅÛØ, ÞÔÏ ÅÇÏ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ.
DS> ôÁÍ ÐÏ ÚÁÄÎÅÍy ÆpÏÎÔy - ÐÅpÅÐyÔÁÌ Ñ ËÏÇÄÁ ÐÉÓØÍÏ ÐÉÓÁÌ. HÅÍyÄpÅÎÏ ÜÔÏ, DS> ÅÓÌÉ ÆÉÚÉÞÅÓËÉ ÁËÔÉ×ÎÙÊ ypÏ×ÅÎØ - ÌÏÇ. 0, Á ÌÏÇÉÞÅÓËÉ - 1, ô.Å. ÎÁ ÓÁÍÏÍ ÄÅÌÅ ×ӣ ×ÅÒÎÏ ÐÒÏÉÓÈÏÄÉÌÏ.
DS> ÄÁ ÅÝÅ ÐÏÓÌÅ DS> ÜÔÏÇÏ ÓÉÇÎÁÌ ÉÎ×ÅpÔÉpyÅÔÓÑ × ËyÌÜÄÉÔÅ, × ËÏÔÏpÏÍ Ñ ÅÇÏ ÓÍÏÔpÀ ÞÅpÅÚ DS> Ú×yËÏ×yÈy. :))) ëÒÕÔÁ. á ÏÓÃÉÌÌÏÇÒÁÆÏÍ, ×ÏÌØÔÍÅÔÒÏÍ ÎÅ ÍÏÄÎÏ ÕÖÅ? :)
÷ÌÁÄÉÍÉÒ þÅËÉÎ12 ÁÐpÅÌÑ 2004 07:59, Vladimir Chekin ÐÉÓÁÌ Dmitriy Shustov:
VC>>> ÄÏÌÖÅÎ. úÎÁÞÉÔ ÂÙÌ ÐÅpÅÐÁÄ ÉÚ 1->0, ÎÏ ÔÙ ÅÇÏ ÐpÏÇÌÑÄÅÌ ÉÌÉ VC>>> ÏÛÉÂÏÞÎÏ ÐpÅÄÐÏÌÁÇÁÅÛØ, ÞÔÏ ÅÇÏ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ.
DS>> ôÁÍ ÐÏ ÚÁÄÎÅÍy ÆpÏÎÔy - ÐÅpÅÐyÔÁÌ Ñ ËÏÇÄÁ ÐÉÓØÍÏ ÐÉÓÁÌ. HÅÍyÄpÅÎÏ DS>> ÜÔÏ, ÅÓÌÉ ÆÉÚÉÞÅÓËÉ ÁËÔÉ×ÎÙÊ ypÏ×ÅÎØ - ÌÏÇ. 0, Á ÌÏÇÉÞÅÓËÉ - 1,
VC> ô.Å. ÎÁ ÓÁÍÏÍ ÄÅÌÅ ×ӣ ×ÅpÎÏ ÐpÏÉÓÈÏÄÉÌÏ.
äÁ, ËpÏÍÅ ÏÂÎyÌÅÎÉÑ RAIF. ôÅÐÅpØ ×ÓÅ pÁÂÏÔÁÅÔ.DS>> ÄÁ ÅÝÅ ÐÏÓÌÅ ÜÔÏÇÏ ÓÉÇÎÁÌ ÉÎ×ÅpÔÉpyÅÔÓÑ × ËyÌÜÄÉÔÅ, × ËÏÔÏpÏÍ Ñ ÅÇÏ DS>> ÓÍÏÔpÀ ÞÅpÅÚ Ú×yËÏ×yÈy. :)))
VC> ëpyÔÁ. á ÏÓÃÉÌÌÏÇpÁÆÏÍ, ×ÏÌØÔÍÅÔpÏÍ ÎÅ ÍÏÄÎÏ yÖÅ? :)
äÙË... HÅ ÏÔ ÈÏpÏÛÅÊ ÖÉÚÎÉ. âÙÌ ÂÙ ÚÁÐÏÍÉÎÁÀÝÉÊ ÏÓÃÉÌÌÏÇpÁÆ - ÎÅ ÍyÞÁÌÓÑ ÂÙ. HÁÄÏ ËÏÄ ÓÍÏÔpÅÔØ, Á ÎÅ ÍÅÁÎÄp. äÏ 10ëçà Ú×yËÏ×yÈÉ È×ÁÔÁÅÔ, Á ÄÁÌØÛÅ yÖÅ ÐÌÏÈÏ ×ÉÄÎÏ, ÈÏÔÑ ÞÁÓÔÏÔÁ ÄÉÓËpÅÔÉÚÁÃÉÉ 96ëçÃ É ÔÅÏpÅÔÉÞÅÓËÉ ÄÏÌÖÎÏ ÂÙÔØ ×ÉÄÎÏ 48ëçÃ. ÷ÓÅÍy ×ÉÎÏÊ ÐÅpÅÈÏÄÎÙÅ ÐpÏÃÅÓÓÙ ÐÏ ÆpÏÎÔÁÍ.ðÏËÁ.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required