導航:首頁 > 操作系統 > 單片機計算

單片機計算

發布時間:2022-10-09 20:14:27

單片機如何計算初值

一般最直接的想法就是,指定一個計時值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三者的設定,就可以完美實現定時功能了。

Ⅱ 單片機輸出的頻率計算

去網上下載一個<單片機小精靈>的軟體,可以自動計算這些參數,並生成源代碼



如果下載不到,你可以採納我後留個郵箱,我發給你.

Ⅲ 單片機指令周期的計算

計算方法:PIC單片機的每四個時鍾周期為一個內部指令周期,例如:8MHz的晶振,則內部指令周期為1/(8/4)= 0.5 uS

實例一:35us, 8MHz的晶振, 8位定時器, 分頻比1/2 , 初值 E4

實例二:156.25us , 32768Hz的晶振, 8位定時器, 分頻比1/32 , 初值 FC

計算方法一: 35 = =(256-初值)*分頻*4/晶振 + 14/分頻 =(256-初值)+14/2

計算方法二:0.015625 =(256-初值)*分頻*4/晶振 = (256-初值)*32*4/32768

特別注意:分頻比1-8 需要加上一個14/分頻

指令周期是指令周期執行某一條指令所消耗的時間,它等於機器周期的整數倍。傳統的80C51單片機的指令周期大多數是單周期指令,也就是指令周期=機器周期,少部分是雙周期指令。

(3)單片機計算擴展閱讀


在MCS-51系統中,有單周期指令,雙周期指令。四周期指令只有乘,除兩條指令。指令的運算速度和它的機器周期直接相關,機器周期數較小則執行速度快。

編程時要注意選用具有同樣功能而機器周期數小的指令。每一條指令的執行都可以包括取指和執行兩個階段。在取指階段,CPU從內部或者外部ROM中取出指令操作碼及操作數,然後再執行這條指令。

在8051指令系統中,根據各種操作的繁簡程度,其指令可由單位元組,雙位元組和三位元組組成。從機器執行指令的速度看,單位元組和雙位元組指令都可能是單周期或雙周期,

而三位元組指令都是雙周期,只有乘,除指令佔四個周期,一條指令的位元組數表徵這條指令在存儲器中所佔空間大小,而周期數表徵運行這條指令所花時間長短,即運行速度。

Ⅳ 51單片機各種位數定時器初值計算方法

對12MHz ,1個機器周期 1us ,12/fosc = 1us


方式0是13位定時器,最大時間間隔 = 2^13 = 8.192ms

方式1是16位定時器,最大時間間隔 = 2^16 = 65.536ms

方式2是8位定時器,最大時間間隔 = 2^8 = 0.256ms =256 us

方式3 僅適用於T0,此時T0分成兩個8位計數器,T1停止計數

當選用定時器的方式1時,設機器周期為Tcy,定時器產生一次中斷的時間為t,那麼需要計數的個數N=t/Tcy,裝入THX和TLX中的數分別為:

THX = (2^16 - N)/256 TLX = (2^16 -N )%256(此處的X為定時器0或定時器1)

公式為:(2^y - X)*Tcy = t

Tosc= 1/ fosc

一個機器周期 = 12個時鍾周期 = 12/fosc

溢出速率 = 1 / 溢出時間
故:初值X = 2^y – t/Tcy

THX = 高八位
TLX = 低八位

註:

X:定時器初值

N:計數值

y:定時器工作方式

fosc:晶振頻率

Tcy:機器周期,Tosc:時鍾周期
Tcy = 1/Tosc

Ⅳ 單片機波特率計算

波特率計算公式是:SMOD=0時為:fosc/(32*12*(256-TH1));
SMOD=1時為:fosc/(16*12*(256-TH1));
所以最高為:fosc/(16*12*(256-255))=31250bps;
最低為:fosc/(32*12*(256-0))=61bps;

Ⅵ 單片機計數初值的計算

呵呵 正確為你解答:
1 可以按定時時間的計算公式, 計算出定時器的時間常數X:
定時時間T=(2的N次方-X)12/單片機晶振頻率
2 N為定時器的工作方式:
方式0時,N=13
方式1時,N=16
方式2時,N=8
3 根據定時時間和工作方式,計算出時間常數X
把X轉換成二進制數,高8位送給TH1,低8位送給TL1,就可以啟動定時器開始定時了。

例如: 工作在方式1,定時時間為1000微秒 晶振頻率=12MHZ
則 定時時間T=(2的16次方-X)12/12MHZ=1000 解出 X=64536=FC18H

Ⅶ 單片機乘除指令計算的具體步驟

關於MUL的用法書上有應該,我就不說了。說幾點:

一、單片機的乘法運算只是進制不同,跟我們常用的十進制是一樣的。例如:12×10=120

不要簡單想成在後邊加個0,學了單片機應該學會用*移位*思考,因為單片機不會在後邊加 0減0,應該想成12向左移一位,同樣二進制的11B×10B =110B ,十六進制11H×10H=110H,八進制也一樣。

二、想不通 ,還可換算成十進制去算,然後再轉換成相應進制。因為他們數量是一樣的只是進 制不同。十進制要滿是個進一位,八進制要滿8個進一位。十進制的10和八進制的12是一 樣的。

啰嗦了半天希望能理解其中的意思。

Ⅷ 單片機頻率計算公式

這得看是什麼單片機了:


對於精簡指令集性能的單片機的工作頻率(1/機器周期)=時鍾頻率(1/時鍾周期).


普通的51單片機來說:頻率是1MHZ,時鍾周期是1/12us(1除以12M),機器周期是12倍的時鍾周期--1us.

周期是頻率的倒數 或者頻率是周期的倒數



1秒:相當於頻率是1HZ ,也就是1/1S =1HZ



那麼1/1ms =1/0.001S =1000HZ

Ⅸ 單片機中怎麼計算除法

可通過單片機除法運算程」DIV AB「,進行計算。

」DIV AB「表示:(A)÷(B)→(A)和(B),把累加器A的8位無符號整數除以寄存器B中的8位無符號整數,所得到的商存在累加器A,而余數存在寄存器B中。

例如,使用DIV指令計算16÷5,運行如下3個指令:

MOV A,#16;

MOV B,#5;

DIV AB;

得到A為3,表示商;B為1,表示余數。

閱讀全文

與單片機計算相關的資料

熱點內容
oppp手機信任app在哪裡設置 瀏覽:183
java地址重定向 瀏覽:268
一年級下冊摘蘋果的演算法是怎樣的 瀏覽:448
程序員出軌電視劇 瀏覽:88
伺服器系統地址怎麼查 瀏覽:54
解壓游戲發行官 瀏覽:601
國外小伙解壓實驗 瀏覽:336
頂級大學開設加密貨幣 瀏覽:437
java重載與多態 瀏覽:528
騰訊應屆程序員 瀏覽:942
一鍵編譯程序 瀏覽:129
語音加密包哪個好 瀏覽:339
有什麼學習高中語文的app 瀏覽:282
安卓手機的表格里怎麼打勾 瀏覽:409
阿里雲伺服器有網路安全服務嗎 瀏覽:968
超解壓兔子視頻 瀏覽:24
單片機怎麼測負脈沖 瀏覽:174
魅族備份的app在哪裡 瀏覽:740
java倒三角列印 瀏覽:115
通達信回封板主圖源碼 瀏覽:46