°£ÀÌ A/D º¯È¯ÀÇ Á¦¾î¹ý

1. °£ÀÌ A/D º¯È¯À̶õ?

°£ÀÌ A/D º¯È¯À̶õ, A/D º¯È¯ÀÇ ÀÔ·Â Æ÷Æ®°¡ ¾ø´Â PIC¿¡¼­, º¼·ý µîÀÇ À§Ä¡¸¦ ÀÔ·ÂÇÏ´Â ¹æ¹ýÀÌ´Ù. º¼·ý »Ó¸¸ ¾Æ´Ï¶ó, 8ºñÆ® Á¤µµÀÇ È®µµ¸¦ °¡Áø ¾Æ³¯·Î±× ½ÅÈ£ÀÇ ÃøÁ¤Àº ÀÌ ¹æ¹ýÀ¸·Î ÇÒ ¼ö ÀÖ´Ù.


2. PIC¿Í º¼·ý°£ÀÇ Á¢¼Ó°ú ¿ø¸®

PIC16F84·Î °£ÀÌ A/D º¯È¯À» ½ÇÇöÇϱâ À§ÇÑ Á¢¼ÓÀº ¾Æ·§ ±×¸²°ú °°ÀÌ ÇÑ´Ù.


ÀÌ Á¢¼Ó¿¡¼­ÀÇ µ¿ÀÛÀº ¾Æ·¡¿Í °°ÀÌ ÇÑ´Ù.
¿ì¼±, RB4¸¦ ÀÔ·Â ¸ðµå, RB3¸¦ Ãâ·Â ¸ðµå·Î ¼³Á¤ÇÑ´Ù.

´ÙÀ½¿¡, RB3¿¡ '1'¸¦ Ãâ·ÂÇÏ¿© Äܵ§¼­ C1À» ÃæÀüÇÑ´Ù. ÃæºÐÈ÷ ÃæÀüÇÒ ¼ö ÀÖ´Â ½Ã°£ÀÌ Áö³­ ´ÙÀ½¿¡ RB3À» '0'À¸·Î ÇÏ¸é ¹æÀüÀÌ ½ÃÀ۵ȴÙ.

±× ¼ø°£ºÎÅÍ, RB4¸¦ ¹Ýº¹ ÀÔ·ÂÇÏ¿© ÀÔ·ÂÀÌ '0'ÀÌ µÇ±â±îÁö ½Ã°£À» °èÃøÇÑ´Ù.

ÀÌ '0'À¸·Î µÇ±â±îÁöÀÇ ½Ã°£Àº VRÀÇ °ª¿¡ ºñ·ÊÇϱ⠶§¹®¿¡, ÀÌ ½Ã°£°ªÀÌ °á°úÀûÀ¸·Î A/D º¯È¯ÇÑ µðÁöÅаªÀ¸·Î µÈ´Ù.
ÀÌ ¸ð¾çÀ» ±×¸²À¸·Î ³ªÅ¸³»¸é ¾Æ·§ ±×¸²°ú °°ÀÌ µÈ´Ù.




3. ±¸Ã¼ÀûÀÎ ÇÁ·Î±×·¥ÀÇ ¿¹

ÀÌ È¸·Î¿¡¼­ A/D º¯È¯À» Çϱâ À§ÇÑ ÇÁ·Î±×·¥Àº Çϱâ¿Í °°ÀÌ ÇÑ´Ù.
½Ã°£À» ÃøÁ¤Çϱâ À§Çؼ­´Â ´Ü¼øÈ÷ ·çÇÁ·Î Ä«¿îÆ®¸¦ ÇÑ´Ù. ±× µ¿¾È Äܵ§¼­ÀÇ Àü¾Ð ÀÔ·Â ÇÉÀ» »ó½Ã °¨½ÃÇÏ°í, '0'À¸·Î µÈ °÷¿¡¼­ Á¾·áÇÑ´Ù.
Ä«¿îÆ®°ªÀÌ 8ºñÆ®¸¦ overflowÇÏÁö ¾Êµµ·Ï Àû´çÇÑ ¼öÀÇ dummy¿ë NOP ¸í·ÉÀ» ·çÇÁ³»¿¡ »ðÀÔÇÑ´Ù.
ÀÌ°ÍÀ¸·Î 8ºñÆ® A/D º¯È¯À¸·Î µÈ´Ù.
Ä«¿îÅ͸¦ 2°³·Î count upÇϸé 8ºñÆ® ÀÌ»óÀÇ A/D º¯È¯µµ °¡´ÉÇÏÁö¸¸, ³ª¸ÓÁö È®µµ´Â ³ª¿ÀÁö ¾ÊÀ¸¹Ç·Î 8ºñÆ® Á¤µµ°¡ Àû´çÇÏ´Ù.


;************************************
; A/D CONVERT SUBROUTINE
;************************************
ÀÌ Àü¿¡ BSF PORTB,3·Î ÃæÀüÇØ µÐ´Ù

ADCNV¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;A/D convert
¡¡¡¡¡¡¡¡¡¡CLRF¡¡¡¡WIDTH¡¡¡¡¡¡ ;Ä«¿îÅÍ ¸®¼Â
¡¡¡¡¡¡¡¡¡¡BCF¡¡¡¡¡¡PORTB,3¡¡¡¡;¹æÀü°³½Ã
LOOP¡¡¡¡BTFSS¡¡ PORTB,4¡¡¡¡ ;0Àΰ¡?
¡¡¡¡¡¡¡¡¡¡GOTO¡¡  LOOP1¡¡¡¡¡¡;0¿¡¼­ º¯È¯Á¾·á
¡¡¡¡¡¡¡¡¡¡NOP
¡¡¡¡¡¡¡¡¡¡NOP
¡¡¡¡¡¡¡¡¡¡NOP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ;½Ã°£ Ä«¿îÆ® Á¶Á¤¿ë ´õ¹Ì
¡¡¡¡¡¡¡¡¡¡NOP
¡¡¡¡¡¡¡¡¡¡INCFSZ¡¡WIDTH,F¡¡¡¡ ;Ä«¿îÆ® ¾÷
¡¡¡¡¡¡¡¡¡¡GOTO¡¡¡¡LOOP¡¡¡¡¡¡  ;¹Ýº¹
LOOP1¡¡BSF¡¡¡¡¡¡ PORTB,3¡¡¡¡ ;ÀçÃæÀü °³½Ã
¡¡¡¡¡¡¡¡¡¡RETURN
¡¡¡¡¡¡¡¡¡¡WIDTH¿¡ A/D º¯È¯°ªÀÌ µé¾î ÀÖ´Ù.



    ´ÙÀ½ È­¸é         ¸ñÂ÷ È­¸é