導航:首頁 > 操作系統 > 單片機計數器初值

單片機計數器初值

發布時間:2023-12-11 07:01:15

『壹』 NEC單片機的計數初值的計較

定時或計數法子下計數初值若何確定,定時器決議不同的事變法子,不同的把持情勢其計數值均不類似。若設最大計數值為m,各把持情勢下的m值為:
情勢0:m=213=8192
情勢1:m=216=65536
情勢2:m=28=256
情勢3:m=256,定時器t0分成2個自力的8位計數器,所以th0、tl0的m均為256。
因為mcs-51的兩個定時器均為加1計數器,當初到最大值(00h或0000h)時產生溢出,將tf職位地方1,可發出溢出間斷,因此計數器初值x的計較式為:x=m-計數值式中的m由把持情勢確定,不同的把持情勢計數器的長不類似,故m值也不類似。而式中的計數值與定時器的事變法子有關。
1、計數事變法子時
計數事變法子時,計數脈沖由外部引入,是對外部沖進行計數,因此計數值依照哀求確定。其計數初值:x=m-計數值
例如:某工序哀求對外部脈沖旗幟暗號計100次,x=m-100
2、定時事變法子時
定時事變法子時,因為計數脈沖由內部供給,是對板滯周期進行計數,故計數脈沖頻率為fcont=fosc×1/12、計數周期t=1/fcont=12/fosc定時事變法子的計數初值x便是:
x=m-計數值=m-t/t=m-(fosc×t)/12
式中:fosc為振盪器的振盪頻率,t為哀求定時的時間。
定時器有兩種事變法子:即定時和計數事變法子。由tmod的d6位和d2位決議,其中d6位決議t1的事變法子,d2位決議t0的事變法子。=0事變在定時法子,=1事變在計數法子。並有四種把持情勢:
1、情勢0:13位計數器,tli只用低5位。
2、情勢1:16位計數器。
3、情勢2:8位自動重裝計數器,thi的值在計數中不變,tli溢出時,thi中的值自動裝入tli中。
4、情勢3:t0分成2個自力的8位計數器,t1停止計數。
mcs-51有5個間斷源,可分為2個間斷優先順序,即高優先順序和低優先順序,間斷自然優先順序:
外部間斷0;定時器0間斷;外部間斷1;定時器1間斷;
串列口間斷;定時器2間斷
(1)同級或高優先順序的間斷在進行中;
(2)現在的板滯周期還不是履行指令的末端一上板滯周期,即在履行的指令還沒完成前不響應任何間斷;
(3)在履行的是間斷返回指令ret1或是訪謁專用寄存器ie或ip的指令,換而言之,在reti大要讀寫ie或ip今後,不會登時響應間斷請求,起碼要在履行此外一要指令之扣才會響應。
(一)間斷響應條件
cpu響應間斷的條件有:
(1)有間斷源發出間斷請求;
(2)間斷總允許位ea=1,即cpu開間斷;
(3)哀求間斷的間斷源的間斷允許位為1,即沒有被屏蔽。
八、串列口事變法子及幀格局
mcs-51單片機串列口可以經過進程軟體設置三種辦法:
法1:與常見的微型計較機的串列口不同,它又叫同步移位寄存器輸出法子。在這種法子下,數據從rxd端串列輸出或輸入,同步旗幟暗號從txd端輸出,波特率安穩不變,為振盪率的1/12。該法是以8位數據為一幀,沒有肇端起誓位和停止位,先發送或接管最低位。
法2:可接管或發送11位數據,以11位為一幀,比方式1增加了一個數據位,此外類似。第9個數據即d8位具有特別的用場,可以經過進程軟體摟控制它,再加特別成果寄存器scon中的sm2位的配合,可使mcs-51單片機串列口適用於多機通信。法子2的波特率安穩,只需兩種決議,為振盪率的1/64或1/32,可由pcon的最高位決議。
法3:法3與法2類似,唯一的區別是法3的小組特率是可變的。而幀格局與法2-樣為11位一幀。所以子3也適當於多機通信。

『貳』 單片機中 定時器/計數器 的計數初值是怎麼計算得出的(計數和定時計算方式是否不同)--初學單片機

計數初值的計算:

定時或計數方式下計數初值如何確定:定時器選擇不同的工作方式,不同的操作模式其計數值均不相同。若設最大計數值為M,各操作模式下的M值為:

模式0:M=2^13=8192

模式1:M=2^16=65536

模式2:M=2^8=256

模式3:M=256,定時器T0分成2個獨立的8位計數器,所以THO、TLO的M均為256。

因為MCS-51的兩個定時器均為加1計數器,當初值到最大值(00H或0000H)時產生溢出,將TF位置1,可發出溢出中斷,因此計數器初值X的計算式為:X=M-計數值。

式中的M由操作模式確定,不同的操作模式計數器的長不相同,故M值也不相同。而式中的計數值與定時器的工作方式有關。

1、計數工作方式時

計數工作方式時,計數脈沖由外部引入,是對外部沖進行計數,因此計數值根據要求確定。其計數初值:X=M-計數值。

2、定時工作方式時

定時工作方式時,計數脈沖由內部供給,對機器周期進行計數,計數脈沖頻率fcont=fosc*1/12、計數周期T=1/fcont=12/fosc定時工作方式的計數初值X等於:

X=M-計數值=M-t/T=M-(fosc*t)/12

式中:fosc為振盪器的振盪頻率,t為要求定吋的時間。

(2)單片機計數器初值擴展閱讀:

定時器工作方式的設定:

定時器有兩種工作方式:定時和計數。由TMOD的D6位和D2位決定,其中D6位決定T1的工作方式,D2位決定T0的工作方式。值為0時工作在定時方式,值為1時工作在計數方式。並且有四種操作模式:

1、模式0:13位計數器,TLi只用低5位。

2、模式1:16位計數器。

3、模式2:8位自動重裝計數器,THi的值在計數中不變, TLi 溢出時,THi中的值自動裝入TLi中。

4、模式3:T0分成2個獨立的8位計數器,T1停止計數。

『叄』 單片機如何計算初值

一般最直接的想法就是,指定一個計時值x,然後從0開始累加計數,計數到x表示時間到,可以處理事務了。這種處理方法,需要一個數值比較器,每計一次數,就比較一下。這對單片機或者說硬體電路來講,一個8位計數器就需要包含一個8位數值比較器,實在不夠簡便。

第二種想法,是指定一個計時值x,然後進行減計數,減計數到0表示時間到。這也要一個比較器,只不過是個0值比較器,硬體電路上比上一種要簡單一些,但減計數器還是不常用。我們知道累加器才是最簡便的硬體電路之一。

上面兩種方法,都是軟體實現的定時器的合理想法。那麼硬體電路實現定時最簡便的方法是什麼呢?

那就是用累加器來實現。比如一個8位的累加器,可以從0累加計數,計數到256時溢出,產生溢出信號,就可以觸發事務處理了。

要是我們只需要計數10次就夠了,則可以將計數初值定義為246。那樣,計數10次後就可以達到256,產生溢出信號了。

所以就有了(2^n-x)。n是計數器的位數;2^n就是最大計數值;x是計數初值。整個這段,表示我們需要的計時次數。

計數器每次計數的時間間隔是t,及計數周期。那麼總的計時時長m=計數周期×計數次數=t×(2^n-x),也就是m=(2^n-x)×t。

計數位數n由選用的單片機確定,通常等於8,12,16或32等等,即8位、12位等計數器。計數周期t由定時器基礎時鍾確定,可通過設置定時器時鍾源和選擇時鍾分頻數確定。這兩項靈活性不大,一般在程序初始化時就應設定。

初值x可以在應用時,根據定時需求進行修改確定。

協調好n,t和x三者的設定,就可以完美實現定時功能了。

『肆』 單片機C51,對定時器/計數器初值設置

一個用作定時器。定時器中斷的時候輸出一個脈沖作為計數器的計數脈沖,設定一個計數值,計數滿的時候中斷,這樣計數值為10時候,定時器中斷10次,用一個計數值來記錄定時器的中斷次數,一個用作計數器。
至於定時/計數器的操作;計數器串聯.536ms,所以12M晶振的情況下,然後將計數值清0,重新計數,即為100ms。總的定時時間的原理同上。這個方法會有小小誤差,因為操作計數值的時候會佔用一點時間,這個時間比較短。
2、2個定時/,用單個16位定時器得不到100ms的定時。這時可更換頻率較低的晶振或用以下兩種軟體的方法:
1、定時器累加。用一個計數值來記錄定時器的中斷次數。比如;計數器能達到的最大定時時間為:65536*1uS=65,每中斷一次計數加151單片機12M晶振時,定時/計數器的時鍾為1uS,所以單個16位的定時/,設定定時器10ms中斷

『伍』 51單片機定時計數器四種工作方式哪種可以實現計數初值的自動載入

51單片機定時計數器四種工作方式中,方式2可以實現計數初值的自動載入。

解釋分析:

16位的計數器只用了8位來計數,用TLx來進行計數,而THx用於保存初值,當TLx計滿時則溢出,該方式的溢出狀態一方面使TF變化,另一方面使TH的值再次置入TL,正所謂自動重置定時/計數器

自動裝載初值,無需程序運行賦值,此方式更精確。

此時MAX值為28=256,設計數值為100。

初值為156=10011100B(0x9C)。

TH0=TL0=0x9C。

定時/計數器有如下一些用途:

(1)產生所需頻率的脈沖,如產生頻率1000,占空比1:1的脈沖波。

(2)在累加計數中的應用,計數器可在一段時間內記錄信號A經整形後的脈沖個數。

(3)在頻率測量中的應用,通過測量脈沖寬度或在一定時間內測量脈沖的個數,從而推算出脈沖的頻率。

(4)定時/計數器在計時中的應用,定時/計數器可對時鍾信號,如秒信號進行計數,也可用來倒計時,秒錶計,時間循環等。

閱讀全文

與單片機計數器初值相關的資料

熱點內容
安卓上的谷歌地圖怎麼用 瀏覽:181
安卓命令行打包 瀏覽:514
編程文字與數字教學視頻 瀏覽:815
如何看手機號碼注冊哪些app 瀏覽:411
linux查看總內存 瀏覽:850
python進程間共享 瀏覽:436
js如何獲取本地伺服器地址 瀏覽:68
gfx什麼時候支持安卓十一系統 瀏覽:939
壓縮機90兆帕 瀏覽:928
程序員調侃語句 瀏覽:579
不是php函數的是 瀏覽:998
壓縮文件好處 瀏覽:785
3d266期神童三膽計演算法 瀏覽:189
通過愛思助手怎麼下載app 瀏覽:323
vi命令將文件創在桌面上 瀏覽:923
程序員做競價 瀏覽:696
江蘇中小學編程納入課程 瀏覽:730
單純形法包括動態規劃演算法 瀏覽:951
cpdf百度網盤 瀏覽:671
綜合布線工程中配線架的演算法 瀏覽:926