久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51單片機定時器/計數器提高

作者:程序那些事   來源:程序那些事   點擊數:  更新時間:2014年08月03日   【字體:

定時器方式0的使用

通過設置TMOD寄存器中的M1M0為00選擇定時方式0,方式0的計數位數是13位,對T0來說,有TL0寄存器的低5位,和TH0的8位組成
那么最多能裝入2^13=8192個數,也就是說,經過8192個計數,寄存器就會溢出,向CPU發出中斷請求。
所以計算公式為
       
  
TH0=(8192-X)/32
TL0=(8192-X)2
程序例子:
#include
#define uchar unsigned char
#define uint unsigned int 
sbit led1=P1^0;
uchar num;
void main()
{
TMOD=0X00;  //設置定時器0為工作方式;
TH0=(8192-4607)/32; //裝初值
TL0=(8192-460)2;
EA=1;
ET0=1; //開定時器0;
TR0=1; //啟動定時器0;
while-(1)
{
if(num==200)
{
num=0; //如果到了200次,說明1秒時間到
led1=~led1; //讓發光管狀態反接
}
}
}
void T0_time() interrupt 1
{
TH0=(8192-4607)/32; //重裝初始值
TL0=(8192-4607)2;
num++;
}
 

定時器方式2的使用
方式2被稱為自動重裝的八位定時器/計數器。
 
原理:THX被作為常數緩沖器,當TLX計數器溢出時,在溢出標志TFX置1的同時,還自動地將THX中的常數重新裝入TLX中,使TLX從初始值開始重新計數,這樣就避免了認為的軟件重裝初始值帶來的時間誤差,從而提高定時精度。
適用范圍:方式2特別適用于做較精確的脈沖信號發生器,因為其只有8位計數器。
缺點:當定時較長的時間是同時給編寫程序帶來麻煩,同時還會影響精度
公式:
THX=256-N;
TLX=256-N;
 
程序列子:
#include
#define MOTOR P2^0; //定義電機的輸出口
int PWMcount,PWM;
 
void main()
{
TMOD=0X02; //設置定時器0的工作模式2
TH0=156; //轉載初始值
TL0=156;
EA=0;
ET0=1; //開啟內部定時器中斷0;
TR0=1; //啟動定時器中斷0;
PWM=50; //以50的PWM輸出
while(1){;}
void PWM_output() interrupt 1
{
PWM_count++;
if(PWM_count MOTOR=1;
else MOTOR=0;
if(PWM_count==100) PWM_count=0;
}
關閉窗口

相關文章

主站蜘蛛池模板: 免费99精品国产自在在线 | 国产伦精品一区二区免费 | 91成年人 | 亚洲欧美日韩一区二区三区四区 | 日韩激情久久 | 国产精品成人av | 色婷婷国产精品综合在线观看 | 欧美一级黄色片 | 伊人成人在线视频 | 国产主播一区二区 | 黄色在线免费观看视频 | 日本黄色a级片 | 国产成年妇视频 | 免费观看全黄做爰视频 | 91看片淫黄大片 | txvlog.com| 99热国产 | 亚洲一级免费视频 | 一级黄色免费看 | 成人毛片在线播放 | 视频一区二区在线播放 | 久久免费福利视频 | 欧美激情综合网 | 在线免费毛片 | 91精品久久久久久久久久 | 国产一级黄色录像 | 青青草免费在线 | 日韩av网站在线观看 | 小镇姑娘国语版在线观看免费 | 全部免费毛片在线播放高潮 | 国产综合区 | 成人av一区| 亚洲另类色综合网站 | 久久精品国产亚洲 | 伊人在线视频 | 青青在线视频 | 在线观看的av | 91动漫在线观看 | 精品视频999| 成人免费高清视频 | 日韩福利片 |