
求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!! 10
3个回答
展开全部
下面是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脚则输出对应的二进制码
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-03-11 广告
英华检测|工业CT无损检测|X射线检测服务丨4008959688 总部在上海,东莞、北京、西安分别设有办公室。英华检测(上海)有限公司,专业从事工业CT/X射线检测服务。公司计划将在全国其他区域设立实验室/办公室。英华检测坚持为客户提供专业...
点击进入详情页
本回答由英华检测提供
展开全部
你好!都要显示什么数字呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好搞啊,可以仿真出来的
追问
要有程序才能仿真啊,关键是我写不来程序。
追答
先把仿真图弄好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询