色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī) 定時(shí)器T0方式1 控制流水燈

          51單片機(jī) 定時(shí)器T0方式1 控制流水燈

          作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
          定時(shí)器這家伙在哪里都會(huì)用到,實(shí)際工程開發(fā)中沒有能離開定時(shí)器的。所以掌握定時(shí)器就尤為重要了,這里主要提到的是最基本的使用了--用于定時(shí)。

          LED原理圖見《51單片機(jī)--流水燈演示》,定時(shí)器沒有原理圖,屬于單片機(jī)內(nèi)部資源。

          本文引用地址:http://cafeforensic.com/article/201611/321308.htm

          代碼如下:

          #include //頭文件
          #include
          #define uint unsigned int //宏定義
          uint jishuNumber,aa; //定義jishuNumber為計(jì)數(shù)器計(jì)滿次數(shù)(本程序20次為1S) aa代表流水號(hào)

          void main() //主函數(shù)入口
          {
          aa=0xfe; //初始化為點(diǎn)亮第一個(gè)LED燈
          P1=aa;
          //定時(shí)器T0方式1初始化(其它通用)
          TMOD=0x01; //①TMOD賦值,以確定T0/T1的工作方式
          TH0=(65536-46080)/256; //②計(jì)算初值,并將初始化值寫入TH0/TL0
          TL0=(65536-46080)%6;
          EA=1; //③開放相應(yīng)中斷
          ET0=1; //④TR0/TR1置位,啟動(dòng)相應(yīng)定時(shí)器/計(jì)數(shù)器
          TR0=1;
          while(1)
          {
          if(jishuNumber==20) //如果1S
          {
          jishuNumber=0;
          aa=_crol_(aa,1); //把a(bǔ)a左旋之后賦值給aa
          P1=aa; //流水燈點(diǎn)亮
          }
          }
          }
          void T0_time_no1() interrupt 1 //中斷服務(wù)程序
          {
          TH0=(65536-46080)/256;
          TL0=(65536-46080)%6;
          jishuNumber++; //計(jì)滿一次加1
          }


          以上,結(jié)束。



          評(píng)論


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

          關(guān)閉