新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CD4094移位總線寄存器驅動程序

        CD4094移位總線寄存器驅動程序

        作者: 時間:2016-11-29 來源:網絡 收藏
        //CD4094 20120302 8路基準電壓源使用測試
        //程序...    #include    #include    #define uint  unsigned int    #define uchar unsigned char    sbit k6=P1^7;sbit k5=P1^6;sbit k4=P1^5;sbit k3=P1^4;sbit k2=P1^3;sbit k1=P1^2;sbit LED_ON=P1^1;sbit led=P3^7;sbit A_=P3^3;sbit B_=P3^4;sbit C_=P3^5;sbit DEL=P1^0;sbit STR  =  P3^2;//定義CD4094各端口;    sbit DATA =  P3^1;   sbit CLK  =  P3^0;uchar tt,tt1,K=0;uchar KEY();uchar code table[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41}; //code unsigned char C51BOX2[3] _at_ 0x43;    void Out_4094(uchar data1);//CD4094寫數據子函數;    void Delay(uint a);     //延時子函數;    //主程序開始; void timer0(void)  interrupt 1  using  0{TH0 =5000/256;TL0 =5000%256;if(K==0){tt++;if(K==0&&tt==7){{tt=0;LED_ON=~LED_ON;}}}Out_4094(table[K]);if(K!=0) LED_ON=0;tt1++;if(tt1==7){tt1=0;led=~led;}}   void main()   {   uchar i,f,g;       //無限循環;TMOD=0x01;TH0 =5000/256;TL0 =5000%256;EA=1;ET0=1;TR0=1;A_=0;B_=0;C_=0;DEL=0;    while(1)    {   /*for(g=0;g<6;g++){Delay(30000);f=table[g];Out_4094(f);     //調用顯示子函數;    Delay(30000);    //延時;    }  */KEY();if(K==0){A_=0;B_=0; C_=0; DEL=0  ;}if(K==1){A_=0;B_=1; C_=1; DEL=0  ;}if(K==2){A_=1;B_=0; C_=1; DEL=0  ;}if(K==3){A_=0;B_=0; C_=1; DEL=0  ;}if(K==4){A_=1;B_=1; C_=0; DEL=0  ;}if(K==5){A_=0;B_=1; C_=0; DEL=1  ;}if(K==6){A_=1;B_=0; C_=0; DEL=1  ;}}}   void Out_4094(uchar data1) //寫CD4094子函數;    {   uchar i;       //定義子函數;    STR=0;       //保持然來的狀態不變;    for(i=0;i<8;i++)     //寫八位數據進CD4094;    {   if(data1&0x01)     //判斷并發串行數據;    {   DATA=1;      //發高電平;    }   else   {   DATA=0;      //發低電平;    }   CLK=0;       //形成上升延脈沖;    _nop_();   _nop_();      //延時;    _nop_();   CLK=1;   data1>>=1;      //數據移位,送下一位數據;    }   STR=1;       //數據送完;更新顯示;    }   void Delay(uint a)     //延時子函數;    {   uint b;   for(b=0;b
        				
                    
                        
        			
        							

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 上蔡县| 宝鸡市| 巴青县| 奉化市| 南平市| 辉南县| 肥乡县| 光泽县| 札达县| 宜春市| 平乐县| 洛南县| 新绛县| 渑池县| 昆明市| 同德县| 渭南市| 白朗县| 大足县| 荣昌县| 济南市| 淮阳县| 明光市| 威宁| 中山市| 乐清市| 辛集市| 丰都县| 常熟市| 玉门市| 洪江市| 手机| 祁东县| 额济纳旗| 金堂县| 库车县| 英超| 汾西县| 东乡县| 安乡县| 桐梓县|