找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2877|回復(fù): 0
收起左側(cè)

stm32定時器中斷實驗-庫函數(shù)版本源碼

[復(fù)制鏈接]
ID:384903 發(fā)表于 2018-8-10 10:53 | 顯示全部樓層 |閱讀模式
本實驗將實現(xiàn)如下功能:本實驗DS0用來指示程序運行,400ms為一個周期。DS1用于定時器中斷取反,指示定時器中斷狀態(tài),1000ms為一個周期。下載完后,可以看到DS0快閃,DS1慢閃。

stm32單片機源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "timer.h"

  6. extern int flag;




  7. int main(void)
  8. {
  9.         u16 led0pwmval=300;

  10.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級分組2
  11.         delay_init(168);  //初始化延時函數(shù)
  12.         LED_Init();                                //初始化LED端口
  13.         uart_init(115200);       
  14.         TIM3_Int_Init(5000-1,8400-1);        //定時器時鐘84M,分頻系數(shù)8400,所以84M/8400=10Khz的計數(shù)頻率,計數(shù)5000次為500ms
  15.         TIM14_PWM_Init(500-1,8400-1);        //84M/84=1Mhz的計數(shù)頻率,重裝載值500,所以PWM頻率為 1M/500=2Khz
  16.         TIM13_PWM_Init(500-1,8400-1);
  17. //        while(1)
  18. //        {
  19. //                TIM14_PWM_Init(500-1,84-1);        //84M/84=1Mhz的計數(shù)頻率,重裝載值500,所以PWM頻率為 1M/500=2Khz.     
  20. //   while(1) //實現(xiàn)比較值從0-300遞增,到300后從300-0遞減,循環(huán)
  21. //        {
  22. //                 delay_ms(10);         
  23. //          led0pwmval--;//dir==1 led0pwmval遞增
  24. //                if(led0pwmval==0)
  25. //                        led0pwmval=300;
  26. //                TIM_SetCompare1(TIM14,led0pwmval);        //修改比較值,修改占空比
  27. //        }
  28. //        };
  29.         while(1)
  30.         {
  31.                 if(flag==0){
  32.                                 TIM_SetCompare1(TIM14,led0pwmval);        //修改比較值,修改占空比
  33.                 }
  34.                 else TIM_SetCompare1(TIM14,500);        //修改比較值,修改占空比
  35.                 if(flag==0){
  36.                                 TIM_SetCompare1(TIM13,led0pwmval);        //修改比較值,修改占空比
  37.                 }
  38.                 else TIM_SetCompare1(TIM13,500);        //修改比較值,修改占空比
  39. //                LED1=!LED1;
  40. //                delay_ms(200);
  41.         }
  42.                
  43. }

復(fù)制代碼

所有資料51hei提供下載:
旋轉(zhuǎn)編碼器.rar (488.25 KB, 下載次數(shù): 17)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表