新聞中心

        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單片機教程


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


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


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


        晶振相關文章:晶振原理


        關鍵詞: 呼吸 制作 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 磐石市| 拉萨市| 忻州市| 黑龙江省| 稷山县| 刚察县| 郓城县| 南通市| 微山县| 蓬安县| 阿合奇县| 宣城市| 石台县| 十堰市| 宜章县| 会昌县| 盐亭县| 盐边县| 丁青县| 利川市| 江陵县| 漠河县| 宁蒗| 锦屏县| 田林县| 德州市| 鄂托克前旗| 宁远县| 衡水市| 巩留县| 湘阴县| 永济市| 綦江县| 金塔县| 古田县| 勐海县| 宁夏| 霍州市| 石门县| 靖边县| 阳高县|