51微控制器如何同時使用定時器和計數器採集資料

時間 2021-08-30 10:29:12

1樓:匿名使用者

這是我根據頻率計程式修的

//用定時計數器1作為脈衝計數器(p3.5引腳正是輸入功能),定時器0作為定時器用,定時50ms產生中斷

//中斷4次後(即0.2s)讀計數器1的資料

#include

#define uint unsigned int

#define uchar unsigned char

//定義以i/o口的功能

sbit rs=p1^3;//液晶屏寫選擇,0命令 1資料

sbit rw=p1^4;//液晶屏讀寫選擇

sbit lcden=p1^5;//液晶屏使能

#define db p2 //定義p2為資料輸出口,寫資料時用db代替p2,增加液晶屏程式的通用性

//更改硬體接線時,只更改此處,而不必去更改液晶屏讀寫子程式

uchar aa;//計中斷次數

uint bb,cc,dd;//儲存計數器的值

void delay1ms(unsigned int i) //1ms延時程式}}

void init()//初始化設定

void write_com(uchar com)//向液晶屏寫命令

void write_date(uchar date)//向液晶屏寫資料

void init2()//液晶屏初始化

void display4(unsigned int number) //單行多位顯示程式

void main()//主程式很簡單

}void timer0()interrupt 1//注意:定時器0的中斷序號為1}

2樓:

timer1作計數器,timer0作定時器。不能只用一個同時做兩件事的。

3樓:微享樂

開兩個中斷,一個定時,一個計數

4樓:duhv指溫

系統和硬體都具有升級的空間,但主要還是看你對電腦的用途和要求!這個配置,玩一般電腦遊戲,辦公等等都不會有問題!沒有升級 的必要!

當然,對電子產品有狂熱追求的那就可以選擇升級!顯示卡,記憶體,硬碟都有升級空間!

51微控制器一個定時器兩個計數器能同時工作嗎?

5樓:你凱大爺

能啊,只要設定好控制暫存器就成好像是pcon,時間長了具體的有點忘了,這幾個好像得設定初值

6樓:匿名使用者

可以的! 但需要初始化! 例如一個定時器用於串列埠的波特率產生,另外一個則可以用作計數器!

void init_uart() void

7樓:哈爾濱微控制器

51不能 就兩個定時/計數器 一個是t0 一個是t1 做定時就不能做計數 做計數就不能定時

還可以:

可以兩個定時 一個做波特率發生器;

也可以 一個定時 一個計數 一個做波特率發生器;

mcs-51微控制器的定時器/計數器工作於定時方式和計數方式的相同點和不同點??

8樓:匿名使用者

**方面基本相同,使用的資源也基本一致,不同的是模式配置時選擇是定時還是計數,定時方式實際是用cpu的執行時鐘進行計數,計數方式是用外部引腳上的脈衝計數。

9樓:

相同點就是他們都是計數 就是數脈衝 數週期

不同點就是計數的物件不一樣 定時方式計數物件是內部的晶振週期

計數方式 的物件是外部輸入的波形

10樓:匿名使用者

定時就是一記數的過程,只是根據你要定的時給th/tl一個初值。

記數就是設定好觸發方式後,一個上升或者下降源來一次壘加一次。

51微控制器定時器中斷程式

m愛人 再次重新啟動。用c語言實現的,先要定義好定時器的初值,不管你使用多大的晶振,使用51微控制器,一般都是12分頻出來,也就可以得出一個機器週期,機器週期 12 n n指晶振頻率 假設你要定時的時間為m,那麼定時的初值為 m 機器週期 初值 th0 65536 初值 256 tl0 65536 ...

51微控制器的定時器和計數器分別定時和計數的週期是多長時間,這個脈衝週期有規定嗎

應該每個定時器都是有timrh和timrl,最大計數時間就是timrh timrl 匯流排頻率 時鐘分頻後的頻率 徐志尚 與晶振 工作方式 初值有關 51微控制器,計數器和定時器具體這麼用?計數器記的是誰的脈衝數? 水依若雨 定時器和計數器雖然有定時和技術兩種工作模式,但其本質都是使用加法計數器對脈...

求助,51微控制器定時器初值設定問題

第一句就是將,65536 5000 的高八位賦值給th0 第二句就是將,65536 5000 的低八位賦值給tl0 256就是2的8次方,一個數除以256相當於右移8位。mod是求模的意思。 蘭色星期八 因為定時器分高8位和低8位,所以th0取的是65536 5000的轉換成16進位制的高8位,tl...