pic16f630

Mar 31, 2004 9 Replies

Hello, Dmitriy!



÷Ôp íÁp 30 2004, Dmitriy Shustov ÐÉÓÁÌ Ë All ÐÏ ÐÏ×ÏÄÕ "pic16f630." DS> TRISA=0b00111111; DS> IOCA=0b00000100; DS> OPTION=0b00000010; CMCON ÂÁÂÕÛËÁ ÂÕÄÅÔ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ? DS> ðÏËÁ. WBR! Maxim Polyanskiy.
úÄÒÁÓÔ×ÕÊÔÅ Dmitriy, *30.03.04* *13:54:22* ÷Ù ÐÉÓÁÌÉ × *RU.EMBEDDED* ÓÏÏÂÝÅÎÉÅ Ë *All* Ï *"pic16f630"*.

DS> OPTION=0b00000010;

óÁÍÏÅ ÎÅÐÏÎÑÔÎÏÅ ÍÅÓÔÏ × ÐÒÏÇÒÁÍÍÅ... ðÒÅÒÙ×ÁÎÉÅ ÐÏ *ÓÐÁÄÕ* ÎÁ RA2/INT, ÐÒÅÓËÅÊÌÅÒ ÐÏÄËÌÀÞÅÎ Ë Timer0 É ÒÁ×ÅÎ 1:8. á ÚÁÞÅÍ? ó Õ×ÁÖÅÎÉÅÍ, Den
ðpÉ×ÅÔ!

31 ÍÁ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

ðÏËÁ.

ðpÉ×ÅÔ!

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. ðÏËÁ.
úÄÒÁÓÔ×ÕÊÔÅ Maxim, *31.03.04* *9:59:29* ÷Ù ÐÉÓÁÌÉ × *RU.EMBEDDED* ÓÏÏÂÝÅÎÉÅ Ë *Dmitriy Shustov* Ï *"pic16f630"*.

MP> CMCON ÂÁÂÕÛËÁ ÂÕÄÅÔ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ?

CMCON ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÒÁ×ÉÌØÎÏ ÐÒÏÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ - RA2 ÉÓÐÏÌØÚÕÅÔÓÑ ËÁË Digital IO.

ó Õ×ÁÖÅÎÉÅÍ, Den
úÄÒÁÓÔ×ÕÊÔÅ Dmitriy, *02.04.2004* *18:33:10* ÷Ù ÐÉÓÁÌÉ × *RU.EMBEDDED* ÓÏÏÂÝÅÎÉÅ Ë *Den Y. Borisov* Ï *"pic16f630"*.

DS> ð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* :/ . ó Õ×ÁÖÅÎÉÅÍ, Den
ðÒÉ×ÅÔ, Dmitriy!

DS> óÔÏÌËÎ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-CHANGE

The 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 :)

÷ÌÁÄÉÍÉÒ þÅËÉÎ
ðpÉ×ÅÔ!

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 ÜÔÏ ÏÐÉÓÁÎÏ × ÅÇÏ

óÐÁÓÉÂÏ - ÐÏÍÏÇÌÏ! ðÏËÁ.
ðÒÉ×ÅÔ, Dmitriy!

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. :))) ëÒÕÔÁ. á ÏÓÃÉÌÌÏÇÒÁÆÏÍ, ×ÏÌØÔÍÅÔÒÏÍ ÎÅ ÍÏÄÎÏ ÕÖÅ? :)

÷ÌÁÄÉÍÉÒ þÅËÉÎ
ðpÉ×ÅÔ!

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ÏÎÔÁÍ.

ðÏËÁ.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required