arduino使用74HC595控制1位共阳数码管

Arduino基础之十一 74HC595的使用------控制1位数码管 一 硬件 74HC595是一种8位串行输入,并行输出的寄存器芯片,一共有16个引脚,如下图。 首先需要理解串行和并行的概念,这个比较容易,串行输入就是一个一个数地输入,并行输出就是8位一道输出,见下图【1】 其次需要明确芯片每个引脚的功能,见下表【2,3】 74HC595引脚功能 符号 引脚 功能 Q0~Q7 15,1~7 8位并行数据(parallel data)输出 GND 8 接地 Q7s 9 串... 阅读详情

74HC595的Q0~Q7依次接上数码管的dp,a,b,c,d,e,f,g

数码管的GND和OE接地,Vcc接5V,共阳数码管公共脚接了个1K电阻。

以下代码实现从串口监视器中输入0至9的数字,让数码管显示出对应的数字。
unsigned char number[10] = {  //共阳
  B10000000, // 0
  B11110010, // 1
  B01001000, // 2
  B01100000, // 3
  B00110010, // 4
  B00100100, // 5
  B00000100, // 6
  B11110000, // 7
  B00000000, // 8
  B00100000 // 9
};
const byte Pin_DS = 11;   //data
const byte Pin_ST_CP = 12;  //latch
const byte Pin_SH_CP = 13; //clock
char Buff[1];

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  pinMode(Pin_ST_CP, OUTPUT);//ST_CP
  pinMode(Pin_DS, OUTPUT);//DS
  pinMode(Pin_SH_CP, OUTPUT);//SH_CP
  digitalWrite(Pin_DS, LOW);
}

void loop() {
  // put your main code here, to run repeatedly:

  if (Serial.available())
  {
    Serial.readBytes(Buff, sizeof(Buff));
    int comInt = charToInt();
    digitalWrite(Pin_ST_CP, LOW); //将ST_CP口上面加低电平让芯片准备好接收数据
    shiftOut(Pin_DS, Pin_SH_CP, MSBFIRST, number[comInt]);//串行数据输出,高位在先 MSBFIRST  LSBFIRST
    digitalWrite(Pin_ST_CP, HIGH); //将ST_CP这个针脚恢复到高电平
    delay(1000);
  }
}


int charToInt() //charToInt()(定义)
{
  int tmp = 0;
  for (int i = 0; i < 1; i++)
  {
    tmp = tmp * 10 + (Buff[i] - 48);
  }
  return tmp;
}

普中51-数码管实验 多位数码管,即两个或两个以上单个数码管并列集中在一起形成一体的数码 管。当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线 (a-dp)全部是连接在一起的,独立的公共端可以控制多位一体中的哪一位数码 管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们 把公共端叫做“位选线”,连接在一起的段线叫做“段选线”,有了这两个线后, 通过单片机及外部驱动电路就可以控制任意的数码管显示任意的数字了。 阅读详情

相关推荐

Arduino双595级联驱动动态扫描数码管库

7段数码管显示是嵌入式系统中最基础的数字输出形式之一,其核心原理依赖于动态扫描(Multiplexing)与移位寄存器协同控制。通过两片74HC595级联构成16位可编程输出,结合位选/段码分离映射与抗鬼影时序设计,可在极低硬件成本下实现稳定多路显示。该方案兼顾GPIO资源节约与刷新率可控性,广泛适用于ESP32、STM32及AVR等MCU平台,在工业仪表、IoT节点和教学实验中具有高工程复用价值。本文详解基于Drv7Seg2x595库的硬件连接、字节顺序配置、Active-High/Low位选极性适配及非

weixin_34268462的博客 603

c语言595驱动数码管,使用74hc595驱动一位数码管

本帖最后由 darknight 于 2018-7-20 22:42 编辑74hc595是一种常用的I/O拓展芯片,今天我尝试用一个74hc595来驱动一个一位七段数码管,效果还行功能:数码管循环显示0~4,每个数字停留一秒因为这次数码管没有用到DP,所以数码管的DP引脚悬空shiftOut() 功能为软件模拟SPI串行输出主要代码如下:[mw_shl_code=c,true]/** darknig...

weixin_30998797的博客 1826

arduino与74HC595驱动8位数码管(含代码)

arduino与74HC595驱动8位数码管(含代码)一、74HC595介绍二、74HC595原理1.原理简介2.引脚说明及其图示三、具体代码总结 材料介绍:一块arduino,若干杜邦线,一块数码管,一块74HC595芯片, 一、74HC595介绍 这是该芯片图片(图片来源于网络) 74HC595 简单说来就是具有8位移位寄存器和一个存储器,通过该芯片可以实现3控8。简单来说就是通过3个数字引脚控制8个其它引脚。比如说用该芯片和三个arduino数字引脚来控制一个8位共阴数码管。 二、74HC595原

weixin_51852924的博客 9763

FPGA驱动74HC595实现数码管动态显示

FPGA驱动74HC595实现数码管动态显示,编写74hc595驱动以及顶层驱动,只需传入6个4位bcd码即可实现数码管的动态显示。

fpga学就完事了 8526

Arduino 驱动4位时钟类型的3线数码管(74hc595)

本文详细介绍了7段数码管的显示原理,并介绍了共阳极和共阴极类型的控制方法。还对74HC595串转并行芯片做了介绍,包括工作原理、时序分析等类型。还是用Arduino板卡驱动了4位时钟类型的数码管,实现其驱动程序,并完成测试验证。

mftang的博客 4311

arduino驱动两块74HC595显示数码管

#define COMMON_CATHODE 0 #define COMMON_ANODE 1 #define MySEGTYPE COMMON_ANODE #if (MySEGTYPE) uint8_t SEGPLAY[] = { 0xC0, //"0" 0xF9, //"1" 0xA4, ...

weixin_43829236的博客 2353

Led4:基于双74HC595的Arduino轻量级数码管驱动库

七段数码管是嵌入式人机交互中最基础、最可靠的显示单元,其核心驱动原理依赖移位寄存器时序控制与动态扫描技术。74HC595作为经典8位串行转并行芯片,通过级联可扩展I/O资源,广泛应用于低成本HMI设计。Led4库聚焦双74HC595协同架构,采用纯GPIO模拟SPI时序(bit-banging),规避硬件外设冲突,在ESP32、STM32、ATmega等平台实现确定性刷新与超低资源占用。该方案特别适用于SPI总线紧张、需多路独立控制或运行于FreeRTOS/SysTick中断等实时约束场景,为工业仪表、Io

weixin_30633869的博客 218

74HC595驱动共阴共阳数码管:硬件连接与段码解析

本文详细解析了如何使用74HC595芯片高效驱动共阴与共阳数码管,解决单片机IO口资源紧张问题。内容涵盖硬件连接原理、共阴共阳数码管的本质区别与段码解析、动态扫描技术实现多位数码管显示,并提供了从Arduino到51单片机的实战代码示例与常见问题调试技巧。

g5h6i的博客 1068

arduino用2个74HC595点亮2个4位共阳数码管

arduino用2个74HC595点亮2个4位共阳数码管 原文:https://www.geek-workshop.com/forum.php?mod=viewthread&tid=7415 这个是上面那个淘宝卖价给的74HC595的电路图 实物连接图: 下面就是代码了 //VCC – 5V //GND – GND //DS – A0 //ST_CP – A1 //SH_CP – A2 int latchPin = A1;//ST_CP int clockPin = A2;//SH_CP int

m0_52539320的博客 2285

Arduino SN74HC595 芯片 驱动数码管

类型:具有三态输出寄存器的 8 位移位寄存器。功能:包含对 8 位 D 类存储寄存器进行馈送的 8 位串行输入 / 并行输出移位寄存器,存储寄存器具有并行三态输出,移位寄存器和存储寄存器分别有单独的时钟,可实现数据的串行输入和并行输出,方便用于扩展 I/O 口等应用。

wenguitao的博客 1319

4位数码管动态扫描驱动:从GPIO直驱到74HC595级联实战

动态扫描是嵌入式系统中驱动多位数码管、LED点阵等显示设备的核心技术。其原理基于人眼视觉暂留效应,通过分时复用有限的GPIO引脚,依次快速点亮多个显示位,从而实现看似同时显示的效果。这项技术能显著节省单片机IO资源,是连接基础GPIO控制与复杂显示驱动(如OLED、LCD)的关键桥梁。在物联网设备、工业控制面板、智能仪表等场景中,动态扫描技术对于实现稳定、低功耗的数字显示至关重要。本文以广泛使用的4位7段数码管为例,深入剖析其硬件接口、共阳/共阴判断、段码表构建,并对比了IO直驱、74HC595移位寄存器及

cmff98425的博客 346

用74HC595和74LS247驱动四位数码管

1 74HC595芯片 74HC595是一个8位串行输入、并行输出的移位寄存器 管脚如下: 2 74LS247芯片 74ls247是4线——七段译码器/驱动器 管脚如下: 其中, A,B,C,D为译码地址输入端; a~g为段输出(低电平有效) 3 四位数码管 针脚定义: 1-4:位选 a-h:段选 3 原理图 注:...

ieeee.blog.youkuaiyun.com 9044

零成本学arduino——74hc595寄存器教程

74hc595 8位串行输入并行输出(SIPO)移位寄存器 74hc595 和74hc165 的区别在于 74hc165是8位并行输入串行输出(PISO)移位寄存器(输入),而74hc595 8位串行输入并行输出(SIPO)移位寄存器 使用74HC595移位寄存器扩展微控制器上的输出引脚数。有关输入移位寄存器(例如,使用单个输入引脚读取多个按钮),请参阅wokwi-74hc165。 引脚名称 针 描述 DS 串行输入 SHCP 串行时钟 STCP 存储(闩锁)引脚 OE 输出使

m0_46152804的博客 6789

arduino二位数码管_用arduino和2个74HC595级联控制8位数码管显示

初学者打出来的代码,可能不“美观”,希望大家点评,多多留下意见,话不多说上代码……下面为8位数码管全部显示#include "Arduino.h"void set(int x);void setup();void loop();void shu();int SH_CP = 12;//595_SH_CP/11 存储寄存器int DS = 13;//595_DS/14 移位寄存器...

weixin_33207144的博客 1617

Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真

Arduino 74HC595驱动数码管0-9循环显示+Proteus仿真 Proteus仿真 实例代码(do{}while();实现方法) /*74HC595控制1位共阳数码管 * * * * * */ unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; const byte Pin_DS = 11; //

perseverance51博客 4194

Arduino与JavaScript开发实例-数码管显示控制(基于74HC595)

数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point),其基本单元是发光二极管。 七段数码管分为共阳极及共阴极,共阳极的七段数码管的正极(或阳极)为八个发光二极管的共有正极,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的数字。共阴极的七段数码管与共阳极的只是接驳方法相反而已。 本次实例将实现基于74HC595单个数码管理驱动显示控制。

视觉与物联智能 656

proteus中仿真arduino利用74hc595控制数码管

前面我们介绍了利用595控制LED的方法(具体参考《proteus中仿真arduino利用74hc595控制LED》),这里我们继续前面的话题,介绍一下在proteus中仿真arduino利用74HC595控制单个数码管的方法。 一、电路 用到的器件:Atmega328P、74HC595、7SEG-DIGITAL、Resistor、LED-RED 二、代码 int latchPin=12; in...

河西~石头 2755

arduino从串口输入数字使用74HC595控制1位共阳数码管

arduino从串口输入数字使用74HC595控制1位共阳数码管。

上一篇: eclipse中删除多余的tomcat server(2)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源码资源下载

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值