【51单片机】动态数码管
0、前言
参考:
普中51单片机开发攻略–A2.pdf

1、数码管介绍
上一章我们主要是介绍一位数码管的内部结构及控制原理。下面我们再来介 绍下多位数码管及动态显示原理的相关知识。
1.1 多位数码管简介

2、74HC245 和 74HC138 芯片介绍

2.1 74HC245 芯片简介


2.2 74HC138 芯片简介



3、硬件设计


4、软件设计
本章所要实现的功能是:控制动态数码管从左至右显示数字 0-7。
为了正规点,工程弄个正规文件夹:
https://blog.csdn.net/qq_43625266/article/details/122095932

main.c
#include <reg52.h>
#include <intrins.h>
#include "delayms.h"typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4; u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};// 显 示 0~F 的值
/*************** * 函 数 名 : delay * 函数功能 : 延时函数,i=1 时,大约延时 10us **************/ /*************** * 函 数 名 : DigDisplay * 函数功能 : 数码管动态扫描函数,循环扫描 8 个数码管显示 **************/
void DigDisplay() { u8 i; for(i=0;i<8;i++) { switch(i) //位选,选择点亮的数码管, { case(0): LSA=1;LSB=1;LSC=1; break;//显示第 0 位 case(1): LSA=0;LSB=1;LSC=1; break;//显示第 1 位 case(2): LSA=1;LSB=0;LSC=1; break;//显示第 2 位 case(3):LSA=0;LSB=0;LSC=1; break;//显示第 3 位 case(4): LSA=1;LSB=1;LSC=0; break;//显示第 4 位 case(5): LSA=0;LSB=1;LSC=0; break;//显示第 5 位 case(6): LSA=1;LSB=0;LSC=0; break;//显示第 6 位 case(7): LSA=0;LSB=0;LSC=0; break;//显示第 7 位 } P0=smgduan[i];//发送段码 delayms(1); //间隔一段时间扫描 P0=0x00;//消隐 }
}
/************ * 函 数 名 : main * 函数功能 : 主函数 *输 入 :无 *输 出 :无*********************/
void main() { while(1) { DigDisplay(); //数码管显示函数 } }
delayms.c
#include "delayms.h"void delayms(unsigned int xms) //delay x ms
{unsigned int x,y;for(x=xms;x>0;x--)for(y=124;y>0;y--);
}
delayms.h
#ifndef _DELAYMS_h_
#define _DELAYMS_h_void delayms(unsigned int xms); //delay x ms#endif
相关文章:
【51单片机】动态数码管
0、前言 参考: 普中51单片机开发攻略–A2.pdf 1、数码管介绍 上一章我们主要是介绍一位数码管的内部结构及控制原理。下面我们再来介 绍下多位数码管及动态显示原理的相关知识。 1.1 多位数码管简介 2、74HC245 和 74HC138 芯片介绍 2.1 74HC245 芯片简介 2.2 7…...
Webpack5入门到原理22:提升打包构建速度
HotModuleReplacement 为什么 开发时我们修改了其中一个模块代码,Webpack 默认会将所有模块全部重新打包编译,速度很慢。 所以我们需要做到修改某个模块代码,就只有这个模块代码需要重新打包编译,其他模块不变,这样…...
EXCEL VBA获取幸运数字号码
EXCELVBA获取幸运数字号码 以下就是VBA幸运号码产生的程序,复制粘贴到VBA代码框即可运行 Option Base 1 Sub 幸运号码()Dim n As Integer, i As Integer, j As IntegerDim l() As Integern Application.InputBox("请输入需要产生幸运号码的数量:…...
【标准IO】fseek函数、ftell函数、fflush函数、getline函数
目录 fseekftellrewindfflushgetline 橙色 当你在文件中写入了10个字符后,又想把这10个字符读出来,该怎么做呢?因为有文件操作符指针的存在,此时该指针已经指在了这10个字符末尾,所以需要把该指针重定向,这…...
VSCODE使用CMAKE显示命令无法找到
背景:使用了code server,安装CMAKE和CMAKE TOOLS,但是通过ctrlshiftp打开命令面板,运行随便一个cmake指令,都出现了指令无法找到。具体为“命令"CMake: 配置"导致错误 (command ‘cmake.configure’ not fou…...
【SpringCloud】微服务框架后端部署详细过程记录20240119
前言:前两天公司接到客户提供的一个微服务框架,导师让我在本地部署验证一下该框架的可用性,借此机会记录一下微服务项目的一个基本部署流程,仅供学习参考,如有不足还请指正! 文件结构 提供的压缩文件共包含…...
《设计模式的艺术》笔记 - 桥接模式
介绍 桥接模式将抽象部分与其实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体模式或接口模式 实现 myclass.h // // Created by yuwp on 2024/1/12. //#ifndef DESIGNPATTERNS_MYCLASS_H #define DESIGNPATTERNS_MYCLASS_H#…...
Redis高并发分布式锁
目录 场景描述 订单扣减场景举例 代码调整1 代码调整2 代码调整3 redisson锁续命核心代码 场景描述 订单扣减场景举例 //首先在redis中set stock 300 RequestMapping("/deduct_stock") public String deductStock() {int stock Integer.parseInt(stringRedi…...
组件开发遇到的问题(vue的问题)
组件的开发和引用 <template><div class"xx">组件</div> </template> <script>export default {name: viewMore,components: {},data() {return {}}} </script> <style scoped>可以定义组件都有的样式 </style> …...
vue3前端开发,感受一下组合式api和VUE2选项式的差异
vue3前端开发,感受一下组合式api和VUE2选项式的差异!今天开始,正式开始,进入学习Vue3的内容。以后代码,案例分享,都会采用组合式api的模式为大家做展示。 今天是第一节,带大家感受一下,Vue3的组…...
电梯调度问题文献阅读
电梯调度问题文献阅读 文章目录 电梯调度问题文献阅读[toc]文献阅读1. 陈纪龙,孟洪兵,吴刚等.六层电梯模拟系统的研究与实现[J].伊犁师范学院学报(自然科学版),2014,8(01):57-62.2. 陈福兰,杜虹.浅析电梯并联运行的几种调度方法[J].装备制造技术,2012,(10):178-180190.3. 马春江…...
文心一言 VS 讯飞星火 VS chatgpt (183)-- 算法导论13.4 7题
七、用go语言,假设用 RB-INSERT 将一个结点 x 插入一棵红黑树,紧接着又用 RB-DELETE 将它从树中删除。结果的红黑树与初始的红黑树是否一样?证明你的答案。 文心一言: 首先,我们需要明确RB-INSERT和RB-DELETE的基本操…...
ChatGLM vs ChatGPT
所有的NLP大模型 都是transformer结构 1.Mask attention 的策略不同 2.训练任务目标不同 国内大模型nb公司:百度、清华智谱 一、主流大模型 粉色:Encoder-only。 绿色:Encoder-Decoder,尽头智谱ChatGLM。 蓝色:…...
leetcode热题100.三数之和
Problem: 15. 三数之和 文章目录 题目解题方法复杂度Code 题目 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元…...
GitLab服务器忘记root密码处理方式
GitLab服务器忘记root密码处理方式 文章目录 GitLab服务器忘记root密码处理方式1. Gitlab查看用户id号1. 通过api接口查询2. 在Linux终端里直接通过curl命令查询 2. 进入GitLab数据库中查询并修改root密码 1. Gitlab查看用户id号 1. 通过api接口查询 接口查询地址:…...
js-cookie的使用--token的数据实现持久化
1.下载 npm install js-cookie 2.引入 import Cookies from "js-cookie"; 3.使用 // 写入cookie Cookies.set(name, value) // 读取 Cookies.get(name) // > value Cookies.get(nothing) // > undefined // 读取所有可见的cookie Cookies.get() // 删除某项co…...
【实战】SpringBoot自定义 starter及使用
文章目录 前言技术积累SpringBoot starter简介starter的开发步骤 实战演示自定义starter的使用写在最后 前言 各位大佬在使用springboot或者springcloud的时候都会根据需求引入各种starter,比如gateway、feign、web、test等等的插件。当然,在实际的业务…...
网络爬虫采集工具
在当今数字化的时代,获取海量数据对于企业、学术界和个人都至关重要。网络爬虫成为一种强大的工具,能够从互联网上抓取并提取所需的信息。本文将专心分享关于网络爬虫采集数据的全面指南,深入探讨其原理、应用场景以及使用过程中可能遇到的挑…...
【协议】XMLHttpRequest的梳理和总结
1. 前言 本篇梳理和总结一下XMLHttpRequest。 2. XMLHttpRequest原型对象的属性和方法 属性和方法说明示例new XMLHttpRequest() 功能:创建XHR对象 输入: 输出:XHR实例化对象 <略> XMLHttpRequest.prototype .open(method, url, asyn…...
AI教我学编程之C#类的基本概念(1)
前言 在AI教我学编程之C#类型 中,我们学习了C#类型的的基础知识,而类正是类型的一种. 目录 区分类和类型 什么是类? 对话AI 追问 实操 追踪属性的使用 AI登场 逐步推进 提出疑问 药不能停 终于实现 探索事件的使用 异步/交互操作 耗时操…...
手把手教你用Obsidian+Excalidraw画流程图,告别切换软件的麻烦
手把手教你用ObsidianExcalidraw画流程图,告别切换软件的麻烦 每次写技术文档时,最让我头疼的就是画流程图。原本思路清晰,一打开绘图软件就卡壳——要么是工具太复杂,要么是画完图还要导出再插入笔记,来回切换几次灵感…...
辽宁传媒学院学生宿舍与生活服务情况梳理
校园住宿条件是了解高校生活服务的重要方面。本文对辽宁传媒学院学生宿舍房型、设施配置、日常服务和新生入住流程进行梳理,供读者了解校园生活环境时参考。由于宿舍分配、设施配置和报到流程可能随年份调整,具体安排应以学校当年发布的通知为准。一、宿…...
TI毫米波雷达实战:从mmWave Studio配置到3D-FFT点云生成的保姆级教程
TI毫米波雷达实战:从硬件连接到3D-FFT点云生成的完整指南 毫米波雷达技术正在工业检测、自动驾驶和智能家居领域掀起革命。作为TI毫米波雷达开发的核心工具链,mmWave Studio与DCA1000的组合为工程师提供了从信号采集到高级处理的完整解决方案。本文将带您…...
OAuth 接入DeepSeek总失败?这3类JWT签名验证错误正在 silently 拒绝你的请求,速查!
更多请点击: https://kaifayun.com 第一章:OAuth 接入DeepSeek总失败?这3类JWT签名验证错误正在 silently 拒绝你的请求,速查! 当你调用 DeepSeek 的 OAuth 2.0 接口(如 /v1/auth/token)时&am…...
创业团队如何利用taotoken多模型能力快速进行产品原型验证
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业团队如何利用Taotoken多模型能力快速进行产品原型验证 对于资源有限的创业团队而言,开发一个智能对话产品原型时&a…...
Tomcat 超精简总结
1. 定位轻量级 Java Web 服务器 / Servlet 容器只跑 Java 项目(jsp、servlet、springboot 内嵌)处理 动态请求,不擅长静态资源2. 核心作用解析 Servlet、JSP监听端口,接收浏览器请求调用 Java 代码执行业务返回页面 / 数据给客户端…...
新手如何通过Taotoken控制台申请API Key并查看初始用量
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 新手如何通过Taotoken控制台申请API Key并查看初始用量 对于初次接触大模型API的开发者而言,第一步往往是如何获取一个…...
如何免费使用R3nzSkin游戏皮肤修改器:完整技术指南与内存钩子实战
如何免费使用R3nzSkin游戏皮肤修改器:完整技术指南与内存钩子实战 【免费下载链接】R3nzSkin Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3n/R3nzSkin R3nzSkin是一款专为《英雄联盟》设计的开源游戏皮肤修改器&a…...
如何在Windows电脑上安装安卓应用:APK-Installer完全指南
如何在Windows电脑上安装安卓应用:APK-Installer完全指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上运行安卓应用&#x…...
CXPatcher:让Mac上的CrossOver性能飞升的终极指南
CXPatcher:让Mac上的CrossOver性能飞升的终极指南 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 你是否曾经在Mac上尝试运行Windows游戏时感到…...
