»úе±Û±¾¿ÆÉú±ÏÒµÉè¼Æ(ÂÛÎÄ)·¶ÎÄ ÏÂÔر¾ÎÄ

¶«±±´óѧÇػʵº·ÖУ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£© µÚ 21 Ò³

¶¼»áͨ¹ýËøÏà»·ÅäÖóö×î´óµÄ72MHzƵÂÊ£¬¹©¸øCortex-M3ÄÚºËʹÓá£

ÔÚ¸´Î»²Ù×÷Ö®ºó£¬Ê×ÏÈ¿ªÆô HSE ²¢µÈ´ýÆäÎȶ¨£¬´Ó¶ø×÷Ϊ PLL µÄÊäÈë¡£Æä´Î£¬È·¶¨ËøÏà»·±¶ÆµÊý£¬Ê¹Äں˹¤×÷ÔÚ×î´óƵÂÊÏ¡£¸ÃÉè¼ÆÒÔ8MHzµÄ HSE ×÷ΪʱÖÓÔ´£¬ PLL ±¶ÆµÊýÐèÒªÉèÖÃΪ6²ÅÄÜʹ PLL Ç¡ºÃÊä³ö48MHzµÄƵÂÊ¡£

ÔÚ PLL ÉèÖúúó£¬Cortex-M3Äں˾ÍÒÔ72MHzµÄƵÂÊÔËÐÐÁË£¬´Ëʱ£¬»¹ÐèҪͨ¹ý¸Ä±ä×ÜÏß¿ØÖƼĴæÆ÷ÉèÖà AHB ºÍ APB ×ÜÏßƵÂÊ¡£ AHB ºÍAPB2µÄ×î¸ßƵÂÊÊÇ72MHZ¡£APB1µÄ×î¸ßÔÊÐíƵÂÊÊÇ36MHZ¡£

ͼ4.1 STM32ʱÖÓÊ÷

±¾²¿·ÖµÄ³ÌÐòÁ÷³ÌͼÈçÏ£º

¶«±±´óѧÇػʵº·ÖУ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£© µÚ 22 Ò³

ͼ4.2 ϵͳʱÖÓ³õʼ»¯Á÷³Ìͼ

¿ªÊ¼ ¸´Î»ÏµÍ³Ê±ÖÓÉèÖà ¿ªÆôÍⲿÕñµ´Æ÷HSE ÊÇ·ñ³É¹¦ÆðÕñ²¢Îȶ¨£¿ YN Ñ¡ÔñAHB£¬APB1£¬APB2ƵÂÊ Ê¹ÄÜËøÏà»·PLL µÈ´ýPLLÊä³öÎȶ¨£¬³ÉΪʱÖÓÔ´ ½áÊø Óë¸ÃÁ÷³ÌͼÏà¶ÔÓ¦µÄ³ÌÐòÉè¼Æ¼û¸½Â¼C¡£ 4.1.2 SysTick¶¨Ê±Æ÷

SysTick £¬¼´ÏµÍ³½ÚÅÄʱÖÓ£¬Ëü×÷ΪARM Cortex-M3Äں˵ÄÒ»¸öÄÚÉ裬ºÍSTM32΢¿ØÖÆÆ÷Ö®¼ä²¢Ã»ÓбØÈ»µÄÁªÏµ¡£SysTickµÄ´æÔÚ¼ÈÄܹ»Ìṩ±ØÒªµÄϵͳ½ÚÅÄ£¬ÎªÊµÊ±²Ù×÷ϵͳµÄÈÎÎñµ÷¶ÈÌṩһ¸öÓнÚ×àµÄ¨DÐÄÌø¡¬£¬½ø¶øÌá¸ß¿É¿¿ÐÔ£¬ÓÖ·½±ãÁ˳ÌÐòÔÚ²»Í¬Æ÷¼þ¼äµÄÒÆÖ²¡£

ϵͳ³õʼ»¯Ê±£¬RCCͨ¹ýAHBʱÖÓ(HCLK)8·ÖƵºó×÷ΪCortexϵͳ¶¨Ê±Æ÷(SysTick)

¶«±±´óѧÇػʵº·ÖУ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£© µÚ 23 Ò³

µÄÍⲿʱÖÓ¡£Í¨¹ý¶ÔSysTick¿ØÖÆÓë״̬¼Ä´æÆ÷µÄÉèÖ㬿ÉÑ¡ÔñÉÏÊöʱÖÓ»òCortex(HCLK)ʱÖÓ×÷ΪSysTickʱÖÓ¡£ÏµÍ³àÖàªÐ£×¼Öµ¹Ì¶¨Îª9000£¬µ±ÏµÍ³àÖàªÊ±ÖÓÉ趨Ϊ9MHz(HCLK/8µÄ×î´óÖµ)£¬²úÉú1msʱ¼ä»ù×¼¡£

±¾²¿·ÖµÄ³ÌÐòÁ÷³ÌͼÈçÏ£º

ͼ4.3 SysTick¶¨Ê±Æ÷³õʼ»¯Á÷³Ìͼ

¿ªÊ¼ ÉèÖÃSystickÖØ×°ÔØʱ¼ä ʧÄÜSystick¶¨Ê±Æ÷ É趨ÖжϺ¯Êý£¬»ñÈ¡½ÚÅÄ Ê¹ÄÜSystick¶¨Ê±Æ÷ ½áÊø Óë¸ÃÁ÷³ÌͼÏà¶ÔÓ¦µÄµÄ³ÌÐòÉè¼Æ¼û¸½Â¼C¡£ 4.1.3 TIM¶¨Ê±Æ÷

STM32΢¿ØÖÆÆ÷¾ß±¸¸ß¼¶¶¨Ê±Æ÷TIM1ºÍTIM8 2¸ö£¬Í¨Óö¨Ê±Æ÷TIM2¡¢TIM3¡¢TIM4ºÍTIM5 4¸öÒÔ¼°»ù±¾¶¨Ê±Æ÷TIM6ºÍTIM7 2¸ö£¬ÔÙ¼ÓÉÏ RTC ºÍ Systick ¶¨Ê±Æ÷£¬×ÜÊýÁ¿´ïµ½ÁË10¸ö¡£

»ù±¾¶¨Ê±Æ÷¿ÉÒÔΪÓû§Ìṩ׼ȷµÄʱ¼ä²Î¿¼£»Í¨Óö¨Ê±Æ÷²»½ö¾ß±¸Ê±¼ä²Î¿¼¹¦ÄÜ£¬»¹¾ßÓÐÊäÈ벶׽¡¢Êä³ö±È½Ï¡¢µ¥Âö³åÊä³ö¡¢ PWM Êä³ö¹¦ÄܺÍÕý½»±àÂëÆ÷µÄÌص㣻¸ß¼¶¶¨Ê±Æ÷¸üÊǼÓÈëÁË¿ÉÒÔ²úÉú´øËÀÇø¿ØÖƵĻ¥²¹ PWM Ðźš¢½ô¼±Öƶ¯¡¢¶¨Ê±Æ÷ͬ²½µÈ¸ß¼¶ÌØÕ÷£¬²¢×î¶à¿ÉÒÔÊä³ö6· PWM Ðźţ¬¿ÉνÊÇÒâ·¨°ëµ¼Ì帳ÓèSTM32µÄÍõÅÆ¡£

±¾Éè¼Æ²ÉÓÃTIM2¡¢TIM3µÄ PWM Êä³ö¹¦ÄܺÍTIM4µÄ¼ÆÊý¹¦ÄÜ¡£

¶«±±´óѧÇػʵº·ÖУ±ÏÒµÉè¼Æ£¨ÂÛÎÄ£© µÚ 24 Ò³

±¾²¿·ÖµÄ³ÌÐòÁ÷³ÌͼÈçÏ£º

½áÊø ͼ4.4 TIM¶¨Ê±Æ÷³õʼ»¯Á÷³Ìͼ

¿ªÊ¼ ÅäÖÃPWMÊä³öÒý½Å ÉèÖö¨Ê±Æ÷TIM2¸÷Êä³öͨµÀÕ¼¿Õ±È ÉèÖö¨Ê±Æ÷TIM3Êä³öͨµÀ1Õ¼¿Õ±È ÑÓʱ1000ms£¬µÈ´ýÊÖ±Û³õʼ»¯Íê³É ÉèÖö¨Ê±Æ÷TIM4¼ÆÊýģʽ Óë¸ÃÁ÷³ÌͼÏà¶ÔÓ¦µÄµÄ³ÌÐòÉè¼Æ¼û¸½Â¼C¡£ 4.1.4ͨÓÃÊäÈëÊä³ö½Ó¿ÚGPIO

GPIO ¿ÉÒÔ˵ÊÇSTM32×î³£ÓõÄÍâÉè¡£STM32F103ZET6Ìṩ¶à´ï112¸öË«Ïò GPIO £¬·Ö±ð·Ö²¼ÔÚ A~G Õâ7¸ö¶Ë¿ÚÖС£Ã¿¸ö¶Ë¿ÚÓÖ°üÀ¨16¸ö GPIO £¬¶¼¿É³ÐÊÜ5VµÄѹ½µ¡£GPIO ¿Éͨ¹ýÅäÖüĴæÆ÷¹¤×÷ÔÚÈçÏÂ8ÖÖģʽ£º¸¡¿ÕÊäÈë¡¢´øÉÏÀ­µç×èµÄÊäÈë¡¢´øÏÂÀ­µç×èµÄÊäÈ롢ģÄâÊäÈ룻¿ªÂ©Êä³ö¡¢ÍÆÍìÊä³ö¡¢¸´ÓÃÍÆÍìÊä³ö¡¢¸´ÓÿªÂ©Êä³ö¡£

¸ÃÉè¼ÆÖн«PA0¡¢PA1¡¢PA2¡¢PA3¡¢PA6×÷Ϊ PWM ²¨µÄÊä³ö¿Ú£»PA4¡¢PA5×÷Ϊ LED ÏÔʾ½Ó¿Ú£»PA7¡¢PA8×÷Ϊ³¬Éù²¨´«¸ÐÆ÷ÐźŵĽÓÊÕ·¢Ëͽӿڣ»PB6¡¢PB7·Ö±ð×÷Ϊ´®¿ÚµÄ·¢ËͽÓÊÕ½Ó¿Ú¡£ 4.1.5³¬Éù²¨´«¸ÐÆ÷Ä£¿é

Ê×ÏÈ£¬STM32µÄPA7¶Ë¿Ú½Ó³¬Éù²¨´«¸ÐÆ÷µÄ TRIG ¿Ú£¬´¥·¢²â¾àÐźţ¬·¢³ö10us