在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)實(shí)現(xiàn)BPC電波鐘解碼C程序

            51單片機(jī)實(shí)現(xiàn)BPC電波鐘解碼C程序

            作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
            //使用STC12C5202單片機(jī),晶振使用12M的,速度是12倍速的,電波鐘模塊引腳是接在單片機(jī)P3^2口的

            //數(shù)碼管是使用動(dòng)態(tài)掃描的方式,四位數(shù)碼管顯示
            #include
            #define uchar unsigned char
            #define uint unsigned int
            uchar xiaoshi,fenzon;
            uchar tt=0;
            #define duan P1
            uchar code tab[]={ 0x12,/*0*/
            0xD7,/*1*/
            0x4A,/*2*/
            0x43,/*3*/
            0x87,/*4*/
            0x23,/*5*/
            0x22,/*6*/
            0x57,/*7*/
            0x02,/*8*/
            0x03,/*9*/
            };
            sbit fen=P3^3;
            sbit sf =P3^4;
            sbit si =P3^5;
            sbit ss =P3^7;
            sbit led=P3^0;
            /////////////////////////////////////////////////////////////////////////////
            sbit MKin =P3^2; //電波鐘模塊信號(hào)引腳
            uint shu=0;
            uchar a[7];
            void delay(uint k)
            {
            while(k--);
            }
            void duo_MoKuai()
            {
            uchar i=0;
            for(;i<6;i++)
            {
            a[i]=0;
            }
            shu=0;
            while(shu<116) //找啟始碼1.8秒低電平
            {
            if(!MKin)
            {
            delay(12000); //延時(shí)16mS
            shu++;
            }
            else shu=0;
            }
            delay(2000); tt=0;
            while(!MKin)delay(2000); //等待高電平結(jié)束
            delay(12000);
            /////////////////////////////////////////////////////////////////////////////
            while(MKin)delay(2000); //這是第一個(gè)脈沖;//根據(jù)協(xié)議該位只能是0、1、2,不能是3否則超出范圍,表示接收錯(cuò)誤,從新同步
            delay(12000);
            while(!MKin)delay(2000);
            delay(12000);
            while(MKin)delay(2000); //這是第二個(gè)脈沖;//根據(jù)協(xié)議,該位必須為0,否則就是錯(cuò)誤,認(rèn)為丟失同步,故也不需要進(jìn)行效驗(yàn)積累計(jì)算
            delay(12000);
            while(!MKin)delay(2000);
            delay(2000);
            while(MKin) //第三位//這是小時(shí)的十位
            {
            delay(12000);
            a[0]++;
            }
            delay(12000);
            while(!MKin)delay(2000);
            delay(2000);
            while(MKin) //第四位 //這是小時(shí)的個(gè)位
            {
            delay(12000);
            a[1]++;
            }
            delay(12000);
            while(!MKin)delay(2000);
            delay(2000);
            while(MKin) //第五位//這是分鐘的高位
            {
            delay(12000);
            a[2]++;
            }
            delay(12000);
            while(!MKin)delay(2000);
            delay(2000);
            while(MKin) //第六位//這是分鐘的中位
            {
            delay(12000);
            a[3]++;
            }
            delay(12000);
            while(!MKin)delay(2000);
            delay(2000);
            while(MKin) //第七位//這是分鐘的低位
            {
            delay(12000);
            a[4]++;
            }
            delay(12000);
            }
            void Zuan_Huan()
            {
            uchar k;
            duo_MoKuai(); //讀電波鐘模塊
            for(k=0;k<5;k++)
            {
            if(27>(a[k])>23) a[k]=0x03;
            else if(17<(a[k])<21) a[k]=0x02;
            else if(11<(a[k])<15) a[k]=0x01;
            else if(8>(a[k])>5) a[k]=0;
            }

            本文引用地址:http://www.biyoush.com/article/201611/323900.htm

            xiaoshi=((a[0])*4)|(a[1]);
            fenzon=(((a[2])*16)|((a[3])*4)|(a[4]));
            }
            /////////////////////////////////////////////////////////////////
            void desplay()
            {
            duan=tab[xiaoshi/10];
            ss=0;
            delay(2000);
            ss=1;
            duan=tab[xiaoshi%10];
            si=0;
            delay(2000);
            si=1;
            duan=tab[fenzon/10];
            sf=0;
            delay(2000);
            sf=1;
            duan=tab[fenzon%10];
            fen=0;
            delay(2000);
            fen=1;
            }

            void main()
            {
            uint aa;
            while(1)
            {
            Zuan_Huan();
            for(aa=0;aa<1000;aa++)
            desplay();
            }
            }



            關(guān)鍵詞: 51單片機(jī)BPC電波鐘解

            評論


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

            關(guān)閉