新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機驅動74HC595的c51程序

        單片機驅動74HC595的c51程序

        作者: 時間:2012-10-11 來源:網絡 收藏

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

        #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; //定義循環變量for(i=0;i8;i++) //因為是1字節是8位,所以循環8次{dat=k0x01; //將要發送的數據與上0X01送到數據引腳clk=0; //時鐘引腳加低電平clk=1; //時鐘引腳加高電平k>>=1; //將發送的數據右移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;}}


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巢湖市| 静乐县| 商河县| 铜鼓县| 平果县| 平泉县| 永川市| 石家庄市| 丰台区| 鄄城县| 临沭县| 桃源县| 三台县| 克什克腾旗| 民勤县| 克山县| 甘南县| 阿拉善盟| 镇赉县| 宁城县| 青龙| 侯马市| 喀什市| 临邑县| 沁水县| 九龙县| 平江县| 平定县| 新化县| 厦门市| 普兰县| 广饶县| 定西市| 临安市| 正安县| 伊金霍洛旗| 镇平县| 大英县| 宜良县| 定结县| 酉阳|