/** ****************************************************************************** * @file main.c * @author iuc * @version version 1.0 * @date 2015-5-19 19:37:52 * @brief 流水灯闪烁 ****************************************************************************** * @attention * 实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时) * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ u32 temp = 0; /* Private function prototypes -----------------------------------------------*/ void Delay_SysTick_Init(void); void Led_Init(void); void Delay_us(unsigned n); /* Private functions ---------------------------------------------------------*/ /** * @brief * @param * @retval */ int main(void) { Led_Init(); Delay_SysTick_Init(); while(1) { GPIO_SetBits(GPIOD,GPIO_Pin_1); Delay_us(500); //延时500毫秒 GPIO_ResetBits(GPIOD,GPIO_Pin_1); Delay_us(500); } } void Led_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE); // 开启时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStructure); } void Delay_SysTick_Init(void) { if(SysTick_Config(72000)) // 设置为计数72000次进入中断一次,就是1毫秒进入中断一次 { while(1); } SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; // 关闭滴答定时器,待需要的时候再打开 } void Delay_us(unsigned n) // 延时n毫秒 { temp = n; SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; // 开启滴答定时器 while(temp != 0); }

转载于:https://www.cnblogs.com/iucforever/p/4515382.html

实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)相关推荐

  1. c语言流水灯定时器延时,实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)...

    /** ****************************************************************************** * @file main.c * ...

  2. 51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次

    51单片机主函数实现P1口120ms间隔从P1.7口向右循环进行流水灯每次只能亮一个,进入外部中断是进行120ms的延时灯的亮灭各一次 #include <reg51.h> #includ ...

  3. STM32系统定时器SysTick(只能向下递减)延时闪烁灯

    参考:stm32 系统定时器 SysTick 作者:点灯小哥 发布时间: 2021-03-10 13:46:00 网址:https://blog.csdn.net/weixin_46016743/ar ...

  4. FPGA流水灯(间隔1S)

    代码: `timescale 1ns/1ns module zyl_light(input clk,input rst,output reg[3:0] led_out );//1s一次,计数50000 ...

  5. 入门51单片机(STC8952RC)定时器、有关中断原理简述、寄存器设置与程序示例(包括流水灯和计时器)

    目录 1.单片机之定时器 1.1 STC89C52RC定时器模式1工作流程 1.1.1 计数部分 1.1.2 时钟部分 1.1.3 中断部分 1.2 定时器T0.T1相关寄存器 1.2.1 TCOM寄 ...

  6. 基于51单片机的八位流水灯(三种形式)

    写一下寒假做的51小项目. 基本项目 基于AT89C51的流水灯:流水灯共八个,可以实现交替闪烁,一起闪烁,左右流水灯等效果. 模式一:按动key1,实现1,3,5,7和2,4,6,8交替闪烁: 模式 ...

  7. 流水灯嵌入式课程设计(包含UCOSII的无仿真和无UCOSII的有仿真)

    目录 流水灯设计原理 1.基于STM32F103R6Tx的流水灯设计,先初始化管脚,编写LED.KEY按键和定时器的初始化函数. 2.按键的判断设计分为两部分:开始/停止按键和设置时间按键. ① 开始 ...

  8. 设计一:51单片机流水灯控制

    目录 一.设计内容 二.硬件电路分析 三.仿真原理图 四.程序设计 五.仿真结果 六.思考题 作者有话说 一.设计内容 本次设计使用4个按键,当KEY1按下时,P0口所接的发光二极管(D1~D8)以1 ...

  9. c语言编程流水灯与交通灯实验,C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟.doc...

    C51单片机实验报告_流水灯_交通灯_定时器_双机交互_时钟 学 号: 班 级: 自动化10班 姓 名: 张 指导老师: 胡 2012.12 单片机核心板实验要求 流水灯实验 实验目的: 简单I/O引 ...

最新文章

  1. windows service自动启动相关设置
  2. jS字符串大小写转换实现方式
  3. Spring之DataSource注入
  4. 拆包--缓冲区查找包头及包尾偏移
  5. springaop----springaop的使用(一)
  6. 企业需求的Java程序员是什么样子的
  7. android markdown软件,安卓上的Markdown写作软件——Markdrop
  8. Android Studio 第七十六期 - Android webview长按识别二维码
  9. 结构体赋值 -- 构造函数
  10. 怎么讲bpm文件读入Matlab,bpm Matlab环境下基于期望传播算法的贝叶 类器工 238万源代码下载- www.pudn.com...
  11. Django重置管理后台模板
  12. 外观模式——透过现象看本质
  13. Tomcat可以正常启动,却打不开webapps目录下的html文件
  14. 商业银行业务学习(一)
  15. 100条必背JAVA知识点,你都掌握了吗?(上)
  16. 频率(脉冲)信号转直流电压电流信号变换器隔离转换模块0-5KHz/0-10KHz/1-5KHz转0-5V/0-10V/1-5V/0-10mA/0-20mA/4-20mA
  17. 三款学生必备的学习笔记工具,让你暑假变学霸
  18. android 下拉刷新数据,如何剥离Android页面下拉刷新、加载下一页等逻辑?
  19. EXCEL之快速选中一列
  20. java基础语法-day24-25进阶-Arrays工具类String自动装箱自动拆箱

热门文章

  1. 虚拟化运维工具对金融行业的解决方案
  2. 好程序员应该拥有的7个特质
  3. 程序员看了表示很开心
  4. python request post 数组_[pve][python]用python3获取pve状态信息
  5. .net 2005大写html标签 xhtml10,HTML10.ppt
  6. Gitee 如何自动部署博客 Pages?推荐用这个GitHub Actions!
  7. 三年经验前端社招——丰巢科技
  8. 防止html标签转义
  9. 基于间隔推送全量更新数据状态的设计方法
  10. lecture6-mini批量梯度训练及三个加速的方法