HC4094 和HC595 驱动数码管有什么区别呀?二者都是带锁存的什么是移位寄存器器啊

5101人阅读
实验开发板HC (淘宝可以查到)
将JP2 与JP3相连即可,注意排线要反接
代码如下:
&/*******************************************************************************
试验数码管上如何显示数字(共阳极)
连接方法:P2 与P3 用8PIN排线连接
********************************************************************************
********************************************************************************/
#include &reg51.h&
#include &intrins.h&
void delay(unsigned int i);
//函数声名
// 此表为 LED 的字模,0~F
unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
sbit lock=P3^5;//12,storage register clock input
sbit clk=P3^6;//11,shift register clock input
sbit dat=P3^4;//14,serial data input
/*将显示数据串行发送到74hc595*/
void sendTo(unsigned char k)
for(i=0;i&8;i++)
dat=k&0x01;
clk=0;//移位寄存器移位
k&&=1;//发送数据右移一位
void main()
unsigned int LedNumVal=0 ,C ;
//定义变量
if (++C&= 300)
{ LedNumVal++ ;
//每隔300个扫描周期加一次
//每隔300个扫描清零
// 将字模送到14,serial data input
sendTo(LED7Code[LedNumVal%10]&0x7f);
//LED7 0x7f为小数点 共阴和共阳此处也是不一样;
lock=1;//所存数据
delay(300);
//调用延时程序
/*****************************************************************
*****************************************************************/
void delay(unsigned int i)
for(i; i & 0; i--)
for(j = 200; j & 0; j--);
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:104651次
积分:1553
积分:1553
排名:第14321名
原创:44篇
转载:50篇
(1)(1)(1)(1)(1)(1)(3)(2)(4)(6)(12)(5)(3)(6)(5)(1)(2)(4)(3)(5)(2)(2)(1)(16)(7)74HC595资料详解_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
74HC595资料详解
7H​C9资​料​详​解
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢74hc595驱动数码管,我是菜鸟,现在还不知道74hc595的驱动,就连一些基本的端口是什么意思都不知道。_百度知道
串行数据传输是指数据传送时,一位一位的传,而并行传输是8位并出的.例如假设数字x18)已经进入到595的寄存器中了,
当下一个时钟上升沿到来时(sck=0,sck=1),9脚将输出寄存器中的最低位&0&,如果此时9脚是和下一块595'的数据输入端(14')相连,则该数据已经移入到下一块595'的寄存器中了,上一块595寄存器中的内容变为x0001100.OE输出使能指并行输出, 如积存器中为,设置锁存时钟上升沿(rck=0,rck=1),该数据并行移入595所自带的锁存器中,若此时OE=0,Qa~QH同时输出,即Qa=0,...Qd=1...,QH=0,否则,锁存器不输出.
数码管上边的是段码,还是下边的是段码?那如果是两个74HC595级联的话,我第一次输入DS数据是送给第一个还是第二个。高手,加我QQ,,万分感谢,我学单片机就是在这堵上了。万分期待大神加我。我会了,定采纳满意答案。谢谢了。
对了,OE低电平有效,什么意思,是指在输入DS数据时吗?
OE=0时,锁存器中的8个数据并行输出,OE=1时,并行输出被禁止. 其设置和数据输入无关,是在程序中设置的,或者在电路中直接接GND ,则始终输出有效.2个74HC595级联的话, 第一块的串行数据(9脚)接第二快的数据输入端, 所以数据先进入第一块.数码管的段码是abcdefg, 带小数点的另有h脚, 位码端标记为com, 共阴或共阳.
谢谢,我已经初步了解并成功驱动了,不过,这里还有一个问题:RCK有什么用,。什么时侯用到它。还有:如果我通过第9脚一次一次把这个二进制数传到第二个595芯片里。那我怎么更改里面的数据(也就是说,比如,我先输入1个0给第二个595,后来,我想把它改成1,又不想595把它当做一个新的数据寄存到里面,怎么办)
RCK是锁存用的,595的寄存器和锁存器是相互独立的, 寄存器是串行输送的,就好像排好顺序的8个房间, 而且数据只能一个一个依序向前进, 第一位进入第一个房间,后面来的数据推一下,第一位到了第2个房间,第2个数据占据了第一个房间,如此下去.
数据串行传输时,其实输出是有先后的,非常快就无法分辨了, 而且串行传输需要时间,所以595另有一个锁存器.当8位或16位数据传输完成后,设置RCk 从0到1, 这8位或16位数据就锁入595中了,oe=0,并行输出8位或16位,显示.此时你可以将新的数据串行送入到寄存器中,称为数据准备.这样显示当前行时,可以同时准备下一行的数据.
你好,高手,对不起,回复晚了(去军训了),还没告诉我怎么改变已经进入595的数据不是全部改变,只是改变一个数据
8位数据先排好序后再传送过去,传到595中后就不能单独改变了,595的8位寄存器仅作储存用,不能和单片机一对一联系。
其实这就是块串口数据转并口数据的芯片,OE低电平有效。如果你所有的单片机带有SPI通信端口的话,可直接通过SPI端口直接启动;如果没有,需要根据用户手册上的时序自己写启动程序接法如图所示:
数码管上边的是段码,还是下边的是段码?那如果是两个74HC595级联的话,我第一次输入DS数据是送给第一个还是第二个。高手,加我QQ,,万分感谢,我学单片机就是在这堵上了。万分期待大神加我。我会了,定采纳满意答案。谢谢了。
对了,OE低电平有效,什么意思,是指在输入DS数据时吗?
我有几篇文章是一个数码时钟的制作,感兴趣就看看吧:图中虽然只画了两只数码管,但实际是驱动5位的,只用了两片595,很简单的,至于595的工作原理还是要百度看看吧多的是。
其他类似问题
为您推荐:
您可能关注的推广
数码管的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁两片74HC595级联驱动两个四连体数码管_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
两片74HC595级联驱动两个四连体数码管
两​片4​H​C9级​联​驱​动​两​个​四​连​体​数​码​管
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢两片74HC595驱动8个数码管_QQ_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
两片74HC595驱动8个数码管_QQ
H​C9数​码​管​显​示​程​序
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 什么是移位寄存器 的文章

 

随机推荐