8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

预备知识

如图,这是一个4位数码管模块,由两片 74HC595 级联控制,引脚如图,从上到下,分别为VCC(3.3V/5V),SCLK(移位控制端),RCLK(输出控制端),DIO(数据输入端),GND(接地)。

74HC595

我们来看一下74HC595是什么样的

看懂这个芯片需要一点点的数字电子技术的知识,看下面这个表格符号引脚描述Q0~Q715,1~78位并行数据输出

GND8接地

QA9串行数据输出

MR10主复位(低电平)

SH_CP11数据输入时钟

ST_CP12输出存储器锁存时钟线

OE13输出有效(低电平)

DS14串行数据输入

VCC163.3V/3.5VDS(14号脚)是数据输入端,74HC595支持8位数据并行输出,但是数据输入只有DS一个脚,需要分8次输入;

OE(Out Enable)是一个使能端,使用74HC595时需要将这个脚接地,若接高电平,那么Q0~Q7全部为0(低电平);

SH_CP(Shift register ClockPin)是一个重要的引脚,此引脚的电平从低向高变(上升沿)时,芯片从DS脚读入数据(0/1);

ST_CP,集满8位数据(其实并非严格集满,Q0~Q7本来就有电平),此引脚的上升沿将8位数据输出。

74HC595级联

一个74HC595可以并行输出8位数据,两个级联就可以并行输出16位数据,级联芯片时将第一片的QA脚接到第二片芯片的DS脚,SH_CP和ST_CP也同时接在一起,当第一片芯片的SH_CP第九次上升沿触发时,第一片芯片的第一个数据将会通过QA脚输送给第二片芯片的DS脚。

也就是说,芯片的顺序是看QA和DS脚的顺序的。

电路原理图

四位数码管原理图

数码管分位共阳极和共阴极,我拿到的这个数码管是共阳极,也就是说,给相应的脚设为低电平,则数码管点亮。

四位数码管模块原理图

4位数码管模块使用两片74HC595级联来控制数码管,观察电路可知,第一片74HC595的低四位用来选中四位数码管,也即DIG.1,DIG.2,DIG.3,DIG.4,高四位留空不用。第二片的八位输出用来控制数码管显示的数字。

数码管原理

数码管内部其实是8个发光二极管,8个二极管排列成一个“8”字,控制二极管的明灭就可以控制数码管显示的数字。下面的表给出共阳极数码管的阵脚电平和显示数字对应关系(DP不亮)DP GFEDCBA显示(十进制)十六进制值1 100000000xC0

1 111100110xF9

1 010010020xA4

1 011000030xB0

1 001100140x99

1 001001050x92

1 000001060x82

1 111100070xF8

1 000000080x80

1 001000090x90

树莓派引脚图

通过控制树莓派的GPIO.X引脚电平高低即可控制外部扩展设备。

看引脚的方式是树莓派有网线接口和 USB 接口的面朝下,GPIO 阵脚的那一面面向自己,左上角位 1 号脚,右下角为 40 号脚。

编码实现

接线四位数码管模块RaspeberryVCC1 号脚(可改变)

GND9 号脚(可改变)

DIO12 号脚

SCLK13 号脚

RCLK15 号脚

演示

循环显示年份,日期,时间,只显示到分钟,不显示秒。

参考

四位数码管树莓派c语言,用树莓派和四位数码管模块做一个时钟相关推荐

  1. 手把手教学51单片机 | 第四节 动态数码管,用6位数码管做一个时钟

    1.利用定时器做一个流水灯的程序 //流水灯从上到下一次点亮,然后让全部灯闪烁两次,依次循环 #include<reg52.h> #include<intrins.h> #de ...

  2. 树莓派C语言点灯,树莓派3 b GPIO 点亮小灯泡

    0X00 问题环境 设备:树莓派3 B 系统:raspbian LED 一只 (发光二极管?) LED接线: 正极(长腿)接37(gpio26) 负极接4(5V) 0X01 成功代码 使用如下方式可以 ...

  3. 【树莓派C语言开发】实验04:继电器模块

    文章目录 前言 1.实验器材 2.实验原理 2.1继电器模块 2.2继电器工作 3.电路图和接线图 3.1电路图 3.2接线图 4.代码示例 4.1部分函数解释 4.1.1pinMode 4.1.2d ...

  4. 【树莓派C语言开发】实验06:轻触开关模块

    文章目录 前言 1.实验器材 2.实验原理 2.1电路图 2.2接线 3.程序示例 3.1部分函数解析 3.2 Geany编译器运行 3.3Linux-Gcc编译器 3.4程序优化 结语 前言 一起开 ...

  5. 数码管识别c语言代码,OpenCV之七段数码管识别(含代码)

    1 背景 利用opencv识别数码管,采用传统的穿线法,前提是利用深度学习目标检测的方法,在机柜中将数码管区域切割出来,然后再对切割出来的区域进行识别,判断数字是多少.切割出来的形状如图所示: 数码管 ...

  6. 8255数码管显示c语言,用汇编语言编写七段数码管显示1~9,用8255A接口芯片,用中断方式控制。...

    满意答案 vgvm7321 2013.07.19 采纳率:52%    等级:11 已帮助:11521人 正好我们做了这个实验 你知道的,把数据段中的端口地址改为你的计算机可识别的8255A的端口地址 ...

  7. 用C语言(keil c)给8051单片机编程来做一个LCD计算器(proteus仿真)

    源代码很简单, 直接给部分电路图效果(125*25=3125):

  8. C语言:用switch,case函数,做一个自动售卖机

    #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char ...

  9. 单片机c语言 常用英语,数码管单片机c语言程序设计(国外英语资料).doc

    数码管单片机c语言程序设计(国外英语资料) 数码管单片机c语言程序设计(国外英语资料) 1,一个管亮<静态> # include < reg52.h > #定义使用uint u ...

最新文章

  1. openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old
  2. 安装node.js 附带node.js以及npm初步认识 设置淘宝/npm镜像 命令
  3. java c3p0 连接 mysql_Java使用C3P0数据源链接数据库
  4. 【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
  5. Three Strings CodeForces - 1301A
  6. 循环结束后变回去 设置一个值_VBA掌握循环结构,包你效率提高500倍
  7. python3.5文档
  8. [恢]hdu 2042
  9. HDU1869 六度分离【Dijkstra算法】
  10. UVA 11423 - Cache Simulator (树状数组)
  11. ToStringBuilder用法
  12. RS485通讯介绍(附批量测试思路)
  13. python异步编程 图书_Python异步编程介绍
  14. 【2022版】 Kafka面试题整理(含答案解析)
  15. 自然辩证法对计算机科学技术的应用,自然辩证法与计算机科学技术
  16. 加什么地形就看什么等高线!等高线实时预览就是这么爽
  17. 虚拟机中Linux扩容硬盘空间
  18. 跟谁学 英语口语20090927疑问句
  19. 注册一个微信公众号的测试平台
  20. 仲至信息与Cornet Solutions签订日本经销合同

热门文章

  1. Nginx 配置内网访问树莓派4 ASP.NET Core 3.0 网站
  2. .NET 分布式自增Id组件(解决自动分配机器Id、时间回拨问题)
  3. 在编写异步方法时,使用 ConfigureAwait(false) 避免使用者死锁
  4. GitHub推出包管理服务,npm与Nuget全支持
  5. Docker最全教程——从理论到实战(二)
  6. .Net Core 全局配置读取管理方法 ConfigurationManager
  7. .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
  8. 【错误异常大全】:ArcGIS Engine中C#无法引用ESRI.ArcGIS.AxControls问题
  9. 【ArcGIS Engine二次开发】入门基础(1):ArcGIS Engine简介及开发环境搭建
  10. ArcGIS实验教程——实验十七:缓冲区分析(Buffer Analysis)