找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機定時器初值應(yīng)該為多少

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1041297 發(fā)表于 2024-9-16 10:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
Fsys是時鐘頻率,為16Mhz,我給它設(shè)成了12分頻,為1.33MHz,請問定時50us,定時器的初始值應(yīng)該為多少

1.PNG (69.46 KB, 下載次數(shù): 9)

1.PNG

2.PNG (35.88 KB, 下載次數(shù): 7)

2.PNG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1109793 發(fā)表于 2024-9-16 13:47 | 只看該作者
不是那個工具軟件可以幫你算嗎?
回復(fù)

使用道具 舉報

板凳
ID:1109793 發(fā)表于 2024-9-16 13:48 | 只看該作者
  1. void Timer0_Init(void)                //50微秒@16MHz
  2. {
  3.         AUXR |= 0x80;                        //定時器時鐘1T模式
  4.         TMOD &= 0xF0;                        //設(shè)置定時器模式
  5.         TL0 = 0xE0;                                //設(shè)置定時初始值
  6.         TH0 = 0xFC;                                //設(shè)置定時初始值
  7.         TF0 = 0;                                //清除TF0標(biāo)志
  8.         TR0 = 1;                                //定時器0開始計時
  9. }
復(fù)制代碼
回復(fù)

使用道具 舉報

地板
ID:1109793 發(fā)表于 2024-9-16 13:48 | 只看該作者
  1. void Timer1_Init(void)                //50微秒@16MHz
  2. {
  3.         AUXR |= 0x40;                        //定時器時鐘1T模式
  4.         TMOD &= 0x0F;                        //設(shè)置定時器模式
  5.         TL1 = 0xE0;                                //設(shè)置定時初始值
  6.         TH1 = 0xFC;                                //設(shè)置定時初始值
  7.         TF1 = 0;                                //清除TF1標(biāo)志
  8.         TR1 = 1;                                //定時器1開始計時
  9. }
復(fù)制代碼
回復(fù)

使用道具 舉報

5#
ID:161164 發(fā)表于 2024-9-16 14:48 | 只看該作者
12分頻后得時鐘周期是1/1.33 us
50us / 1/1.33 = 50*1.33 = 66.7
TL1 = 256 - 66;
TH1 = 256 - 66;
回復(fù)

使用道具 舉報

6#
ID:1123322 發(fā)表于 2024-9-16 15:42 | 只看該作者
12分頻后頻率為1.33MHz
時鐘周期為1/1.33 = 0.75us
定時器計數(shù)為50/0.75 = 66.66≈66
  1. #include <REGX52.H>
  2. #include <intrins.h>

  3. sbit LED1 = P1^0;

  4. int main(void)
  5. {       
  6.         TMOD &= 0x0F;               
  7.         TMOD |= 0x20;               
  8.         TL1 = (255-66);               
  9.         TH1 = (255-66);               
  10.         EA = 1;
  11.         ET1 = 1;
  12.         TF1 = 0;               
  13.         TR1 = 1;               
  14.        
  15.         LED1 = 0;
  16.         while(1)
  17.         {
  18.                 ;
  19.         }
  20.        
  21. }

  22. void Time1(void) interrupt 3 //中斷函數(shù)
  23. {
  24.         LED1 = !LED1;
  25. }
復(fù)制代碼


我使用keil仿真了一下,應(yīng)該是沒有問題

算這個,我建議使用STC-ISP去計算這個,可以省去不少麻煩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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