⑴ 單片機的高八位和低八位,能不能用個簡單的程序例子說明下用法
最直接的例子,就是定時器初始化,比如:
TMOD=0x01;//定時器0設為工作方式1
TH0=(65536-50000)/256;//初值高八位賦值給TH0
TL0=(65536-50000)%256;//初值低八位賦值給TL0
⑵ avr單片機定時器TCNT0=,公式是什麼
TCNT0 是8位T0寄存器, 所以賦值范圍是0~255,。
晶振 / 分頻 = 分頻後的時鍾
1 /分頻後的時鍾 = 分頻後的每個時鍾周期
定時器溢出時間 /分頻後時鍾每周期時間 = 定時器經過N + 1次累後溢出
256 -定時間經過N次累後溢出 =TCNT0預裝值、重裝值
例子:8M晶振; 64分頻;定時器溢出時間定為 1ms
8000 000 / 64 = 125000(分頻後的時鍾)
1 / 125000 = 0.000 008 s (分頻後的每個時鍾周期)
0.001s / 0.000 008s = 125 (定時器經過125 + 1次後溢出)
256 - 125 = 131 (TCNT0預裝值、重裝值)
⑶ 51單片機TMOD定時器中,模式2的八位自動重裝是什麼意思最好舉個例子
在模式2中定時器只有八位參與計數,當定時器低八位(如TL1)計數溢出時,單片機自動把存在TH1中的值裝進TL1,繼續進行定時計數,這就完成了八位自動重裝。與模式1相比,不需要在中斷程序中對TL1再賦值,只需在初始化時,對TL1和TH1賦相同的值就行了。一般在單片機串列通信編程時才用到模式2.
⑷ 單片機指令周期的計算
計算方法: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單片機的指令周期大多數是單周期指令,也就是指令周期=機器周期,少部分是雙周期指令。
(4)8位單片機定時器舉例擴展閱讀
在MCS-51系統中,有單周期指令,雙周期指令。四周期指令只有乘,除兩條指令。指令的運算速度和它的機器周期直接相關,機器周期數較小則執行速度快。
在編程時要注意選用具有同樣功能而機器周期數小的指令。每一條指令的執行都可以包括取指和執行兩個階段。在取指階段,CPU從內部或者外部ROM中取出指令操作碼及操作數,然後再執行這條指令。
在8051指令系統中,根據各種操作的繁簡程度,其指令可由單位元組,雙位元組和三位元組組成。從機器執行指令的速度看,單位元組和雙位元組指令都可能是單周期或雙周期,
而三位元組指令都是雙周期,只有乘,除指令佔四個周期,一條指令的位元組數表徵這條指令在存儲器中所佔空間大小,而周期數表徵運行這條指令所花時間長短,即運行速度。