標(biāo)題: 51單片機+74hc595芯片實現(xiàn)跑馬燈Proteus仿真程序 [打印本頁]

作者: 夢醉了誰    時間: 2020-3-4 19:03
標(biāo)題: 51單片機+74hc595芯片實現(xiàn)跑馬燈Proteus仿真程序
1、74HC595特點
串進并出,移位,鎖存(相當(dāng)于把8位輸入送到Q0-Q7,鎖存前Q0-Q7為上一次的值)
Q7‘為串行輸出,即可以級聯(lián)。
SCK(SH_CP)    //串行輸入時鐘, 串行輸入
RCK(ST_CP)    //存儲寄存器時鐘,并行輸出2、原理圖如圖所示

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>

  3. typedef unsigned char uchar;
  4. typedef unsigned int uint;
  5. void delayms(uint xms);
  6. void hc595(uchar byteData);

  7. sbit SER = P3^4;    //p3.4腳控制串行數(shù)據(jù)輸入
  8. sbit SCK = P3^6;    //串行輸入時鐘
  9. sbit RCK = P3^5;    //存儲寄存器時鐘

  10. uchar code table[]=
  11.                                  {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  12. uchar num=0;
  13. void main()
  14. {
  15.         while(1)
  16.         {
  17.                    for(num=0;num<8;num++)
  18.                 {
  19.                         hc595(table[num]);        
  20.                         delayms(500);
  21.                 }
  22.         }        //        hc595(0x55);            // Q7~Q0=0101 0101                 }
  23. }



  24. /*功能:發(fā)送一個字節(jié)的數(shù)據(jù)給595,再并行輸出*/
  25. void hc595(char byteData)
  26. {
  27.     char i=0;   
  28.     for(i=0;i<8;i++)
  29.     {
  30.         SER = byteData>>7;        //送出7位數(shù)據(jù)
  31.         byteData= byteData<<1;      

  32.         SCK = 0;          //上升沿,讓串行輸入時鐘變?yōu)楦唠娖,并延時2個時鐘周期
  33.         _nop_();
  34.         _nop_();
  35.         SCK = 1;          //變?yōu)榈碗娖,為下次?zhǔn)備
  36.     }  
  37.    
  38.    //位移寄存器數(shù)據(jù)準(zhǔn)備完畢,轉(zhuǎn)移到存儲寄存器
  39.    RCK = 0;         //上升沿,讓存儲寄存器時鐘變?yōu)楦唠娖,并延時2個時鐘周期
  40.    _nop_();
  41.    _nop_();
  42.    RCK = 1;

  43. }


  44. void delayms(uint xms )  //延時xms函數(shù)
  45. {
  46.         uint a,b;
  47.         for(a=xms;a>0;a--)
  48.          for(b=110;b>0;b--);
  49. }
  50.          
復(fù)制代碼

所有資料51hei提供下載:
hc595 (8個led燈).zip (99.69 KB, 下載次數(shù): 118)


作者: wwh2382    時間: 2020-6-26 14:19
初次接觸595,一下子就成了,便于進一步搞懂595,謝謝樓主
作者: 51黑科技1314    時間: 2020-9-6 21:18
謝謝樓主的解析,讓我懂得了跟多

作者: York_Yan    時間: 2021-11-13 16:33
網(wǎng)上找了資料,對著樓主的資料,剛好手邊有資料。就做了一個。補貼個實物圖。

picture.jpg (5.35 MB, 下載次數(shù): 37)

picture.jpg

作者: wifingtta    時間: 2022-1-22 23:06
謝謝樓主,按照樓主的改了下,改為點陣控制,完全沒問題。樓主對595的說明也很簡潔:串進并出,移位,鎖存
作者: 無名氏1957    時間: 2022-1-24 08:29
        }        //        hc595(0x55);            // Q7~Q0=0101 0101                 }

※                 }多了!





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1