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

    免费下载 下载该文档 文档格式:PDF   更新时间:2011-04-06   下载次数:0   点击次数:11
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:pdf
    文档作者:FGB
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    者出现了抵触!信任有过我这种迷惑的人不在多数!究其原故我预见是原文作者没有说明这点,转 载的人见到有相关的学问便间接转载了,本身也没去想,估计也没弄明白过,这样便一个个都转开 了,所以我创议在接收他人精粹时要多多推敲,只有注入了自己的新元素知识才是被真正吸收了 ,否则尽管涉猎的再多,也只是保藏!目下当今再来剖释下下面的那个矛盾点,其实应当这么理解 的,在STM32中,SysTick的架构其实是这么回事的:首先选择时钟源-->AHB-->这里便分走两 路,其一被8分频,也便出现了最高频率9MHz的成效;其二作为FCLK(CM3上的自在运转时钟)直 接从AHB输出,这里却是没有再分频的,其频率就是AHB时钟频率,最大可以抵达72MHz,下面程序 对其设置也是在72MHz的的情况下的,实在可以参考STM32时钟架构这幅图,如下:
    voidRCC_Configuration(void) { RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus=RCC_WaitForHSEStartUp(); if(HSEStartUpStatus==SUCCESS) { RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
    { } RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); while(RCC_GetSYSCLKSource()!=0x08) { }
    多功能电子定时器
    } RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE| RCC_APB2Periph_AFIO,ENABLE); }
    配置完了RCC后,接上去便是需要配置SysTick了,使用ST的函数库使用systick的方法通常设施如下 所示:
    1,调用SysTick_CounterCmd()--失能SysTick计数器 2,调用SysTick_ITConfig()--失能SysTick中断 3,调用SysTick_CLKSourceConfig()--设置SysTick时钟源. 4,调用SysTick_SetReload()--设置SysTick重装载值. 5,调用SysTick_ITConfig()--使能SysTick中断 6,调用SysTick_CounterCmd()--封闭SysTick计数器
    SysTick_Configuration:配置SysTick
    voidSysTick_Configuration(void) { SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK); NVIC_SystemHandlerPriorityConfig(SystemHandler_SysT SysTick_ITConfig(ENABLE); }
    编写响应的中断服务子函数,这个先对较量简单,直接在stm32f10x_it.h的voidSysTickHandler(void)函 数里填充计数值便可:
    vu32TimingDelay=0;
    voidSysTickHandler(void) { TimingDelay--;
    童年,洗衣机定时器
    }
    记住,在调用它的.C文件里记得声明TimingDelay这个变量为全局变量,否则无法使用这个计数值:
    externvu32TimingDelay;
    上面函数只是完成了前5步,接下来需要开启SysTick计数器以便让其劳动,后面仍旧说过在SysTick一 般多用于做精确延时用,故而对于这个延时函数它的生命周期便在调用开始到调用结束,所以第6部 一般放在被调用的这个函数中(Delay(N)):
    voidDelay(u32nTime) {
    SysTick_CounterCmd(SysTick_Counter_Enable); TimingDelay=nTime; while(TimingDelay!=0); SysTick_CounterCmd(SysTick_Counter_Disable); SysTick_CounterCmd(SysTick_Counter_Clear); }

    上一页下一页

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