共阳(共阴)LED数码管编码交互演示

news2024/9/22 21:17:39

LED数码管原理

LED数码管有两大类,一类是共阴极接法,另一类是共阳极接法,共阴极就是各段的显示字码共用一个电源的负极,是高电平点亮,共阳极就是各段的显示字码共用一个电源的正极,是低电平点亮。只要控制其中各段LED的亮灭即可显示相应的数字、字母或符号。
共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已,共阴为所有的LED负极接在一起,共阳为所有的LED正极接在一起。
下图为1位数码管的共阴极和共阳极原理图:
数码管引脚编号与显示原理

字符编码交互演示

演示效果 点击各段显示单元,下方即可生成显示码,按照从右到左,从低到高的顺序
点击各段显示单元,下方即可生成显示码,按照从右到左,从低到高的顺序

HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<title>7段数码管</title>
<style>
#msg {font:normal larger serif;}
</style>
<script>
function init(){
  document.querySelector('svg #stroke').addEventListener('mousedown', function(evt){
    if(evt.button!=0) return;
    var e = evt.srcElement;
    if(e.tagName == 'polygon' || e.tagName=='circle'){
      if(e.getAttribute('class')=="on") e.setAttribute('class', "off");
      else e.setAttribute('class', "on");
      evt.stopPropagation();
      evt.preventDefault();
      updatemsg();
    }
  });
  updatemsg();
}
function updatemsg(){
  var seg1 = '';
  document.querySelectorAll('svg #stroke *').forEach(e=>{
    if(e.getAttribute('class')=='on') seg1 = '1' + seg1;
    else seg1 = '0' + seg1;
  });
  var seg2 = '';
  for(var i=0;i<8;i++){
    seg2 += seg1[i]=='0'? 1:'0';
  }
  document.querySelector('#msg').innerHTML = '<p>共阳:' + seg2 + '  HEX: 0x' + bin2hex(seg2) +'<br>共阴:' + seg1 + '  HEX: 0x' + bin2hex(seg1)+'</p>';
}

function bin2hex(bin){
  var s=parseInt(bin, 2).toString(16);
  if(s.length==1) s='0'+s;
  return s.toUpperCase();
}
window.onload = init;
</script>
</head>
<body>
  <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 width="216px" height="288px" viewBox="0 0 432 576" xml:space="preserve">
   <style>
    .label {font:italic 54px sans-serif;}
    polygon, circle {stroke:#333;stroke-width:2; stroke-miterlimit:10;opacity:.5;}
    .on {fill:#F33;}
    .off {fill:#EEE;stroke:#333;}
    text {cursor:default;user-select:none;}
   </style>
 <g>
	<g>
    <text x="151" y="72" class="label">a</text>
    <text x="270" y="190" class="label">b</text>
    <text x="270" y="421" class="label">c</text>
    <text x="151" y="540" class="label">d</text>
    <text x="33" y="421" class="label">e</text>
    <text x="33" y="191" class="label">f</text>
    <text x="151" y="295" class="label">g</text>
		<text x="335" y="527" class="label">dp</text>		
	</g>
  <g id="stroke">
		<polygon id="a" class="off" points="278,55 242,91 98,91 62,55 98,19 242,19"/>
		<polygon id="b" class="off" points="287,64 323,100 323,244 287,280 251,244 251,100"/>
		<polygon id="c" class="off" points="287,295 323,331 323,475 287,511 251,475 251,331"/>
		<polygon id="d" class="off" points="278,520 242,556 98,556 62,520 98,484 242,484"/>
		<polygon id="e" class="off" points="53,295 89,331 89,475 53,511 17,475 17,331"/>
		<polygon id="f" class="off" points="53,64 89,100 89,244 53,280 17,244 17,100"/>
		<polygon id="g" class="off" points="278,287 242,323 98,323 62,287 98,251 242,251"/>
		<circle id="dot" class="off" cx="373" cy="515" r="41"/>
	</g>
 </g>
</svg>
<div id="msg">
</div>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF教程(一)---创建一个WPF程序基础知识

1.前言&#xff1a; 这篇主要讲WPF的开发基础&#xff0c;介绍了如何使用Visual Studio 2019创建一个WPF应用程序。 首先说一下学习WPF的基础知识&#xff1a; 1) 要会一门.NET所支持的编程语言--例如C#。 2) 会一点“标准通用标记语言”&#xff1a;WPF窗体程序使用的XAML语…

字符集与字符编码的区别与演进(ASCII、GBK、UNICODE)

1 常见编码 1.1 单字节编码&#xff1a;ASCII ASCII使用1个字节&#xff08;8个bit&#xff09;来记录一组常用字符&#xff0c;见下表&#xff1a; 例如其中字母a的二进制位&#xff1a;1100 001 97&#xff0c;那么a在计算机中就可以用1100001来保存。 注意上表中其实只…

Spring入门案例--DI入门案例

入门案例思路分析 (1)要想实现依赖注入&#xff0c;必须要基于IOC管理Bean DI的入门案例要依赖于前面IOC的入门案例 (2)Service中使用new形式创建的Dao对象是否保留? 需要删除掉&#xff0c;最终要使用IOC容器中的bean对象 (3)Service中需要的Dao对象如何进入到Service中?…

1682_尝试写一个shell(做个努力的小菜鸟)

全部学习汇总&#xff1a; GreyZhang/bash_basic: my learning note about bash shell. (github.com) 跋&#xff1a;看了一下&#xff0c;这个可能是我大约十年前的学习笔记了&#xff0c;脑海中都没有多少那时候的记忆痕迹了。然而&#xff0c;当初的一些时间消磨的确是给今天…

Android/SELinux 添加 AVC 权限

authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主 增加属性配置 在文件路径下增加了如下代码用于gc02m1的兼容倒置前置摄像头成像配置 //daisy if(MSM8909_SENSORS){ property_set("ro.camera.gc02m1", "1"); } /home/scooper/works…

go之基于rabbitmq的火山云服务器弹性伸缩管理程序

Author: wencoo Blog&#xff1a;https://wencoo.blog.csdn.net/ Date: 18/04/2023 Details:文章目录 项目背景项目功能模块实现configMq.jsonconfigECS.jsonconfigDB.json 完整代码打赏 项目背景 项目服务器不够用了&#xff0c;需要弹性伸缩服务器&#xff0c;准备使用火山的…

算法套路十——回溯法之子集型回溯

算法套路十——回溯法之子集型回溯 算法实例一&#xff1a;LeetCode17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不…

【Spring Boot】spring boot 项目的创建

目录 一.本地创建 二.官网创建 一&#xff1a;本地创建 1. 2. 3. 4. 5. 6. 选择相应的版本&#xff0c;并点击next 7. 8. 9. 二.官网创建 1. 点击链接进入官网 2. 3. 5. 6.

【进阶C语言】动态内存管理

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于C语言进阶系列&#xff0c;本专栏主要内容为数据的存储、指针的进阶、字符串和内存函数…

win10 专业版登录Microsoft账户提示:0x800704cf 错误代码——问题解决记录

win10 专业版登录Microsoft账户提示&#xff1a;0x800704cf 错误代码——问题解决记录 系统版本 版本 Windows 10 专业版 版本号 21H2 安装日期 ‎2021/‎5/‎7 操作系统内部版本 19044.2846 体验 Windows Feature Experience Pack 120.2212.4190.0 问题描述 曾经手动修改过…

《程序员面试金典(第6版)》面试题 10.11. 峰与谷(双指针,贪心思想)

题目描述 在一个整数数组中&#xff0c;“峰”是大于或等于相邻整数的元素&#xff0c;相应地&#xff0c;“谷”是小于或等于相邻整数的元素。例如&#xff0c;在数组{5, 8, 4, 2, 3, 4, 6}中&#xff0c;{8, 6}是峰&#xff0c; {5, 2}是谷。现在给定一个整数数组&#xff0c…

网络原理IP协议

hi,大家好,小魏又来了,我们已经认识了UDP,TCP,现在来认识一下位于网络层的协议,IP 认识IP地址 1.地址管理 2.路由选择 在之前的讲解中我们已经认识到了网络层的IP协议,负责寻路操作 IP地址&#xff08;Internet Protocol Address&#xff09;是指互联网协议地址&#xff0…

【Java版oj】day35年会抽奖、抄送列表

目录 一、年会抽奖 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、抄送列表 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 一、年会抽奖 …

C++ 命名空间 输入输出 缺省参数 引用 函数重载

在学习C之前&#xff0c;我们要先知道C和C是向上兼容的&#xff0c;也就是说&#xff0c;在cpp文件中既可以写入C的代码&#xff0c;也可以写C的代码&#xff0c;在日常编写代码中&#xff0c;经常会出现C和C混编的情况。 此博客都是在 C 的缺陷的基础之上 整理 C 中对其的优化…

PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

文章目录一、强大的 hub 模块1. hub 模块的使用2. hub 模块的代码演示二、搭建神经网络进行气温预测1. 数据信息处理2. 数据图画绘制3. 构建网络模型4. 更简单的构建网络模型本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 一、强…

机器学习——回归与聚类算法

线性回归 广义的线性模型 不仅是自变量是一次方的是线性模型&#xff0c;参数是一次方的也是线性模型&#xff0c;比如&#xff1a; 总结&#xff1a;线性关系的一定是线性模型&#xff0c;线性模型的不一定是线性关系。 损失函数 优化损失 求解模型中的w&#xff0c;使得…

SeNet论文解读/总结

此文章为深度学习在计算机视觉领域的图片分类经典论文SeNet&#xff08;Squeeze-and-Excitation Networks&#xff09;论文总结。 此系列文章是非常适合深度学习领域的小白观看的图像分类经典论文。系列文章如下&#xff1a; AlexNet&#xff1a;AlexNet论文解读/总结_alexnet…

uniapp-搜索配置

自定义搜索组件 1.定义组件的 UI 结构: <template><!-- 通过属性绑定的形式&#xff0c;为 .my-search-container 盒子和 .my-search-box 盒子动态绑定 style 属性 --><view class"my-search-container" :style"{background-color: bgcolor}&q…

《花雕学AI》23:中文调教ChatGPT的秘诀:体验测试与通用案例,解锁无限有趣玩法!

引言&#xff1a; 你有没有想过和一台智能机器人聊天&#xff1f;你有没有想过让一台智能机器人为你创作诗歌、故事或歌曲&#xff1f;你有没有想过让一台智能机器人陪你玩游戏、学习或社交&#xff1f;如果你的答案是肯定的&#xff0c;那么你一定会对ChatGPT感兴趣。 ChatG…

Hystrix详解

前言 Hystrix基于Feign&#xff0c;想熟悉Hystrix&#xff0c;必须先熟悉Feign。 Feign&#xff08;简介和使用&#xff09;&#xff1a; Feign&#xff08;简介和使用&#xff09;_长头发的程序猿的博客-CSDN博客 Hystrix简介 hystrix对应的中文名字是“豪猪”&#xff0c…