• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機驅(qū)動74HC595的c51程序

    單片機驅(qū)動74HC595的c51程序

    作者: 時間:2012-10-11 來源:網(wǎng)絡(luò) 收藏

    //該子程序為發(fā)送字符的程序,該程序是先發(fā)送的是最低位!
    //芯片的時鐘引腳為第11腳
    //芯片的數(shù)據(jù)引腳為第14腳
    //芯片74HC595的鎖存引腳為第12腳
    //當有多片74HC595串聯(lián)時,只有當所有數(shù)據(jù)都發(fā)送完成后,再鎖存信號!
    //同樣74hc164與51單片機連接也可以由這個程序來驅(qū)動

    #include#define uchar unsigned char#define uint unsigned int sbit clk=P3^5;sbit dat=P3^6;sbit shuo_cun=P3^7;uchar volatile e,f;uchar code tab[]={        0x03,/*0*/0x9F,/*1*/0x25,/*2*/0x0D,/*3*/0x99,/*4*/0x49,/*5*/0x41,/*6*/0x1F,/*7*/0x01,/*8*/0x09,/*9*/};void fa_shon(uchar k) //{uchar i; //定義循環(huán)變量for(i=0;i8;i++) //因為是1字節(jié)是8位,所以循環(huán)8次{dat=k0x01; //將要發(fā)送的數(shù)據(jù)與上0X01送到數(shù)據(jù)引腳clk=0; //時鐘引腳加低電平clk=1; //時鐘引腳加高電平k>>=1; //將發(fā)送的數(shù)據(jù)右移1位} }void main(){TMOD=0x01;TH0=15535/256;TL0=15535%256;EA=1;ET0=1;TR0=1;while(1){ uchar a;for(a=0;a3;a++){fa_shon(tab[e%10]);fa_shon(tab[e%100/10]);fa_shon(tab[e/100]);}shuo_cun=0; //鎖存為低電平shuo_cun=1; //鎖存為高電平}}void tt()interrupt 1{TH0=15535/256;TL0=15535%256;f++;if(f>10){f=0;e++;if(e>250)e=0;}}


    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 新平| 甘南县| 汨罗市| 红桥区| 宁明县| 二连浩特市| 澎湖县| 黄梅县| 务川| 宝鸡市| 靖西县| 中江县| 铁力市| 兴化市| 托里县| 区。| 栾川县| 巍山| 高密市| 台南县| 怀宁县| 拉萨市| 沙湾县| 大港区| 西畴县| 呼伦贝尔市| 兴宁市| 仲巴县| 德令哈市| 顺平县| 平果县| 金昌市| 岱山县| 广宁县| 射阳县| 吐鲁番市| 邢台市| 桂林市| 吴旗县| 鄂尔多斯市| 淄博市|