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

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用定時(shí)器進(jìn)行計(jì)數(shù)的一個(gè)簡(jiǎn)單例子

    用定時(shí)器進(jìn)行計(jì)數(shù)的一個(gè)簡(jiǎn)單例子

    作者: 時(shí)間:2012-11-15 來源:網(wǎng)絡(luò) 收藏

    /*
    注:該程序主要是如何運(yùn)用進(jìn)行計(jì)數(shù),體現(xiàn)模塊化的子函數(shù),是一個(gè)比較淺顯的程序
    */

    #includereg52.h> //
    #define uchar unsigned char //宏定義
    #define uint unsigned int
    uchar count; //定義全局變量
    void display_led() //led顯示子函數(shù)
    {
    if(count==20) //每隔1S發(fā)生變化(晶振為:12MHZ)
    {
    count=0; //計(jì)數(shù)清零,以便下次計(jì)數(shù)
    P2=~P2; //P2的值取反
    P2=P21; //P2的值左移
    P2=~P2;
    if(P2==0xff) //如果最后一個(gè)LED亮后,
    P2=0xfe; //則第一個(gè)LED亮
    }
    }
    void init() //初始化子函數(shù)
    {
    EA=1; //打開總中斷
    ET0=1; //打開中斷
    TR0=1; //啟動(dòng)
    TMOD=0x01; //T0工作方式1,16位計(jì)數(shù)
    TH0=(65536-50000)/256;//設(shè)置定時(shí)器的初始值
    TL0=(65536-50000)%256;
    P2=0xfe; //給P2口賦初始值
    while(1)
    {
    display_led(); //調(diào)用LED顯示子函數(shù)
    }
    }
    void main() //主函數(shù)
    {
    init(); //調(diào)用初始化子函數(shù)
    }
    void delay() interrupt 1 //定時(shí)中斷子函數(shù)
    {
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    count++; //自加1
    }



    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 南平市| 读书| 镇安县| 浦北县| 谢通门县| 汉源县| 建瓯市| 高邑县| 布拖县| 安庆市| 那曲县| 开化县| 靖安县| 道真| 徐汇区| 贺州市| 沙坪坝区| 西昌市| 灌阳县| 河源市| 江川县| 温宿县| 五莲县| 郸城县| 塔河县| 双牌县| 竹山县| 连平县| 和硕县| 贵溪市| 昭苏县| 马关县| 共和县| 萨嘎县| 石阡县| 美姑县| 大英县| 临猗县| 左贡县| 建宁县| 开江县|