<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        74HC595在單片機上的應用及程序

        作者:劉佳喝   來源:本站原創   點擊數:  更新時間:2014年03月16日   【字體:

        74HC595具有8位串入并出的三態門電路。

        高速率:最高55MHz(5V工作電壓)

        寬的工作電壓范圍:2V -6V

        每個口的最大電流值(QA-QH):±35mA

        當單片機的I/O資源比較緊張時,采用595并進行級聯是一個很好的選擇。

        管腳定義:

        PIN NO  symbol         name and function

        15       QA              data output

        1        QB              data output

        2        QC              data output

        3        QD              data output

        4        QE              data output

        5        QF              data output

        6        QG              data output

        7        QH              data output

        8        GND             ground

        9        QH’           serial data outputs

        10     /SCLR          shift register clock input

        11      SCK           shift register clock input

        12      RCK          storage register clock input

        13      /G            output enable input

        14      SI            serial data input

        16      Vcc          positive  supply voltage

        時序圖:

        請參照595的數據手冊

        程序編制:

        端口定義 設置:

         sbit DATA=P1^5;

        sbit SHIFT=P1^6;

        sbit STORAGE=P1^7;

        1、寫595

         Void write_595(uchar x)//功能:將無符號8位數x,寫入到595的shife register

        {

         Uchar j;

         For(j=0;j<8;j++)//循環8次,以便shift register保存8位數據

               {

        X=x<<1;//將數據左移一位,最高位數據進入到CY中

        SHIFT=0;//shift端置0

        _nop_();

         _nop_();

         _nop_();

        DATA=CY;//將一位數據送入595串口數據端

        SHIFT=1;//shift端產生一個上升沿,數據就送入到了shift register

        _nop_();//延時

        _nop_();

        _nop_();

        SHIFT=0;//shift端產生一個下降沿,shift register內容保持不變

        }

        }

        3、595數據的輸出

        /********595輸出函數函數*******************/

        void out_595(void)

        {

         STORAGE=0;

         _nop_();

         _nop_();

         STORAGE=1;//上升沿shift register 的內容保存到store register

         _nop_();

         _nop_();

         STORAGE=0;//下降沿store register 的內容保持不變

         

        }

        4、只要在主函數中分別調用以上兩個函數即可將要顯示的數值X顯示出來。

          當然為方便顯示可以定義一個數組。

        如一個7段數碼管的顯示,595的QA,QB,QC,QD,QE,QF,QG, ,分別對應數碼管的a,b,c,d,e,f,g,

        數碼管共陽極,則可以定義這樣一個數組。

        uchar code num[]={0x40,0xf3,0x89,0xa1,0xb2,0xa4,0x84,0xf1,0x80,0x20} ; //0-9代碼

        5、當兩個或多個595進行級聯時將

           11      SCK           shift register clock input

           12      RCK          storage register clock input

           進行并聯,將9        QH’           serial data outputs

           連接另一片的14      SI            serial data input

        然后再發送數據時,先連續發送數據,最后在out。

        如:

        write_595(duanma);

        write_595(num[liangdu]);

         out_595();

        完整詳細程序請打開:http://www.thefapper.com/chip/1799.html
         

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮