74ls164驱动两个数码管与单片机相连接的原理图及驱动程序,谢谢

会的帮我发到邮箱里面吧,感激不尽。。44599848@qq.com

第1个回答  2010-08-09
连接原理图:
http://hi.baidu.com/疯狂的门/blog/item/16261e1f26f81f124134178c.html

驱动程序:

/********************************************************************/
/********************************************************************/
unsigned char sheet[]={0x11,0x7D,0x23,0x29,0x4D,0x89,0x81,0x3D,0x01,0x09};//数码管对应的代码
sbit disp_data=P0^6;
sbit disp_clk=P0^7;
unsigned int disp_164_1(unsigned int x) //输入“1234”显示1234

{
unsigned char i,j=4,k;
while(j--)
{
k=sheet[x%10]; //取出最低位对应的代码
for(i=0;i<8;i++) //发送该代码的8位数据
{
if(k&0x01)disp_data=1; //模拟串口数据端
else disp_data=0;
disp_clk=0;disp_clk=1;disp_clk=0; //模拟串口时钟端
k=k>>1; //除去最后位以便传送下一位
}
x/=10; //除去个位以便显示十位、百位、千位
}
}
/********************************************************************/
/********************************************************************/
void disp_164_2(unsigned char temp1,unsigned char temp2)//输入“12”和
"34",显示“1234”
{
unsigned char i,j,temp;
for(j=0;j<4;j++)
{if(j==2)temp2=temp1;
temp=sheet[temp2%10];
for(i=0;i<8;i++)
{
if(temp&0x01)disp_data=1;
else disp_data=0;
disp_clk=0;disp_clk=1;disp_clk=0;
temp=temp>>1;
}
temp2/=10;
}
}
/********************************************************************/
/********************************************************************/本回答被提问者采纳
第2个回答  2010-08-09
网上到处都是呀。想不要都难。
第3个回答  2010-08-09
这个简单,不知道的再来找我吧!

74ls164驱动两个数码管与单片机相连的原理图(C程序)谢谢
回答:#include"reg52.h" #define uchar unsigned char #define uint unsigned int uchar code du[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x80}; uchar code duan[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; \/\/带小数点 sbit ab1=P1...

74ls164的原理及接口特性是什么?
74LS164,是:串入并出移位寄存器。164 的 DSA 和 DSB 端是输入信号的。CLK 是输入移位脉冲的。MR 是用来清零的,一般接一个 22K 电阻再接 +5V。输出端,可以接上 LED,也可以用共阳极数码管。Q0~Q7 接一个 1K 电阻后分别连到 LED 的 a~dp 端。在 DSA 和 CLK 输入信号,LED 就会显示了。

利用单片机串口,设计两位数的秒计数(0-59)?
利用单片机串口,驱动两位数码管显示秒计数,可以用两片74LS164串联接在串口引脚RXD、TXD上,串口工作在方式0,这样,用串口发送方式输出两位数码管显示秒计数。如下仿真图。

单片机控制74LS164控制数码管显示怎么编程(汇编语言)
74LS164是串入并出转换芯片,可以借助串口来实现,也可以用普通IO口模拟实现。举例如下:include<reg51.h> define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit keyup=P3^6;sbit keydn=P3^7;void delay(){ int i=1000;while(i--);} main...

两片74164驱动两个数码管 c程序
你用164作为移位寄存器用的呀,用IO口作为数码管的段选,164作为位选就可以了呀,感觉上不需要那么多呢,貌似一个单片机就能搞定了吧,但是要是用164就是作为位选吧 164能控制8个数码管呢,显示8个动态数字呀,就是动态扫描的,应该去做做那个才对,像楼上的所说的那样定义 ...

74HC164与单片机89c51怎么连
参考下图:(虽然是74LS164,原理是一样的。其中I\/O可为51单片机任一条I\/O口线)

74LS164和74ALS164有什么区别,引脚一样么?连接七段数码管连接是不是...
LS是低功耗肖特基系列,工作电流小,意味着驱动电流小。二者的引脚是一样的。

单片机和74ls164驱动2位数码管显示0~99 我用protues仿真没问题,焊接出 ...
可能的原因 1、软件问题:单片机IO口输出无脉冲可能是软件写错或根本没跑起来。2、单片机口如果使用的是P0口,是否有上拉电阻 3、单片机与164的CLK端连接是否有短路或与其它信号短路的可能,这个连接没什么特殊要求。4、164损坏,CPU的损坏你已经排除了 这类问题可将信号线断开,量单片机IO输出,逐级分段...

七段数码管接74ls160接法原理?
七段数码管与74ls160的接法原理图:一般的七段数码管拥有七个发光二极管(三横四纵)用以显示十进制0至9的数字外加小数点,也可以显示英文字母,包括十六进制中的英文 A 至 F(b、d 为小写,其他为大写)。现时大部分的七段数码管会以斜体显示。除七段数码管外,还有十四及十六划等添加额外斜向...

...七段数码管 接 74LS164 用51单片机驱动的电路图,最好是PROTEL绘制的...
74LS164是并入串出的所存芯片,主要用于I\/O拓展的,有RXD读取,TXD提供时钟脉冲。我把主要的东西连好其他的你就自己连吧

相似回答