A. 80c51單片機晶振頻率分別為6MHz、11.059 2MHz、12MHz時,機器周期分別為多少
一、時鍾周期
時鍾周期也稱為振盪周期,定義為時鍾脈沖的倒數(時鍾周期就是單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 us),是計算機中最基本的、最小的時間單位。
在一個時鍾周期內,CPU僅完成一個最基本的動作。對於某種單片機,若採用了1MHZ的時鍾頻率,則時鍾周期為1us;若採用4MHZ的時鍾頻率,則時鍾周期為250us。由於時鍾脈沖是計算機的基本工作脈沖,它控制著計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算機,時鍾頻率越高,計算機的工作速度就越快。但是,由於不同的計算機硬體電路和器件的不完全相同,所以其所需要的時鍾周頻率范圍也不一定相同。常用的8051單片機的時鍾范圍是1.2MHz-12MHz。
在8051單片機中把一個時鍾周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示)。
二、機器周期
在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如:取指令、讀存儲器、寫存儲器等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。一般情況下,一個機器周期由若干個S周期(狀態周期)組成。8051系列單片機的一個機器周期同6個S周期(狀態周期)組成。前面已經說過一個時鍾周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示),8051單片機的機器周期由6個狀態周期組成,也就是說一個機器周期=6個狀態周期=12個時鍾周期。
三、指令周期
指令周期是執行一條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期數也不同。對於一些簡單的的單位元組指令,在取指令周期中,指令取出到指令寄存器後,立即解碼執行,不再需要其它的機器周期。對於一些比較復雜的指令,例如:轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。
通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
所以如果你的晶振頻率為f,那麼一個時鍾周期為1/f,機器周期為12*1/f。將你的頻率帶入公式即可算出……
B. 單片機的晶振頻率為6mhz,執行下列程序需要多少時間(請詳細說明,並說明每個步驟需要花多少時間)
(1+100*5+2)*12/6=1006(微秒)
C. 若單片機的晶振頻率為6MHZ,則下列子程序的延時時間是
總指令周期數=1+(1+(2+2)*200+2)*15+2=12048。如果一個指令周期=12機器周期,那麼延時時間為12048*12/6000000=0.024096s.
D. 若單片機的晶振頻率為6MHZ,則下列子程序的延時時間是:
樓上的演算法忽略了循環外部的幾條指令的執行時間,精度影響不大。
但是對循環內部的指令的執行時間,計算有誤。
指令 DJNZ R3,$ 的指令周期為2個機器周期!
晶振頻率為6MHz,則機器周期為2微秒;
Y=62248×2×2微秒=124496×2微秒=124.496×2毫秒=0.249秒。
E. 單片機晶振頻率為6mhz,用定時器0方式1產生20ms定時,請編程實現其初始化
voidinit(void)
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TR0=1;
ET0=1;
EA=1;
}
F. 已知單片機晶振頻率為6MHz,採用查詢方式編寫程序,求答案
;
ORG 0000H
MOV TMOD, #01H ;T0方式1定時
SETB TR0 ;啟動T0
LOOP:
MOV TH0, #(65536-35000/2/2) / 256 ;送入初始值
MOV TL0, #(65536-35000/2/2) MOD 256 ;定時17500us@6MHz
JNB TF0, $ ;等待定時完成
CLR TF0 ;清除標志
CPL P3.7 ;輸出方波
SJMP LOOP ;無限循環
END ;完
G. 若單片機的晶振頻率為6MHz,求下列延時子程序的延時時間。
你這個計算不行嗎?
H. 單片機時鍾頻率為6MHZ,機器周期為多少
也稱時鍾周期,是指為單片機提供時鍾信號的振盪源的周期(也叫時鍾周期),當採用6MHz晶振時,一個振盪周期是1/6M秒。
狀態周期:每個狀態周期為時鍾周期的2倍,一個狀態周期為,2/6M秒。
機器周期:一個機器周期包含6個狀態周期,也就是12個時鍾周期,一個狀態周期為12/6M秒。
指令周期:它是指CPU完成一條操作的所需的全部時間。每條指令執行時間都是有一個或幾個機器周期組成。MCS-51系統中,有單周期指令、雙周期指令和四周期指令。
(8)單片機晶振頻率為6mhz擴展閱讀:
微處理器內通過內部匯流排把ALU、計數器、寄存器和控制部分互聯,並通過外部匯流排與外部的存儲器、輸入輸出介面電路聯接。外部匯流排又稱為系統匯流排,分為數據匯流排DB、地址匯流排AB和控制匯流排CB。通過輸入輸出介面電路,實現與各種外圍設備連接。
接外部晶振和微調電容的一端,在片內它是振盪器反相放大器(該放大器構成片內振盪器振盪器的頻率是晶體振盪頻率)和時鍾發生器的輸入端;若使用外部時鍾時,該引腳接地(對於HMOS單片機)或懸空(對於CHMOS單片機)。
I. 已知單片機的晶振頻率為6mhz,試編寫程序利用定時器t0的工作方式3,使p1.0
#include<reg51.h>
sbit p10=P1^0;
sbit p11=P1^1;
void t0isr() interrupt 1
{
TL0=6;
p10=!p10;
}
void t1isr() interrupt 3
{
TH0=156;
p11=!p11;
}
main()
{
TMOD=0x03;
TH0=156;
TL0=6;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
EA=1;
while(1);
}
J. 已知單片機系統晶振頻率為6mhz,若要求定時值為10ms時,定時器T0工作方
晶振頻率為6M,則機器周期為2us,定時10ms,溢出值為5000,TMOD可以設置為方式0或者1,一般設置為1,初始設置如下:
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;