【芯片使用】74HCHC595
实验平台:普中A2开发板,STC89C51RC芯片,11.0592M晶振。
文章目录
- 前言
- 一、代码
- 1.main.c
- 2.HC595.c
- 2.HC595.h
- 总结
前言
74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。。
引脚说明:
- QA–QH(15脚、1-7脚): 八位并行输出端,可以直接控制数码管的 8 个段。
- GND(8脚)
- QH’(9 脚): 级联输出端。我将它接下一个 595 的 SER 端。
- SCLR(10 脚): 低点平时将移位寄存器的数据清零。通常我将它接 Vcc。
- SCK(11 脚):即SHCP,上升沿时数据寄存器的数据移位;(脉冲宽度:5V 时,大于几十纳秒就行了。)
- RCK(12 脚):即STCP,上升沿时移位寄存器的数据进入数据存储寄存器,通常我将RCK 置为低点平,当移位结束后,在 RCK 端产生一个正脉冲(5V 时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。
- /G(13 脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。
- SER(14 脚): 串行数据输入端。
VCC(16脚)
管脚图
时序图
引脚说明
级联图
一、代码
1.main.c
代码如下(示例):
/**************************************************************************************
实验平台:普中A2开发板(STC89C51RC芯片)74HC595模块
试验现象:
***************************************************************************************/#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include <intrins.h>
#include <SelfDef.h>
#include <HC595.h>void Delay1ms() //@11.0592MHz
{unsigned char i, j;_nop_();i = 2;j = 199;do{while (--j);} while (--i);
}/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{ SHCP=0;STCP=0;SDA=0;Delay1ms();HC595_Send_One_Byte(0xf2);}
2.HC595.c
代码如下(示例):
#include <HC595.h>
#include <SelfDef.h>void Delay10us() //@11.0592MHz
{unsigned char i;i = 2;while (--i);
}/****74HC595 发送一个字节 *即往74HC595的DS引脚发送一个字节
*/
void HC595_Send_Byte(u8 byte)
{u8 i;for (i = 0; i < 8; i ++) //一个字节8位,传输8次,一次一位,循环8次,刚好移完8位{/**** 步骤1:将数据传到DS引脚 ****/if (byte & 0x80) //先传输高位,通过与运算判断第八是否为1SDA=1; //如果第八位是1,则与 595 DS连接的引脚输出高电平else //否则输出低电平SDA=0;/*** 步骤2:SHCP每产生一个上升沿,当前的bit就被送入移位寄存器 ***/SHCP=0; // SHCP拉低Delay10us(); // 适当延时SHCP=1; // SHCP拉高, SHCP产生上升沿Delay10us();byte <<= 1; // 左移一位,将低位往高位移,通过 if (byte & 0x80)判断低位是否为1}
}/***74HC595输出锁存 使能
**/
void HC595_CS(void)
{/** 步骤3:STCP产生一个上升沿,移位寄存器的数据移入存储寄存器 **/STCP=0; // 将STCP拉低Delay10us(); // 适当延时STCP=1; // 再将STCP拉高,STCP即可产生一个上升沿Delay10us();
}/***发送多个字节*便于级联时数据的发送*级联N级,就需要发送N个字节控制HC595
***/
void HC595_Send_Multi_Byte(u8 *dat,u16 len)
{u8 i;for (i = 0; i < len; i ++ ) // len 个字节{HC595_Send_Byte(dat[i]);}HC595_CS(); //先把所有字节发送完,再使能输出
}/***发送1个字节,无级联
***/
void HC595_Send_One_Byte(u8 byte)
{u8 i;for (i = 0; i < 8; i ++) //一个字节8位,传输8次,一次一位,循环8次,刚好移完8位{/**** 步骤1:将数据传到DS引脚 ****/if (byte & 0x80) //先传输高位,通过与运算判断第八是否为1SDA=1; //如果第八位是1,则与 595 DS连接的引脚输出高电平else //否则输出低电平SDA=0;/*** 步骤2:SHCP每产生一个上升沿,当前的bit就被送入移位寄存器 ***/SHCP=0; // SHCP拉低Delay10us(); // 适当延时SHCP=1; // SHCP拉高, SHCP产生上升沿Delay10us();byte <<= 1; // 右移一位,将低位往高位移,通过 if (byte & 0x80)判断低位是否为1}HC595_CS();
}
2.HC595.h
#ifndef __HC595_H_
#define __HC595_H_#include <reg52.h>
#include <SelfDef.h>sbit SHCP=P1^0;
sbit STCP=P1^1;
sbit SDA=P1^2;void HC595_Send_Multi_Byte(u8 *dat, u16 len);
void HC595_Send_One_Byte(u8 byte);#endif
总结
提示:这里对文章进行总结:
例如:
【芯片使用】74HCHC595相关推荐
- 2022-2028年中国SIP芯片行业市场前景预测及投资战略研究报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国SIP芯片行业市场行业相关概述.中国SI ...
- 人工智能3d建模算法_打破国外垄断,全国产3D芯片为机器人“点睛”
◎ 科技日报记者 崔爽 传统机器人只有"手",只能在固定好的点位上完成既定操作,而新一轮人工智能技术大大推动了机器和人的协作,这也对机器人的灵活性有了更高要求. 要想像人一样测量. ...
- GPU、AI芯片技术市场分析
GPU.AI芯片技术市场分析 市场将高速增长,GPU曙光初现,预计到2024年,国内人工智能技术市场规模将达到172亿美元:全球占比将从2020年12.5%上升到15.6%,是全球市场增长的主要驱动力 ...
- 2002年3月英伟达发布核弹GPU与大算力自动驾驶芯片
2002年3月英伟达发布核弹GPU与大算力自动驾驶芯片 英伟达核弹级GPU:800亿晶体管,20块承载全球互联网流量 2022年3 月 22 日,在英伟达 GTC2022 上,英伟达介绍了 Hoppe ...
- 2022年AI芯片场景
2022年AI芯片场景 随着技术成熟化,AI芯片的应用场景除了在云端及大数据中心,也会随着算力逐渐向边缘端移动,部署于智能家居.智能制造.智慧金融等领 域:同时还将随着智能产品种类日渐丰富,部署于智能 ...
- 芯片初创公司一亿融资可以烧多久
芯片初创公司一亿融资可以烧多久 一个亿融资可以烧多久? 这个问题我分别问了几个芯片公司的创始人. 有说2年的(某中等规模电路,成熟制程的MCU芯片公司):有说1年的(某AI算力芯片公司):有说半年的( ...
- 一站式智能芯片定制技术
一站式智能芯片定制技术 从55nm到5nm先进工艺,拥有创纪录(> 200次流片)和年10万片FinFET晶圆授权量产的骄人业绩,并且成功率高达100%.15年以来,先进工艺产品交付纪录持续行业 ...
- 内存接口芯片,服务器平台,PCIe 芯片
内存接口芯片,服务器平台,PCIe 芯片 澜起科技成立于2004年,是国际领先的数据处理及互连芯片设计公司,致力于为云计算和人工智能领域提供高性能,低功耗的芯片解决方案,目前公司拥有互连类芯片和津逮® ...
- LED芯片,应用品,蓝宝石衬底,集成电路,UV
LED芯片,应用品,蓝宝石衬底,集成电路,UV 三安主要从事全色系超高亮度LED芯片的研发,生产与销售,产品性能稳定,品质优异. 产品覆盖 三安能够提供全波长范围的LED,产品可覆盖全部可见光和不可见 ...
最新文章
- 多视图立体匹配论文分享 | Fast-MVSNet (CVPR2020)
- 【转载】Python常用模块之sys
- 【Zookeeper】Zookeeper部署笔记
- jQuery分页插件(jquery.page.js)的使用
- 阿里mysql锁_【mysql】mysql中的锁机制
- atitit js 开发工具 ide的代码结构显示(func list) outline总结
- Python语音基础操作--2.4语音信号生成
- JDK动态代理过程中报错interface ** is not visible from class loader
- ctf writeup之程序员密码
- Python——库docx(四)12.25
- 关于计算机游戏的英语读法,[计算机游戏用英语怎么说]电脑游戏用英语怎么说...
- 冰峰王座完整的语音英文+中文解释!(修订版)
- 甲骨文CEO拉里-埃里森鲜为人知的11个特性
- 刺激战场android闪退,《绝地求生刺激战场》老是闪退怎么办 老是闪退解决方法介绍...
- 驰骋BPM系统-表单引擎-流程引擎 2020年大换装
- Fabric v2.2源码分析 Broadcast广播交易服务(二)
- 资源网站合集 五个值得你收藏的网站
- android微信风格,微信主题太过简单?教你一键设置,多种风格自由切换
- Witt向量简介 论文的参考文献
- 分享 :如何成为一个合格的数据架构师?
热门文章
- 机器人动力学 拉格朗日乘子法求解动力学方程
- 常用激活函数--小白角度 TensorFlow 机器学习 神经网络 选取
- 计算机用户接入广域网的技术,第五章广域网接入技术全解.ppt
- 不同应用选择荧光染料 -CY7 ALK脂溶性Sulfo-Cyanine7 alkyne 结构式应用
- Python爬取新浪微博评论数据,写入csv文件中
- MySQL基础期末考试试题
- 有没有讲python模块的书_python - 模块,包
- 修改软件的系统默认(C盘)安装路径方法
- 设备维护管理的内容是什么?这四点你必须知道
- JZOJ5426. 【NOIP2017提高A组集训10.25】摘Galo