七段数码管的显示 滚动显示
一、HAL库进行设置,将中断打开,使用tim6中断,在中断中完成对数码管的滚动显示
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(TIM6 == htim->Instance)
{
HAL_GPIO_WritePin (GPIOE,0XFF,GPIO_PIN_SET);
HAL_GPIO_WritePin (GPIOE,num,GPIO_PIN_RESET);
num=num<<1;
if(num==0x100)
{
num=0x01;
}
}
}
二、滚动数码管的实现依赖于for循环的实现
for(int i=0;i<8;i++)
{
HAL_Delay (1);
}
三、数码管的显示,每个数码管都有七段数显。
1.先将数码管的显示全部清空
2.在送进段码,也就是你要将在数码管上显示的数字
3.送完段码需要将位码送进,位码则是你需要数字显示的位置
//0.清除数码管所有显示
HAL_GPIO_WritePin (GPIOA,0xFF,GPIO_PIN_SET);
//1.送段码
HAL_GPIO_WritePin (GPIOA,~LED_Val[LED[i]],GPIO_PIN_RESET );
//2.送位码
switch(i) //即用PB也用PC所以可用switch
{
case 0:
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_9,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_10,GPIO_PIN_SET );
break;
case 1:
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_10,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_11,GPIO_PIN_SET );
break;
case 2:
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_11,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_12,GPIO_PIN_SET );
break;
case 3:
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_12,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_13,GPIO_PIN_SET );
break;
case 4:
HAL_GPIO_WritePin (GPIOB,GPIO_PIN_13,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_6,GPIO_PIN_SET );
break;
case 5:
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_6,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_7,GPIO_PIN_SET );
break;
case 6:
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_7,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_8,GPIO_PIN_SET );
break;
case 7:
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_8,GPIO_PIN_RESET );
HAL_GPIO_WritePin (GPIOC,GPIO_PIN_9,GPIO_PIN_SET );
break;
}
四、定义两个数组分别为数码管的段码数组和用于显示移位的数组
uint8_t LED_Val[]= {0xC0,/*0*/0xF9,/*1*/0xA4,/*2*/0xB0,/*3*/0x99,/*4*/0x92,/*5*/0x82,/*6*/0xF8,/*7*/};
uint16_t LED[]={0,1,2,3,4,5,6,7};
五、使用stm32的io口都要进行初始化
七段数码管的显示滚动显示-嵌入式文档类资源-CSDN文库https://download.csdn.net/download/ming_chen_jing/86249296
七段数码管的显示 滚动显示相关推荐
- 单片机c语言数码管显示循环0到9程序,七段数码管0~9循环显示程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编写程序实现80C51的P0口控制一个数码管显示,让它循环显示0~9等十位数字,时间间隔为1秒钟. 利用查表程序可以完成BCD与七段码的转换,从而取代硬件 ...
- 七段数码管数字时钟实时显示显示(年月日时分秒)
用数码管显示系统实时时间需要用到turtle.datetime以及time这三个函数,调出系统时间进行运用并控制数码管绘制过程实现这一程序! 最后呈现出来的结果会是一个动态的数码管,每秒钟刷新一次,来 ...
- 三、51单片机 使用Proteus仿真实现8位数码管滚动显示(仿真及代码)
1,目标 使用51单片机控制8位数码管,分别滚动显示单个数字0~7,程序运行之后,单片机先控制最左边的第一位数码管显示0,其他的熄灭,延时一段时间之后,控制左边第二个数码管显示1,其它熄灭,以此类推, ...
- python七段数码管设计图案-Python 七段数码管绘制
数码管是一种半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point).它价格便宜.使用简单,通过对其不同 ...
- FPGA基础知识极简教程(9)七段数码管显示的Verilog简单设计
博文目录 写在前面 正文 七段数码管原理 七段数码管译码表 单个七段数码管显示verilog设计 多个数码管动态扫描显示 参考资料 交个朋友 写在前面 作为FPGA的基础知识教程怎么能少得了这个简单的 ...
- 数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图
数码管显示是每一个单片机初学者都必须学的,而单片机驱动数码管的数字循环显示实验,又是单片机基础中的基础,同时也是学好C语言编程的关键,此实验在硬件上可以弄清楚单片机驱动原理和数码管的显示原理,在软件上 ...
- 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...
本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统.系统应具有赛程定时设置,赛程时间暂停,及时刷新甲.乙双方的成绩以及赛后成绩暂存等功能. 内容包括:显示.键盘.时钟等内容设计 ...
- .NET Winform 的七段数码显示控件
自行开发的.NET Winform 下的七段数码显示控件.文章请看: http://www.codeproject.com/KB/miscctrl/SegmentedLEDControl.aspx 最 ...
- 七段数码显示管—设计报告,visio图,Multisim仿真
一位七段数码显示管(附加设计报告,visio图,和Multisim仿真 第一次写博客,第一次用标记语言,写的不好请见谅! - -题目要求- - 采用74ls147芯片,74ls04,74ls48n和共 ...
最新文章
- SAP C/4HANA到底包含哪些产品?
- SwiftUI之深入解析属性包装器如何处理结构体
- Spring Boot中的@SpringBootConfiguration注释
- HTMLCSSJavaScript个人入门自学笔记
- python——pandas数据分析(表格处理)工具实现Apriori算法
- python效率numpy_Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀
- 51单片机redefinition_lcd12864程序在keil中出现好多重新定义,尝试了很多办法都改不了,求助大家了...
- 完美镜像ISO制作工具WinIso-----使用说明
- 饿百零售开放平台,测试账号饿了么显示该商家还没有上传商品
- 普通人最应该具备的素质是什么,韧性
- 硬件笔记-贴片元器件焊接
- 香蕉树上第四根芭蕉——c++中容器的概念说明---转载记录
- Arduino Pro IDE,你终于长大了!
- uniapp报错:Browserslist: caniuse-lite is outdated. Please run next command `npm update`
- Learning Deep Similarity Models with Focus Ranking for Fabric Image Retrieval 学习笔记
- 算法- C语言实现侏儒(地精)排序(Gnome_sort)
- 如何将多行和多列转换为行和行Excel
- 裁判文书网数据采集爬虫记录2023-03
- C# 求Sn=a+aa+aaa+...+aa...a(n个a)的值
- 贝聊系统架构服务化之路