• plc全自动洗衣机毕业设计任务书免费下载 > 洗衣机定时器
  • 洗衣机定时器

    免费下载 下载该文档 文档格式:PDF   更新时间:2011-04-06   下载次数:0   点击次数:11
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:pdf
    文档作者:FGB
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    洗衣机定时器 多功能电子定时器 多功能电子定时器
    电子定时器 http://www.dingshi7.info
    洗衣机定时器 多功能电子定时器 多功能电子定时器
    前段时间用STM32F103VBT6写了一个结束的函数,借此时机想了解下STM32的中断机制,用过之后 涌现STM32的中断配置相当矫健,安稳行很高,测试发现险些没出过什么谬误.我在程序里开了三 个中断,一个计数器用于无误延时用,另外两个为外部事宜管理中断,下面逐一周详先容,容易初 学者入门.
    在举行STM32中断配置之前首先须要了解下它的中断部门:
    一,Cortex-M3中断机制
    在STM32处理器中有43个可屏蔽中断通道( 包括16个Cortex -M3的中断线).共设置了16个可编 程的优先等级(使用 4位中断优先级);它的嵌套向 中断掌握器(NVIC)和处 器核的接口慎密相连 ,可能杀青低耽误的中断处 和有用处 地处 晚到的中断.嵌套向 中断控制器管 着包括核异 常等中断.
    Cortex—M3是一个32位的核,在保守的单片机界限中,有一些不同于通用32位CPU应用的请求.好 比在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于 硬件进行中断处理,最多可省略12个时钟周期数,在现实应用中可减少70%中断. 异常可能中断是处理器相应体系中突发科德定时器的一种机制.当异常发生时,Cortex—M3经过硬 件主动将编程计数器(PC),编程形态存放器(XPSR),链接寄存器(LR)和R0~R3,R12等寄存器压进 堆栈.在Dbus(数据总线)留存处理器状态的同时,处理器通过Ibus(指令总线)从一个可以重新定位的 向量表中鉴识出异常向量,并获取ISR函数的地址,也就是袒护现场与取异常向量是并行处理的.一 旦压栈和取指令完成,中断办事程序或打击处理程序就开端推行.执行完ISR,硬件进行出栈操作 ,中断前的程序回复一般执行.图1为Cortex—M3处理器的异常处理流程.
    二,STM32SysTick介绍
    Cortex-M3的内核中包含一个SysTick时钟.SysTick为一个24位递加计数器,SysTick设定初值并使能后 ,每经过1个系统时钟周期,计数值就减1.相比看多功能电子定时器.计数到0时SysTick计数器自动
    重装初值并无间计数,同时外部的COUNTFLAG标志会置位,触发中断(假使中断使能状况下).
    对付STM32系列微处理器来说,执行一条指令惟有几十个ns,进行for循环时,要实现N毫秒的x值非 大,而且由于系统频次的无边广泛,很难计算出延时N毫秒的精确值.针对STM32微处理器,需要 重新设计一个新的方法去实现该功用,因而,在STM32的应用中,使用Cortex-M3内核的SysTick作为 定经常钟,设定每一毫秒爆发一次中断,在中断处理函数里对N减一,在Delay(N)函数中循环检测 N能否为0,不为0则进行循环等候;若为0则封闭SysTick时钟,加入函数,这种延时函数的做法能很 高效地实现精判断时.
    三,SysTick编程实现Delay(N)函数
    思绪:诳骗systick定时器为递减计数器,设定初值并使能它后,它会每个系统时钟周期计数器减 1,计数到0时,SysTick计数器自动重装初值并继续计数,同时触发中断.那么每次计数器减到0,
    时间经过了:
    T=系统时钟周期x计数器初值
    比如使用72M作为系统时钟,那么每次计数器减1所用的时间是1/72M,计数器的初值如果是,那么 每次计数器减到0,时间经过(1/72M)*=0.001s,即1ms.
    多功能电子定时器
    有了以上思路做铺垫后,为了实现首先我们需要一个72MHz的SysTick时钟.
    第一步配置RCC寄存器和SysTick寄存器
    由于系统时钟(SysTick)可拣选为PLL输入,HSI或者HSE,在这里选择9倍频的PLL作为SysTick的时 钟源,同时HCLK(AHBClock)时钟也相应的配置成72MHz了,由于最终SysTick是需要通过AHB后 输出的,所以在配置的同时也需要选择AHB时钟,这里选择为RCC_SYSCLK_Div1(咖啡色部分)表 示AHB时钟=系统时钟,相关配置见下面函数(RCC_Configuration)赤色字体部分.这里需要更加 强调一点,相关书籍里常提到"SysTick的最高频率为9MHz(最大为HCLK/8),在这个条件下,把 SysTick重装载值设置为9000,将SysTick时钟设置为9MHz,就能够产生1ms的时间基值"刚开始对这句 话感到很定时器,因为,有的处所介绍SysTick没有说最大频率智能9MHz,这里却指出会被8分频,两

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 毕业设计任务书  毕业设计论文任务书  毕业设计任务书范文  毕业设计任务书怎么写  毕业论文任务书范文  毕业论文任务书  毕业任务书  毕业论文任务书怎么写  毕业论文任务书格式