您的位置:首页 > 其它

51单片机做的74HC595驱动控制LED

2017-11-01 08:56 405 查看
51单片机做的74HC595驱动控制LED
 

单片机代码如下:

#include<reg51.h>

#include<intrins.h>

sbit SRCLK=P3^6;

sbit RCLK=P3^5;

sbit SER=P3^4;

void Hc595SendByte(unsigned char dat);

void Delay10ms(unsigned int ) ;

void main()

{

        unsigned char ledNum;

        ledNum=0xfe;

        while(1)

        {

                Hc595SendByte(ledNum);

                ledNum=_cror_(ledNum,1);

                Delay10ms(50);

        }        

}

/*******************************************************************************

* 函数名         : Hc595SendByte(unsigned char dat)

* 函数功能                   : 想74H595发送一个字节的数据

* 输入           : 无

* 输出                  : 无

*******************************************************************************/

void Hc595SendByte(unsigned char dat)

{

        unsigned char a;

        SRCLK=0;

        RCLK=0;

        for(a=0;a<8;a++)

        {

                SER=dat>>7;

                dat<<=1;

                SRCLK=1;

                _nop_();

                _nop_();

                SRCLK=0;        

        }

        RCLK=1;

        _nop_();

        _nop_();

        RCLK=0;

}

/*******************************************************************************

* 函数名         : Delay10ms

* 函数功能                   : 延时函数,延时10ms

* 输入           : c

* 输出                  : 无

*******************************************************************************/

void Delay10ms(unsigned int c)   //误差 0us

{

    unsigned char a,b;

    for(;c>0;c--)

        for(b=38;b>0;b--)

            for(a=130;a>0;a--);

}

复制代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: