STM32学习和实践笔记(13):数码管显示实验

共阳就是共正极,也就是正极全部接在一起。

共阴就是共负极,也就是负极全部接在一起。

我目前使用这款PZ6806L,使用了一个共阳数码管。

共阴与共阳在码表上其实就是正好取反就可以了,所以可以共用一个码表。

数码管显示程序主要分为 2 大块:
1)使能数码管端口时钟、初始化GPIO
2)主函数控制(将数值段码发送到对应端口上)。

main.c

#include "system.h"
#include "led.h"
#include "SysTick.h"
#include "beep.h"
#include "DigitalTube.h"

/*0-F的共阴码表,共16个字符*/
u8 DigitalSegment [16] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,	//0,1,2,3,4,5
													0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, //6,7,8,9,A.B
													0x39, 0x5e, 0x79, 0x71 };						//C,D,E,F,
	


int main()
{
		u8 i;
	SysTick_Init(72);
//	LED_Init();
//	BEEP_Init();
	DigitalTube_Init();

	
	while(1)
	{
		for(i=0; i<16;i++)
		{
			GPIO_Write(DigitalTube_PORT,(u16)~(DigitalSegment [i]));//u16是为配合形参要求强制转换;取反是将共阴码表转成共阳
			delay_ms(1000);
			delay_ms(1000);	
			
			}
	}
}


DigitalTube.h

#ifndef _DigitalTube_H
#define _DigitalTube_H

#include "system.h"

#define DigitalTube_PORT_RCC 						RCC_APB2Periph_GPIOC
#define DigitalTube_PIN									(GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7)
#define DigitalTube_PORT								GPIOC


void DigitalTube_Init(void);


#endif

DigitalTube.c

#include "DigitalTube.h"

void DigitalTube_Init()
{
	GPIO_InitTypeDef GPIO_InitStructure; 
	
	RCC_APB2PeriphClockCmd(DigitalTube_PORT_RCC,ENABLE);
	
	GPIO_InitStructure.GPIO_Pin=DigitalTube_PIN; 
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;	
	
	GPIO_Init(DigitalTube_PORT,&GPIO_InitStructure);
	

}

实验成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/547911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

零基础也可以学习的医疗设备维修技能

零基础也可以学习的维修技能 解锁工程师的隐藏潜能&#xff01; 您是否曾因维修问题而感到束手无策&#xff1f; 彩虹医疗影像培训课程不仅提供技能&#xff0c; 更能为您提供自信。不再需要依赖他人&#xff0c; 您将成为故障排查的行家。迎接更具挑战性的机会&#xff0…

LeetCode_1304.和为零的 N 个不同整数

题目&#xff1a; 题解&#xff1a; 题目说让我们返回一个由n个各不相同的整数组成的数组&#xff0c;相加为0。 这里的比较好的办法就是类似于 1 2 3 0 -3 -2 -1这样对称的数组。既满足要求&#xff0c;又好实现。 先calloc出一个容量为n的整型数组&#xff0c;定义两个变量…

【VIC水文模型】模型原理简介

VIC水文模型原理 VIC水文模型概述土壤&#xff08;Soil&#xff09;积雪&#xff08;Snow&#xff09;动态湖和湿地模型动态湖&#xff08;Lake Model&#xff09;湿地模型&#xff08;Wetland Model&#xff09; 1 VIC模型陆面水文过程&#xff08;产流过程&#xff09;1.1 能…

PHP-001、PHP学习之PhpStorm+PhpStudy环境安装

一、说明 由于当前需要&#xff0c;暂时停止学习python&#xff0c;当然有时间继续&#xff0c;转为php&#xff0c;听说php开发网站、小程序等运行效率更高&#xff0c;朋友那边再做这个&#xff0c;准备学习一下&#xff0c;和朋友们一起来吧&#xff0c;就这开发环境安装&a…

【团体程序设计天梯赛 往年关键真题 25分题合集 详细分析完整AC代码】(L2-025 - L2-048)搞懂了赛场上拿下这些分就稳了

L2-025 分而治之 并查集 样例 输入样例&#xff1a; 10 11 8 7 6 8 4 5 8 4 8 1 1 2 1 4 9 8 9 1 1 10 2 4 5 4 10 3 8 4 6 6 1 7 5 4 9 3 1 8 4 2 2 8 7 9 8 7 6 5 4 2输出样例&#xff1a; NO YES YES NO NO分析&#xff1a; 先将所有边记录下来&#xff0c;再每次询问时&…

【MySQL】 mysql 日常工单处理脚本 解放你的双手!!!

简介 在工作中经常帮助开发的小伙伴执行些 sql&#xff0c;手动执行效率低不直观&#xff0c;还要单独备份等等&#xff0c;极为麻烦&#xff0c;怎么办&#xff1f;用它&#xff01;解放时间多摸鱼&#xff01;&#xff01;&#xff01;我的摸鱼小帮手。 流程图&#xff1a;…

C语言结构体的使用

C语言结构体的使用 1、先声明在定义 #include<stdio.h> #include<string.h> struct student{ char name[20]; int age; double score; };int main(){ struct student st; struct student *stt&st;strcpy(st.name,"zhangsan"); //通过地址赋值 (&am…

Matroska解封装原理与实践

本期作者 背景 Matroska是一种开放标准、功能强大的多媒体封装格式&#xff0c;可容纳多种不同类型的视频、音频及字幕流&#xff0c;其常见的文件扩展名为.mkv、.mka等。与应用广泛的MP4相比&#xff0c;Matroska更加灵活开放&#xff0c;可以同时容纳多个字幕&#xff0c;甚至…

云计算,如何从IT战略上升为企业核心战略?

ITValue 本文摘自《云栖战略参考》&#xff0c;这本刊物由阿里云与钛媒体联合策划。目的是为了把各个行业先行者的技术探索、业务实践呈现出来&#xff0c;与思考同样问题的“数字先行者”共同探讨、碰撞&#xff0c;希望这些内容能让你有所启发。 首发&#xff5c;钛媒体APP I…

YOLO-World——S(cvpr2024)

文章目录 Abstract成果 MethodPre-training Formulation: Region-Text PairsModel ArchitectureYOLO DetectorText EncoderText Contrastive HeadTraining with Online VocabularyInference with Offline Vocabulary Re-parameterizable Vision-Language PANText-guided CSPLay…

面试算法-174-二叉树的层序遍历

题目 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 解 class Solut…

消息队列中间件,RabbitMQ的使用,死信队列,延迟队列,利用枚举实现队列,交换机,RountKey的声明

目录 0.交换机种类和区别 1.声明队列和交换机以及RountKey 2.初始化循环绑定 3.声明交换机 4.监听队列 4.1 监听普通队列 4.2监听死信队列 5.削峰填谷的实现 0.交换机种类和区别 Direct Exchange&#xff08;直连交换机&#xff09;&#xff1a; 直连交换机将消息发送到…

武汉星起航:亚马逊跨境引领全球贸易新趋势,展现积极影响力

随着全球化浪潮的持续推进&#xff0c;跨境电商行业正迎来前所未有的发展机遇。亚马逊作为全球领先的电商平台&#xff0c;其在跨境电商领域的发展趋势备受瞩目。亚马逊跨境电商不仅扩大了跨境市场的规模&#xff0c;优化了供应链管理&#xff0c;还积极应用科技创新&#xff0…

【讲解下如何从零基础学习Java】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

pyqt实战-软件通用界面设计模板样例

软件界面 技术点 无边框设计自定义右上角最大化&#xff0c;最小化&#xff0c;关闭按钮界面布局能够自适应界面的放大缩小按住鼠标左键能够拖动整个界面treewidget整体风格设计 代码 import sysfrom PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.Qt import * impor…

c# 服务创建

服务 创建服务 编写服务 可以对server1.cs重新命名&#xff0c;点击你的server按F7进入代码编辑模式&#xff0c;编写脚本 双击你的server.cs右击空白位置&#xff0c;添加安装程序&#xff0c;此时会生成“serviceInstaller1”及“serviceProcessInstaller1” 后续可以点击P…

开源相机管理库Aravis例程学习(一)——单帧采集single-acquisition

开源相机管理库Aravis例程学习&#xff08;一&#xff09;——单帧采集single-acquisition 简介源码函数说明arv_camera_newarv_camera_acquisitionarv_camera_get_model_namearv_buffer_get_image_widtharv_buffer_get_image_height 简介 本文针对官方例程中的第一个例程&…

CSS特效---跳动的文字

1、演示 2、一切尽在代码中 <!--* Author: your name* Date: 2023-10-03 14:42:44* LastEditTime: 2023-10-03 14:56:26* LastEditors: DESKTOP-536UVPC* Description: In User Settings Edit* FilePath: \css-special-effects\跳动的文字.html --> <!DOCTYPE html>…

【Linux】进程的优先级环境变量

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 前言2. 进程的优先级2.1 什么是优先级2.2 为什么要有优先级2.3 优先级的查看方式2.4 对优先级调整 3. 命令行参数4. 环境变量4.1 环境变量与配置文件4.1.1 环境变量初步介绍4.1.2 配置文件 4.2 更多环境变量4.3 整…

Shiro整合EhCache缓存(二)

Shiro整合EhCache缓存 1、授权、角色认证1.1、后端接口服务注解1.2、授权-获取角色1.3、授权-获取权限1.4、授权-异常处理1.5、前端页面授权 2、EhCache2.1、Shiro整合EhCache 1、授权、角色认证 用户登录后&#xff0c;需要验证是否具有指定角色指定权限。Shiro也提供了方便的…