栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C51+74HC595三联级流水灯

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C51+74HC595三联级流水灯

74HC595的介绍及三联级电路的连接请大家看其它朋友的有关介绍,网上很多的。

#include
#include

#define uc unsigned char
#define ut unsigned int

sbit SER=P1^0;      //串口输入数据
sbit S_CLK=P1^1;      //移位寄存器时钟
sbit R_CLK=P1^2;      //存储寄存器时钟

void delay(ut t)
{
    while(t--);
    while(t--);
}

uc temp;
uc code DSY_CODE[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

void SRCLK_595()     //向74HC595发送数据的一个字节
{
    uc i;
    for(i=0;i<8;i++)   //依次发送8位数
    {
    temp<<=1;          //数据左移一位
    SER=CY;
    S_CLK=1;           //移位寄存器时钟置高电平,上升沿有效,移入一位数据
    _nop_();           //延时函数,系统自带
    _nop_();
    S_CLK=0;
    }
}

void RCLK_595()      //向74HC595存储寄存器发送数据。
{
    R_CLK=0;
    _nop_();
    R_CLK=1;           //存储寄存器时钟置高电平,上升沿有效,存入数据
    _nop_();    
    R_CLK=0;
}

void main()
{
    uc i;
    while(1)
    {
        for(i=0;i<24 ;i++)
        {
        temp=DSY_CODE[i];
        SRCLK_595();
        RCLK_595();       //因使能管脚13接高电平,新数据存入前LED将显示
        delay(50);
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296885.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号