最近做了个交通灯模块, 采用stm32f103 实现led点亮及倒计时功能,整理分享代码~-~

工程文件 欢迎star~

主函数如下

#include <led.h>
#include <stm32f10x.h>
#include <sys.h>//info:R-PA6,G-PA7,Y-PA5(DS0)
//Env:Stm32f103x、74HC595数码管、LED0-2
//Time:20180907-
//Info:接受Lora帧数据、分割提取数据、控制LED灯及数码管倒计时时间
//LED1:PB5-PB7
//数码管:PA5-PA7
//程序设计框架:接受的数据与Vaule运算可得到倒计时、亮灯信息//Function:显示模块
//Env:Keil、Stm32f103x, 74Hc595
//Author@New
//Tmie£º20180915
//INfo:
//IO口:LED1-3:PB5-PB7
//74Hc595:PA5-PA7¡¢LOAD0 PAout(5)¡¢CLK PAout(6)¡¢SDK PAout(7)
//ps:74Hc595 LoAD名字与SysTick->LOAD 存在重复,这里用LOAD0表示
//Load0锁存、CLK:移位时钟、SDK:数据位
//CLK = 0;低电平,数据位 SDK:数据输入寄存器;CLK = 1;上升沿将已移入数据寄存器送入锁存器//字模unsigned char Tab[] = {0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0x7f};//0 1 2 3 4 5 6 7 8 9 A B C D F ? . //  /*
//延迟函数测试void delay10ms(uint16_t temp)
{uint16_t  i,j,t;t=temp;while(t!=0){for(i=200;i>0;i--)for(j=248;j>0;j--);t--;}
}
*/
//8位数据串行输入595
void SPI_595(unsigned char out_data)
{unsigned char i,temp;for(i=0;i<8;i++){CLK=0;temp=out_data&0x80;if(temp==0x80)SDK=1;else SDK=0;    out_data=out_data<<1;CLK=1;}
}
//SysTick 定时器计时
//配置SysTick
void SysTick_Configuration(void)
{ SysTick->VAL = 0; //SysTick µ±Ç°¼Ä´æÆ÷µÄÖµ//SysTick ×Ô¶¯ÖØ×°³ýÖµ¼Ä´æÆ÷SysTick->LOAD = (72000000/8000000)*1000;//´ú±íÿ¸ömsÐèÒªµÄ9000¸ösystickʱÖÓÊý ¡SysTick->CTRL |= 0x06; //SysTick ¿ØÖƺÍ״̬¼Ä´æÆ÷}
//中断处理函数
void SysTick_Handler(void) //????
{ extern unsigned long TimingDelay; // ????,????????? //SYSTICK_CURRENT=0; SysTick->VAL = 0; if (TimingDelay != 0x00) TimingDelay--;
}
//systick 延时函数
unsigned long TimingDelay;  // ????,?????????
void Delay(unsigned long nTime)  //????
{ SysTick->CTRL |=0x07;   // ??SysTick??? TimingDelay = nTime; // ?????? while(TimingDelay != 0); // Óï¾ä×÷Óã¿£¿£¿SysTick->CTRL |=0x06;// ??SysTick???
} int main() { int j,k;//delay_init();             //?óê±o¯êy3?ê??¯      SystemInit();    //??(??)??? //GPIO_Init()(); //GPIO??? LED_Init();SysTick_Configuration(); //??systick??? while(1){//YelioGPIO_ResetBits(GPIOB,GPIO_Pin_5); //PA8ê?3?µí//DSP1//    GPIO_SetBits(GPIOD,GPIO_Pin_2);////RedGPIO_ResetBits(GPIOB,GPIO_Pin_6); //PB6 ê?3?µí//GreenGPIO_ResetBits(GPIOB,GPIO_Pin_7);//PB7 ê?3? µí/*//Test03?oµ1??ê±??ê:?o??ê?ê±??'ó0- 99*/for(j=9;j>=0;j--){for(k=9;k>=0;k--){    LOAD0=1;LOAD0=0;    SPI_595(Tab[k]);//LED2-RightSPI_595(Tab[j]);//LED1-Left//delay10ms(500);Delay(10000); //1S  }                } }
} 

结果显示:

SysTick 相关内容见博客 https://blog.csdn.net/qq_40025335/article/details/79122244

如有疑问,欢迎留言指正

资料整理分享不易,一分一毛都是激励

【实践】Stm32f10x_74Hc595倒计时实现实例相关推荐

  1. python简单界面实现-python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...

  2. Postman接口测试工具学习笔记(二)Postman进阶实践:获取天气预报实例

    Postman接口测试工具学习笔记(一) 入门及基本概念 https://blog.csdn.net/sevensolo/article/details/87208546 Postman进阶实践:获取 ...

  3. html js秒杀倒计时,JavaScript仿京东秒杀倒计时代码实例

    本篇文章小编给大家分享一下JavaScript仿京东秒杀倒计时代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 仿京东秒杀倒计时 html代码 秒杀倒计时 : : c ...

  4. Android拼图游戏的设计逻辑,从切图到交互动画,从关卡到倒计时,实例提高!

    Android拼图游戏的设计逻辑,从切图到交互动画,从关卡到倒计时,实例提高! 群英传的最后一章,我大致的看了一下这个例子,发现鸿洋大神也做过,就参考两个人的设计逻辑,感觉都差不多,就这样实现起来了 ...

  5. python文件读取写入实践_python文件写入实例分析

    本文实例讲述了python文件写入的用法.分享给大家供大家参考.具体分析如下: Python中wirte()方法把字符串写入文件,writelines()方法可以把列表中存储的内容写入文件. f=fi ...

  6. python怎么抓取网页倒计时_python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...

  7. python简单程序实例-python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...

  8. iOS网络编程实践--蓝牙对等网络通信实例讲解

    基于蓝牙对等网络通信就是使用Game Kit中的GKSession.GKSessionDelegate. GKPeerPickerController和GKPeerPickerControllerDe ...

  9. python打开窗口显示倒计时_python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...

最新文章

  1. 感量越大抑制频率约低_东芝推出高纹波抑制比、低噪声LDO稳压器
  2. ESXI | ESXI6.7如何在网页端添加用户并且赋予不同的权限
  3. 美国计算机科学厉害的大学,求推荐美国综合排名40~70间计算机科学较好的大学...
  4. 北斗导航 | GNSS技术在自动驾驶中的作用
  5. 使用脚本在Linux服务器上自动安装Kubernetes的包管理器Helm
  6. java是如何实现原语的_Java中的低GC:使用原语而不是包装器
  7. xss绕过字符过滤_XSS绕过实战练习
  8. Javaspring 14-18课 spring AOP
  9. 盒子浮动的重要性及对其它元素的影响
  10. 安卓自定义view全解:初始化,onDraw函数,onMeasure函数,用户手势事件
  11. C++中用stringstream类进行数据类型的转换
  12. Windows下保存git账号密码实现免输入
  13. Node.js .sh scripts Manager
  14. 炫彩与WKE浏览器交互
  15. 干货|手把手教你写单片机的结构体
  16. 2021漏洞扫描服务TOP20排行榜
  17. sybase日志空间不足,增加日志空间步骤(有图有真相)
  18. TMUX Cheat Table:和那些妖艳贱货不一样的 TMUX 教程
  19. 泰凌微8258入门教程 基础篇⑤——发送数据流程
  20. UE打包时候生成多个PAK

热门文章

  1. ACCESS数据库操作必须使用一个可更新的查询 解决办法
  2. 第二十九节 C++ 继承之向基类传递参数
  3. PeakDo无线投屏器体验:零延迟无线投屏,这才是真正的黑科技!
  4. 架构 对话架构师:亿级短视频社交美拍架构实战
  5. 今天,公众号留言功能开通啦!| 文末乔迁福利
  6. CUDA unknown error - this may be due to an incorrectly set up environment 问题解决
  7. 易经读书笔记15地山谦
  8. db2 windows版本安装
  9. 【Scikit-Learn 中文文档】34 预处理数据 - 数据集转换 - 用户指南 | ApacheCN
  10. 云计算课程 DAY 1