中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于單片機的AD轉(zhuǎn)換的數(shù)碼管顯示程序

        基于單片機的AD轉(zhuǎn)換的數(shù)碼管顯示程序

        作者: 時間:2012-09-19 來源:網(wǎng)絡 收藏

        *本例程采用0804芯片,硬件電路:cs片選端接P2.3,WR寫數(shù)據(jù)端寫P3.6,RD讀數(shù)據(jù)端接P3.7,鎖存端接P2.6腳,管位選端分別接P3.2 ,P3.3,P3.4,段選端接P1口*/
        #includereg52.h>//頭文件
        #define uint unsigned int//宏文件
        #define uchar unsigned char//宏文件
        uchar num;//變量
        void delay3(uint z);//延時定義
        void dissy();//延時函數(shù)定義
        sbit ge=P3^2;//個位定義
        sbit shi=P3^3;//十位定義
        sbit bai=P3^4;//百位定義
        sbit ad_cs=P2^3;//片選端
        sbit ad_wr=P3^6;//寫數(shù)據(jù)端
        sbit ad_rd=P3^7;//讀數(shù)據(jù)端
        sbit pian=P2^6;//鎖存器片選
        void add();//ad子函數(shù)
        void delay(uint i);//延時子函數(shù)申明
        uchar code table[]={
        0xc0,0xf9,0xa4,0xb0,0x99,
        0x92,0x82,0xf8,0x80,0x90,
        0x88,0x83,0xc6,0xa1,0x86,
        0x8e
        };//數(shù)組

        本文引用地址:http://www.antipu.com.cn/article/170838.htm

        /************主函數(shù)**********/
        void main()
        {
        while(1)
        {
        add();//調(diào)用子函數(shù)
        dissy();//子函數(shù)
        }
        }

        /************子函數(shù)**********/
        void add()//AD轉(zhuǎn)換子函數(shù)
        {
        uchar i;
        ad_cs=1;//將片選關(guān)閉
        ad_cs=0;//將片選打開
        ad_wr=1;//寫數(shù)上升沿
        ad_wr=0;//寫數(shù)下降沿
        ad_wr=1;//寫數(shù)上升沿

        P1=0xff;//送數(shù)到P0口
        ad_rd=1;//讀數(shù)上升沿
        delay(25);//延時一會兒
        ad_rd=0;//讀數(shù)下降沿
        //////**************因為AD轉(zhuǎn)換時間周期長,我現(xiàn)在的管沒有采用鎖存器,AD轉(zhuǎn)換時間大于時間,所以時會閃爍,解決此問題方法是,連續(xù)調(diào)用了顯示子七次,這樣顯示時就和AD轉(zhuǎn)換時一至,顯示出來的數(shù)就不閃了********************//////
        for(i=0;i7;i++) //調(diào)用7次,相當于delay(255)
        void dissy();
        //////**********************************//////
        num=P1;//將數(shù)給計數(shù)器num
        }

        /************顯示子函數(shù)**********/
        void dissy()//顯示子函數(shù)
        {
        P0=table[num/100];//百位顯示數(shù)據(jù)
        bai=0;//百位打開
        delay(14);//延時一會
        bai=1;//關(guān)閉百位
        P0=table[num%100/10];//十位顯示數(shù)據(jù)
        shi=0;//十位打開
        delay(14);//延時一會
        shi=1;//關(guān)閉十位
        P0=table[num%10];//百位顯示數(shù)據(jù)
        ge=0;//關(guān)閉十位
        delay(14);//延時一會
        ge=1;//關(guān)閉十位
        }

        /**************延時子函數(shù)*************/

        void delay(uint i)//延時函數(shù)
        {
        uint j,k;//定義變量
        for(j=i;j>0;j--)//外循環(huán)
        for(k=30;k>0;k--);//內(nèi)循環(huán)
        }



        評論


        相關(guān)推薦

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

        關(guān)閉