欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7533|回復: 9
收起左側

單片機8位和16位定時器區別?

[復制鏈接]
ID:711481 發表于 2020-4-20 13:46 來自觸屏版 | 顯示全部樓層 |閱讀模式
這是5ms定時,為什么兩者的燈光差距有點大?
Screenshot_20200420_134103.jpg
Screenshot_20200420_134057.jpg
回復

使用道具 舉報

ID:510933 發表于 2020-4-20 16:40 | 顯示全部樓層
定時器單步計數一致的話,16位就比8位的定時器行程更長一些
回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
ID:213173 發表于 2020-4-20 17:06 | 顯示全部樓層
設置8位自動重裝定時器,當TL0溢出時將TR0硬件置1,并將TH0存放的值自動重裝入TL0。最多定時256us,不可能定時5ms。樓主這兩個程序都寫錯了。
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
ID:711481 發表于 2020-4-20 18:07 來自觸屏版 | 顯示全部樓層
wulin 發表于 2020-4-20 17:06
設置8位自動重裝定時器,當TL0溢出時將TR0硬件置1,并將TH0存放的值自動重裝入TL0。最多定時256us,不可能定 ...

我賦初值6,循環了20次,=(256-6)*20這樣也不對嗎,能指點一下這兩個程序錯的地方嗎?剛開始學,好多地方不懂?謝謝
回復

使用道具 舉報

ID:711481 發表于 2020-4-20 18:08 來自觸屏版 | 顯示全部樓層
limuzi2012 發表于 2020-4-20 16:40
定時器單步計數一致的話,16位就比8位的定時器行程更長一些

您看一下,這兩個程序有問題嗎,我弄了一天了,剛開始學,好多地方不懂,謝謝
回復

使用道具 舉報

ID:213173 發表于 2020-4-20 20:56 | 顯示全部樓層
可愛萌萌噠 發表于 2020-4-20 18:07
我賦初值6,循環了20次,=(256-6)*20這樣也不對嗎,能指點一下這兩個程序錯的地方嗎?剛開始學,好多地 ...

以下兩個程序定時器設置不同,但得到的延時時間是一樣的。
  1. #include <reg51.h>
  2. #include <intrins.h>

  3. void Timer0Init()        //50毫秒@12.000MHz
  4. {
  5.         TMOD= 0x01;                //設置定時器模式
  6.         TL0 = 0xB0;                //設置定時初值
  7.         TH0 = 0x3C;                //設置定時初值
  8.         TF0 = 0;                        //清除TF0標志
  9.         TR0 = 1;                        //定時器0開始計時
  10. }

  11. void main()
  12. {
  13.         unsigned char i;
  14.         Timer0Init();
  15.         P1=0xfe;
  16.         while(1)
  17.         {
  18.                 if(TF0==1)       
  19.                 {
  20.                         TF0=0;
  21.                         TL0 = 0xB0;                //重裝值
  22.                         TH0 = 0x3C;                //重裝值
  23.                         i++;
  24.                         if(i==20)  //50ms*20=1s
  25.                         {
  26.                                 i=0;
  27.                                 P1=_crol_(P1,1);
  28.                         }
  29.                 }
  30.         }
  31. }
復制代碼

  1. #include <reg51.h>
  2. #include <intrins.h>

  3. void Timer0Init(void)//250微秒@12.000MHz
  4. {
  5.         TMOD= 0x02;                //設置定時器模式
  6.         TL0 = 0x06;                //設置定時初值
  7.         TH0 = 0x06;                //設置定時重載值
  8.         TF0 = 0;                        //清除TF0標志
  9.         TR0 = 1;                        //定時器0開始計時
  10. }

  11. void main()
  12. {
  13.         unsigned int i;
  14.         Timer0Init();
  15.         P1=0xfe;
  16.         while(1)
  17.         {
  18.                 if(TF0==1)       
  19.                 {
  20.                         TF0=0;
  21.                         i++;
  22.                         if(i==4000)//250us*4000=1s
  23.                         {
  24.                                 i=0;
  25.                                 P1=_crol_(P1,1);
  26.                         }
  27.                 }
  28.         }
  29. }
復制代碼
回復

使用道具 舉報

ID:711481 發表于 2020-4-21 21:44 來自觸屏版 | 顯示全部樓層
wulin 發表于 2020-4-20 20:56
以下兩個程序定時器設置不同,但得到的延時時間是一樣的。

謝謝,研究一下
回復

使用道具 舉報

ID:582109 發表于 2020-4-21 22:21 | 顯示全部樓層
這定時器活活用成了軟件延時了,高手
回復

使用道具 舉報

ID:717594 發表于 2020-4-22 11:19 | 顯示全部樓層
8位的時間很短。最多256us
回復

使用道具 舉報

ID:711481 發表于 2020-4-23 02:08 來自觸屏版 | 顯示全部樓層
miss999 發表于 2020-4-21 22:21
這定時器活活用成了軟件延時了,高手

剛開始學,那應該怎么用?剛接觸單片機,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表