当前位置: 首页 > news >正文

单片机学习3——数码管

数码管,根据内部结构,可分为共阴极数码管和共阳极数码管。七段发光管加上一个小数点,共计8段。因此,我们对它编程的时候,刚好是用一个字节。

数码管的显示方式:

1)静态显示;

2)动态显示;

#include<reg52.h>sbit dula = P2^6;
sbit wela = P2^7;void main()
{P0=0x3F;dula=1;dula=0; 	//锁住段显P0=0xFE;wela=1;wela=0;	    //锁住位显while(1);
}

选择仿真:

硬件仿真调试:

 

我们使用了数组,将共阴极的数码管的真值表,下标正好对应的是数码管的显示数值,这样就不用记真值表了。

#include<reg52.h>
#define uchar unsigned charsbit dula = P2^6;
sbit wela = P2^7;uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void main()
{P0=0xF0;wela=1;wela=0;	    //锁住位显P0=table[0];dula=1;dula=0; 	//锁住段显while(1);
}

需要掌握锁存器的功能。

让1/3/5位的数码管从0到1循环显示。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned intsbit dula = P2^6;
sbit wela = P2^7;uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint);void main()
{while(1){P0=0xEA;wela=1;wela=0;	    //锁住位显P0=table[0];dula=1;dula=0; 	//锁住段显0delay(1000);P0=table[1];dula=1;dula=0; 	//锁住段显1delay(1000);}
}void delay(uint x)
{for(i=x;i>0;i--){for(j=120;j>0;j--);}
}

 

然后是使用for循环语句将所有的数码管都从0到F都进行循环显示。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned intsbit dula = P2^6;
sbit wela = P2^7;uchar num=0;uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint);void main()
{while(1){
//		P0=table[0];
//		dula=1;
//		dula=0; 	//锁住段显0
//		delay(1000);
//		P0=table[1];
//		dula=1;
//		dula=0; 	//锁住段显1
//		delay(1000);for(num=0;num<16;num++){P0=table[num];dula=1;dula=0;P0=0xEA;wela=1;wela=0;	    //锁住位显delay(1000);  //延迟1秒}}
}void delay(uint x)
{  uint i;uint j;for(i=x;i>0;i--){for(j=120;j>0;j--);}
}

关键字code,没有加code的时候,定义的变量都放在单片机的RAM中,在程序中可以随意去改变这些变量的值。但是还有一种数据,在程序中使用,却不会改变它的值。定义这种数据的时候,可以加一个code关键字进行下修饰。这个数据会存储到程序空间的Flash中。这样可以大大节省单片机的RAM的使用量。

共阳极数码管的真值表:

unsigned char code table[]={
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};

相关文章:

单片机学习3——数码管

数码管&#xff0c;根据内部结构&#xff0c;可分为共阴极数码管和共阳极数码管。七段发光管加上一个小数点&#xff0c;共计8段。因此&#xff0c;我们对它编程的时候&#xff0c;刚好是用一个字节。 数码管的显示方式&#xff1a; 1&#xff09;静态显示&#xff1b; 2&…...

数据库表结构导出成Excel或Word格式

前言 该工具主要用于导出excel、word&#xff0c;方便快速编写《数据库设计文档》&#xff0c;同时可以快速查看表的结构和相关信息。 本博客仅作记录&#xff0c;最新源码已经支持多种数据库多种格式导出&#xff0c;有兴趣的可移步源码作者地址&#xff1a;https://gitee.co…...

School training competition ( Second )

A. Medium Number 链接 : Problem - 1760A - Codeforces 就是求三个数的中位数 : #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std; typedef long long LL; const int N 2e510;inline void …...

深度解析 Docker Registry:构建安全高效的私有镜像仓库

文章目录 什么是Docker Registry&#xff1f;Docker Hub vs. 私有RegistryDocker Hub&#xff1a;私有Registry&#xff1a; 如何构建私有Docker Registry&#xff1f;步骤一&#xff1a;安装Docker Registry步骤二&#xff1a;配置TLS&#xff08;可选&#xff09;步骤三&…...

leetcode 不同的二叉搜索树

给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5 示例 2&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;…...

通俗易懂的spring Cloud;业务场景介绍 二、Spring Cloud核心组件:Eureka 、Feign、Ribbon、Hystrix、zuul

文章目录 通俗易懂的spring Cloud一、业务场景介绍二、Spring Cloud核心组件&#xff1a;Eureka三、Spring Cloud核心组件&#xff1a;Feign四、Spring Cloud核心组件&#xff1a;Ribbon五、Spring Cloud核心组件&#xff1a;Hystrix六、Spring Cloud核心组件&#xff1a;Zuul七…...

大数据预处理技术

文章目录 前言 大数据技术成为前沿专业 也是现在甚至未来的朝阳产业&#xff0c;大数据有分别是 数据预处理 数据存储 大数据处理和分析 数据可视化 部分组成 &#xff0c;大数据行业有数据则称王&#xff0c;大数据的核心是数据本身 怎么获取有价值的数据呢&#xff1f;本章讲…...

跳表的学习记录

跳表&#xff08;Skip List&#xff09;是一种数据结构&#xff0c;它通过在多个层次上添加额外的前向指针来提高有序数据的搜索效率。跳表与其他常见的有序数据结构&#xff08;如二叉搜索树、平衡树如AVL树和红黑树、B树等&#xff09;相比&#xff0c;具有其独特的优缺点&am…...

电子学会C/C++编程等级考试2022年09月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:统计误差范围内的数 统计一个整数序列中与指定数字m误差范围小于等于X的数的个数。 时间限制:5000 内存限制:65536输入 输入包含三行: 第一行为N,表示整数序列的长度(N <= 100); 第二行为N个整数,整数之间以一个空格分…...

如何使用nginx部署静态资源

Nginx可以作为静态web服务器来部署静态资源&#xff0c;这个静态资源是指在服务端真实存在&#xff0c;并且能够直接展示的一些文件数据&#xff0c;比如常见的静态资源有html页面、css文件、js文件、图片、视频、音频等资源相对于Tomcat服务器来说&#xff0c;Nginx处理静态资…...

lua的gc原理

lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁&#xff0c;目前大多数有关这个方面的文章都还是基于lua5.1版本&#xff0c;有一定的滞后性。因此本文通过参考当前的5.3.4版本的Lua源码&#xff0c;希望对Lua的GC算法有一个较为详尽的探讨。 L…...

redis作为缓存详解

目录 前言&#xff1a; 为什么说关系型数据库性能不高 如何提高MySQL并发量 缓存更新策略 定期更新 实时更新 内存淘汰策略 Redis内置的淘汰策略 缓存常见问题 缓存预热 缓存穿透 缓存雪崩 缓存击穿 前言&#xff1a; 对于缓存的理解&#xff0c;缓存目的就是为了…...

231127 刷题日报

这周值班。。多少写道题吧&#xff0c;保持每天的手感。老婆给买了lubuladong纸质书&#xff0c;加油卷。 1. 131. 分割回文串 写个这个吧&#xff0c;钉在耻辱柱上的题。 为啥没写出来&#xff1a; 1. 递归树没画对 把树枝只看做是1个字母&#xff0c;而且不清楚树枝和节点…...

【Linux】vim-多模式的文本编辑器

本篇文章内容和干货较多&#xff0c;希望对大家有所帮助&#x1f44d; 目录 一、vim的介绍 1.1 vi 与 vim的概念1.2 Vim 和 Vi 的一些对比 二、vim 模式之间的切换 2.1 进入vim2.2 [正常模式]切换到[插入模式]2.3 [插入模式]切换至[正常模式]2.4 [正常模式]切换至[底行模式…...

Ubuntu 启用 root 用户

在启用 root 用户之前&#xff0c;我们先来了解一下&#xff0c; ubuntu 命令的组成。 打开 ubuntu 的终端&#xff0c;现在的命令行是由 topeetubuntu:~$ 这几个字母组成&#xff0c;那么这几个字母都代表 什么意思呢&#xff1f; topeet …...

手摸手Element-ui路由VueRoute

后端WebAPI准备 https://router.vuejs.org/zh/guide/ https://v3.router.vuejs.org/zh/installation.html <template><el-table:data"tableData"style"width: 100%":row-class-name"tableRowClassName"><!-- <el-table-colum…...

探究Kafka原理-5.Kafka设计原理和生产者原理解析

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44…...

浅谈C#在unity应用中的工厂模式

文章目录 前言简单工厂模式工厂方法模式抽象工厂模式Unity实战 前言 工厂模式是一种创建型设计模式&#xff0c;它提供了一种将对象的实例化过程封装起来的方法&#xff0c;使得客户端代码不必直接依赖于具体类。这有助于降低代码的耦合度&#xff0c;提高代码的可维护性和可扩…...

卷积神经网络(Inception-ResNet-v2)交通标志识别

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据3. 查看数据 二、构建一个tf.data.Dataset1.加载数据2. 配置数据集 三、构建Inception-ResNet-v2网络1.自己搭建2.官方模型 五、设置动态学习率六、训练模型七、模型评…...

网易云音频数据如何爬取?

在当今数字化时代&#xff0c;音频数据的获取和处理变得越来越重要。本文将详细介绍如何使用Objective-C语言构建音频爬虫程序&#xff0c;以爬取网易云音乐为案例。我们将从Objective-C的基础知识开始&#xff0c;逐步深入到爬取思路分析、构建爬虫框架、完整爬取代码等方面&a…...

单片机自动脱模剂喷雾控制系统

/***实现功能:检测报警信号,脱模剂开模数计数信号***/ /***参数:1:脱模剂开模数 2:喷雾时间 3:延时时间 ***/ /***串口接收触摸屏参数设置字符串,接收并保存******/ /***端子输入口读开模数,比较设定值后输出到电磁阀**/ /***端子输入口读报警信号,到设定值关闭电机及加热**/#i…...

2026降AI降重工具实测:高效过审首选方案推荐

2026年学术写作辅助工具的选择核心看四个维度&#xff1a;降重精准度、去AI痕迹效果、格式保留能力、学科适配性。经过多场景实测&#xff0c;SpeedAI科研小助手、飞降AI、超能降AI、快降AI、思笔AI是当前覆盖全需求的第一梯队工具&#xff0c;能满足从专科到硕博、从中文到英文…...

WSL2 子系统配置 SSH 并实现 VSCode 远程开发

1. 为什么要在WSL2中配置SSH服务&#xff1f; 作为一个长期使用WSL2进行开发的程序员&#xff0c;我发现直接通过终端操作WSL2虽然方便&#xff0c;但在某些场景下还是存在局限性。比如当需要同时管理多个项目时&#xff0c;终端窗口切换就显得不够高效&#xff1b;再比如团队协…...

ccmusic-database开源模型教程:基于CV预训练模型迁移学习音频任务的完整路径

ccmusic-database开源模型教程&#xff1a;基于CV预训练模型迁移学习音频任务的完整路径 1. 项目简介 ccmusic-database是一个基于计算机视觉预训练模型的音乐流派分类系统&#xff0c;它巧妙地将图像处理领域的成熟技术迁移到音频分析任务中。这个开源项目使用VGG19_BN作为基…...

开题之后,如何继续用图和表推进本科毕业设计与毕业论文写作?——以系统开发类和网络规划设计类选题为例

把图和表从“开题工具”和“写作材料”&#xff0c;提升为本科生理解和实践工程化思想的方法支架。 作者&#xff1a;非凡大爹&#xff5c;版本&#xff1a;v2.0&#xff5c;日期&#xff1a;2026-04-06&#xff5c;DocID&#xff1a;GRAD-2026S-PG-02 原创声明&#xff1a;本…...

保姆级教程:在ZYNQ Ultrascale+ MPSOC上配置PS端DP显示(Vitis 2023.1实测)

保姆级教程&#xff1a;ZYNQ Ultrascale MPSOC PS端DP显示全流程实战&#xff08;Vitis 2023.1版&#xff09; 当第一次拿到搭载ZYNQ Ultrascale MPSOC的开发板时&#xff0c;验证PS端DisplayPort输出功能往往是硬件加速视觉项目的重要起点。本文将以ALINX AXU2CGA开发板为例&…...

SenseVoice-small-ONNX效果展示:情感倾向标注(兴奋/平静/急促)真实输出

SenseVoice-small-ONNX效果展示&#xff1a;情感倾向标注&#xff08;兴奋/平静/急促&#xff09;真实输出 1. 核心能力概览 SenseVoice-small-ONNX是一个基于ONNX量化的多语言语音识别模型&#xff0c;它不仅能够准确识别语音内容&#xff0c;还能智能分析说话人的情感倾向。…...

利用快马平台与ccswitch快速构建可切换功能模块的web应用原型

今天想和大家分享一个快速验证前端功能模块切换方案的小技巧。最近在做一个需要动态切换不同功能模块的项目&#xff0c;尝试了用ccswitch工具配合InsCode(快马)平台来搭建原型&#xff0c;效果出乎意料地好。 为什么选择ccswitch ccswitch是一个轻量级的JavaScript工具&…...

Phi-3-mini-4k-instruct保姆级教学:Ollama Web UI自定义System Prompt与温度调节

Phi-3-mini-4k-instruct保姆级教学&#xff1a;Ollama Web UI自定义System Prompt与温度调节 你是不是已经用Ollama Web UI体验过Phi-3-mini-4k-instruct的文本生成能力了&#xff1f;感觉还不错&#xff0c;但总觉得少了点什么&#xff1f;比如&#xff0c;想让模型扮演一个专…...

2025医药AI全景:数智赋能新纪元,Linux基础开发工具 --- vim。

2025医药行业数智赋能与AI应用全景分析 行业背景与核心驱动力 全球医药行业正经历数字化转型浪潮&#xff0c;AI技术、大数据分析、物联网成为关键驱动力。2025年市场规模预计突破2.5万亿美元&#xff0c;年复合增长率达12%。政策支持&#xff08;如FDA加速AI医疗审批&#xff…...