当前位置: 首页 > news >正文

从零开始学习单片机14

数码管原理

数码管由8个发光二极管(LED)组成,8个发光二极管由两种连接方式,共阴极和共阳极

使用的是共阴极接法时,要想点亮LED,只需要在对应的二极管的阳极上接上高电平;使用的是共阳极接法时,要想点亮LED,只需要在对应的二极管的阴极上接上低电平

单片机控制数码管还存在一些的问题,51单片机的引脚电流能力只有1mA左右,驱动能力不足以直接点亮数码管,三极管电路可以增强IO的驱动能力,但每个LED都加上三极管电路,器件会很多,不是很方便

三极管电路

这时就可以选择集成芯片方案,用一颗74HC245芯片来增加单片机引脚的驱动能力,这颗芯片的引脚拉电流能够达到7.8mA。(原理就是把8个电路集成到一个芯片上了)

方向引脚接VCC,就代表A1-A8是输入。B1-B8是输出,把8个IO接到A1-A8,把B1-B8接到数码管,这样就可以完成数码管的驱动。控制IO的高低电平就可以控制LED的亮灭

51单片机总共32个IO口,如果每个数码管要占用8个IO,驱动3个数码管时需要24个IO,那其他功能就难以进行,使用74HC595芯片就可以使一个IO控制8个IO的输出(串行转并行)。

Q0-Q7输出引脚,GND接地,Q7S串口的输出(芯片同时支持并口和串口的输出),MR复位,OE是使能引脚,SHCP(移位寄存器时钟输入)、STCP(锁存寄存器时钟输入)为时钟信号,DS为输入引脚

74HC595D芯片工作原理:

1.开始工作前,MR必须是高电平(低电平时会让芯片复位),OE必须是低电平,595才能工作。

2.SHCP是上升沿的时候,芯片会读取DS上的信号,写入DS的数据,每写入一个数据时,移位寄存器中的数据依次移动一位

3.STCP是上升沿的时候,把数据从移位寄存器转存至锁存寄存器。OE为低电平时,把锁存寄存器的值输出到Q0-Q7

74HC595芯片的发送顺序是由Q0,一直到Q7。下图是发送1位数据的过程,先在Q7输出高位,低位在Q0输出

用代码表示为

void hc595_send_data(unsigned char byte)
{unsigned int i;for(i = 0; i < 8; i++){//串行输入引脚if(byte & 0x80)ds_pin = 1;elseds_pin = 0;//SHCP发生一次上升沿的时候,74HC595才会从DS引脚上取得当前的数据shcp_pin = 0;shcp_pin = 1;byte <<= 1;}stcp_pin = 0;stcp_pin = 1;
}
http://www.dtcms.com/a/350407.html

相关文章:

  • Fory序列化与反序列化
  • 以正确方式构建AI Agents:Agentic AI的设计原则
  • 技术速递|使用 AI 应用模板扩展创建一个 .NET AI 应用与自定义数据进行对话
  • 【Hadoop】HDFS 分布式存储系统
  • Nuxt.js@4 中管理 HTML <head> 标签
  • 【二叉树 - LeetCode】236. 二叉树的最近公共祖先
  • TAISAW钛硕|TST嘉硕Differential output Crystal Oscillator - TW0692AAAE40
  • [electron]开发环境驱动识别失败
  • 深度学习篇--- ResNet-18
  • ArXiv 每日论文追踪器:自动检索、双语总结、邮件推送、一键建站
  • QML 中 的 Row 和 RowLayout
  • (一)C#基础(异步)
  • 数字图像处理(二)
  • 面向机器人推动与抓取任务自适应算法研究
  • langchain的简单应用案例---(2)使用Memory实现一个带记忆的对话机器人
  • 工作记录 2015-10-29
  • 销售额和营业收入的区别在哪?哪个值应该更大一些?
  • 新项目,如何做成本估算?
  • 本地缓存与 Redis 缓存的区别与实际应用
  • 【OpenAI】ChatGPT-4o-latest 真正的多模态、长文本模型的详细介绍+API的使用教程!
  • 2025软件测试面试题(持续更新)
  • 07-JUnit测试
  • ubuntu 卡到登录页面进不去--实测
  • 陪护系统有哪些功能?
  • 高并发内存池(4)-TLS:Thread Local Storage
  • Vue.nextTick讲解
  • kubectl 客户端访问 Kubernetes API Server 不通的原因排查与解决办法
  • 800G时代!全场景光模块矩阵解锁数据中心超高速未来
  • AR眼镜赋能矿业冶金数字化转型
  • Wireshark笔记-DHCP流程与数据包解析