新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機制作媚眼激活儀的c代碼

        單片機制作媚眼激活儀的c代碼

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

        這是一個完整的用51系列做的的代碼,有這方面需要的朋友可以看看,代碼已經(jīng)測試成功。
        /*
        項目名稱:
        相關知識點:驅動發(fā)熱器件,數(shù)碼管顯示,按鍵操作等。
        程序開發(fā):http://www.51hei.com單片機教程網(wǎng)。
        */
        #include reg51.H>
        #define uint unsigned int
        #define uchar unsigned char
        #define duan P0 //將P1口段顯示定義為duan標號
        #define keyio P3 //將P3口設為按鍵檢測的端口

        uchar time,guannum,guantime1,guantime2;//time為分鐘值,光顯示時間值
        uint b; //50MS為1次,則1分鐘為1200次即可
        bit xsd,onandoff; //小數(shù)點閃爍位變量,開關機變量標志位

        sbit xuanled=P2^3;
        sbit guanled=P2^5;
        sbit rfled=P2^7;//三個指示燈位控制
        sbit xsdbit=P0^6;// 小數(shù)點實際硬件輸出引腳定義
        sbit gewela=P2^0;//個位數(shù)碼管位控制
        sbit shiwela=P2^1;//十位數(shù)碼管鎖定位控制
        sbit guanout=P1^0;//光譜輸出
        sbit rfout=P1^1; //RF發(fā)熱頭輸驅動
        sbit xuanout=P1^2; //旋磁輸出
        sbit fmqout=P1^3;


        uchar code tab[]={0x48,0xee,0x54,0x64,0xe2,0x61,0x41,0xec,0x40,0x60,0xf7};//數(shù)碼管段顯示編碼0~9,待編寫
        void chushi(void); //進入主函數(shù)時初始化
        void key(void); //按鍵檢測
        void display(uchar time);//數(shù)碼管顯示處理程序
        void chushi1(void); //進行大循環(huán)函數(shù)初始化處理

        void delay(uchar num)//延時模塊程序
        {
        uchar c,d;
        for(c=num;c>0;c--)
        for(d=40;d>0;d--);
        }


        void main() //主函數(shù)程序體
        {
        uchar a;
        chushi();

        while(1)
        {
        chushi1();
        key(); //按鍵檢測
        if(keyio!=0xff)
        fmqout=0;
        else fmqout=1;
        if(onandoff!=0)
        {
        for(a=100;a>0;a--)
        {
        duan=tab[10]; //開段顯示,顯示中間筆段
        gewela=0;
        shiwela=0;
        delay(10);
        gewela=1;
        shiwela=1;
        }

        while(onandoff!=0)
        {
        display(time);
        key();
        if(time==0b>=1000)
        fmqout=xsd;
        else if(keyio==0xff)
        fmqout=1;
        else fmqout=0;

        }
        for(a=200;a>0;a--)
        display(time);
        }
        }

        }

        void time0() interrupt 1
        {
        TH0=0x3c;
        TL0=0xb0;
        b++;
        if(b==1200)
        {
        b=0;
        if(time!=0)
        time--;
        else onandoff=0; //置零標志位
        }

        if(b%10==0)
        xsd=~xsd; //小數(shù)點的位變量按1S的周期進行變化
        if(guannum==2||guannum==3)
        {
        guantime2--;
        if(guantime2==0)
        {
        guantime2=guantime1;
        guanout=~guanout;
        }
        }
        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 三门峡市| 绥棱县| 杂多县| 深水埗区| 玉林市| 哈尔滨市| 咸宁市| 屯留县| 兴文县| 成武县| 甘德县| 顺平县| 新化县| 台北市| 佛教| 娱乐| 紫阳县| 海淀区| 乐亭县| 扎兰屯市| 平度市| 青州市| 东光县| 六安市| 闸北区| 亚东县| 梓潼县| 格尔木市| 本溪| 阳朔县| 阿拉善右旗| 五峰| 奉化市| 敦煌市| 祁门县| 黎平县| 吕梁市| 松原市| 清流县| 德兴市| 高州市|