找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4971|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)定時(shí)器0演示程序-與PCA計(jì)數(shù)的區(qū)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26188 發(fā)表于 2015-2-18 01:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
定時(shí)器與PCA計(jì)數(shù)的區(qū)別:
定時(shí)計(jì)數(shù)器從零或指定值自加到溢出后產(chǎn)生中斷,后自動(dòng)或程序加載指定值到計(jì)數(shù)器,PCA有和定時(shí)器
相同的溢出中斷,但在多數(shù)情況下使用比較裝載值相等的方式產(chǎn)生中斷,比較產(chǎn)生中斷能根據(jù)設(shè)定狀態(tài)
,由硬件自動(dòng)執(zhí)行特定位翻轉(zhuǎn)或PWM
//數(shù)據(jù)類(lèi)型定義
struct Times
{//定時(shí)器結(jié)構(gòu)數(shù)據(jù)類(lèi)型
unsigned int    Match;    //重裝值容器
unsigned int    Dou;      //擴(kuò)展精度自加容器
unsigned int    Doub;     //擴(kuò)展精度終點(diǎn)容器
}Times0;                  //結(jié)構(gòu)變量名
==========================================================================================*/
void Times0_Setup()
{
//設(shè)定計(jì)數(shù)脈沖模式================
    //AUXR|= 0x80;   //定時(shí)器0工作在1T模式
    AUXR&= 0x7F;   //定時(shí)器0工作在12T模式
//設(shè)定工作方式====================
    TMOD&=0xF0;    //清除定時(shí)器0的所有狀態(tài),隱含13位計(jì)數(shù)器
    //TMOD|=0x0C;    //使用外部中斷INT0做計(jì)數(shù)脈沖
    TMOD|=0x01;    //16位定時(shí)
    //TMOD|=0x02;    //8位自動(dòng)重裝模式
    //TMOD|=0x03;    //雙8位定時(shí)
//裝入重裝值======================
//13位定時(shí)器
    //TL0 = Times0.Match;         //低8位裝載
    //TH0 = Times0.Match >> 5;    //高5位裝載
//16位軟件重裝定時(shí)器
    TL0 = Times0.Match;         //低8位裝載
    TH0 = Times0.Match >> 8;    //高8位裝載
//8位重裝定時(shí)器
    //TH0 = TL0 = Times0.Match;
//開(kāi)始定時(shí)
    ET0=1;         //開(kāi)定時(shí)器0中斷
    TR0=1;         //定時(shí)器0開(kāi)始運(yùn)行
    EA=1;          //開(kāi)總中斷
}

//中斷函數(shù)()
void tm0_isr() interrupt 1 using 1
{
//16位模式需要軟件重裝
      TL0 = Times0.Match;
      TH0 = Times0.Match >> 8;
//Times0.Match是ms級(jí),加入判斷Times0.Dou變量自減或自加可以達(dá)到秒或分鐘級(jí)
      if (Times0.Dou-- == 0)
      {//Dou自減,直到等于0
          Times0.Dou = Times0.Doub;    //Doub重裝
//=======================Times0事件做出處理=========================
//==================================================================
      }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:91009 發(fā)表于 2015-9-24 22:40 | 只看該作者
先看看
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表