找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3384|回复: 3
打印 上一主题 下一主题
收起左侧

求解释单片机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;                                                // 开启存储寄存器的输入
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2018-5-9 19:46 | 只看该作者
这么一点程序,也弄不清,为何还要学这个专业呢?改学CEO也比这个强。
回复

使用道具 举报

板凳
ID:111634 发表于 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案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。
回复

使用道具 举报

地板
ID:326149 发表于 2018-5-11 10:23 | 只看该作者
zl2168 发表于 2018-5-10 18:25
实例59  74LS595串行选通8位LED数码管动态显示

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

非常感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表