74hc595具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器有相互独立的时钟。数据在sh_cp(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在st_cp(存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
74hc595级联程序:
/****************************************************************************** * *
远程116
* 2012.sunmer
* 双74hc595级联,驱动8位动态数码管, *
******************************************************************************/
#include 《reg52.h》
sbit ser=p1^0;
sbit rck=p1^2;
sbit sck=p1^1;
unsigned char seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳段码 unsigned char no[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //位码 unsigned char num[8]={2,0,1,2,0,7,1,3}; //显示2012.07.13 unsigned char al; unsigned int add;
/****************************************************************************** *
*
延时函数
*
******************************************************************************/
/* 延时t毫秒 */
void delay_ms(unsigned int delaytime)
{
unsigned int i,j;
for(i=0;i《delaytime;i++)
for(j=0;j《125;j++); /* 对于11.0592m时钟,约延时1ms */ }
/******************************************************************************
*
* 联级595数据传送函数
* 传送格式(位码,段码)
*
******************************************************************************
/ void send_595_data(unsigned char send_address,unsigned char send_data) {
unsigned char i,j,temp0,temp1;
temp0=send_address;
temp1=send_data;
if((al==3)||(al==5)) //加小数点
{
if(add《300) temp1&=0x7f; }
for(i=0;i《8;i++) //传送位码 {
if(temp0&0x80)
ser=1;
else
ser=0;
temp0《《=1;
rck=0;
rck=1; }
for(j=0;j《8;j++) //传送段码
{
if(temp1&0x80)
ser=1; else ser=0;
temp1《《=1; rck=0; rck=1;
}
sck=0; sck=1;
//产生上升沿,数据移位并行输出 sck=0; }
/******************************************************************************
*
* 主函数
*
******************************************************************************
/ void main(void)
{
for(;;)
{
for(al=0;al《8;al++)
{
send_595_data(~no[7-al],seg[num[al]]); //显示2012.07.13 } add++;
if(add==600)
add=0;
}
}
期待已久的Android Wear 5.1.1更新尚未准备就绪
Nvidia欲向Tesla抛出橄榄枝!特斯拉与英伟达可否再次碰撞出火花?
FPGA设计的具有数字显示的水温测控系统
工业控制中机器人如何运用感知系统
嵌入式系统运用于典型雷达航迹模型及实现仿真模拟
74hc595级联程序范例
Go语言运算符主要包括哪些呢?
苏州供电公司申请的电网动态防雷技术国际标准已获得了批复立项
光通信系统中SD-FEC软判决纠错编码技术浅析
光耦的4个脚怎样区分_光耦的各引脚怎么判断
借助集中式数据采集,开发在线风电场状态监测系统
回顾2020年的冰箱行业
2017年第二季度DRAM组件销售额达165亿美元
AT89S52单片机的超声波倒车雷达系统的设计
未来五年,中国产业经济的所有命运都掌握在自己手上
电磁阀的作用原理 单向电磁阀与双向电磁阀的区别
原来“bug”真的由bug而来
RealAI田天获选创业邦2020年“30岁以下创业新贵”
iPhone 12到底值不值得升级?
基于FPGA的等精度频率计的设计与实现