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--);

}
相关推荐
辰哥单片机设计11 分钟前
STM32项目分享:STM32智能窗户
单片机·嵌入式硬件
雷门大师姐7 小时前
14.DS18B20温度传感器
单片机·嵌入式硬件
触角010100018 小时前
OLED屏幕开发全解析:从硬件设计到物联网显示实战 | 零基础入门STM32第五十二步
驱动开发·stm32·单片机·嵌入式硬件·物联网
蓑衣客VS索尼克9 小时前
无感方波开环强拖总结
经验分享·单片机·学习
傍晚冰川11 小时前
【江协科技STM32】ADC数模转换器-学习笔记
笔记·科技·stm32·单片机·嵌入式硬件·学习
c-u-r-ry3011 小时前
009---基于Verilog HDL的单比特信号边沿检测
嵌入式硬件·fpga开发
土豆1989102112 小时前
简记_ MCU管脚的防静电处理
嵌入式硬件
Whappy00112 小时前
第三节:基于Winform框架的串口助手小项目---串口操作《C#编程》
linux·单片机·c#
爱吃奶酪的松鼠丶14 小时前
51单片机之蓝牙模块的使用
单片机·嵌入式硬件·51单片机
盐析大白兔15 小时前
STM32G431RBT6--(3)片上外设及其关系
stm32·单片机·嵌入式硬件