專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

74hc595芯片數(shù)碼管顯示

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2011年08月14日   【字體:
/*74HC595是硅結(jié)構(gòu)的CMOS器件, 兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。 
  74HC595是具有8位移位寄存器和一個(gè)存儲(chǔ)器,三態(tài)輸出功能。
 移位寄存器和存儲(chǔ)器是分別的時(shí)鐘。時(shí)鐘線sck在上升沿將數(shù)據(jù)輸入(即由低電平編導(dǎo)高電平),
 數(shù)據(jù)在si的上升沿輸入,在si的上升沿進(jìn)入到存儲(chǔ)寄存器中去。如果兩個(gè)時(shí)鐘連在一起,則
 移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。 移位寄存器有一個(gè)串行移位輸入(Ds),
 和一個(gè)串行輸出(Q7’),和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行8位的,
 具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平),存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。   
 8位串行輸入/輸出或者并行輸出移位寄存器,具有高阻關(guān)斷狀態(tài)。  */
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit rck=P0^0;//對輸出存儲(chǔ)器鎖存時(shí)鐘線的位定義
sbit sck=P0^1;//對數(shù)據(jù)輸入時(shí)鐘線的位定義
sbit si=P0^2;//對數(shù)據(jù)線的位定義
uchar code num[]={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08};//0~9的數(shù)字顯示
void delay(uint time)//延時(shí)函數(shù)
 {
  while(--time);
 }
void write_date(uchar temp)//移位寄存器
 {
  uint i;
  for(i=0;i<8;i++)
   {
    temp>>=1;//把輸進(jìn)來的8位數(shù)據(jù)右移一位,從而最右端的一位溢出
 sck=0;//輸入時(shí)鐘位低電平
 si=CY;//把移位溢出來的數(shù)據(jù)賦給最高位
 sck=1;//輸入時(shí)鐘位高電平
   }
 }
void main()//主函數(shù)
 {
  uint i,j;
  for(i=0;i<10;i++)
   for(j=0;j<10;j++)
    {
  write_date(num[i]);
  write_date(num[j]);
  rck=0;//數(shù)據(jù)線低電平
  rck=1;//數(shù)據(jù)線高電平
  delay(100000);//調(diào)用延時(shí)函數(shù),使時(shí)間變長
 }
 }

關(guān)閉窗口

相關(guān)文章