中文版 | English

ҷϢ  点击这里给我发消息  点击这里给我发消息  点击这里给我发消息  ҷϢ

新闻中心
信息搜索
关键字:
范 围:
首页新闻中心 数码管开模
 
74HC595驱动24位数码管
新闻来源:深圳市芯斯美电子有限公司    点击数:3935    更新时间:2012/9/11 16:16:25    收藏此页

74HC595 24位数码管 移位寄存器
74HC595是一个8位移位寄存器的数字芯片,并具有输出锁存和三态输出。
既然可以驱动了那么多的数码管,驱动大屏点阵还是梦?绝对不是梦?
 
引脚功能:
 
第8脚GND,电源地。
第16脚VCC,电源正极
第14脚DATA,串行数据输入口,显示数据由此进入,必须有时钟信号的配合才能移入。
第13脚EN,使能口,当该引脚上为“1”时QA~QH口全部为“1”,为“0”时QA~QH的输出由输入的数据控制。
第12脚STB,锁存口,当输入的数据在传入寄存器后,只有供给一个锁存信号才能将移入的数据送QA~QH口输出。
第11脚CLK,时钟口,每一个时钟信号将移入一位数据到寄存器。
第10脚SCLR,复位口,只要有复位信号,寄存器内移入的数据将清空,显示屏不用该脚,一般接VCC。
第9脚DOUT,串行数据输出端,将数据传到下一个。
第15、1~7脚,并行输出口也就是驱动输出口,驱动LED。
 
附上仿真图:



驱动程序也很简单:
 
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
uchar code display[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar buf[5];
sbit SH=P2^0;
sbit SDA=P2^1;
sbit ST=P2^2;
uchar count,sec,min;
void delay(unsigned char i)
{
 unsigned char j=220;
   while(i--)
   while(j--);
}
void write_595(uchar p)
{
 uchar i,temp;
 temp=p;
 for(i=0;i<8;i++)
 {
  if(temp&0x80) SDA=1;
  else SDA=0;
  SH=0;
  _nop_();
  _nop_();
  SH=1;
  temp<<=1; 
 } 
}
void init_T()   //中断和定时器初始化
{
 IE=0x82;  //打开总中断,定时器T1和T0中断
 TMOD=0x01;  //设定T1,T0位工作方式1
 TH0=0x9e;
 TL0=0x58;  //T0装初值
 TR0=1;   //开始时钟开始工作
}
void main()
{
 uchar scan,i;
 init_T();
 while(1)
 {
  buf[0]=sec%10;
  buf[1]=sec/10;
//  buf[2]=;
  buf[3]=min%10;
  buf[4]=min/10;
  scan=0x01;
  for(i=0;i<5;i++)
  {  
   ST=0;
   ST=1;
   write_595(~display[buf[i]]);     
   write_595(~display[sec%10]);
   write_595(~display[sec/10]);
   write_595(~display[min%10]);  
   delay(1);
   P1=~scan;  
   scan<<=1;
  }
 }
}
void time_T0() interrupt 1    //定时器0,工作方式1,时钟中断
{
 TH0=0x9e;
 TL0=0x58;       //T0装初值
 count++;
 if(count==40)
 {
  count=0;
  sec++;
  if(sec==60)
  {
   sec=0;
   min++;
   if(min==60)
   min=0;
  }
 }
}分享到:

总页数:1  第  1    页 

上一篇:LED数码管不亮的原因及故障排查   下一篇:LED数码管
【刷新页面】【加入收藏】【打印此文】 【关闭窗口】
 
粤ICP备18084008号
数码管|数码管厂家|二位数码管|三位数码管|四位数码管|数码管开模-芯斯美电子 2005-2010 版权所有 粤ICP备18084008号
邮件:xsm005@126.com 电话:+86 755-29179255 29171966 传真:+86 755-29179206 地址:深圳市宝安区沙井街道向兴路同富裕工业区恒明珠科技工业园3栋