74hc595芯片数码管显示
时间:08-16
来源:互联网
点击:
/*74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。时钟线sck在上升沿将数据输入(即由低电平编导高电平),
数据在si的上升沿输入,在si的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则
移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),
和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,
具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。 */
#includereg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit rck=P0^0;//对输出存储器锁存时钟线的位定义
sbit sck=P0^1;//对数据输入时钟线的位定义
sbit si=P0^2;//对数据线的位定义
uchar code num[]={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08};//0~9的数字显示
void delay(uint time)//延时函数
{
while(--time);
}
void write_date(uchar temp)//移位寄存器
{
uint i;
for(i=0;i8;i++)
{
temp>>=1;//把输进来的8位数据右移一位,从而最右端的一位溢出
sck=0;//输入时钟位低电平
si=CY;//把移位溢出来的数据赋给最高位
sck=1;//输入时钟位高电平
}
}
void main()//主函数
{
uint i,j;
for(i=0;i10;i++)
for(j=0;j10;j++)
{
write_date(num[i]);
write_date(num[j]);
rck=0;//数据线低电平
rck=1;//数据线高电平
delay(100000);//调用延时函数,使时间变长
}
}
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。时钟线sck在上升沿将数据输入(即由低电平编导高电平),
数据在si的上升沿输入,在si的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则
移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),
和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,
具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。 */
#includereg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit rck=P0^0;//对输出存储器锁存时钟线的位定义
sbit sck=P0^1;//对数据输入时钟线的位定义
sbit si=P0^2;//对数据线的位定义
uchar code num[]={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08};//0~9的数字显示
void delay(uint time)//延时函数
{
while(--time);
}
void write_date(uchar temp)//移位寄存器
{
uint i;
for(i=0;i8;i++)
{
temp>>=1;//把输进来的8位数据右移一位,从而最右端的一位溢出
sck=0;//输入时钟位低电平
si=CY;//把移位溢出来的数据赋给最高位
sck=1;//输入时钟位高电平
}
}
void main()//主函数
{
uint i,j;
for(i=0;i10;i++)
for(j=0;j10;j++)
{
write_date(num[i]);
write_date(num[j]);
rck=0;//数据线低电平
rck=1;//数据线高电平
delay(100000);//调用延时函数,使时间变长
}
}
- MSP430单片机实践篇-数码管显示-74HC595动态扫描(12-01)
- 74HC595在单片机上的应用及程序(12-01)
- 51单片机+74HC595驱动数码管程序(11-30)
- 基于74hc595芯片数码管独立按键的应用(11-29)
- 74HC595驱动LCD1602程序(11-29)
- AVR单片机与74HC595的SPI显示程序(11-29)