[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯
编码进化
回忆上次内容
-
x86、arm、riscv等基础架构
- 都是二进制的
- 包括各种数据、指令
-
但是我们接触到的东西
- 都是屏幕显示出来的字符
-
计算机 显示出来的
- 一个个具体的字型

- 计算机中用来展示的字型
- 究竟是 如何进化的 呢?🤔🤔
模拟电路时代
- 电压表、示波器
- 都是 输出设备

- 甚至可以
- 用来 玩游戏
- 当时用什么
- 输入输出呢?
输入输出(io)
- 最基本的 输入设备(input)
- 是 电键 (key)
- 输入 0或1

- 最基本的输出是什么呢?
基本输出
- 最基本的 输出设备(output)
- 是 发光二极管(Led)
- 输出 0或1

- LED
- 全称 Light-Emitting Diode
- 发光 二极管
- 全称 Light-Emitting Diode
- 电键 和 发光二极管
都是 纯纯二进制
- 可以 做点什么好玩的吗?
井字棋
- 1950s 的游戏

- 在剑桥 的 EDSAC 上
闪烁的灯
- 可以用 文氏电路 控制
- 小灯闪烁

流水灯
- 可以 制作
- 多灯闪烁

- 配合555定时器
- 制作流水效果
多彩的灯
- LED 的颜色
- 多了起来

- 可以让 不同颜色的灯
- 闪烁 起来

- 这东西很常见
红绿灯

- 红绿灯
- 控制灯管 延迟 的 时间
调音台
- mixer console

- 设置音量显示电平
双色灯
- 有的LED
- 可以发出两种颜色

- 这样 一个灯头
- 就可以 显示 不同颜色 了
- 数字电路
- 进入 cpu时代 之后呢?
主机面板
- 大型主机(Main Frame)

- 控制台(console)

- 有
个人计算机用的 吗?
pc指示灯
- 牛郎星8800
- 操作数 和 操作码
- 输入
- 从电键键入
- 或从纸带读取
- 输出
- 在发光二极管
- 输入
- 操作数 和 操作码

- 整个过程
- 使用 纯纯二进制 面板
- 如何显示 十进制数字 呢?
十进制数字显示
- 辉光管
- Nixie tube
- ['niksi tju:b]
- Nixie tube

- 诞生于 1960-1970 年代
- 橘红色的光 给人 温暖的感觉
- 甚至
- 发展出 五颜六色的霓虹灯牌

- 为什么 辉光管 能 显示数字呢?
辉光管原理
- 辉光管 本质上
- 是 带选片的 霓虹灯

- 10根 输入信号

- 哪个输入信号 为 1
- 哪个霓虹灯 发光
- 如何控制输入信号呢?
74141
- 硬件解码器(decode)
- 将 用BCD编码的 4-bit 数据
- BCD(Binary Coded Decimal)
- 二进制 编码的 十进制数字
- BCD(Binary Coded Decimal)
- 解码为
- 10-bit 的 辉光管 选片信号
- 将 用BCD编码的 4-bit 数据

- 总共 16根管脚
- 16-pin

- 74141 是怎么 解码的呢?
解码过程
- 74141
- 将晶体(Transistor)三极管(Triode)
- 集成为 逻辑门(Logical gate)电路
- 将晶体(Transistor)三极管(Triode)
- 使用 逻辑门电路 组合 输入输出
- 4-bit 输入信号
- 10-bit 输出信号

- 74141 是 辉光管 的
驱动(Driver)
驱动
- 辉光管 是 硬件输出设备(Device)
- 74141N
- 是 辉光管的
驱动(driver)
- 是 辉光管的
- 将 传来的4-bit的BCD数字(digit)
- 解码(decode) 为10-bit信号中的一路
- 作为 辉光管的 选片信号
- 解码(decode) 为10-bit信号中的一路

- 今天的输出硬件
- 也要安装 软件(software)驱动(driver)

driver是什么意思 呢?
driver 词源
- drive 驱赶
- 狩猎时 驱赶猎物
- 放牧时 放马放羊放牛
- 驾驶马车、牛车时 赶牲口

- driver 司机驾驶
- 自行车
- 摩托车
- 1889 火车
- 1896 汽车

总结
- 这次回顾了
- 指示灯
- 辉光管
- 并了解了 驱动(driver)
- 驱动 就是
- 控制设备 工作的人(模块)
- 驱动 就是
- 辉光管离我们的生活很远了

-
辉光管
- 离我们生活 太远
-
有没有 生活中更近一些的东西呢?
-
我们下次再说!👋
-
蓝桥->https://www.lanqiao.cn/courses/3584
-
github->https://github.com/overmind1980/oeasy-python-tutorial
-
gitee->https://gitee.com/overmind1980/oeasypython
相关文章:
[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯
编码进化 回忆上次内容 x86、arm、riscv等基础架构 都是二进制的包括各种数据、指令 但是我们接触到的东西 都是屏幕显示出来的字符 计算机 显示出来的 一个个具体的字型 计算机中用来展示的字型 究竟是 如何进化的 呢?🤔🤔 模拟电路时…...
Easy Deep Learning——卷积层
为什么需要卷积层,深度学习中的卷积是什么? 在介绍卷积之前,先引入一个场景 假设您在草地上漫步,手里拿着一个尺子,想要测量草地上某些物体的大小,比如一片叶子。但是叶子的形状各异,并且草地非…...
深入分析@Bean源码
文章目录一、源码时序图二、源码解析1. 运行案例程序启动类2. 解析AnnotationConfigApplicationContext类的AnnotationConfigApplicationContext(Class<?>... componentClasses)构造方法3. 解析AbstractApplicationContext类的refresh()方法4. 解析AbstractApplicationC…...
Web Components学习(1)
一、什么是web components 开发项目的时候为什么不手写原生 JS,而是要用现如今非常流行的前端框架,原因有很多,例如: 良好的生态数据驱动试图模块化组件化等 Web Components 就是为了解决“组件化”而诞生的,它是浏…...
Element-UI实现复杂table表格结构
Element-UI组件el-table用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。将使用到以下两项,来完成今天demo演示:多级表头:数据结构比较复杂的时候,可使用多级表头来展现数据的层次关系。合…...
Azure AD 与 AWS 单一帐户SSO访问集成,超详细讲解,包括解决可能出现的错误问题
本教程介绍如何将 AWS Single-Account Access 与 Azure Active Directory (Azure AD) 相集成。 将 AWS Single-Account Access 与 Azure AD 集成后,可以: 在 Azure AD 中控制谁有权访问 AWS Single-Account Access。让用户使用其 Azure AD 帐户自动登录…...
lvgl 笔记 按钮部件 (lv_btn) 和 开关部件 (lv_switch)
按钮基础使用方法: lv_btn 和 lb_obj 使用方法一样,只是外表并不相同,基础创建方法只需一行代码。 lv_obj_t* btn lv_btn_create(lv_scr_act()); 添加大小和位置: lv_obj_t* btn lv_btn_create(lv_scr_act()); lv_obj_set_s…...
Python高频面试题——生成器(最通俗的讲解)
生成器定义在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。 在调用生成器运行的过程中…...
品牌软文怎么写?教你几招
软文是什么?软文的本质就是广告,当然不是明晃晃的推销,而是自然隐晦地植入产品信息,引导更多用户自愿下单。 品牌软文对于写手的经验、内容的质量要求都相对较高,否则写出来的软文无法达到预期的效果。品牌软文怎么写…...
Kubernetes (k8s) 污点(Taint)介绍、示例
Kubernetes (k8s) 污点(Taint) 是一种机制,用于标记一个节点(Node)不可被调度的状态。它可以将一个污点标记添加到节点上,以防止 Pod 被调度到该节点上。污点可以用于实现各种策略,例如分离故障…...
Docker学习(二十一)构建 java 项目基础镜像
目录1.下载 JDK 包2.编写 Dockerfile3.构建镜像4.创建容器测试1.下载 JDK 包 JDK各版本官网下载地址: https://www.oracle.com/java/technologies/downloads/archive/#JavaSE 这里我们以 JDK 8u351 为例,点击 Java SE (8U211 and later)。 点击下载 jd…...
python中的上下文原理
目录with语句上下文管理器原理自定义上下文管理器contextmanager 装饰器with语句 在我们日常使用场景中,经常会操作一些资源,比如文件对象、数据库连接、Socket连接等,资源操作完了之后,不管操作的成功与否,最重要的事…...
可复用测试用例描述要素
测试用例的输入、操作、预期结果和评估标准、前提条件是测试用例不可少的要素,但对于可复用测试用例而言,这是不够的。本文在文献规定的测试用例要素基础上,增加了新的内容。从而从多个角度完整地对可复用测试用例进行了描述,为可…...
lnmp中遇到open_basedir配置无效问题
在使用LNMP包安装PHP时,发现直接修改php.ini的配置是无法生效的,其原因竟然是因为nginx的配置文件,覆盖了php.ini的配置。 解决: 1、找到nginx的open_basedir配置文件:(下面是我的文件地址) …...
SpringBoot【知识加油站】---- REST开发
SpringBoot【知识加油站】---- REST开发1. REST 简介2. REST 风格3. RESTful 入门案例1. REST 简介 REST:Representaional State Transfer,表现形式状态转换 传统风格资源描述形式 http://localhost/user/getById?id1 http://localhost/user/saveUser…...
三 Go的语言容器
1. 数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在Go语言中很少直接使用数组 声明语法: var 数组变量名 [元素数量]Typepackage main import ("fmt" ) fu…...
2023年全国最新会计专业技术资格精选真题及答案16
百分百题库提供会计专业技术资格考试试题、会计考试预测题、会计专业技术资格考试真题、会计证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 一、单选题 1.下列各项关于会计监督职能的表述中,正确的是ÿ…...
模板进阶(仿函数,特化等介绍)
非类型模板参数 模板参数有类型形参和非类型形参; 类型形参:使用typename或者class修饰的参数类型名称 非类型形参:一个普通常量作为模板参数形参,不能为浮点数,字符类型以及类对象; #include<iostrea…...
Beats:在 Docker 中同时部署 Metricbeat 和 Elasticsearch
在本教程中,我们将部署一个 metricbeat 来监控正在运行的容器的健康状况和系统指标。 为什么需要监控,为什么需要 Metricbeat? 一个常见的问题,但很少有人回答。 首先,无论我们部署的是 docker 容器还是老式的金属箱&…...
编码技巧——Redis Pipeline
本文介绍Redis pipeline相关的知识点及代码示例,包括Redis客户端-服务端的一次完整的网络请求、pipeline与client执行多命令的区别、pipeline与Redis"事务"、pipeline的使用代码示例; pipeline与client执行多命令的区别 Redis是一种基于客户…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
