[oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯

简介: [oeasy]python0104_指示灯_显示_LED_辉光管_霓虹灯

编码进化 回忆上次内容

  • x86、arm、riscv等基础架构
  • 都是二进制的
  • 包括各种数据、指令


  • 但是我们接触到的东西
  • 都是屏幕显示出来的字符


  • 计算机 显示出来的
  • 一个个具体的字型


添加图片注释,不超过 140 字(可选)

  • 计算机中用来展示的字型
  • 究竟是 如何进化的 呢?🤔🤔


模拟电路时代

  • 电压表、示波器
  • 都是 输出设备


添加图片注释,不超过 140 字(可选)

  • 甚至可以
  • 用来 玩游戏


  • 当时用什么
  • 输入输出呢?


输入输出(io)

  • 最基本的 输入设备(input)
  • 是 电键 (key)
  • 输入 0或1


添加图片注释,不超过 140 字(可选)

  • 最基本的输出是什么呢?

基本输出

  • 最基本的 输出设备(output)
  • 是 发光二极管(Led)
  • 输出 0或1


添加图片注释,不超过 140 字(可选)

  • LED
  • 全称 Light-Emitting Diode
  • 发光 二极管



  • 电键 和 发光二极管
  • 是 纯纯二进制


  • 可以 做点什么好玩的吗?

井字棋

  • 1950s 的游戏

添加图片注释,不超过 140 字(可选)

  • 在剑桥 的 EDSAC 上

闪烁的灯

  • 可以用 文氏电路 控制
  • 小灯闪烁


添加图片注释,不超过 140 字(可选)

流水灯

  • 可以 制作
  • 多灯闪烁


添加图片注释,不超过 140 字(可选)

  • 配合555定时器
  • 制作流水效果


多彩的灯

  • LED 的颜色
  • 多了起来


添加图片注释,不超过 140 字(可选)

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


添加图片注释,不超过 140 字(可选)

  • 这东西很常见

红绿灯

添加图片注释,不超过 140 字(可选)

  • 红绿灯
  • 控制灯管 延迟 的 时间


调音台

  • mixer console

添加图片注释,不超过 140 字(可选)

  • 设置音量显示电平

双色灯

  • 有的LED
  • 可以发出两种颜色


添加图片注释,不超过 140 字(可选)

  • 这样 一个灯头
  • 就可以 显示 不同颜色 了


  • 数字电路
  • 进入 cpu时代 之后呢?


主机面板

  • 大型主机(Main Frame)

添加图片注释,不超过 140 字(可选)

  • 控制台(console)

添加图片注释,不超过 140 字(可选)

  • 个人计算机用的 吗?

pc指示灯

  • 牛郎星8800
  • 操作数 和 操作码
  • 输入
  • 从电键键入
  • 或从纸带读取


  • 输出
  • 在发光二极管




添加图片注释,不超过 140 字(可选)

  • 整个过程
  • 使用 纯纯二进制 面板
  • 如何显示 十进制数字 呢?


十进制数字显示

  • 辉光管
  • Nixie tube
  • ['niksi tju:b]



添加图片注释,不超过 140 字(可选)

  • 诞生于 1960-1970 年代
  • 橘红色的光 给人 温暖的感觉


  • 甚至
  • 发展出 五颜六色的霓虹灯牌


添加图片注释,不超过 140 字(可选)

  • 为什么 辉光管 能 显示数字呢?

辉光管原理

  • 辉光管 本质上
  • 是 带选片的 霓虹灯


添加图片注释,不超过 140 字(可选)

  • 10根 输入信号

添加图片注释,不超过 140 字(可选)

  • 哪个输入信号 为 1
  • 哪个霓虹灯 发光


  • 如何控制输入信号呢?

74141

  • 硬件解码器(decode)
  • 将 用BCD编码的 4-bit 数据
  • BCD(Binary Coded Decimal)
  • 二进制 编码的 十进制数字



  • 解码为
  • 10-bit 的 辉光管 选片信号



添加图片注释,不超过 140 字(可选)

  • 总共 16根管脚
  • 16-pin


添加图片注释,不超过 140 字(可选)

  • 74141 是怎么 解码的呢?

解码过程

  • 74141
  • 将晶体(Transistor)三极管(Triode)
  • 集成为 逻辑门(Logical gate)电路



  • 使用 逻辑门电路 组合 输入输出
  • 4-bit 输入信号
  • 10-bit 输出信号


添加图片注释,不超过 140 字(可选)

  • 74141 是 辉光管 的 驱动(Driver)

驱动

  • 辉光管 是 硬件输出设备(Device)
  • 74141N
  • 是 辉光管的 驱动(driver)


  • 将 传来的4-bit的BCD数字(digit)
  • 解码(decode) 为10-bit信号中的一路
  • 作为 辉光管的 选片信号



添加图片注释,不超过 140 字(可选)

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


添加图片注释,不超过 140 字(可选)

  • driver 是什么意思 呢?

driver 词源

  • drive 驱赶
  • 狩猎时 驱赶猎物
  • 放牧时 放马放羊放牛
  • 驾驶马车、牛车时 赶牲口


添加图片注释,不超过 140 字(可选)

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


添加图片注释,不超过 140 字(可选)

总结

  • 这次回顾了
  • 指示灯
  • 辉光管


  • 并了解了 驱动(driver)
  • 驱动 就是
  • 控制设备 工作的人(模块)



  • 辉光管离我们的生活很远了

添加图片注释,不超过 140 字(可选)

  • 辉光管
  • 离我们生活 太远



目录
相关文章
|
3月前
|
人工智能 Shell 程序员
[oeasy]python005_退出游乐场_重启游乐场_系统态shell_应用态_quit
[oeasy]python005_退出游乐场_重启游乐场_系统态shell_应用态_quit
35 0
|
3月前
|
程序员 开发工具 Python
[oeasy]python017_万行代码之梦_vim环境_复制粘贴
在这个教程中,作者分享了如何在 Vim 编辑器中快速创建和操作大量代码行。首先,通过 `yy` 复制一行,然后使用 `p` 粘贴来增加代码行数。通过反复粘贴,可以迅速生成多行代码。为了加快操作,可以用 `9999p` 来一次性粘贴9999行。接着,介绍了撤销(`u`)和重做(`ctrl+r`)的操作,以及删除整篇文档的快捷方式。最后,作者提到虽然可以生成一万行代码,但并不建议这样做,因为可能会导致程序崩溃,并提醒大家适度编程。
113 2
|
3月前
|
缓存 Shell 开发工具
[oeasy]python0012_程序写错了怎么办
这段内容主要讲述了如何处理Python文件运行时的`NameError`。首先,使用`vi`编辑器
44 0
|
3月前
|
Shell Python
[oeasy]python0003_ 终端大冒险_终端命令_whoami_pwd_ls
[oeasy]python0003_ 终端大冒险_终端命令_whoami_pwd_ls
55 5
|
1天前
|
程序员 开发工具 Python
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
[oeasy]python0030_动态控制断点_breakpoints_debug_调试
6 2
|
15天前
|
程序员 Python
[oeasy]python0028_女性程序员_Eniac_girls_bug_Grace
回顾上次内容,我们了解到 `.py` 文件中的代码是按顺序一行行被解释执行的,可以使用 `pdb3 hello.py` 来调试程序。此外,我们探讨了“bug”这一术语的由来,它最早是在 1947 年由 Grace Murray Hopper 发现的一只真正的飞蛾所引起的计算机故障,从此“debugging”成了查找并修复程序错误的过程。早期的程序员大多为女性,因为她们通常更加细心且有耐心,这些特质对于检查错综复杂的线路和编程工作至关重要。编程与编织有着相似之处,都需要细致和有条理的操作。最后,我们认识到 bug 的存在是程序员工作的基础,没有 bug 就不需要程序员去修正它们。
27 3
|
29天前
|
Shell 程序员 开发工具
[oeasy]python0026_调试程序_pdb3_帮助_help_求助_文档
调试程序_debug_next_下一步_list_pdb3 🥋
33 1
|
8天前
|
程序员 Shell 开发工具
[oeasy]python029_ until_直接跳转到_unt_breakpoint_断点函数
回顾早期计算机操作员多为女性,她们甚至发明了“bug”这个词。为了体验调试过程,我们故意在Python脚本中引入了一个拼写错误,并通过直接运行程序遇到了`NameError`。 通过`until`命令,我们可以快速跳转到指定行执行,这对于大型项目非常有用。此外,`continue`(或简写`c`)命令则会一直执行到下一个断点或程序结束。我们还可以在代码中使用`breakpoint()`设置断点,配合`continue`命令使用,实现快速跳转至特定位置进行调试。 这些技巧使调试过程变得高效且有趣,如同解开谜题一般。下次我们将探讨如何在调试过程中动态设置与取消断点。
18 0
|
1月前
|
缓存 Shell 开发工具
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
[oeasy]python024_vim读取文件_从头复制到尾_撤销_重做_reg_寄存器
24 5
|
3月前
|
人工智能 Linux 开发工具
[oeasy]python018_ 如何下载github仓库_git_clone_下载仓库
在这个文档中,作者讨论了如何继续进行编程学习,特别是关于GitHub的使用。首先,回顾了从编写简单代码到管理大量代码的过程。然后,提到了通过“保存运行一条龙”操作来处理代码,以及GitHub作为全球最大的开源软件平台的重要性。在GitHub上,用户可以找到各种软件项目,包括Linux、Python和Blender等。 作者解释了GitHub的基本操作,如点赞(star)、 fork(复制项目)和watch(关注项目更新)。还介绍了如何下载项目到本地,通过`git clone`命令复制仓库的URL并将其粘贴到终端进行下载。如果遇到问题,可以尝试更换HTTP链接或等待一段时间重试。
228 2