微控制器複習總結

2022-05-13 18:32:21 字數 1895 閱讀 8853

計數初值計算方法:

把計數器計滿為零所需要的計數值設定為c,計數初值設定為tc,由此可得到公式:

tc=m-c

式中,m為計數器模值,該值和計數器工作方式有關。在方式0時m為213;在方式1時m為216;在方式2和方式3時m為28。

計數狀態: tc=m-n

定時狀態: tc=m-定時時間/t

而t=12÷晶振頻率

注意:方式0的計數長度m為2的13次方。

初值是13位二進位制數,高8位賦值給th0,低5位前面補足 3 個 0 湊成 8 位賦給tl0。

例如,如要求計數值為1000,則初值為

x=m-1000=8192-1000

1c18h=1 1100 000 1 1000b

則賦初值時,th0=0e0h,tl0=18h。

定時器/計數器應用舉例

例 1 設微控制器晶振頻率為 6 mhz,計算微控制器定時器的最小定時時間和最大定時時間。

機器週期:t= 12÷6 mhz= 2μs

最小定時時間:tmin= 2μs

最大定時時間:tmax=216× 2=131072μs=131ms

例 2 設微控制器晶振頻率為 6 mhz,要求定時器t0產生100ms的定時,試確定計數初值及tmod的內容。

採用方式1

機器週期:t= 12÷6 mhz= 2μs

脈衝計數:c= 100ms/2μs =5 ×104

則計數初值: tc= 216- 5 ×104 =15536

3cb0h

tmod: t0 m1m0 =01,c/t=0,gate=0

t1可任意設定

tmod= 0000001

1) 方式 0 的應用

例 1 利用定時器輸出週期為 2 ms的方波, 設微控制器晶振頻率為 6 mhz。

選用定時器 /計數器t0 作定時器, 輸出為p1.0 引腳, 2 ms 的方波可由間隔 1 ms的高低電平相間而成, 因而只要每隔 1 ms對 p1.0 取反一次即可得到這個方波。

定時 1 ms的初值:

因為機器週期=12÷6 mhz= 2 μs

所以 1 ms內t0 需要計數n次:

n= 1 ms÷2 μs = 500

使用方式 0 的 13 位計數器即可, t0 的初值x為:

x=m-n=8192-500=7692=1e0ch

(0001 1110 0000 1100)

但是, 因為 13 位計數器中, 低 8 位 tl0 只使用了 5 位, 其餘碼均計入高 8 位th0 的初值, 則 t0 的初值調整為

(000 1111 0000  01100)

th0=0f0h, tl0=0ch

tmod初始化: tmod=00000000b=00h

gate=0, c/t=0, m1=0, m0=0)

tcon初始化: 啟動tr0=1

ie初始化: 開放中斷ea=1, 定時器t0 中斷允許et0=1

程式清單如下:

org 0000h

ajmp start; 復位入口

org 000bh

ajmp t0int ; t0中斷入口

org 0030h

start: mov th0, #0f0h ; t0賦初值

mov tl0, #0ch

mov tmod, #00h

setb et0 ; 開t0中斷

setb ea ; 開總允許中斷

setb tr0 ; 啟動t0

main: ajmp main ; 主程式

t0int: cpl p1.0

mov tl0, #0ch

mov th0, #0f0h

reti

定時器參照課本例項分析

微控制器複習

一 填空題 1 在mcs 51系列微控制器外擴程式儲存器時,一般有兩種方法完成片選,一種是線選法,另一種是 2 mcs 51系列微控制器振盪頻率為12mhz時,乙個機器週期為 us 3 mcs 51微控制器的中斷系統共有個中斷源 4 6264是資料儲存器晶元,容量為 5.微控制器為中斷設定的中斷子程...

微控制器複習整理

複習資料整理 程式設計 1 方波或鋸齒波 用延時實現 注意晶振頻率 例 8 10 秒延時程式。弄清楚時間是怎麼算的 延時程式與 mcs 51 執行指令的時間有關,如果使用 6 mhz晶振,乙個機器週期為 2 s,計算出一條指令以至乙個迴圈所需要的執行時間,給出相應的迴圈次數,便能達到延時的目的。10...

微控制器期末複習

第一作者 由於作者知識有限,如有錯誤,請多多包涵!一 填空題 1 微控制器由那些部件構成?答 處理器 cpu 儲存器 i o埠 定時 計數器 中斷系統以及系統匯流排構成,通過系統匯流排把各個部分連線起來。2 微控制器讀內 外部指令指令使用的指令?答 內 mov movc 外部 movx movc 3...