51单片机快速入门之 LED点阵 结合74hc595 的应用 2024/10/16

51单片机快速入门之 LED点阵 结合74hc595 的应用

74HC595是一种常用的数字电路芯片,具有串行输入并行输出的功能。它主要由两个部分组成:一个8位的移位寄存器和一个8位的存储寄存器。数据通过串行输入管脚(DS)逐位输入,然后通过并行输出管脚(Q0-Q7)并行输出。74HC595还具有一个使能控制管脚(OE),用于控制输出的使能和禁用状态。

以下是74HC595的一些主要特点和功能:

  1. 串行输入并行输出:74HC595可以将串行数据转换为并行数据输出,适用于需要扩展输出端口的应用场合。

  2. 级联功能:通过级联多个74HC595,可以扩展输出端口的数量,从而实现更多的输出功能。

  3. 节省单片机引脚资源:使用74HC595可以减少单片机的引脚使用数量,提高系统的可靠性和稳定性。

  4. 简化电路设计:使用74HC595可以简化电路设计,减少电路中的逻辑门数量和电路复杂度。

  5. 提高数据传输效率:通过串行方式输入数据,然后通过并行方式输出,可以提高数据传输的效率。

取模软件为STC官网下载工具内的

程序代码:

复制代码
#include <STC89C5xRC.H>
sbit dspH =P1^6   ;
sbit mcpH= P1^7   ;
sbit scpH =P1^5   ;
sbit dspL= P1^1    ;
sbit mcpL= P1^0    ;
sbit scpL= P1^2     ;
void delay(unsigned int t);
void pH(unsigned char date);//控制行
void pL(unsigned char dateL);//控制列
void pHPL(unsigned char datH,unsigned char datL);//同时控制行和列


void main()
{
    unsigned char y[]= {0xC3,0xBD,0x7E,0x7E,0x7E,0x7E,0xBD,0xC3,   //0
                        0xE7,0xC7,0xE7,0xE7,0xE7,0xE7,0x81,0x81,      //1
                        0xC1,0xDD,0xF9,0xE3,0xCF,0x9F,0xBF,0x81,        //2
                        0x83,0xFB,0xFB,0x83,0xFB,0xFB,0x83,0xFF,          //3
                        0xFF,0xB7,0xB7,0xB7,0xB7,0x81,0xF7,0xF7,            //4
                        0xFF,0xC3,0xDF,0xC3,0xFB,0xFB,0xC3,0xFF,              //5
                        0xF7,0xEF,0xDF,0xBF,0x83,0xBB,0xBB,0x83,               //6
                        0x83,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xFF,                //7
                        0xC1,0xDD,0xDD,0xC1,0xC1,0xDD,0xDD,0xC1,                 //8
                        0xC1,0xDD,0xDD,0xC1,0xFD,0xFD,0xFD,0xC1                   //9
                       };
    unsigned char x=0,j=0;
    unsigned char datt=0x80;

    while(1) {

        for(; j<8; j++) {
            pHPL(datt,y[x]) ;    //第一行
            delay(1000);
            pHPL(0x00,0XFF);//复位
            datt>>=1;
            x+=1;

        }
        if(j==8) {
            datt=0x80;
            j=0;
        }
        if(x==80) {
            x=0;
        }









    }
}

void pH(unsigned char date)
{
    unsigned char i;
    for(i=0; i<8; i++) {
        mcpH=0;
        dspH=date&0x80;
        mcpH=1;
        date<<=1;


    }
    scpH=0;
    delay(100);
    scpH=1;
}

void pL(unsigned char dateL)
{
    unsigned char i;
    for(i=0; i<8; i++) {
        mcpL=0;
        dspL=dateL&0x80;
        mcpL=1;
        dateL<<=1;


    }
    scpL=0;
    delay(100);
    scpL=1;



}

void pHPL(unsigned char datH,unsigned char datL)
{

    pH(datH);//行
    pL(datL);//列


}



void delay(unsigned int t)
{
    while(t--);

}
相关推荐
柒月玖.2 小时前
基于AT89C52单片机的温度检测报警设计
单片机·嵌入式硬件
m0_555762902 小时前
GPIO配置详细解析
单片机·嵌入式硬件
盈创力和20072 小时前
构建未来工业感知层:以太网多参量传感器的融合架构与技术实践
嵌入式硬件·架构·以太网温湿度传感器·多参数传感器
兆龙电子单片机设计3 小时前
【STM32项目开源】STM32单片机多功能饮水机系统
stm32·单片机·物联网·开源·毕业设计
ShiMetaPi3 小时前
基于M4-R1开发板的OpenHarmony开发实战丨创建第一个应用工程
嵌入式硬件·开放原子·鸿蒙系统·openharmony·开源鸿蒙·北向开发
m0_555762904 小时前
STM32 的“内存划分”
stm32·单片机·嵌入式硬件
RT-Thread物联网操作系统4 小时前
RT-Thread Studio 正式支持GD32H7高性能系列MCU | 技术集结
驱动开发·单片机·嵌入式硬件
蓬荜生灰5 小时前
第6章—手动移植创建STM32工程
stm32·单片机·嵌入式硬件
赋能大师兄6 小时前
单片机跑飞原因及解决方法
单片机·独立看门狗·窗口看门狗·硬件级防护策略·软件级防护策略
GalaxySpaceX6 小时前
STM32-SPI协议
stm32·单片机·嵌入式硬件·1024程序员节