新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 74HC595在單片機(jī)上的應(yīng)用及程序

        74HC595在單片機(jī)上的應(yīng)用及程序

        作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
        74HC595具有8位串入并出的三態(tài)門電路。

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

        本文引用地址:http://www.104case.com/article/201612/324569.htm

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

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

        當(dāng)單片機(jī)的I/O資源比較緊張時(shí),采用595并進(jìn)行級(jí)聯(lián)是一個(gè)很好的選擇。

        管腳定義:

        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

        時(shí)序圖:

        請(qǐng)參照595的數(shù)據(jù)手冊(cè)

        程序編制:

        端口定義 設(shè)置:

        sbit DATA=P1^5;

        sbit SHIFT=P1^6;

        sbit STORAGE=P1^7;

        1、寫595

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

        {

        Uchar j;

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

        {

        X=x<<1;//將數(shù)據(jù)左移一位,最高位數(shù)據(jù)進(jìn)入到CY中

        SHIFT=0;//shift端置0

        _nop_();

        _nop_();

        _nop_();

        DATA=CY;//將一位數(shù)據(jù)送入595串口數(shù)據(jù)端

        SHIFT=1;//shift端產(chǎn)生一個(gè)上升沿,數(shù)據(jù)就送入到了shift register

        _nop_();//延時(shí)

        _nop_();

        _nop_();

        SHIFT=0;//shift端產(chǎn)生一個(gè)下降沿,shift register內(nèi)容保持不變

        }

        }

        3、595數(shù)據(jù)的輸出

        /********595輸出函數(shù)函數(shù)*******************/

        void out_595(void)

        {

        STORAGE=0;

        _nop_();

        _nop_();

        STORAGE=1;//上升沿shift register 的內(nèi)容保存到store register

        _nop_();

        _nop_();

        STORAGE=0;//下降沿store register 的內(nèi)容保持不變

        }

        4、只要在主函數(shù)中分別調(diào)用以上兩個(gè)函數(shù)即可將要顯示的數(shù)值X顯示出來。

        當(dāng)然為方便顯示可以定義一個(gè)數(shù)組。

        如一個(gè)7段數(shù)碼管的顯示,595的QA,QB,QC,QD,QE,QF,QG, ,分別對(duì)應(yīng)數(shù)碼管的a,b,c,d,e,f,g,

        數(shù)碼管共陽極,則可以定義這樣一個(gè)數(shù)組。

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

        5、當(dāng)兩個(gè)或多個(gè)595進(jìn)行級(jí)聯(lián)時(shí)將

        11 SCK shift register clock input

        12 RCK storage register clock input

        進(jìn)行并聯(lián),將9 QH’ serial data outputs

        連接另一片的14 SI serial data input

        然后再發(fā)送數(shù)據(jù)時(shí),先連續(xù)發(fā)送數(shù)據(jù),最后在out。

        如:

        write_595(duanma);

        write_595(num[liangdu]);

        out_595();

        完整詳細(xì)程序請(qǐng)打開:http://www.51hei.com/chip/1799.html



        關(guān)鍵詞: 74HC595單片

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 双柏县| 西乌珠穆沁旗| 格尔木市| 孟州市| 开化县| 凤冈县| 阳信县| 枞阳县| 高州市| 康乐县| 阜新市| 滨海县| 商都县| 双鸭山市| 博客| 疏勒县| 沾益县| 云浮市| 衢州市| 南投市| 安化县| 大庆市| 通道| 大方县| 太康县| 莒南县| 河西区| 沙洋县| 通道| 高唐县| 德昌县| 乌鲁木齐县| 金堂县| 甘孜| 逊克县| 许昌市| 江永县| 双流县| 武宣县| 湖北省| 桂阳县|