• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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


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


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


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


    晶振相關文章:晶振原理


    關鍵詞: 呼吸 制作 單片機

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 清镇市| 丘北县| 慈溪市| 西藏| 武威市| 卓尼县| 宜兰县| 南汇区| 砚山县| 桐庐县| 磴口县| 东丽区| 顺义区| 宜兰市| 曲沃县| 东城区| 渭源县| 莱芜市| 无棣县| 和田县| 潮安县| 丁青县| 普定县| 长春市| 泽州县| 海淀区| 盐城市| 图片| 微博| 罗定市| 汪清县| 合作市| 新乡市| 长沙市| 榕江县| 乐清市| 汕尾市| 北川| 瓮安县| 普洱| 兴海县|