基于STM32的通用定时器使用 Proteus仿真程序

仿真图

程序:

部分源程序如下:
#include "timer.h"
#include "led.h"


//通用定时器中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void TIM3_Init(u16 arr,u16 psc)
{
    RCC->APB1ENR|=1<<1;        //TIM3时钟使能   
        TIM3->ARR=arr;          //设定计数器自动重装值
        TIM3->PSC=psc;          //预分频器设置
        TIM3->DIER|=1<<0;   //允许更新中断                               
        TIM3->CR1|=1<<0;    //使能定时器3
          MY_NVIC_Init(0,3,TIM3_IRQn,2);//抢占0,子优先级3,组2               
                                                         
}

//定时器3中断服务函数
void TIM3_IRQHandler(void) //TIM3中断
{
        if(TIM3->SR&0X0001)//溢出中断
        {
                LED1=!LED1;                                                                                                                       
        }                                  
        TIM3->SR&=~(1<<0);//清除中断标志位 0
}

 

完整源码和仿真文件:
暂无优惠

已有0人支付

1,本站所有资源来源于用户上传和网络搜集,如有侵权请邮件联系站长删除。
2,分享目的仅供大家个人的学习用途,请不要用于商业用途。
3,如果你也有好的源码或者教程,可以投稿到本站,采纳后有积分奖励。
4,本站提供的各类资源均不保证其可用性及完整性,也没有任何技术服务。
5,如有链接无法下载、失效、过期,请联系管理员处理。
6,本站资源部分需要积分只是赞助,仅用于本站服务器和日常运营所需,不提供任何技术支持。
快捷联系方式 Email:admin@lzbk.com QQ:361113272
蓝知博库 » 基于STM32的通用定时器使用 Proteus仿真程序

提供最优质的资源集合

立即查看 了解详情