求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!!

求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!!,第1张

下面是595的程序,给你参考一下,根据这个程序来写数码管显示就很简单了。

#define u8 unsigned char

#define u16 unsigned int

sbit MR=P1^6//寄存器清0,避免数据错位

sbit RCK=P1^5//并行输出时钟

sbit DS=P1^4//数据线

sbit CLK=P1^3//移位输入时钟

void writ_595(u8 dat)  者巧知 

{

u8 i

MR=0//寄存器清0,避免宽脊数据错位

MR=1

for(i=0i<8i++)

{

CLK=0

if((dat&0x80) == 0x80)

DS = 1//串行数据输出

else DS = 0

CLK=1//移位输入时钟,上升沿输入

dat<<=1

}

RCK=0//并行输出时钟

RCK=1   

} 该子函数可以直接首消调用,比如writ_595(0xfe);Q0-Q7脚则输出对应的二进制码

送往595的,不宜直接用此链态时间的数据。

应该用一个显示缓冲森源数组,把时间先送到数组,再送到595。

想要显示黑屏,就把黑屏的代码,送到数组。

间隔0.5秒,把时间数据和黑屏代码,轮流送到唤纳数组,再送到595,即可看到闪烁的效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12568152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存