没有合适的资源?快使用搜索试试~ 我知道了~
基于STM32的数码管显示模板
1星 需积分: 47 70 下载量 103 浏览量
2020-05-22
12:19:36
上传
评论 6
收藏 5KB TXT 举报
温馨提示
本文描述的是数码管模块化程序,包括定义、函数内容、调用等几部分,程序无延时无等待、可直接移植强、通用性高,让开发变得更简单、有趣
资源推荐
资源详情
资源评论
# 数码管的通用性模板
数码管在产品开发中经常会被使用,本人结合近年来的工作经验,总结了通用化的模板供大家参考,欢迎大家批评指正。本文采用的是SMT32F103系列芯片,部分库函数直接引用,不做具体介绍。
## (1)内容定义
(1) 定义字形转换表
const unsigned char zxb[]
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x38,0x50,0x58,0x73,0x3E,0x79,0x7A,0x39
// 对应内容为:0 1 2 3 4 5 6 7 8 9 空 L r c P U E b C
};
根据数码管的控制引脚的动作情况,编写上述转换表,本文所用数码管的控制引脚如下所示:
// _ _ a
// |_| f |_ g |b
// |_|. e |_ d |c . h
// D3 D2 D1 D0
// d c b a
// D7 D6 D5 D4
// h g f e
(2)定义数码管管子数组
unsigned char Dis_Dat[4]={8,8,8,8}; //本文使用的是4个数码管,应该定义数组大小为4
(3)定义显示缓冲区
unsigned char Dis_Buf[32]; //管子的每一段对应一个字节
(4)定义管子切换显示时间
unsigned char Disp_20ms=20; //管子切换的时间本文设置为20ms,实际使用中,可适当调节,如时间选择过长有可能会出现闪烁的情况
(5)定义IO口
//4个管子的片选
#define V_LED1_IO GPIO_Pin_7
数码管在产品开发中经常会被使用,本人结合近年来的工作经验,总结了通用化的模板供大家参考,欢迎大家批评指正。本文采用的是SMT32F103系列芯片,部分库函数直接引用,不做具体介绍。
## (1)内容定义
(1) 定义字形转换表
const unsigned char zxb[]
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0x38,0x50,0x58,0x73,0x3E,0x79,0x7A,0x39
// 对应内容为:0 1 2 3 4 5 6 7 8 9 空 L r c P U E b C
};
根据数码管的控制引脚的动作情况,编写上述转换表,本文所用数码管的控制引脚如下所示:
// _ _ a
// |_| f |_ g |b
// |_|. e |_ d |c . h
// D3 D2 D1 D0
// d c b a
// D7 D6 D5 D4
// h g f e
(2)定义数码管管子数组
unsigned char Dis_Dat[4]={8,8,8,8}; //本文使用的是4个数码管,应该定义数组大小为4
(3)定义显示缓冲区
unsigned char Dis_Buf[32]; //管子的每一段对应一个字节
(4)定义管子切换显示时间
unsigned char Disp_20ms=20; //管子切换的时间本文设置为20ms,实际使用中,可适当调节,如时间选择过长有可能会出现闪烁的情况
(5)定义IO口
//4个管子的片选
#define V_LED1_IO GPIO_Pin_7
#define V_LED2_IO GPIO_Pin_6
#define V_LED3_IO GPIO_Pin_5
#define V_LED4_IO GPIO_Pin_4
//8段
#define POINT1_IO GPIO_Pin_12
#define POINT2_IO GPIO_Pin_13
#define POINT3_IO GPIO_Pin_14
#define POINT4_IO GPIO_Pin_15
#define POINT5_IO GPIO_Pin_2
#define POINT6_IO GPIO_Pin_1
#define POINT7_IO GPIO_Pin_10
#define POINT8_IO GPIO_Pin_11
(6)定义各管子的控制
//清0
#define POINT1_ON GPIO_ResetBits(GPIOB,POINT1_IO)
#define POINT2_ON GPIO_ResetBits(GPIOB,POINT2_IO)
#define POINT3_ON GPIO_ResetBits(GPIOB,POINT3_IO)
#define POINT4_ON GPIO_ResetBits(GPIOB,POINT4_IO)
#define POINT5_ON GPIO_ResetBits(GPIOB,POINT5_IO)
#define POINT6_ON GPIO_ResetBits(GPIOB,POINT6_IO)
#define POINT7_ON GPIO_ResetBits(GPIOB,POINT7_IO)
#define POINT8_ON GPIO_ResetBits(GPIOB,POINT8_IO)
//置1
#define POINT1_OFF GPIO_SetBits(GPIOB,POINT1_IO)
#define POINT2_OFF GPIO_SetBits(GPIOB,POINT2_IO)
#define POINT3_OFF GPIO_SetBits(GPIOB,POINT3_IO)
#define POINT4_OFF GPIO_SetBits(GPIOB,POINT4_IO)
#define POINT5_OFF GPIO_SetBits(GPIOB,POINT5_IO)
#define POINT6_OFF GPIO_SetBits(GPIOB,POINT6_IO)
#define POINT7_OFF GPIO_SetBits(GPIOB,POINT7_IO)
#define V_LED3_IO GPIO_Pin_5
#define V_LED4_IO GPIO_Pin_4
//8段
#define POINT1_IO GPIO_Pin_12
#define POINT2_IO GPIO_Pin_13
#define POINT3_IO GPIO_Pin_14
#define POINT4_IO GPIO_Pin_15
#define POINT5_IO GPIO_Pin_2
#define POINT6_IO GPIO_Pin_1
#define POINT7_IO GPIO_Pin_10
#define POINT8_IO GPIO_Pin_11
(6)定义各管子的控制
//清0
#define POINT1_ON GPIO_ResetBits(GPIOB,POINT1_IO)
#define POINT2_ON GPIO_ResetBits(GPIOB,POINT2_IO)
#define POINT3_ON GPIO_ResetBits(GPIOB,POINT3_IO)
#define POINT4_ON GPIO_ResetBits(GPIOB,POINT4_IO)
#define POINT5_ON GPIO_ResetBits(GPIOB,POINT5_IO)
#define POINT6_ON GPIO_ResetBits(GPIOB,POINT6_IO)
#define POINT7_ON GPIO_ResetBits(GPIOB,POINT7_IO)
#define POINT8_ON GPIO_ResetBits(GPIOB,POINT8_IO)
//置1
#define POINT1_OFF GPIO_SetBits(GPIOB,POINT1_IO)
#define POINT2_OFF GPIO_SetBits(GPIOB,POINT2_IO)
#define POINT3_OFF GPIO_SetBits(GPIOB,POINT3_IO)
#define POINT4_OFF GPIO_SetBits(GPIOB,POINT4_IO)
#define POINT5_OFF GPIO_SetBits(GPIOB,POINT5_IO)
#define POINT6_OFF GPIO_SetBits(GPIOB,POINT6_IO)
#define POINT7_OFF GPIO_SetBits(GPIOB,POINT7_IO)
剩余7页未读,继续阅读
资源评论
- qq_408697412021-06-0710几个单片机管脚来控制4位数码管,人才。
weixin_43252966
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java语言的歌唱比赛评分系统设计源码
- 基于JavaEE技术的课程项目答辩源码设计——杨晔萌、李知林、岳圣杰、张俊范小组作品
- 基于Java原生安卓开发的蔚蓝档案娱乐应用设计源码
- 基于Java、Vue、JavaScript、CSS、HTML的毕设设计源码
- 基于Java和HTML的CMS看点咨询系统设计源码
- 基于Java语言的MyCache缓存系统设计源码实现教程
- 招聘信息:平面设计师(文创产品方向).pages
- vo_ai_name_blank_40.wav
- 基于HTML、JavaScript、CSS的楼盘系统移动端前端设计源码
- 基于Java及Vue框架的中职院校技能大赛教学能力比赛报名评审平台设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功