74HC595芯片的IO扩展(串转并)实验(包含硬件原理和软件编程解析和代码)

简介: 74HC595芯片的IO扩展(串转并)实验(包含硬件原理和软件编程解析和代码)
#include"reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
//特殊管脚寄存器的对应一般不可变
sbit rCLK=P3^5;//移位寄存器时钟输入---注:RCLK已被reg52.h定义使用,需要重新定义
sbit SRCLK=P3^6;//存储寄存器时钟输入
sbit SER=P3^4;//串行数据输入
#define LEDDZ_COL_PORT    P0    //点阵列控制端口
//使用矩阵控制点阵LED点亮  
//如0x01是最后一行点亮,其他不亮,则最后一行是1,其他是0,此时是00000001,十六进制是0x01
u8 ghc595_buf[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay_10us(u16 ten_us)//微秒级延时函数
{
    while(ten_us--);    
}
void delay_ms(u16 ms)//毫秒级延时函数
{
    u16 i,j;
    for(i=ms;i>0;i--)
        for(j=110;j>0;j--);
}
//芯片通过移位寄存器时钟和存储寄存器(函数hc595_write_data)实现0x01 0x02 0x04 0x08 0x10等(用ghc595_buf代替)点亮灯的操作
//串行数据输入:先转化为字节,并1位1位存储在SER(串行数据输入),后通过SRCLK(移位存储器)在0-1变化产生上升沿传递给RCLK(存储寄存器)
void hc595_write_data(u8 dat)
{
    u8 i=0;
    for(i=0;i<8;i++)//循环8次即可将一个字节写入寄存器中,因为1.2.3等都是1bit,8字节,需要1字节1字节的移动
    {
        SER=dat>>7;//从高位到低位存储
        dat<<=1;//将低位移动到高位
//形成0-1的变化,创造上升沿,才能传递给存储寄存器
        SRCLK=0;
        delay_10us(1);//需要延时函数给存储寄存器反应时间
        SRCLK=1;
        delay_10us(1);
    }
    rCLK=0;
    delay_10us(1);
    rCLK=1;//存储寄存器完成数据输出    
}
void main()
{    
    u8 i=0;
    LEDDZ_COL_PORT=0x00;//将LED点阵列全部设置为0,即LED阴极为低电平,形成电势差,才能点亮led
    while(1)
    {        
        for(i=0;i<8;i++)
        {    
            hc595_write_data(0x00);//消影---消除前面寄存器缓存数据,使肉眼更清晰
            hc595_write_data(ghc595_buf[i]);//写入新的数据
            delay_ms(500);//延时500ms----也可以用另一个延时函数,只是数值会比较大,u16不满足    
        }                                    
    }        
}

b5a9f50fb6e84d0cb7b37c2103c3025e.png

5e838d52085145e59a78ab620d0db974.png


相关文章
|
8月前
|
算法 PyTorch 算法框架/工具
昇腾 msmodelslim w8a8量化代码解析
msmodelslim w8a8量化算法原理和代码解析
606 5
|
6月前
|
监控 应用服务中间件 Linux
掌握并发模型:深度揭露网络IO复用并发模型的原理。
总结,网络 I/O 复用并发模型通过实现非阻塞 I/O、引入 I/O 复用技术如 select、poll 和 epoll,以及采用 Reactor 模式等技巧,为多任务并发提供了有效的解决方案。这样的模型有效提高了系统资源利用率,以及保证了并发任务的高效执行。在现实中,这种模型在许多网络应用程序和分布式系统中都取得了很好的应用成果。
196 35
|
10月前
|
搜索推荐 UED Python
实现一个带有昼夜背景切换的动态时钟:从代码到功能解析
本文介绍了一个使用Python和Tkinter库实现的动态时钟程序,具有昼夜背景切换、指针颜色随机变化及整点和半点报时功能。通过设置不同的背景颜色和随机变换指针颜色,增强视觉吸引力;利用多线程技术确保音频播放不影响主程序运行。该程序结合了Tkinter、Pygame、Pytz等库,提供了一个美观且实用的时间显示工具。欢迎点赞、关注、转发、收藏!
432 94
|
8月前
|
消息中间件 监控 算法
用Apifox调试Socket.IO接口,从原理到实践
传统HTTP协议"请求-响应"的离散式通信机制已难以满足需求,这正是Socket.IO这类实时通信框架的价值所在。
用Apifox调试Socket.IO接口,从原理到实践
|
8月前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
332 5
|
9月前
|
人工智能 文字识别 自然语言处理
保单AI识别技术及代码示例解析
车险保单包含基础信息、车辆信息、人员信息、保险条款及特别约定等关键内容。AI识别技术通过OCR、文档结构化解析和数据校验,实现对保单信息的精准提取。然而,版式多样性、信息复杂性、图像质量和法律术语解析是主要挑战。Python代码示例展示了如何使用PaddleOCR进行保单信息抽取,并提出了定制化训练、版式分析等优化方向。典型应用场景包括智能录入、快速核保、理赔自动化等。未来将向多模态融合、自适应学习和跨区域兼容性发展。
|
11月前
|
自然语言处理 搜索推荐 数据安全/隐私保护
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
鸿蒙登录页面设计展示了 HarmonyOS 5.0(Next)的未来美学理念,结合科技与艺术,为用户带来视觉盛宴。该页面使用 ArkTS 开发,支持个性化定制和无缝智能设备连接。代码解析涵盖了声明式 UI、状态管理、事件处理及路由导航等关键概念,帮助开发者快速上手 HarmonyOS 应用开发。通过这段代码,开发者可以了解如何构建交互式界面并实现跨设备协同工作,推动智能生态的发展。
649 10
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
|
11月前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是"将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为5种:单例模式、工厂方法模式抽象工厂式、原型模式、建造者模式。
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
11月前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
|
11月前
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析

推荐镜像

更多
  • DNS