完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
当 MR 为高电平,OE 为低电平时,数据在 SHCP 上升沿进入移位寄存器,在 STCP 上升沿输出到并行端口。 74595 的数据端: QA–QH: 八位并行输出端,可以直接控制数码管的 8 个段。 QH’: 级联输出端。我将它接下一个 595 的 SI 端。 SI: 串行数据输入端 74HC595 是具有 8 位移位寄存器和一个存储器,三态输出功能。 移位寄存 器和存储器是分别的时钟。数据在 SCHcp 的上升沿输入,在 STcp 的上升沿进入 的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早 一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’), 和一个异步的低电平复位,存储寄存器有一个并行 8 位的,具备三态的总线输 出,当使能 OE 时(为低电平),存储寄存器的数据输出到总线。 74595 的控制端说明: /SCLR(10 脚): 低点平时将移位寄存器的数据清零。通常我将它接 Vcc。 SCK(11 脚):上升沿时数据寄存器的数据移位。QA–>QB–>QC–>…–>QH;下 降沿移位寄存器数据不变。(脉冲宽度:5V 时,大于几十纳秒就行了。) RCK(12 脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄 存器数据不变。通常我将 RCK 置为低点平,当移位结束后,在 RCK 端产生一 个正脉冲(5V 时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。 /G(13 脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引 脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。 下面的代码实现一个流水灯的效果 #include #include “intrins.h” typedef unsigned int u16; typedef unsigned char u8; ***it sck=P3^6;//移位寄存器时钟信号 ***it rck=P3^5;//存储寄存器时钟信号 ***it ser=P3^4;//串行输入 void Delay10ms() //@12.000MHz { unsigned char i, j; i = 117;j = 184;do{ while (--j);} while (--i); } void delay(u8 i) { while(i–); } void Hc595(u8 sdata) { int i; for(i=0;i<8;i++) { sck=1; ser=sdata>>7;//取最高位 sdata<<=1;//将次高位移到最高位 sck=0;//先给一个下降沿 nop(); nop(); sck=1;//再给一个上升沿,让595移位一次 }rck=0;_nop_();_nop_();rck=1; } void main() { u8 i; i=1; while(1) { Hc595(i); i=crol(i,1);//循环左移一位 Delay10ms(); } } |
|
|
|
只有小组成员才能发言,加入小组>>
4272个成员聚集在这个小组
加入小组3275 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4216 浏览 1 评论
4221 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 14:05 , Processed in 0.392024 second(s), Total 41, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号