Öйúµç×Ó¼¼ÊõÍø

ÉèΪÊ×Ò³ ÍøÕ¾µØÍ¼ ¼ÓÈëÊÕ²Ø

 
 

»ùÓÚPIC12XXµÄ¾«È·ÑÓʱ¼¼Êõ

¹Ø¼ü´Ê£ºPIC12XX

ʱ¼ä£º2018-01-02 13:24:36      À´Ô´£ºÍøÂç

¡°Microchip¹«Ë¾µÄµ¥Æ¬»úÂÊÏȲÉÓÃRISC(¾«¼òÖ¸Á¼ÆËã»ú)½á¹¹µÄ¸ßÐÔÄܼ۸ñ±ÈµÄǶÈëʽ¿ØÖÆÆ÷¡£

¡±

  1 PIC12XXµÄ½á¹¹

  

       Microchip¹«Ë¾µÄµ¥Æ¬»úÂÊÏȲÉÓÃRISC(¾«¼òÖ¸Á¼ÆËã»ú)½á¹¹µÄ¸ßÐÔÄܼ۸ñ±ÈµÄǶÈëʽ¿ØÖÆÆ÷¡£

       ¸ÃPICµ¥Æ¬»ú¾ßÓиßËÙ¶È¡¢µÍ¹¤×÷µçѹ¡¢µÍ¹¦ºÄ¡¢½Ï´óµÄÊäÈëÊä³öÖ±½ÓÇý¶¯ÄÜÁ¦¡¢ÔÚÏß´®Ðбà³Ì¡¢Ð¾Æ¬µÄµÍ¼ÛλºÍСÌå»ýµÈÌØµã¡£Îª´Ë,Microchip¿ª·¢Á˸ߵµ¡¢Öеµ¡¢µÍµµ²»Í¬²ã´ÎϵÁжàÖÖÐͺŵIJúÆ·,PIC12XXÊÇÒ»¿î»ùÓÚEEPROMµÄ8λ΢¿ØÖÆÆ÷µÄÖеµPICµ¥Æ¬»ú,¾ßÓиßÐÔÄܵÄRISC CPU¡¢ÌØÊⵥƬ»ú¹¦ÄÜ¡¢µÍ¹¦ºÄ¹¦ÄÜ¡¢ÔöÇ¿ÐÍTimer 1ÍâÉ蹦ÄÜ,Ϊµ¥Æ¬»úµÄ¾«È·ÑÓʱ¼¼ÊõÌṩ¿É¿¿±£ÕÏ¡£ÆäÄÚ²¿½á¹¹Èçͼ1Ëùʾ¡£

       1.1 Íⲿ½á¹¹Ìصã

  

       ¸Ãµ¥Æ¬»ú¹²8¸öÒý½Å,ÆäÖÐ6¸öÒý½Å¾ßÓжÀÁ¢·½Ïò¿ØÖƹ¦ÄܵÄI/OÒý½Å,ÆäÒý½Å½á¹¹Èçͼ2Ëùʾ¡£

  

       ÆäÒý½Å¾ßÓи߹à/À­µçÁ÷ÄÜÁ¦,¿ÉÖ±½ÓÇý¶¯LED¡£Ä£Äâ±È½ÏÆ÷Ä£¿é´øÓÐÒ»¸öÄ£Äâ±È½ÏÆ÷¡¢Æ¬ÉϿɱà³Ì±È½ÏÆ÷²Î¿¼µçѹ(CVREF)Ä£¿é¡¢À´×ÔÆ÷¼þÊäÈëÒý½ÅµÄ¿É±à³ÌÊäÈ븴ÓᢿÉÍⲿ·ÃÎÊ±È½ÏÆ÷Êä³ö¡£Timer 0´øÓÐ8λ¿É±à³ÌÔ¤·ÖƵÆ÷µÄ8λ¶¨Ê±Æ÷/¼ÆÊýÆ÷;ÔöÇ¿µÄTimer 1´øÓÐÔ¤·ÖƵÆ÷µÄ16λ¶¨Ê±Æ÷/¼ÆÊýÆ÷,ÍⲿѡͨÊäÈëģʽ,ͨ¹ýÁ½¸öÒý½Å¿ÉʵÏÖÔÚÏß´®Ðбà³Ì¡£

     

           

            

  1.2 ÄÚ²¿½á¹¹Ìصã

  

       ¸ßÐÔÄܵÄRISC-CPU½ö35ÌõÖ¸Áî,³ýÌø×ªÖ¸ÁîÍâ,ËùÓÐÖ¸Áî¶¼Êǵ¥ÖÜÆÚ,ÆäʱÖÓÆµÂÊΪDC-20 MHz,Ö¸ÁîÖÜÆÚΪ0-200 ns;ÓнÏÇ¿µÄÖжϹ¦ÄÜ,8¼¶Éî¶ÈÓ²¼þ¶ÑÕ»,²ÉÓÃÖ±½Ó¡¢¼ä½ÓºÍÏà¶ÔѰַ·½Ê½;¿ÉÑ¡ÔñÄÚ²¿ºÍÍⲿÕñµ´Æ÷,ÄÚ²¿Îª4 MHz¸ß¾«¶ÈÕñµ´Æ÷,Æä³ö³§Ê±¾«¶ÈÒÑУ׼Ϊ¡À1% ;Äܽ«CPU´ÓÐÝÃßģʽ»½ÐѺͽøÈëÊ¡µçÐÝÃßģʽ,´øµÍ¹¦ºÄÉϵ縴λ(POR)¡¢ÉϵçÑÓʱ¶¨Ê±Æ÷(PWRT)ºÍÕñµ´Æ÷ÆðÕñ¶¨Ê±Æ÷(OST)¡¢Ç·Ñ¹¼ì²â(BOD)ºÍ¶ÀÁ¢Õñµ´Æ÷µÄ¿´ÃŹ·¶¨Ê±Æ÷;¿É¸´ÓÃMCLRÊäÈëÒý½Å,Òý½Åµçƽ±ä»¯¿É´¥·¢ÖжÏ,¾ßÓжÀÁ¢µÄ¿É±à³ÌÈõÉÏÀ­¹¦ÄÜ¡¢¿É±à³Ì´úÂë±£»¤¡¢¸ßÄ;ÃÐÔµÄÉÁ´æ/EEPROM´æ´¢µ¥Ôª,ÉÁ´æÄÍд´ÎÊý´ï10 ´Î,EEPROMÄÍд´ÎÊý´ï10 ´Î,ÉÁ´æ/Êý¾ÝEEPROMµÄÊý¾Ý±£³ÖÆÚ>40Äê¡£

       1.3 Timer 1¹¤×÷ÌØµã

  

        Timer 1Ä£¿éÊÇÓÉÁ½¸ö¿É¶ÁдµÄ8λ¼Ä´æÆ÷(TMR1HºÍTMR1L)×é³ÉµÄ16λ¶¨Ê±Æ÷/¼ÆÊýÆ÷¡£TMR1¼Ä´æÆ÷¶Ô(TMR1H¡¢TMR1L)´Ó0000hµÝÔöµ½FFFFhºó,¼ÆÂú»ØÁãµ½0000h¡£Èç¹ûÔÊÐíTimer 1ÖжÏ,ÔòÒç³öʱ»á²úÉúTimer 1Öжϡ£¸ÃÖжϿÉͨ¹ýÖÃλ/ÇåÁãTMR1IEλÀ´ÔÊÐí/½ûÖ¹¡£Timer 1ÓÐ3ÖÖ¹¤×÷ģʽ:ͬ²½¶¨Ê±Æ÷ģʽ¡¢Í¬²½¼ÆÊýÆ÷ģʽ¡¢Òì²½¼ÆÊýÆ÷ģʽ¡£ÆäģʽÓÉʱÖÓÑ¡ÔñλTMR1CS(T1CON)ºÍͬ²½¿ØÖÆÎ»T1SYNC¾ö¶¨,Èçͼ3Ëùʾ¡£

  

ÔÚ¶¨Ê±Æ÷ģʽÏÂ,Timer 1ÔÚÿ¸öÖ¸ÁîÖÜÆÚµÝÔö¡£¶øÔÚ¼ÆÊýÆ÷ģʽÏÂ,Timer 1ÔÚT1CKIÒý½ÅÉÏÍⲿʱÖÓµÄÿ¸öÉÏÉýÑØµÝÔö¡£Timer 1¿ÉÒÔͨ¹ýTMR1ON(T1CON<0>)¿ØÖÆÎ»À´´ò¿ªºÍ¹Ø±Õ¡£Timer 1»¹ÓÐÒ»¸öÄÚ²¿¡°¸´Î»ÊäÈ롱,¿ÉÓÉÒ»¸öCCPÄ£¿é²úÉú¡£Timer 1¿ÉÒÔÍâ½Ó¾§ÌåÕñµ´Æ÷,µ±Timer 1µÄÕñµ´Æ÷±»Ê¹ÄÜ(T1OSCENλÖÃ1)ʱ,T1OSIºÍT1OSOÒý½ÅÉ趨ΪÊäÈëÒý½Å¡£Ò²¾ÍÊÇ˵,ÆäÏàÓ¦µÄTRISÖµ±»ºöÂÔ¡£

       2 ¾«È·ÑÓʱ¼¼Êõ

       2.1 ÀíÂÛ·ÖÎö

  

       PIC12XXµ¥Æ¬»úÄÚÖþ§ÕñµÄƵÂÊΪ4 MHz,Æä¾«¶ÈΪ¡À1% ,ÔòʱÖÓÖÜÆÚΪ0.25 us,µ¥Ö¸ÁîÔËÐÐʱ¼äΪ1 us,ÆäÎó²î¾ùΪ1%us,µ¼Ö½ϴóµÄÀÛ»ýÎó²î,¹Ê²»ÄÜÖ±½ÓÀûÓÃÆäÄÚ²¿¾§Õñ½øÐо«È·ÑÓʱ¡£Îª´ËÐèÒª²ÉÓø߾«¶ÈµÄÍⲿʱÖÓÐźÅ,ÓÖÓÉÓÚTimer 1Ϊ16λ,¼ÆÂú´ÎÊýΪ2 ´Î,Ϊ±ãÓÚ¼ÆËã²ÉÓÃÆµÂÊΪ32768Hz,¼´215Hz,¾«¶ÈΪ5¡Á10-6,ÒÔ´Ë×÷ΪʱÖÓ,¼ÆÂúTimer 1Ϊ2 s,Èç¹ûÓøþ§Õñ×÷ΪʱÖÓ,°ëÄêµÄ×î´óÎó²î²»»á³¬¹ý1 min¡£Í¼4ΪÍâ½Ó¾§ÕñÐźŷ¢Éúµç·ԭÀíͼ¡£

  

       ÓÉÓÚPIC12XXÖ¸ÁîÔËÐÐÊǰ´ÄÚ²¿¾§Õñ½øÐеÄ,ΪÌá¸ßµ¥Æ¬µÄÑÓʱ¾«¶È,²ÉÓÃÍâ½Ó¾§ÕñÐźÅ×÷ΪʱÖÓÐźÅ,ÀûÓõ¥Æ¬»úµÄTimer 1½øÐÐÖжÏÑÓʱ,¼´¿ÉʵÏָ߾«¶ÈµÄÈÎÒâʱ¼äÑÓʱ¡£

      

2.2 ÑÓʱ·½·¨

  

       ¾­¹ýÀíÂÛ·ÖÎö,²ÉÓÃͼ5ËùʾµÄ»ù±¾µç·½øÐо«È·ÑÓʱ¡£ÓÉÓÚ²ÉÓõÄÊÇ32786 HzʱÖÓ,Timer 1Ϊ16λ,Òò´Ë²ÉÓÃÖжÏÑÓʱ,µ±Timer 1³õÖµÖÃΪ0000Hʱ,ÖжÏÒ»´ÎÑÓʱʱ¼äΪ2 s;µ±Timer 1³õÖµÖÃΪ8000Hʱ,ÖжÏÒ»´ÎÑÓʱʱ¼äΪ1 s¡£¶ÔÓÚ´óÓÚ»òµÈÓÚ2 sµÄ³¤ÑÓʱ,²ÉÓÃTimer1ÖÃ0000H³õÖµ;¶ÔÓÚ´óÓÚ1 sµÄ³¤ÑÓʱ,²ÉÓÃTimer1ÖÃ8000H³õÖµ;¶ÔÓÚСÓÚ1 sµÄ¶ÌÑÓʱ,²ÉÓÃTimer 1ÖÃÔ¤Ëã³õÖµ,ÖжÏÒ»´ÎÍê³ÉËùÓжÌÑÓʱ,ÕâÑù¿É´ó´óÌá¸ßÑÓʱµÄ¾«¶È¡£

2.3 ÑÓʱ¹Ø¼ü×Ó³ÌÐò

  

       ÓÉÓÚ¾«È·ÑÓʱ²ÉÓõÄÊÇÍⲿ¾§Õñ,ÔòTimer 1½ÓÍⲿ¾§ÕñµÄ³õʼ»¯³ÌÐò²ÉÓÃÈçϾ«¼ò³ÌÐò:

CLRF T1 CON ;Stop Timer1,Internal Clock Source

;T1 oscillator disabled,prescaler = 1:1

CLRF TMR1H ;Clear Timer1 High byte register

CLRF TMR1L ;Clear Timer1 Low byte register

CLRF INTCON ;Disable interrupts

BSF STATUS,RP0 ;Bank1

CLRF PIE1;Disable peripheral interrupts

BCF STATUS,RP0 ;BankO

CLRF PIR1;Clear pe ripheral interrupts Flags

MOVLW 0x32 ;External Clock source with 1:8 prescaler

MOVWF T1CON ;Clock source is synchronized to device

;Timerl is stopped and T1 OSC is disabled

BSF T1CON,TMR1ON ;Timerl starts to increment

;The Timerl interrupt is disabled,do poling on the overflow bit

T1_OVFL_WAIT

BTFSS PIR1,TMR1IF

GOTO T1_OVFL_WAIT

;Timer has overflowed

BCF PIR1,TMR1IF

       ¸ù¾ÝÑÓʱ·½·¨·ÖÎö,ÖжÏÖóõÖµ²ÉÓÃÈçϳÌÐò:

load_initial_s

bcf T1CON,TMR1ON

CLRF TMR1H; Clear Low byte,Ensures no rolover into

TMR1H,Value to load into TMR1H

MOVLW 0X80 ;Value to load into TMR1H,Write High byte

MOVWF TMR1H ;

MOVLW 0X00 ;Value to load into TMR1L,Write Low byte

ADDWF TMR1L;one second intrupt one time run 262162 Tcy,i.e.0.262162s¡£soset tmr1

BSF T1CON,TMR1ON

load_initial_ms

bcf T1CON,TMR1ON

CLRF TMR1L;Clear Low byte,Ensures no rolover into

TMR1H,Value to load into TMR1H

MOVLW 0Xxx;the value is preparative worked out

MOVWF TMR1H;

MOVLW 0Xxx ;the value is preparative worked out

MOVWF TMR1L;

BSF T1CON,TMR1ON

  

        ³ÌÐò³õʼ»¯ºó,ͨ¹ýÔ¤ÖóõÖµ,¼ÓÉϳÌÐòµÄÆäËû½á¹¹¡£¾Í¿ÉÒÔʵÏÖPICµÄ¾«È·ÑÓʱ¡£

       3 ½áÊøÓï

  

       ¼øÓÚPIC12XXµ¥Æ¬»úµÄ¹¦ÄÜÌØµãºÍÓŵã,²ÉÓÃÍâ½Ó¾§ÕñºÍTimer 1Öжϼ¼Êõ,¿ÉʵÏֽϾ«È·µÄÈÎÒâÑÓʱ¡£ÁíÍâ¡£Microchip¹«Ë¾µÄPICϵÁе¥Æ¬»ú¾ßÓÐʵÓᢵͼۡ¢Ò×ѧ¡¢Ê¡µç¡¢¸ßËÙºÍÌå»ýСµÈÌØµã,»¹¾ßÓе͹¦ºÄ˯Ãß¡¢µôµç¸´Î»Ëø¶¨¡¢Éϵ縴λµç·¡¢¿´ÃŹ·µç·µÈ¹¦ÄÜ,¶øÇÒÍâΧÆ÷¼þÉÙ¡¢Õ¼ÓÿռäС¡¢³É±¾µÍ,±£Ãܼ¼ÊõҲʮ·Ö¿É¿¿,¿É×î´óÏ޶ȵر£»¤¿ª·¢ÕßµÄÀûÒæ¡£Òò´Ë,ÔÚ¹¤Òµ¿ØÖÆ¡¢ÒÇÆ÷ÒÇ±í¡¢¼ÆËã»ú¡¢¼ÒµçµÈÖî¶àÁìÓò¾ßÓм«Æä¹ã·ºµÄÓ¦ÓÃǰ¾°¡£

  • ·ÖÏíµ½£º

 

²ÂÄãϲ»¶

  • ÐÂÎÅ
  • ÐÂÆ·
  • ·½°¸

  • Ö÷ Ì⣺¶÷ÖÇÆÖ800Vµç³Ø¹ÜÀíϵͳ·½°¸½éÉÜ
  • ʱ ¼ä£º2022.06.30
  • ¹« Ë¾£ºNXP

  • Ö÷ Ì⣺¶÷ÖÇÆÖS32K3Óò¿ØÖÆÆ÷Ó¦ÓýéÉÜ
  • ʱ ¼ä£º2022.07.07
  • ¹« Ë¾£ºNXP

  • Ö÷ Ì⣺³µÂÖÉϵÄÊý¾ÝÖÐÐÄ£­MolexÌìÏß½â¾ö·½°¸
  • ʱ ¼ä£º2022.07.12
  • ¹« Ë¾£ºMouser&Molex