标题: 求解释单片机74hc595驱动数码管程序的原理 [打印本页]

作者: 萝卜白菜    时间: 2018-5-9 18:12
标题: 求解释单片机74hc595驱动数码管程序的原理
各位大佬能不能给我解释下这个程序的原理,还有他的流程图该怎么画,拜托了。
void SendData(unsigned char SDat)         // 74HC595传送一个字节的数据
{
        unsigned char i;
        for(i=0;i<8;i++)
        {        
                if((SDat&0x01)==0)          // 先发送最低位,若改为(SendDat&0x80)则先发送最高位
                        Dat=0;
                else               
                        Dat=1;
                _nop_();
                Clk=0;
                _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();            
                Clk=1;                                    // 时钟上升沿有效
                SDat=SDat>>1;            // 若改为SendDat<<1则先发送最高位                 
        }
}
/*------------------------------------------------
        段码显示
------------------------------------------------*/
void Display()
{
        unsigned char c=0;
        unsigned char i=0;
        RCK=0;                                                // 关闭存储寄存器的输入
        SendData(DispTab[c]);                // 送出字形码数据        
        RCK=1;                                                // 开启存储寄存器的输入
}


作者: yzwzfyz    时间: 2018-5-9 19:46
这么一点程序,也弄不清,为何还要学这个专业呢?改学CEO也比这个强。
作者: zl2168    时间: 2018-5-10 18:25
本帖最后由 zl2168 于 2018-5-10 18:27 编辑

实例59  74LS595串行选通8位LED数码管动态显示

Proteus仿真一下,确认有效。
实例59 74LS595×2选通8位LED动态显示.rar (45.12 KB, 下载次数: 65)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。

作者: 萝卜白菜    时间: 2018-5-11 10:23
zl2168 发表于 2018-5-10 18:25
实例59  74LS595串行选通8位LED数码管动态显示

先Proteus仿真一下,确认有效。

非常感谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1