你是怎么用3片74HC595控制24个数码管的,能给我电路图和c程序吗,我的邮 15

你是怎么用3片74HC595控制24个数码管的,能给我电路图和c程序吗,我的邮箱779002456@qq.com谢谢了!!如果好用追加分!!spi总线连接4片74hc59... 你是怎么用3片74HC595控制24个数码管的,能给我电路图和c程序吗,我的邮箱779002456@qq.com谢谢了!!如果好用追加分!!
spi总线连接4片74hc595级联控制24个7段数码管显示
展开
 我来答
陶醉的风
2013-11-02
知道答主
回答量:3
采纳率:0%
帮助的人:4478
展开全部

 

这是三片595级联的电路图,在PROTUES仿真通过;

//作者:
//QQ:396870725  //有仿真图
 
/***************595
3片74HC595级联程序
********************
/***************2013.4.5***********************
/***************
功能:串入并出显示
*************/
#include <reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit dig=P2^1;
sbit clock=P2^0;
sbit out=P2^2;
void write595(uchar dat);
void out595(); 
/**********************************************/ 

/**********************************************/
void main()

 clock=0; // 11脚
 out=1; // 12脚
 while(1)
 {
  write595(0xf0);   //这实际上是最后一个595,因为送数是先送低位再送高位。
  write595(0x0f);  //里面的数据你自己可以改一下,试下观察效果。
  write595(0xaa);
  
  write595(0xdb);//实际是第一个74HC595
  out595();
 }
}
 
/**********************************************/ 

/**********************************************/
void write595(uchar dat) //数据传输函数
 
{
 
 uchar l,kdat;
 
 kdat=dat; 

 for(l=0;l<8;l++)  //循环送完8位数据

{
 
 clock=0; 
 
 dig=(kdat&0x01); //按位传数据  每次传一位;

 kdat=kdat>>1;
 
 clock=1;   //移入1位。

}

/**********************************************/ 


 
/**********************************************/
void out595(void)

 out=0;  //12脚
  _nop_(); 
 _nop_();  

 out=1;  //上升沿将数据送到输出锁存器, 12脚

 _nop_(); 
 _nop_();  
 out=0; // 12脚
 
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海莘默
2024-04-12 广告
莘默(上海)自动化设备有限公司成立于2016年3月,是中国工控领域的领先分销商,专业从事欧美工控自动化产品的贸易。主要经营欧美各国知名品牌的高精密编码器、传感器、仪器仪表、阀门、泵、电机以及各类自动化产品。服务于冶金,汽车,化工,食品,能源... 点击进入详情页
本回答由上海莘默提供
匿名用户
2012-04-25
展开全部
不知道你在说什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式