在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的電子測(cè)速里程防盜報(bào)警器設(shè)計(jì)

            基于51單片機(jī)的電子測(cè)速里程防盜報(bào)警器設(shè)計(jì)

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

            //************************************************************

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

            //標(biāo)題:4乘4鍵盤的輸入函數(shù)
            // 函數(shù)描述: char gotkey(void)
            // 從4*4小鍵盤輸入數(shù)據(jù),返回0~9,及其它數(shù)據(jù).
            //***********************************************************
            //時(shí)間遲延函數(shù)
            //*********************************************************
            void delay (void)
            {
            unsigned char i,j;
            for(i=0;i5;i++)
            for(j=0;j255;j++);
            }
            //*************************************************
            //檢查是否有按鍵按下
            //*************************************************
            char keypad_scan()
            {
            char key,i;
            p2=0xF0;
            while(p2!=0XF0);
            do{
            for(i=0;i=3;i++)
            { p2=ksp;
            if(p2!=ksp)
            {
            delay();
            key=p2;
            if(key!=ksp)
            {
            return(key);
            }
            }
            }
            }while(1);
            }
            //***************************************
            //取得鍵值
            //***************************************
            char gotkey()
            {
            char temp,i;
            temp=keypad_scan();
            for(i=0;i=15;i++)
            {
            if(temp==key_code)
            return(i);
            }
            }


            //**************************************
            //93c66驅(qū)動(dòng)程序
            //**************************************
            //********************************************

            unsigned char read_byte(int address)
            {int i, command;
            unsigned char temp;
            CS=1;
            command=(READ|address);
            write_command(command);
            for(i=0;i8;i++)
            {SK=1;
            SK=0;
            temp=(temp1);
            if(DO==1)
            temp=(temp|0X01);
            }
            CS=0;
            return(temp);
            }

            //**********************************************

            void write_enable()
            {int command;
            CS=1;
            command=EWEN;
            write_command(command);
            CS=0;
            }

            //***********************************************

            void write_disable()
            {int command;
            CS=1;
            command=EWDS
            write_command(command);
            CS=0;
            }

            //************************************************

            void write_byte(int address,unsigned char write_date)
            {int i,command;
            write_enable();
            CS=1;
            command=(WRITE|address);
            write_command(command);
            for(i=0;i8;i++)
            {if(write_date0X80)}
            DI=1;
            elae
            DI=0;
            SK=1;
            SK=0;
            write_date=(write_data1);
            }
            check_busy();
            write_disable();
            }

            //*************************************************

            void write_command(int command)
            {int i;
            command=(commandshiftbit);
            for(i=0;i12;i++)
            {if(command0X8000)
            DI=1;
            else
            DI=0;
            SK=1;
            SK=0;
            command=(command1);
            }
            }

            //***********************************************

            void check_busy(void)
            {CS=0;
            CS=1;
            while(DO==0);
            }

            //******************************************
            //標(biāo)題:ISD4004驅(qū)動(dòng)法程序
            //功能:語(yǔ)音選段播放
            //******************************************
            void delay(unsigned int time) //延遲n微秒
            {
            while(time!=0)
            {
            time-- ;
            }
            }
            void delayms(unsigned int time) //延遲n毫秒
            { TMOD=0x01;

            for(time;time>0;time--)
            {
            TH0=0xfc;
            TL0=0x18;
            TR0=1;
            while(TF0!=1)
            {;}
            TF0=0;
            TR0=0;
            }

            }

            //************************************
            //ISD4004 spi串行發(fā)送子程序,16位數(shù)據(jù)
            //************************************
            void spi_send(unsigned char isdx)
            { unsigned char isx_counter;
            SS=0; //ss=0,打開spi通信端
            SCLK=0;
            for(isx_counter=0;isx_counter8;isx_counter++)
            //先發(fā)低位再發(fā)高位,依次發(fā)送。
            { if ((isdx0x01)==1)
            MOSI=1;
            else
            MOSI=0;
            isdx=isdx>>1;
            SCLK=1;
            delay(2);

            SCLK=0;
            delay(2);
            }
            }

            //*******************************
            //發(fā)送stop指令
            //*******************************
            void isd_stop(void)
            { delay(10);
            spi_send(0x30);
            SS=1;
            delayms(50);
            }
            //*******************************
            //發(fā)送上電指令,并延遲50ms
            //*******************************
            void isd_pu(void)
            { delay(10);
            SS=0;
            spi_send(0x20);
            SS=1;
            delayms(50);
            }
            //*******************************
            //發(fā)送掉電指令,并延遲50ms
            //*******************************

            void isd_pd(void)
            { delay(10);

            spi_send(0x10);
            SS=1;
            delayms(50);
            }


            //*******************************
            //發(fā)送分段語(yǔ)音setplay指令
            //*******************************
            void isd_setplay(unsigned char adl,unsigned char adh)
            {
            isd_pd();
            delayms(1);
            spi_send(adl);
            delay(2);
            spi_send(adh);
            delay(2);
            spi_send(0xe0);
            SS=1;
            spi_send(0xf0);
            SS=1;
            if(ISD_INT==0)
            isd_stop();
            isd_pd();
            }



            評(píng)論


            相關(guān)推薦

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

            關(guān)閉