求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!!
答案:3 悬赏:20 手机版
解决时间 2021-04-04 13:33
- 提问者网友:我们很暧昧
- 2021-04-03 15:47
求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!!
最佳答案
- 五星知识达人网友:孤老序
- 2021-04-03 17:05
下面是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=0;i<8;i++)
{
CLK=0;
if((dat&0x80) == 0x80)
DS = 1; //串行数据输出
else DS = 0;
CLK=1; //移位输入时钟,上升沿输入
dat<<=1;
}
RCK=0; //并行输出时钟
RCK=1;
} 该子函数可以直接调用,比如writ_595(0xfe);Q0-Q7脚则输出对应的二进制码
#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=0;i<8;i++)
{
CLK=0;
if((dat&0x80) == 0x80)
DS = 1; //串行数据输出
else DS = 0;
CLK=1; //移位输入时钟,上升沿输入
dat<<=1;
}
RCK=0; //并行输出时钟
RCK=1;
} 该子函数可以直接调用,比如writ_595(0xfe);Q0-Q7脚则输出对应的二进制码
全部回答
- 1楼网友:空山清雨
- 2021-04-03 18:38
好搞啊,可以仿真出来的追问要有程序才能仿真啊,关键是我写不来程序。追答先把仿真图弄好
- 2楼网友:动情书生
- 2021-04-03 17:24
你好!都要显示什么数字呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯