新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用51單片機制作呼吸燈

        用51單片機制作呼吸燈

        作者: 時間:2012-08-30 來源:網絡 收藏

        //晶振11.0592
        //燈光在控制之下完成由亮到暗的逐漸變化,感覺像是在
        //本例在51hei-5型開發板上實現了一個數碼管和一個led燈一起實現效果
        //文件下載:http://www.51hei.com/f/fxd.rar
        #includereg52.h>
        #define uint unsigned int
        #define uchar unsigned char

        本文引用地址:http://www.104case.com/article/170968.htm

        sbit D1=P0^7;

        uchar sr;
        uchar jf;

        uchar code table[]={
        0,1,2,3,4,5,6,7,8,9,10,
        11,12,13,14,15,16,17,18,
        19,20,21,22,23,24,25,26,27,
        28,29,30,31,32,33,34,35,36,
        37,38,39,40,41,42,43,44,45,
        46,47,48,49};

        void light(uchar num);
        void delay(uint z);

        void main()
        {
        //設置計數器
        //選取計數方式1
        TMOD = 0x11;
        //給計數器寫初值
        TH0 = 0;
        TL0 = 0;
        ////////////////////
        //操作
        //開啟CPU中斷
        EA = 1;
        ///////////////////
        //開啟定時器T0位中斷
        ET0 = 1;
        //開啟計數器
        TR0 = 1;
        //操作二極管
        P1=0;
        while(1)
        {
        if(sr50)
        light(sr);
        else sr=0;
        }
        }
        //子函數
        void light(uchar num)
        {
        uchar tme;
        D1 = 0;
        tme = table[num];
        delay(tme);
        D1 = 1;
        delay(49-tme);
        }
        //中斷函數
        void time () interrupt 1
        {
        //自變量自加
        if (jf2)
        {
        jf++;
        TH0 =0;
        TL0 = 0;
        }

        if (jf==2)
        {
        //寫初值
        jf=0;

        TH0 = 254;
        TL0 = 254;
        sr++;
        }
        }
        void delay(uint z)
        {
        uint x,y;
        for(x=10;x>0;x--)
        for(y=z;y>0;y--);
        }

        51單片機相關文章:51單片機教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        晶振相關文章:晶振原理


        關鍵詞: 呼吸 制作 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东阳市| 宁德市| 上林县| 留坝县| 五原县| 黄山市| 岗巴县| 尚志市| 巴中市| 内江市| 岚皋县| 依兰县| 石狮市| 太康县| 安徽省| 内江市| 泸州市| 禹州市| 乡城县| 台前县| 公安县| 七台河市| 甘孜| 龙山县| 通州市| 中宁县| 公安县| 青海省| 新蔡县| 长武县| 普兰店市| 贵港市| 太保市| 万安县| 浦县| 蓬溪县| 平南县| 宁明县| 安乡县| 琼海市| 新乡县|