Ⅰ 單片機的系統晶振頻率6MHz,,要求定時值為10ms,定時器T0工作在方式1時,其初值是多少TM
定時值為10ms時,定時器T0工作在方式1時,定時器T0對應的初值是1388H
TMOD的值是00000001B,TH0=13H;TL0=88H。
晶振頻率為6M,則機器周期為2us,定時10ms,溢出值為5000,TMOD可以設置為方式0或者1,一般設置為1,初始設置如下:
TMOD=0x01
TH0=(65536-5000)/256
TL0=(65536-5000)%256
(1)單片機晶振和定時器擴展閱讀:
初值定理適用於右邊序列,即適用於k<M(M為整數)時f(k)=0的序列。它用於由象函數直接求得序列的初值f(M),f(M+1),…,而不必求得原序列。
初值定理使用條件是要求連續函數f(t)不含沖擊函數δ(t)及其各階導數,或者象函數F(s)為真分數。當象函數為真分式時,根據初值定理可直接由象函數得出函數的初值。
Ⅱ 設單片機系統的晶振為12MHz,要求使用定時計數器1,用C語言 編寫程序實現
系統晶振為12MHz時,定時器的計數脈沖周期即為 1uS;
要求輸出周期為200us,占空比為50% 的方波,即方波的高電平時間=100uS,低電平時間=100uS。
所以每定時100uS便產生一次中斷,並將輸出信號狀態翻轉一次;
sbit cp=P1^7;
void timer1 interrupt 3
{ cp=~cp; }
void main()
{
TMOD=0x20; // 定時器1採用方式2 進行定時;
TH0=256-100; //定時100uS;
TL0=TH0;
EA=1;ET1=1;TR1=1;
cp=1;
while(1){}
}